我们知道不同的浏览器对css有不同的解析方式,在android webkit 上面默认的定制自己样式的通道,假如我们对这个流程有一个比较清晰的了解,那么我们也可以自己去do itself。
首先介绍下android webkit的默认的css样式表(声明我都是基于android4.0.1讲解),默认的css样式位置在(android/external/webkit/Source/WebCore/css/html.css)
/*
* The default style sheet used to render HTML.
*
* Copyright (C) 2000 Lars Knoll ([email protected])
* Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
*/
@namespace "http://www.w3.org/1999/xhtml";
html {
display: block
}
/* children of the element all have display:none */
head {
display: none
}
meta {
display: none
}
title {
display: none
}
link {
display: none
}
style {
display: none
}
script {
display: none
}
/* generic block-level elements */
body {
background-repeat:no-repeat !important;
display: block;
margin: 8px
}
p {
display: block;
-webkit-margin-before: 1__qem;
-webkit-margin-after: 1__qem;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
}
div {
display: block
}
layer {
display: block
}
article, aside, footer, header, hgroup, nav, section {
display: block
}
marquee {
display: inline-block;
overflow: -webkit-marquee
}
address {
display: block
}
blockquote {
display: block;
-webkit-margin-before: 1__qem;
-webkit-margin-after: 1em;
-webkit-margin-start: 40px;
-webkit-margin-end: 40px;
}
figcaption {
display: block
}
figure {
display: block;
-webkit-margin-before: 1em;
-webkit-margin-after: 1em;
-webkit-margin-start: 40px;
-webkit-margin-end: 40px;
}
q {
display: inline
}
q:before {
content: open-quote;
}
q:after {
content: close-quote;
}
center {
display: block;
/* special centering to be able to emulate the html4/netscape behaviour */
text-align: -webkit-center
}
hr {
display: block;
-webkit-margin-before: 0.5em;
-webkit-margin-after: 0.5em;
-webkit-margin-start: auto;
-webkit-margin-end: auto;
border-style: inset;
border-width: 1px
}
map {
display: inline
}
/* heading elements */
h1 {
display: block;
font-size: 2em;
-webkit-margin-before: 0.67__qem;
-webkit-margin-after: 0.67em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
font-weight: bold
}
:-webkit-any(article,aside,nav,section) h1 {
font-size: 1.5em;
-webkit-margin-before: 0.83__qem;
-webkit-margin-after: 0.83em;
}
:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1 {
font-size: 1.17em;
-webkit-margin-before: 1__qem;
-webkit-margin-after: 1em;
}
:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1 {
font-size: 1.00em;
-webkit-margin-before: 1.33__qem;
-webkit-margin-after: 1.33em;
}
:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1 {
font-size: .83em;
-webkit-margin-before: 1.67__qem;
-webkit-margin-after: 1.67em;
}
:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1 {
font-size: .67em;
-webkit-margin-before: 2.33__qem;
-webkit-margin-after: 2.33em;
}
h2 {
display: block;
font-size: 1.5em;
-webkit-margin-before: 0.83__qem;
-webkit-margin-after: 0.83em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
font-weight: bold
}
h3 {
display: block;
font-size: 1.17em;
-webkit-margin-before: 1__qem;
-webkit-margin-after: 1em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
font-weight: bold
}
h4 {
display: block;
-webkit-margin-before: 1.33__qem;
-webkit-margin-after: 1.33em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
font-weight: bold
}
h5 {
display: block;
font-size: .83em;
-webkit-margin-before: 1.67__qem;
-webkit-margin-after: 1.67em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
font-weight: bold
}
h6 {
display: block;
font-size: .67em;
-webkit-margin-before: 2.33__qem;
-webkit-margin-after: 2.33em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
font-weight: bold
}
/* tables */
table {
display: table;
border-collapse: separate;
border-spacing: 2px;
border-color: gray
}
thead {
display: table-header-group;
vertical-align: middle;
border-color: inherit
}
tbody {
display: table-row-group;
vertical-align: middle;
border-color: inherit
}
tfoot {
display: table-footer-group;
vertical-align: middle;
border-color: inherit
}
/* for tables without table section elements (can happen with XHTML or dynamically created tables) */
table > tr {
vertical-align: middle;
}
col {
display: table-column
}
colgroup {
display: table-column-group
}
tr {
display: table-row;
vertical-align: inherit;
border-color: inherit
}
td, th {
display: table-cell;
vertical-align: inherit
}
th {
font-weight: bold
}
caption {
display: table-caption;
text-align: -webkit-center
}
/* lists */
ul, menu, dir {
display: block;
list-style-type: disc;
-webkit-margin-before: 1__qem;
-webkit-margin-after: 1em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
-webkit-padding-start: 40px
}
ol {
display: block;
list-style-type: decimal;
-webkit-margin-before: 1__qem;
-webkit-margin-after: 1em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
-webkit-padding-start: 40px
}
li {
display: list-item
}
ul ul, ol ul {
list-style-type: circle
}
ol ol ul, ol ul ul, ul ol ul, ul ul ul {
list-style-type: square
}
dd {
display: block;
-webkit-margin-start: 40px
}
dl {
display: block;
-webkit-margin-before: 1__qem;
-webkit-margin-after: 1em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
}
dt {
display: block
}
ol ul, ul ol, ul ul, ol ol {
-webkit-margin-before: 0;
-webkit-margin-after: 0
}
/* form elements */
form {
display: block;
margin-top: 0__qem;
}
label {
cursor: default;
}
legend {
display: block;
-webkit-padding-start: 2px;
-webkit-padding-end: 2px;
border: none
}
fieldset {
display: block;
-webkit-margin-start: 2px;
-webkit-margin-end: 2px;
-webkit-padding-before: 0.35em;
-webkit-padding-start: 0.75em;
-webkit-padding-end: 0.75em;
-webkit-padding-after: 0.625em;
border: 2px groove ThreeDFace
}
button {
-webkit-appearance: button;
}
/* Form controls don't go vertical. */
input, textarea, keygen, select, button, isindex, meter, progress {
-webkit-block-flow: tb !important;
}
input, textarea, keygen, select, button, isindex, datagrid {
margin: 0__qem;
font: -webkit-small-control;
color: initial;
letter-spacing: normal;
word-spacing: normal;
line-height: normal;
text-transform: none;
text-indent: 0;
text-shadow: none;
display: inline-block;
text-align: -webkit-auto;
}
input[type="hidden"] {
display: none
}
input, input[type="password"], input[type="search"], isindex {
-webkit-appearance: textfield;
padding: 1px;
background-color: white;
border: 2px inset;
-webkit-rtl-ordering: logical;
-webkit-user-select: text;
cursor: auto;
}
input[type="search"] {
-webkit-appearance: searchfield;
-webkit-box-sizing: border-box;
}
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: searchfield-cancel-button;
display: inline-block;
}
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: searchfield-decoration;
display: inline-block;
}
input[type="search"]::-webkit-search-results-decoration {
-webkit-appearance: searchfield-results-decoration;
display: inline-block;
}
input[type="search"]::-webkit-search-results-button {
-webkit-appearance: searchfield-results-button;
display: inline-block;
}
input::-webkit-input-list-button {
-webkit-appearance: list-button;
display: inline-block;
}
input::-webkit-inner-spin-button {
-webkit-appearance: inner-spin-button;
display: inline-block;
position: relative;
cursor: default;
-webkit-user-select: none;
}
input::-webkit-outer-spin-button {
-webkit-appearance: outer-spin-button;
display: inline-block;
position: relative;
cursor: default;
margin-left: 2px;
-webkit-user-select: none;
}
input::-webkit-input-speech-button {
-webkit-appearance: -webkit-input-speech-button;
display: inline-block;
}
keygen, select {
-webkit-border-radius: 5px;
}
keygen::-webkit-keygen-select {
margin: 0px;
}
textarea {
-webkit-appearance: textarea;
background-color: white;
border: 1px solid;
-webkit-rtl-ordering: logical;
-webkit-user-select: text;
-webkit-box-orient: vertical;
resize: auto;
cursor: auto;
padding: 2px;
white-space: pre-wrap;
word-wrap: break-word;
}
input::-webkit-input-placeholder, isindex::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
color: darkGray;
}
input[type="password"] {
-webkit-text-security: disc !important;
}
input[type="hidden"], input[type="image"], input[type="file"] {
-webkit-appearance: initial;
padding: initial;
background-color: initial;
border: initial;
}
input[type="file"] {
-webkit-box-align: baseline;
text-align: start !important;
}
input:-webkit-autofill {
background-color: #FAFFBD !important;
background-image:none !important;
color: #000000 !important;
}
input[type="radio"], input[type="checkbox"] {
margin: 3px 0.5ex;
padding: initial;
background-color: initial;
border: initial;
}
input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button {
-webkit-appearance: push-button;
white-space: pre
}
input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button {
-webkit-box-align: center;
text-align: center;
cursor: default;
color: ButtonText;
padding: 2px 6px 3px 6px;
border: 2px outset ButtonFace;
background-color: ButtonFace;
-webkit-box-sizing: border-box
}
input[type="range"] {
-webkit-appearance: slider-horizontal;
padding: initial;
border: initial;
margin: 2px;
}
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: sliderthumb-horizontal;
display: block;
}
input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled,
input[type="file"]:disabled::-webkit-file-upload-button, button:disabled,
select:disabled, keygen:disabled, optgroup:disabled, option:disabled, datagrid:disabled {
color: GrayText
}
input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active {
border-style: inset
}
input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled {
border-style: outset
}
area, param {
display: none
}
input[type="checkbox"] {
-webkit-appearance: checkbox;
-webkit-box-sizing: border-box;
}
input[type="radio"] {
-webkit-appearance: radio;
-webkit-box-sizing: border-box;
}
select {
-webkit-appearance: menulist;
-webkit-box-sizing: border-box;
-webkit-box-align: center;
border: 1px solid;
white-space: pre;
-webkit-rtl-ordering: logical;
color: black;
background-color: white;
cursor: default;
}
select[size],
select[multiple],
select[size][multiple] {
-webkit-appearance: listbox;
-webkit-box-align: start;
border: 1px inset gray;
-webkit-border-radius: initial;
white-space: initial;
}
select[size="0"],
select[size="1"] {
-webkit-appearance: menulist;
-webkit-box-align: center;
border: 1px solid;
-webkit-border-radius: 5px;
white-space: pre;
}
optgroup {
font-weight: bolder;
}
option {
font-weight: normal;
}
output {
display: inline;
}
/* form validation message bubble */
::-webkit-validation-bubble {
display: inline-block;
z-index: 2147483647;
position: absolute;
opacity: 0.95;
line-height: 0;
margin: 0;
-webkit-text-security: none;
-webkit-transition: opacity 05.5s ease;
}
::-webkit-validation-bubble-message {
display: block;
position: relative;
top: -4px;
font: message-box;
color: black;
min-width: 50px;
max-width: 200px;
border: solid 2px #400;
background: -webkit-gradient(linear, left top, left bottom, from(#f8ecec), to(#e8cccc));
padding: 8px;
-webkit-border-radius: 8px;
-webkit-box-shadow: 4px 4px 4px rgba(100,100,100,0.6),
inset -2px -2px 1px #d0c4c4,
inset 2px 2px 1px white;
line-height: normal;
z-index: 2147483644;
}
::-webkit-validation-bubble-arrow {
display: inline-block;
position: relative;
left: 32px;
width: 16px;
height: 16px;
background-color: #f8ecec;
border-width: 2px 0 0 2px;
border-style: solid;
border-color: #400;
box-shadow: inset 2px 2px 1px white;
-webkit-transform-origin: 0 0;
-webkit-transform: rotate(45deg);
z-index: 2147483645;
}
::-webkit-validation-bubble-arrow-clipper {
display: block;
overflow: hidden;
height: 16px;
}
/* meter */
meter {
-webkit-appearance: meter;
-webkit-box-sizing: border-box;
display: inline-box;
height: 1em;
width: 5em;
vertical-align: -0.2em;
}
meter::-webkit-meter-bar {
background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc));
height: 100%;
-webkit-box-sizing: border-box;
}
meter::-webkit-meter-optimum-value {
background: -webkit-gradient(linear, left top, left bottom, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3));
height: 100%;
-webkit-box-sizing: border-box;
}
meter::-webkit-meter-suboptimum-value {
background: -webkit-gradient(linear, left top, left bottom, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3));
height: 100%;
-webkit-box-sizing: border-box;
}
meter::-webkit-meter-even-less-good-value {
background: -webkit-gradient(linear, left top, left bottom, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44));
height: 100%;
-webkit-box-sizing: border-box;
}
/* progress */
progress {
-webkit-appearance: progress-bar;
-webkit-box-sizing: border-box;
display: inline-block;
height: 1em;
width: 10em;
vertical-align: -0.2em;
}
progress::-webkit-progress-bar {
background-color: gray;
height: 100%;
-webkit-box-sizing: border-box;
}
progress::-webkit-progress-value {
background-color: green;
height: 100%;
width: 50%; /* should be removed later */
-webkit-box-sizing: border-box;
}
/* datagrid */
datagrid {
height: 150px; /* We don't use width:300px in CSS, since we want width:intrinsic and width:min-intrinsic to reset to 300 properly. */
-webkit-appearance: datagrid;
-webkit-box-sizing: border-box;
-webkit-rtl-ordering: logical;
color: black;
background-color: white;
cursor: default;
border: 1px inset gray;
white-space: initial;
}
/* inline elements */
u, ins {
text-decoration: underline
}
strong, b {
font-weight: bolder
}
i, cite, em, var, address {
font-style: italic
}
tt, code, kbd, samp {
font-family: monospace
}
pre, xmp, plaintext, listing {
display: block;
font-family: monospace;
white-space: pre;
margin: 1__qem 0
}
mark {
background-color: yellow;
color: black
}
big {
font-size: larger
}
small {
font-size: smaller
}
s, strike, del {
text-decoration: line-through
}
sub {
vertical-align: sub;
font-size: smaller
}
sup {
vertical-align: super;
font-size: smaller
}
nobr {
white-space: nowrap
}
/* states */
:focus {
outline: auto 5px -webkit-focus-ring-color
}
/* Read-only text fields do not show a focus ring but do still receive focus */
html:focus, body:focus, input[readonly]:focus {
outline: none
}
input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus {
outline-offset: -2px
}
input[type="button"]:focus,
input[type="checkbox"]:focus,
input[type="file"]:focus,
input[type="hidden"]:focus,
input[type="image"]:focus,
input[type="radio"]:focus,
input[type="reset"]:focus,
input[type="search"]:focus,
input[type="submit"]:focus,
input[type="file"]:focus::-webkit-file-upload-button {
outline-offset: 0
}
a:-webkit-any-link {
color: -webkit-link;
text-decoration: none;
cursor: auto;
}
a:-webkit-any-link:active {
color: -webkit-activelink
}
/* HTML5 ruby elements */
ruby, rt {
text-indent: 0; /* blocks used for ruby rendering should not trigger this */
}
rt {
line-height: normal;
-webkit-text-emphasis: none;
}
ruby > rt {
display: block;
font-size: 50%;
text-align: -webkit-auto;
}
ruby > rp {
display: none;
}
/* other elements */
noframes {
display: none
}
frameset, frame {
display: block
}
frameset {
border-color: inherit
}
iframe {
border: 2px inset
}
details {
display: block
}
summary {
display: block
}
summary::-webkit-details-marker {
display: inline-block;
width: 0.66em;
height: 0.66em;
margin-right: 0.4em;
}
/* page */
@page {
/* FIXME: Define the right default values for page properties. */
size: auto;
margin: auto;
padding: 0px;
border-width: 0px;
}
/* noscript is handled internally, as it depends on settings */
那么这个文件是如何加载到webcore中那?
按照我们猜测有可能是浏览器启动的时候直接加载进去,如同在页面里面直接加载使用
如同下面的例子:
实际上webcore中的使用有点类似,但是形式不一样。
下面我们就简单说一下如何把html.css文件加载到webcore内部中
首先我们看到(android/external/webkit/Source/WebCore/Android.derived.mk)
我们看下里面的脚本代码:
# user agent style sheets
style_sheets := $(LOCAL_PATH)/css/html.css $(LOCAL_PATH)/css/quirks.css $(LOCAL_PATH)/css/fullscreen.css $(LOCAL_PATH)/css/view-source.css $(LOCAL_PATH)/css/mediaControls.css $(LOCAL_PATH)/css/mediaControlsAndroid.css $(LOCAL_PATH)/css/guangxidvb.css $(LOCAL_PATH)/css/guangxivod.css
ifeq ($(ENABLE_SVG), true)
style_sheets := $(style_sheets) $(LOCAL_PATH)/css/svg.css
endif
GEN := $(intermediates)/css/UserAgentStyleSheets.h
make_css_file_arrays := $(LOCAL_PATH)/css/make-css-file-arrays.pl
$(GEN): PRIVATE_CUSTOM_TOOL = $< $@ $(basename $@).cpp $(filter %.css,$^)
$(GEN): $(make_css_file_arrays) $(style_sheets)
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
# character set name table
webkit对html.css做了个特殊的处理,会先把html.css文件转化成16机制的数字
具体生成在:
obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/css/UserAgentStyleSheets.h
namespace WebCore {
extern const char htmlUserAgentStyleSheet[14912];
extern const char quirksUserAgentStyleSheet[351];
extern const char fullscreenUserAgentStyleSheet[509];
extern const char sourceUserAgentStyleSheet[2014];
extern const char mediaControlsUserAgentStyleSheet[4051];
extern const char mediaControlsAndroidUserAgentStyleSheet[2812];
extern const char guangxidvbUserAgentStyleSheet[14937];
}
obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/css/UserAgentStyleSheets.cpp
namespace WebCore {
extern const char htmlUserAgentStyleSheet[14912] = {
64, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 34, 104, 116, 116, 112,
58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 49, 57,
57, 57, 47, 120, 104, 116, 109, 108, 34, 59, 32, 104, 116, 109, 108, 32,
123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107,
32, 125, 32, 104, 101, 97, 100, 32, 123, 32, 100, 105, 115, 112, 108, 97,
121, 58, 32, 110, 111, 110, 101, 32, 125, 32, 109, 101, 116, 97, 32, 123,
32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 32, 125,
32, 116, 105, 116, 108, 101, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121,
58, 32, 110, 111, 110, 101, 32, 125, 32, 108, 105, 110, 107, 32, 123, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 32, 125, 32,
115, 116, 121, 108, 101, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58,
32, 110, 111, 110, 101, 32, 125, 32, 115, 99, 114, 105, 112, 116, 32, 123,
32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 32, 125,
32, 98, 111, 100, 121, 32, 123, 32, 98, 97, 99, 107, 103, 114, 111, 117,
110, 100, 45, 114, 101, 112, 101, 97, 116, 58, 110, 111, 45, 114, 101, 112,
101, 97, 116, 32, 33, 105, 109, 112, 111, 114, 116, 97, 110, 116, 59, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32,
109, 97, 114, 103, 105, 110, 58, 32, 56, 112, 120, 32, 125, 32, 112, 32,
123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107,
59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110,
45, 98, 101, 102, 111, 114, 101, 58, 32, 49, 95, 95, 113, 101, 109, 59,
32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45,
97, 102, 116, 101, 114, 58, 32, 49, 95, 95, 113, 101, 109, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 115, 116,
97, 114, 116, 58, 32, 48, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
109, 97, 114, 103, 105, 110, 45, 101, 110, 100, 58, 32, 48, 59, 32, 125,
32, 100, 105, 118, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32,
98, 108, 111, 99, 107, 32, 125, 32, 108, 97, 121, 101, 114, 32, 123, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 32, 125,
32, 97, 114, 116, 105, 99, 108, 101, 44, 32, 97, 115, 105, 100, 101, 44,
32, 102, 111, 111, 116, 101, 114, 44, 32, 104, 101, 97, 100, 101, 114, 44,
32, 104, 103, 114, 111, 117, 112, 44, 32, 110, 97, 118, 44, 32, 115, 101,
99, 116, 105, 111, 110, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58,
32, 98, 108, 111, 99, 107, 32, 125, 32, 109, 97, 114, 113, 117, 101, 101,
32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105,
110, 101, 45, 98, 108, 111, 99, 107, 59, 32, 111, 118, 101, 114, 102, 108,
111, 119, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 113,
117, 101, 101, 32, 125, 32, 97, 100, 100, 114, 101, 115, 115, 32, 123, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 32, 125,
32, 98, 108, 111, 99, 107, 113, 117, 111, 116, 101, 32, 123, 32, 100, 105,
115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 45, 119,
101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101, 102,
111, 114, 101, 58, 32, 49, 95, 95, 113, 101, 109, 59, 32, 45, 119, 101,
98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 97, 102, 116, 101,
114, 58, 32, 49, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
109, 97, 114, 103, 105, 110, 45, 115, 116, 97, 114, 116, 58, 32, 52, 48,
112, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103,
105, 110, 45, 101, 110, 100, 58, 32, 52, 48, 112, 120, 59, 32, 125, 32,
102, 105, 103, 99, 97, 112, 116, 105, 111, 110, 32, 123, 32, 100, 105, 115,
112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 32, 125, 32, 102, 105,
103, 117, 114, 101, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32,
98, 108, 111, 99, 107, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109,
97, 114, 103, 105, 110, 45, 98, 101, 102, 111, 114, 101, 58, 32, 49, 101,
109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105,
110, 45, 97, 102, 116, 101, 114, 58, 32, 49, 101, 109, 59, 32, 45, 119,
101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 115, 116, 97,
114, 116, 58, 32, 52, 48, 112, 120, 59, 32, 45, 119, 101, 98, 107, 105,
116, 45, 109, 97, 114, 103, 105, 110, 45, 101, 110, 100, 58, 32, 52, 48,
112, 120, 59, 32, 125, 32, 113, 32, 123, 32, 100, 105, 115, 112, 108, 97,
121, 58, 32, 105, 110, 108, 105, 110, 101, 32, 125, 32, 113, 58, 98, 101,
102, 111, 114, 101, 32, 123, 32, 99, 111, 110, 116, 101, 110, 116, 58, 32,
111, 112, 101, 110, 45, 113, 117, 111, 116, 101, 59, 32, 125, 32, 113, 58,
97, 102, 116, 101, 114, 32, 123, 32, 99, 111, 110, 116, 101, 110, 116, 58,
32, 99, 108, 111, 115, 101, 45, 113, 117, 111, 116, 101, 59, 32, 125, 32,
99, 101, 110, 116, 101, 114, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121,
58, 32, 98, 108, 111, 99, 107, 59, 32, 116, 101, 120, 116, 45, 97, 108,
105, 103, 110, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 99, 101, 110,
116, 101, 114, 32, 125, 32, 104, 114, 32, 123, 32, 100, 105, 115, 112, 108,
97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 45, 119, 101, 98, 107,
105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101, 102, 111, 114, 101,
58, 32, 48, 46, 53, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 109, 97, 114, 103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 48,
46, 53, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97,
114, 103, 105, 110, 45, 115, 116, 97, 114, 116, 58, 32, 97, 117, 116, 111,
59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110,
45, 101, 110, 100, 58, 32, 97, 117, 116, 111, 59, 32, 98, 111, 114, 100,
101, 114, 45, 115, 116, 121, 108, 101, 58, 32, 105, 110, 115, 101, 116, 59,
32, 98, 111, 114, 100, 101, 114, 45, 119, 105, 100, 116, 104, 58, 32, 49,
112, 120, 32, 125, 32, 109, 97, 112, 32, 123, 32, 100, 105, 115, 112, 108,
97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 32, 125, 32, 104, 49, 32,
123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107,
59, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58, 32, 50, 101, 109,
59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110,
45, 98, 101, 102, 111, 114, 101, 58, 32, 48, 46, 54, 55, 95, 95, 113,
101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103,
105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 48, 46, 54, 55, 101, 109,
59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110,
45, 115, 116, 97, 114, 116, 58, 32, 48, 59, 32, 45, 119, 101, 98, 107,
105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 101, 110, 100, 58, 32, 48,
59, 32, 102, 111, 110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 98,
111, 108, 100, 32, 125, 32, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97,
110, 121, 40, 97, 114, 116, 105, 99, 108, 101, 44, 97, 115, 105, 100, 101,
44, 110, 97, 118, 44, 115, 101, 99, 116, 105, 111, 110, 41, 32, 104, 49,
32, 123, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58, 32, 49, 46,
53, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114,
103, 105, 110, 45, 98, 101, 102, 111, 114, 101, 58, 32, 48, 46, 56, 51,
95, 95, 113, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109,
97, 114, 103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 48, 46, 56,
51, 101, 109, 59, 32, 125, 32, 58, 45, 119, 101, 98, 107, 105, 116, 45,
97, 110, 121, 40, 97, 114, 116, 105, 99, 108, 101, 44, 97, 115, 105, 100,
101, 44, 110, 97, 118, 44, 115, 101, 99, 116, 105, 111, 110, 41, 32, 58,
45, 119, 101, 98, 107, 105, 116, 45, 97, 110, 121, 40, 97, 114, 116, 105,
99, 108, 101, 44, 97, 115, 105, 100, 101, 44, 110, 97, 118, 44, 115, 101,
99, 116, 105, 111, 110, 41, 32, 104, 49, 32, 123, 32, 102, 111, 110, 116,
45, 115, 105, 122, 101, 58, 32, 49, 46, 49, 55, 101, 109, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101,
102, 111, 114, 101, 58, 32, 49, 95, 95, 113, 101, 109, 59, 32, 45, 119,
101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 97, 102, 116,
101, 114, 58, 32, 49, 101, 109, 59, 32, 125, 32, 58, 45, 119, 101, 98,
107, 105, 116, 45, 97, 110, 121, 40, 97, 114, 116, 105, 99, 108, 101, 44,
97, 115, 105, 100, 101, 44, 110, 97, 118, 44, 115, 101, 99, 116, 105, 111,
110, 41, 32, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97, 110, 121, 40,
97, 114, 116, 105, 99, 108, 101, 44, 97, 115, 105, 100, 101, 44, 110, 97,
118, 44, 115, 101, 99, 116, 105, 111, 110, 41, 32, 58, 45, 119, 101, 98,
107, 105, 116, 45, 97, 110, 121, 40, 97, 114, 116, 105, 99, 108, 101, 44,
97, 115, 105, 100, 101, 44, 110, 97, 118, 44, 115, 101, 99, 116, 105, 111,
110, 41, 32, 104, 49, 32, 123, 32, 102, 111, 110, 116, 45, 115, 105, 122,
101, 58, 32, 49, 46, 48, 48, 101, 109, 59, 32, 45, 119, 101, 98, 107,
105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101, 102, 111, 114, 101,
58, 32, 49, 46, 51, 51, 95, 95, 113, 101, 109, 59, 32, 45, 119, 101,
98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 97, 102, 116, 101,
114, 58, 32, 49, 46, 51, 51, 101, 109, 59, 32, 125, 32, 58, 45, 119,
101, 98, 107, 105, 116, 45, 97, 110, 121, 40, 97, 114, 116, 105, 99, 108,
101, 44, 97, 115, 105, 100, 101, 44, 110, 97, 118, 44, 115, 101, 99, 116,
105, 111, 110, 41, 32, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97, 110,
121, 40, 97, 114, 116, 105, 99, 108, 101, 44, 97, 115, 105, 100, 101, 44,
110, 97, 118, 44, 115, 101, 99, 116, 105, 111, 110, 41, 32, 58, 45, 119,
101, 98, 107, 105, 116, 45, 97, 110, 121, 40, 97, 114, 116, 105, 99, 108,
101, 44, 97, 115, 105, 100, 101, 44, 110, 97, 118, 44, 115, 101, 99, 116,
105, 111, 110, 41, 32, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97, 110,
121, 40, 97, 114, 116, 105, 99, 108, 101, 44, 97, 115, 105, 100, 101, 44,
110, 97, 118, 44, 115, 101, 99, 116, 105, 111, 110, 41, 32, 104, 49, 32,
123, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58, 32, 46, 56, 51,
101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103,
105, 110, 45, 98, 101, 102, 111, 114, 101, 58, 32, 49, 46, 54, 55, 95,
95, 113, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97,
114, 103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 49, 46, 54, 55,
101, 109, 59, 32, 125, 32, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97,
110, 121, 40, 97, 114, 116, 105, 99, 108, 101, 44, 97, 115, 105, 100, 101,
44, 110, 97, 118, 44, 115, 101, 99, 116, 105, 111, 110, 41, 32, 58, 45,
119, 101, 98, 107, 105, 116, 45, 97, 110, 121, 40, 97, 114, 116, 105, 99,
108, 101, 44, 97, 115, 105, 100, 101, 44, 110, 97, 118, 44, 115, 101, 99,
116, 105, 111, 110, 41, 32, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97,
110, 121, 40, 97, 114, 116, 105, 99, 108, 101, 44, 97, 115, 105, 100, 101,
44, 110, 97, 118, 44, 115, 101, 99, 116, 105, 111, 110, 41, 32, 58, 45,
119, 101, 98, 107, 105, 116, 45, 97, 110, 121, 40, 97, 114, 116, 105, 99,
108, 101, 44, 97, 115, 105, 100, 101, 44, 110, 97, 118, 44, 115, 101, 99,
116, 105, 111, 110, 41, 32, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97,
110, 121, 40, 97, 114, 116, 105, 99, 108, 101, 44, 97, 115, 105, 100, 101,
44, 110, 97, 118, 44, 115, 101, 99, 116, 105, 111, 110, 41, 32, 104, 49,
32, 123, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58, 32, 46, 54,
55, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114,
103, 105, 110, 45, 98, 101, 102, 111, 114, 101, 58, 32, 50, 46, 51, 51,
95, 95, 113, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109,
97, 114, 103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 50, 46, 51,
51, 101, 109, 59, 32, 125, 32, 104, 50, 32, 123, 32, 100, 105, 115, 112,
108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 102, 111, 110, 116,
45, 115, 105, 122, 101, 58, 32, 49, 46, 53, 101, 109, 59, 32, 45, 119,
101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101, 102,
111, 114, 101, 58, 32, 48, 46, 56, 51, 95, 95, 113, 101, 109, 59, 32,
45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 97,
102, 116, 101, 114, 58, 32, 48, 46, 56, 51, 101, 109, 59, 32, 45, 119,
101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 115, 116, 97,
114, 116, 58, 32, 48, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109,
97, 114, 103, 105, 110, 45, 101, 110, 100, 58, 32, 48, 59, 32, 102, 111,
110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 98, 111, 108, 100, 32,
125, 32, 104, 51, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32,
98, 108, 111, 99, 107, 59, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101,
58, 32, 49, 46, 49, 55, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105,
116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101, 102, 111, 114, 101, 58,
32, 49, 95, 95, 113, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 109, 97, 114, 103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 49,
101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103,
105, 110, 45, 115, 116, 97, 114, 116, 58, 32, 48, 59, 32, 45, 119, 101,
98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 101, 110, 100, 58,
32, 48, 59, 32, 102, 111, 110, 116, 45, 119, 101, 105, 103, 104, 116, 58,
32, 98, 111, 108, 100, 32, 125, 32, 104, 52, 32, 123, 32, 100, 105, 115,
112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 45, 119, 101,
98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101, 102, 111,
114, 101, 58, 32, 49, 46, 51, 51, 95, 95, 113, 101, 109, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 97, 102,
116, 101, 114, 58, 32, 49, 46, 51, 51, 101, 109, 59, 32, 45, 119, 101,
98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 115, 116, 97, 114,
116, 58, 32, 48, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97,
114, 103, 105, 110, 45, 101, 110, 100, 58, 32, 48, 59, 32, 102, 111, 110,
116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 98, 111, 108, 100, 32, 125,
32, 104, 53, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98,
108, 111, 99, 107, 59, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58,
32, 46, 56, 51, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
109, 97, 114, 103, 105, 110, 45, 98, 101, 102, 111, 114, 101, 58, 32, 49,
46, 54, 55, 95, 95, 113, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105,
116, 45, 109, 97, 114, 103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32,
49, 46, 54, 55, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
109, 97, 114, 103, 105, 110, 45, 115, 116, 97, 114, 116, 58, 32, 48, 59,
32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45,
101, 110, 100, 58, 32, 48, 59, 32, 102, 111, 110, 116, 45, 119, 101, 105,
103, 104, 116, 58, 32, 98, 111, 108, 100, 32, 125, 32, 104, 54, 32, 123,
32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59,
32, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58, 32, 46, 54, 55, 101,
109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105,
110, 45, 98, 101, 102, 111, 114, 101, 58, 32, 50, 46, 51, 51, 95, 95,
113, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114,
103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 50, 46, 51, 51, 101,
109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105,
110, 45, 115, 116, 97, 114, 116, 58, 32, 48, 59, 32, 45, 119, 101, 98,
107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 101, 110, 100, 58, 32,
48, 59, 32, 102, 111, 110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32,
98, 111, 108, 100, 32, 125, 32, 116, 97, 98, 108, 101, 32, 123, 32, 100,
105, 115, 112, 108, 97, 121, 58, 32, 116, 97, 98, 108, 101, 59, 32, 98,
111, 114, 100, 101, 114, 45, 99, 111, 108, 108, 97, 112, 115, 101, 58, 32,
115, 101, 112, 97, 114, 97, 116, 101, 59, 32, 98, 111, 114, 100, 101, 114,
45, 115, 112, 97, 99, 105, 110, 103, 58, 32, 50, 112, 120, 59, 32, 98,
111, 114, 100, 101, 114, 45, 99, 111, 108, 111, 114, 58, 32, 103, 114, 97,
121, 32, 125, 32, 116, 104, 101, 97, 100, 32, 123, 32, 100, 105, 115, 112,
108, 97, 121, 58, 32, 116, 97, 98, 108, 101, 45, 104, 101, 97, 100, 101,
114, 45, 103, 114, 111, 117, 112, 59, 32, 118, 101, 114, 116, 105, 99, 97,
108, 45, 97, 108, 105, 103, 110, 58, 32, 109, 105, 100, 100, 108, 101, 59,
32, 98, 111, 114, 100, 101, 114, 45, 99, 111, 108, 111, 114, 58, 32, 105,
110, 104, 101, 114, 105, 116, 32, 125, 32, 116, 98, 111, 100, 121, 32, 123,
32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 116, 97, 98, 108, 101, 45,
114, 111, 119, 45, 103, 114, 111, 117, 112, 59, 32, 118, 101, 114, 116, 105,
99, 97, 108, 45, 97, 108, 105, 103, 110, 58, 32, 109, 105, 100, 100, 108,
101, 59, 32, 98, 111, 114, 100, 101, 114, 45, 99, 111, 108, 111, 114, 58,
32, 105, 110, 104, 101, 114, 105, 116, 32, 125, 32, 116, 102, 111, 111, 116,
32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 116, 97, 98, 108,
101, 45, 102, 111, 111, 116, 101, 114, 45, 103, 114, 111, 117, 112, 59, 32,
118, 101, 114, 116, 105, 99, 97, 108, 45, 97, 108, 105, 103, 110, 58, 32,
109, 105, 100, 100, 108, 101, 59, 32, 98, 111, 114, 100, 101, 114, 45, 99,
111, 108, 111, 114, 58, 32, 105, 110, 104, 101, 114, 105, 116, 32, 125, 32,
116, 97, 98, 108, 101, 32, 62, 32, 116, 114, 32, 123, 32, 118, 101, 114,
116, 105, 99, 97, 108, 45, 97, 108, 105, 103, 110, 58, 32, 109, 105, 100,
100, 108, 101, 59, 32, 125, 32, 99, 111, 108, 32, 123, 32, 100, 105, 115,
112, 108, 97, 121, 58, 32, 116, 97, 98, 108, 101, 45, 99, 111, 108, 117,
109, 110, 32, 125, 32, 99, 111, 108, 103, 114, 111, 117, 112, 32, 123, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 116, 97, 98, 108, 101, 45, 99,
111, 108, 117, 109, 110, 45, 103, 114, 111, 117, 112, 32, 125, 32, 116, 114,
32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 116, 97, 98, 108,
101, 45, 114, 111, 119, 59, 32, 118, 101, 114, 116, 105, 99, 97, 108, 45,
97, 108, 105, 103, 110, 58, 32, 105, 110, 104, 101, 114, 105, 116, 59, 32,
98, 111, 114, 100, 101, 114, 45, 99, 111, 108, 111, 114, 58, 32, 105, 110,
104, 101, 114, 105, 116, 32, 125, 32, 116, 100, 44, 32, 116, 104, 32, 123,
32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 116, 97, 98, 108, 101, 45,
99, 101, 108, 108, 59, 32, 118, 101, 114, 116, 105, 99, 97, 108, 45, 97,
108, 105, 103, 110, 58, 32, 105, 110, 104, 101, 114, 105, 116, 32, 125, 32,
116, 104, 32, 123, 32, 102, 111, 110, 116, 45, 119, 101, 105, 103, 104, 116,
58, 32, 98, 111, 108, 100, 32, 125, 32, 99, 97, 112, 116, 105, 111, 110,
32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 116, 97, 98, 108,
101, 45, 99, 97, 112, 116, 105, 111, 110, 59, 32, 116, 101, 120, 116, 45,
97, 108, 105, 103, 110, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 99,
101, 110, 116, 101, 114, 32, 125, 32, 117, 108, 44, 32, 109, 101, 110, 117,
44, 32, 100, 105, 114, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58,
32, 98, 108, 111, 99, 107, 59, 32, 108, 105, 115, 116, 45, 115, 116, 121,
108, 101, 45, 116, 121, 112, 101, 58, 32, 100, 105, 115, 99, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101,
102, 111, 114, 101, 58, 32, 49, 95, 95, 113, 101, 109, 59, 32, 45, 119,
101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 97, 102, 116,
101, 114, 58, 32, 49, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 109, 97, 114, 103, 105, 110, 45, 115, 116, 97, 114, 116, 58, 32, 48,
59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110,
45, 101, 110, 100, 58, 32, 48, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 112, 97, 100, 100, 105, 110, 103, 45, 115, 116, 97, 114, 116, 58, 32,
52, 48, 112, 120, 32, 125, 32, 111, 108, 32, 123, 32, 100, 105, 115, 112,
108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 108, 105, 115, 116,
45, 115, 116, 121, 108, 101, 45, 116, 121, 112, 101, 58, 32, 100, 101, 99,
105, 109, 97, 108, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97,
114, 103, 105, 110, 45, 98, 101, 102, 111, 114, 101, 58, 32, 49, 95, 95,
113, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114,
103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 49, 101, 109, 59, 32,
45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 115,
116, 97, 114, 116, 58, 32, 48, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 109, 97, 114, 103, 105, 110, 45, 101, 110, 100, 58, 32, 48, 59, 32,
45, 119, 101, 98, 107, 105, 116, 45, 112, 97, 100, 100, 105, 110, 103, 45,
115, 116, 97, 114, 116, 58, 32, 52, 48, 112, 120, 32, 125, 32, 108, 105,
32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 108, 105, 115, 116,
45, 105, 116, 101, 109, 32, 125, 32, 117, 108, 32, 117, 108, 44, 32, 111,
108, 32, 117, 108, 32, 123, 32, 108, 105, 115, 116, 45, 115, 116, 121, 108,
101, 45, 116, 121, 112, 101, 58, 32, 99, 105, 114, 99, 108, 101, 32, 125,
32, 111, 108, 32, 111, 108, 32, 117, 108, 44, 32, 111, 108, 32, 117, 108,
32, 117, 108, 44, 32, 117, 108, 32, 111, 108, 32, 117, 108, 44, 32, 117,
108, 32, 117, 108, 32, 117, 108, 32, 123, 32, 108, 105, 115, 116, 45, 115,
116, 121, 108, 101, 45, 116, 121, 112, 101, 58, 32, 115, 113, 117, 97, 114,
101, 32, 125, 32, 100, 100, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121,
58, 32, 98, 108, 111, 99, 107, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 109, 97, 114, 103, 105, 110, 45, 115, 116, 97, 114, 116, 58, 32, 52,
48, 112, 120, 32, 125, 32, 100, 108, 32, 123, 32, 100, 105, 115, 112, 108,
97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 45, 119, 101, 98, 107,
105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101, 102, 111, 114, 101,
58, 32, 49, 95, 95, 113, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105,
116, 45, 109, 97, 114, 103, 105, 110, 45, 97, 102, 116, 101, 114, 58, 32,
49, 101, 109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114,
103, 105, 110, 45, 115, 116, 97, 114, 116, 58, 32, 48, 59, 32, 45, 119,
101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 101, 110, 100,
58, 32, 48, 59, 32, 125, 32, 100, 116, 32, 123, 32, 100, 105, 115, 112,
108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 32, 125, 32, 111, 108, 32,
117, 108, 44, 32, 117, 108, 32, 111, 108, 44, 32, 117, 108, 32, 117, 108,
44, 32, 111, 108, 32, 111, 108, 32, 123, 32, 45, 119, 101, 98, 107, 105,
116, 45, 109, 97, 114, 103, 105, 110, 45, 98, 101, 102, 111, 114, 101, 58,
32, 48, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103,
105, 110, 45, 97, 102, 116, 101, 114, 58, 32, 48, 32, 125, 32, 102, 111,
114, 109, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108,
111, 99, 107, 59, 32, 109, 97, 114, 103, 105, 110, 45, 116, 111, 112, 58,
32, 48, 95, 95, 113, 101, 109, 59, 32, 125, 32, 108, 97, 98, 101, 108,
32, 123, 32, 99, 117, 114, 115, 111, 114, 58, 32, 100, 101, 102, 97, 117,
108, 116, 59, 32, 125, 32, 108, 101, 103, 101, 110, 100, 32, 123, 32, 100,
105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 112, 97, 100, 100, 105, 110, 103, 45, 115,
116, 97, 114, 116, 58, 32, 50, 112, 120, 59, 32, 45, 119, 101, 98, 107,
105, 116, 45, 112, 97, 100, 100, 105, 110, 103, 45, 101, 110, 100, 58, 32,
50, 112, 120, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 110, 111, 110,
101, 32, 125, 32, 102, 105, 101, 108, 100, 115, 101, 116, 32, 123, 32, 100,
105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 109, 97, 114, 103, 105, 110, 45, 115, 116,
97, 114, 116, 58, 32, 50, 112, 120, 59, 32, 45, 119, 101, 98, 107, 105,
116, 45, 109, 97, 114, 103, 105, 110, 45, 101, 110, 100, 58, 32, 50, 112,
120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 112, 97, 100, 100, 105,
110, 103, 45, 98, 101, 102, 111, 114, 101, 58, 32, 48, 46, 51, 53, 101,
109, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 112, 97, 100, 100, 105,
110, 103, 45, 115, 116, 97, 114, 116, 58, 32, 48, 46, 55, 53, 101, 109,
59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 112, 97, 100, 100, 105, 110,
103, 45, 101, 110, 100, 58, 32, 48, 46, 55, 53, 101, 109, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 112, 97, 100, 100, 105, 110, 103, 45, 97,
102, 116, 101, 114, 58, 32, 48, 46, 54, 50, 53, 101, 109, 59, 32, 98,
111, 114, 100, 101, 114, 58, 32, 50, 112, 120, 32, 103, 114, 111, 111, 118,
101, 32, 84, 104, 114, 101, 101, 68, 70, 97, 99, 101, 32, 125, 32, 98,
117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45,
97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 98, 117, 116, 116,
111, 110, 59, 32, 125, 32, 105, 110, 112, 117, 116, 44, 32, 116, 101, 120,
116, 97, 114, 101, 97, 44, 32, 107, 101, 121, 103, 101, 110, 44, 32, 115,
101, 108, 101, 99, 116, 44, 32, 98, 117, 116, 116, 111, 110, 44, 32, 105,
115, 105, 110, 100, 101, 120, 44, 32, 109, 101, 116, 101, 114, 44, 32, 112,
114, 111, 103, 114, 101, 115, 115, 32, 123, 32, 45, 119, 101, 98, 107, 105,
116, 45, 98, 108, 111, 99, 107, 45, 102, 108, 111, 119, 58, 32, 116, 98,
32, 33, 105, 109, 112, 111, 114, 116, 97, 110, 116, 59, 32, 125, 32, 105,
110, 112, 117, 116, 44, 32, 116, 101, 120, 116, 97, 114, 101, 97, 44, 32,
107, 101, 121, 103, 101, 110, 44, 32, 115, 101, 108, 101, 99, 116, 44, 32,
98, 117, 116, 116, 111, 110, 44, 32, 105, 115, 105, 110, 100, 101, 120, 44,
32, 100, 97, 116, 97, 103, 114, 105, 100, 32, 123, 32, 109, 97, 114, 103,
105, 110, 58, 32, 48, 95, 95, 113, 101, 109, 59, 32, 102, 111, 110, 116,
58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 115, 109, 97, 108, 108, 45,
99, 111, 110, 116, 114, 111, 108, 59, 32, 99, 111, 108, 111, 114, 58, 32,
105, 110, 105, 116, 105, 97, 108, 59, 32, 108, 101, 116, 116, 101, 114, 45,
115, 112, 97, 99, 105, 110, 103, 58, 32, 110, 111, 114, 109, 97, 108, 59,
32, 119, 111, 114, 100, 45, 115, 112, 97, 99, 105, 110, 103, 58, 32, 110,
111, 114, 109, 97, 108, 59, 32, 108, 105, 110, 101, 45, 104, 101, 105, 103,
104, 116, 58, 32, 110, 111, 114, 109, 97, 108, 59, 32, 116, 101, 120, 116,
45, 116, 114, 97, 110, 115, 102, 111, 114, 109, 58, 32, 110, 111, 110, 101,
59, 32, 116, 101, 120, 116, 45, 105, 110, 100, 101, 110, 116, 58, 32, 48,
59, 32, 116, 101, 120, 116, 45, 115, 104, 97, 100, 111, 119, 58, 32, 110,
111, 110, 101, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 105, 110,
108, 105, 110, 101, 45, 98, 108, 111, 99, 107, 59, 32, 116, 101, 120, 116,
45, 97, 108, 105, 103, 110, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45,
97, 117, 116, 111, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121,
112, 101, 61, 34, 104, 105, 100, 100, 101, 110, 34, 93, 32, 123, 32, 100,
105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 32, 125, 32, 105,
110, 112, 117, 116, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
61, 34, 112, 97, 115, 115, 119, 111, 114, 100, 34, 93, 44, 32, 105, 110,
112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 101, 97, 114, 99, 104,
34, 93, 44, 32, 105, 115, 105, 110, 100, 101, 120, 32, 123, 32, 45, 119,
101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101,
58, 32, 116, 101, 120, 116, 102, 105, 101, 108, 100, 59, 32, 112, 97, 100,
100, 105, 110, 103, 58, 32, 49, 112, 120, 59, 32, 98, 97, 99, 107, 103,
114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 119, 104, 105,
116, 101, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 50, 112, 120, 32,
105, 110, 115, 101, 116, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 114,
116, 108, 45, 111, 114, 100, 101, 114, 105, 110, 103, 58, 32, 108, 111, 103,
105, 99, 97, 108, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 117, 115,
101, 114, 45, 115, 101, 108, 101, 99, 116, 58, 32, 116, 101, 120, 116, 59,
32, 99, 117, 114, 115, 111, 114, 58, 32, 97, 117, 116, 111, 59, 32, 125,
32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 101, 97,
114, 99, 104, 34, 93, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45,
97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 115, 101, 97, 114,
99, 104, 102, 105, 101, 108, 100, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114,
100, 101, 114, 45, 98, 111, 120, 59, 32, 125, 32, 105, 110, 112, 117, 116,
91, 116, 121, 112, 101, 61, 34, 115, 101, 97, 114, 99, 104, 34, 93, 58,
58, 45, 119, 101, 98, 107, 105, 116, 45, 115, 101, 97, 114, 99, 104, 45,
99, 97, 110, 99, 101, 108, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32,
45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110,
99, 101, 58, 32, 115, 101, 97, 114, 99, 104, 102, 105, 101, 108, 100, 45,
99, 97, 110, 99, 101, 108, 45, 98, 117, 116, 116, 111, 110, 59, 32, 100,
105, 115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45, 98,
108, 111, 99, 107, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121,
112, 101, 61, 34, 115, 101, 97, 114, 99, 104, 34, 93, 58, 58, 45, 119,
101, 98, 107, 105, 116, 45, 115, 101, 97, 114, 99, 104, 45, 100, 101, 99,
111, 114, 97, 116, 105, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105,
116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 115, 101,
97, 114, 99, 104, 102, 105, 101, 108, 100, 45, 100, 101, 99, 111, 114, 97,
116, 105, 111, 110, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 105,
110, 108, 105, 110, 101, 45, 98, 108, 111, 99, 107, 59, 32, 125, 32, 105,
110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 101, 97, 114, 99,
104, 34, 93, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 115, 101, 97,
114, 99, 104, 45, 114, 101, 115, 117, 108, 116, 115, 45, 100, 101, 99, 111,
114, 97, 116, 105, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116,
45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 115, 101, 97,
114, 99, 104, 102, 105, 101, 108, 100, 45, 114, 101, 115, 117, 108, 116, 115,
45, 100, 101, 99, 111, 114, 97, 116, 105, 111, 110, 59, 32, 100, 105, 115,
112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45, 98, 108, 111,
99, 107, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
61, 34, 115, 101, 97, 114, 99, 104, 34, 93, 58, 58, 45, 119, 101, 98,
107, 105, 116, 45, 115, 101, 97, 114, 99, 104, 45, 114, 101, 115, 117, 108,
116, 115, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98,
107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32,
115, 101, 97, 114, 99, 104, 102, 105, 101, 108, 100, 45, 114, 101, 115, 117,
108, 116, 115, 45, 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112,
108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45, 98, 108, 111, 99,
107, 59, 32, 125, 32, 105, 110, 112, 117, 116, 58, 58, 45, 119, 101, 98,
107, 105, 116, 45, 105, 110, 112, 117, 116, 45, 108, 105, 115, 116, 45, 98,
117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45,
97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 108, 105, 115, 116,
45, 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112, 108, 97, 121,
58, 32, 105, 110, 108, 105, 110, 101, 45, 98, 108, 111, 99, 107, 59, 32,
125, 32, 105, 110, 112, 117, 116, 58, 58, 45, 119, 101, 98, 107, 105, 116,
45, 105, 110, 110, 101, 114, 45, 115, 112, 105, 110, 45, 98, 117, 116, 116,
111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112,
101, 97, 114, 97, 110, 99, 101, 58, 32, 105, 110, 110, 101, 114, 45, 115,
112, 105, 110, 45, 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112,
108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45, 98, 108, 111, 99,
107, 59, 32, 112, 111, 115, 105, 116, 105, 111, 110, 58, 32, 114, 101, 108,
97, 116, 105, 118, 101, 59, 32, 99, 117, 114, 115, 111, 114, 58, 32, 100,
101, 102, 97, 117, 108, 116, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
117, 115, 101, 114, 45, 115, 101, 108, 101, 99, 116, 58, 32, 110, 111, 110,
101, 59, 32, 125, 32, 105, 110, 112, 117, 116, 58, 58, 45, 119, 101, 98,
107, 105, 116, 45, 111, 117, 116, 101, 114, 45, 115, 112, 105, 110, 45, 98,
117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45,
97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 111, 117, 116, 101,
114, 45, 115, 112, 105, 110, 45, 98, 117, 116, 116, 111, 110, 59, 32, 100,
105, 115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45, 98,
108, 111, 99, 107, 59, 32, 112, 111, 115, 105, 116, 105, 111, 110, 58, 32,
114, 101, 108, 97, 116, 105, 118, 101, 59, 32, 99, 117, 114, 115, 111, 114,
58, 32, 100, 101, 102, 97, 117, 108, 116, 59, 32, 109, 97, 114, 103, 105,
110, 45, 108, 101, 102, 116, 58, 32, 50, 112, 120, 59, 32, 45, 119, 101,
98, 107, 105, 116, 45, 117, 115, 101, 114, 45, 115, 101, 108, 101, 99, 116,
58, 32, 110, 111, 110, 101, 59, 32, 125, 32, 105, 110, 112, 117, 116, 58,
58, 45, 119, 101, 98, 107, 105, 116, 45, 105, 110, 112, 117, 116, 45, 115,
112, 101, 101, 99, 104, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45,
119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99,
101, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 105, 110, 112, 117, 116,
45, 115, 112, 101, 101, 99, 104, 45, 98, 117, 116, 116, 111, 110, 59, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45,
98, 108, 111, 99, 107, 59, 32, 125, 32, 107, 101, 121, 103, 101, 110, 44,
32, 115, 101, 108, 101, 99, 116, 32, 123, 32, 45, 119, 101, 98, 107, 105,
116, 45, 98, 111, 114, 100, 101, 114, 45, 114, 97, 100, 105, 117, 115, 58,
32, 53, 112, 120, 59, 32, 125, 32, 107, 101, 121, 103, 101, 110, 58, 58,
45, 119, 101, 98, 107, 105, 116, 45, 107, 101, 121, 103, 101, 110, 45, 115,
101, 108, 101, 99, 116, 32, 123, 32, 109, 97, 114, 103, 105, 110, 58, 32,
48, 112, 120, 59, 32, 125, 32, 116, 101, 120, 116, 97, 114, 101, 97, 32,
123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114,
97, 110, 99, 101, 58, 32, 116, 101, 120, 116, 97, 114, 101, 97, 59, 32,
98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114,
58, 32, 119, 104, 105, 116, 101, 59, 32, 98, 111, 114, 100, 101, 114, 58,
32, 49, 112, 120, 32, 115, 111, 108, 105, 100, 59, 32, 45, 119, 101, 98,
107, 105, 116, 45, 114, 116, 108, 45, 111, 114, 100, 101, 114, 105, 110, 103,
58, 32, 108, 111, 103, 105, 99, 97, 108, 59, 32, 45, 119, 101, 98, 107,
105, 116, 45, 117, 115, 101, 114, 45, 115, 101, 108, 101, 99, 116, 58, 32,
116, 101, 120, 116, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111,
120, 45, 111, 114, 105, 101, 110, 116, 58, 32, 118, 101, 114, 116, 105, 99,
97, 108, 59, 32, 114, 101, 115, 105, 122, 101, 58, 32, 97, 117, 116, 111,
59, 32, 99, 117, 114, 115, 111, 114, 58, 32, 97, 117, 116, 111, 59, 32,
112, 97, 100, 100, 105, 110, 103, 58, 32, 50, 112, 120, 59, 32, 119, 104,
105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114, 101, 45, 119,
114, 97, 112, 59, 32, 119, 111, 114, 100, 45, 119, 114, 97, 112, 58, 32,
98, 114, 101, 97, 107, 45, 119, 111, 114, 100, 59, 32, 125, 32, 105, 110,
112, 117, 116, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 105, 110, 112,
117, 116, 45, 112, 108, 97, 99, 101, 104, 111, 108, 100, 101, 114, 44, 32,
105, 115, 105, 110, 100, 101, 120, 58, 58, 45, 119, 101, 98, 107, 105, 116,
45, 105, 110, 112, 117, 116, 45, 112, 108, 97, 99, 101, 104, 111, 108, 100,
101, 114, 44, 32, 116, 101, 120, 116, 97, 114, 101, 97, 58, 58, 45, 119,
101, 98, 107, 105, 116, 45, 105, 110, 112, 117, 116, 45, 112, 108, 97, 99,
101, 104, 111, 108, 100, 101, 114, 32, 123, 32, 99, 111, 108, 111, 114, 58,
32, 100, 97, 114, 107, 71, 114, 97, 121, 59, 32, 125, 32, 105, 110, 112,
117, 116, 91, 116, 121, 112, 101, 61, 34, 112, 97, 115, 115, 119, 111, 114,
100, 34, 93, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 116, 101,
120, 116, 45, 115, 101, 99, 117, 114, 105, 116, 121, 58, 32, 100, 105, 115,
99, 32, 33, 105, 109, 112, 111, 114, 116, 97, 110, 116, 59, 32, 125, 32,
105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 104, 105, 100, 100,
101, 110, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
61, 34, 105, 109, 97, 103, 101, 34, 93, 44, 32, 105, 110, 112, 117, 116,
91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 32, 123, 32,
45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110,
99, 101, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 112, 97, 100,
100, 105, 110, 103, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 98,
97, 99, 107, 103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58,
32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 98, 111, 114, 100, 101, 114,
58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 125, 32, 105, 110, 112,
117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 32,
123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 97, 108,
105, 103, 110, 58, 32, 98, 97, 115, 101, 108, 105, 110, 101, 59, 32, 116,
101, 120, 116, 45, 97, 108, 105, 103, 110, 58, 32, 115, 116, 97, 114, 116,
32, 33, 105, 109, 112, 111, 114, 116, 97, 110, 116, 59, 32, 125, 32, 105,
110, 112, 117, 116, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97, 117, 116,
111, 102, 105, 108, 108, 32, 123, 32, 98, 97, 99, 107, 103, 114, 111, 117,
110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 35, 70, 65, 70, 70, 66,
68, 32, 33, 105, 109, 112, 111, 114, 116, 97, 110, 116, 59, 32, 98, 97,
99, 107, 103, 114, 111, 117, 110, 100, 45, 105, 109, 97, 103, 101, 58, 110,
111, 110, 101, 32, 33, 105, 109, 112, 111, 114, 116, 97, 110, 116, 59, 32,
99, 111, 108, 111, 114, 58, 32, 35, 48, 48, 48, 48, 48, 48, 32, 33,
105, 109, 112, 111, 114, 116, 97, 110, 116, 59, 32, 125, 32, 105, 110, 112,
117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 97, 100, 105, 111, 34, 93,
44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 99, 104,
101, 99, 107, 98, 111, 120, 34, 93, 32, 123, 32, 109, 97, 114, 103, 105,
110, 58, 32, 51, 112, 120, 32, 48, 46, 53, 101, 120, 59, 32, 112, 97,
100, 100, 105, 110, 103, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32,
98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114,
58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 98, 111, 114, 100, 101,
114, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 125, 32, 105, 110,
112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98, 117, 116, 116, 111, 110,
34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34,
115, 117, 98, 109, 105, 116, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91,
116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34, 93, 44, 32, 105,
110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34,
93, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 102, 105, 108, 101, 45,
117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32,
45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110,
99, 101, 58, 32, 112, 117, 115, 104, 45, 98, 117, 116, 116, 111, 110, 59,
32, 119, 104, 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114,
101, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34,
98, 117, 116, 116, 111, 110, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91,
116, 121, 112, 101, 61, 34, 115, 117, 98, 109, 105, 116, 34, 93, 44, 32,
105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101,
116, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61,
34, 102, 105, 108, 101, 34, 93, 58, 58, 45, 119, 101, 98, 107, 105, 116,
45, 102, 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116,
116, 111, 110, 44, 32, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45, 119,
101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58,
32, 99, 101, 110, 116, 101, 114, 59, 32, 116, 101, 120, 116, 45, 97, 108,
105, 103, 110, 58, 32, 99, 101, 110, 116, 101, 114, 59, 32, 99, 117, 114,
115, 111, 114, 58, 32, 100, 101, 102, 97, 117, 108, 116, 59, 32, 99, 111,
108, 111, 114, 58, 32, 66, 117, 116, 116, 111, 110, 84, 101, 120, 116, 59,
32, 112, 97, 100, 100, 105, 110, 103, 58, 32, 50, 112, 120, 32, 54, 112,
120, 32, 51, 112, 120, 32, 54, 112, 120, 59, 32, 98, 111, 114, 100, 101,
114, 58, 32, 50, 112, 120, 32, 111, 117, 116, 115, 101, 116, 32, 66, 117,
116, 116, 111, 110, 70, 97, 99, 101, 59, 32, 98, 97, 99, 107, 103, 114,
111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 66, 117, 116, 116,
111, 110, 70, 97, 99, 101, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114, 100,
101, 114, 45, 98, 111, 120, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116,
121, 112, 101, 61, 34, 114, 97, 110, 103, 101, 34, 93, 32, 123, 32, 45,
119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99,
101, 58, 32, 115, 108, 105, 100, 101, 114, 45, 104, 111, 114, 105, 122, 111,
110, 116, 97, 108, 59, 32, 112, 97, 100, 100, 105, 110, 103, 58, 32, 105,
110, 105, 116, 105, 97, 108, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32,
105, 110, 105, 116, 105, 97, 108, 59, 32, 109, 97, 114, 103, 105, 110, 58,
32, 50, 112, 120, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121,
112, 101, 61, 34, 114, 97, 110, 103, 101, 34, 93, 58, 58, 45, 119, 101,
98, 107, 105, 116, 45, 115, 108, 105, 100, 101, 114, 45, 116, 104, 117, 109,
98, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101,
97, 114, 97, 110, 99, 101, 58, 32, 115, 108, 105, 100, 101, 114, 116, 104,
117, 109, 98, 45, 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 59, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32,
125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98, 117,
116, 116, 111, 110, 34, 93, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44,
32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98,
109, 105, 116, 34, 93, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32,
105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101,
116, 34, 93, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105, 110,
112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93,
58, 100, 105, 115, 97, 98, 108, 101, 100, 58, 58, 45, 119, 101, 98, 107,
105, 116, 45, 102, 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98,
117, 116, 116, 111, 110, 44, 32, 98, 117, 116, 116, 111, 110, 58, 100, 105,
115, 97, 98, 108, 101, 100, 44, 32, 115, 101, 108, 101, 99, 116, 58, 100,
105, 115, 97, 98, 108, 101, 100, 44, 32, 107, 101, 121, 103, 101, 110, 58,
100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 111, 112, 116, 103, 114, 111,
117, 112, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 111, 112, 116,
105, 111, 110, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 100, 97,
116, 97, 103, 114, 105, 100, 58, 100, 105, 115, 97, 98, 108, 101, 100, 32,
123, 32, 99, 111, 108, 111, 114, 58, 32, 71, 114, 97, 121, 84, 101, 120,
116, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34,
98, 117, 116, 116, 111, 110, 34, 93, 58, 97, 99, 116, 105, 118, 101, 44,
32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98,
109, 105, 116, 34, 93, 58, 97, 99, 116, 105, 118, 101, 44, 32, 105, 110,
112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34,
93, 58, 97, 99, 116, 105, 118, 101, 44, 32, 105, 110, 112, 117, 116, 91,
116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58, 97, 99, 116,
105, 118, 101, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 102, 105, 108,
101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116, 111, 110, 44,
32, 98, 117, 116, 116, 111, 110, 58, 97, 99, 116, 105, 118, 101, 32, 123,
32, 98, 111, 114, 100, 101, 114, 45, 115, 116, 121, 108, 101, 58, 32, 105,
110, 115, 101, 116, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112,
101, 61, 34, 98, 117, 116, 116, 111, 110, 34, 93, 58, 97, 99, 116, 105,
118, 101, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105, 110, 112,
117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98, 109, 105, 116, 34,
93, 58, 97, 99, 116, 105, 118, 101, 58, 100, 105, 115, 97, 98, 108, 101,
100, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114,
101, 115, 101, 116, 34, 93, 58, 97, 99, 116, 105, 118, 101, 58, 100, 105,
115, 97, 98, 108, 101, 100, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121,
112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58, 97, 99, 116, 105, 118,
101, 58, 100, 105, 115, 97, 98, 108, 101, 100, 58, 58, 45, 119, 101, 98,
107, 105, 116, 45, 102, 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45,
98, 117, 116, 116, 111, 110, 44, 32, 98, 117, 116, 116, 111, 110, 58, 97,
99, 116, 105, 118, 101, 58, 100, 105, 115, 97, 98, 108, 101, 100, 32, 123,
32, 98, 111, 114, 100, 101, 114, 45, 115, 116, 121, 108, 101, 58, 32, 111,
117, 116, 115, 101, 116, 32, 125, 32, 97, 114, 101, 97, 44, 32, 112, 97,
114, 97, 109, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110,
111, 110, 101, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
61, 34, 99, 104, 101, 99, 107, 98, 111, 120, 34, 93, 32, 123, 32, 45,
119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99,
101, 58, 32, 99, 104, 101, 99, 107, 98, 111, 120, 59, 32, 45, 119, 101,
98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58,
32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 125, 32, 105,
110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 97, 100, 105, 111,
34, 93, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112,
101, 97, 114, 97, 110, 99, 101, 58, 32, 114, 97, 100, 105, 111, 59, 32,
45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105,
110, 103, 58, 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32,
125, 32, 115, 101, 108, 101, 99, 116, 32, 123, 32, 45, 119, 101, 98, 107,
105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 109,
101, 110, 117, 108, 105, 115, 116, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114,
100, 101, 114, 45, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 99, 101, 110, 116,
101, 114, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32,
115, 111, 108, 105, 100, 59, 32, 119, 104, 105, 116, 101, 45, 115, 112, 97,
99, 101, 58, 32, 112, 114, 101, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 114, 116, 108, 45, 111, 114, 100, 101, 114, 105, 110, 103, 58, 32, 108,
111, 103, 105, 99, 97, 108, 59, 32, 99, 111, 108, 111, 114, 58, 32, 98,
108, 97, 99, 107, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100,
45, 99, 111, 108, 111, 114, 58, 32, 119, 104, 105, 116, 101, 59, 32, 99,
117, 114, 115, 111, 114, 58, 32, 100, 101, 102, 97, 117, 108, 116, 59, 32,
125, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 93, 44, 32,
115, 101, 108, 101, 99, 116, 91, 109, 117, 108, 116, 105, 112, 108, 101, 93,
44, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 93, 91, 109,
117, 108, 116, 105, 112, 108, 101, 93, 32, 123, 32, 45, 119, 101, 98, 107,
105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 108,
105, 115, 116, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 115, 116, 97, 114, 116,
59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32, 105, 110,
115, 101, 116, 32, 103, 114, 97, 121, 59, 32, 45, 119, 101, 98, 107, 105,
116, 45, 98, 111, 114, 100, 101, 114, 45, 114, 97, 100, 105, 117, 115, 58,
32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 119, 104, 105, 116, 101, 45,
115, 112, 97, 99, 101, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32,
125, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 61, 34, 48,
34, 93, 44, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 61,
34, 49, 34, 93, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97,
112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 110, 117, 108,
105, 115, 116, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120,
45, 97, 108, 105, 103, 110, 58, 32, 99, 101, 110, 116, 101, 114, 59, 32,
98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32, 115, 111, 108, 105,
100, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 114, 100, 101,
114, 45, 114, 97, 100, 105, 117, 115, 58, 32, 53, 112, 120, 59, 32, 119,
104, 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114, 101, 59,
32, 125, 32, 111, 112, 116, 103, 114, 111, 117, 112, 32, 123, 32, 102, 111,
110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 98, 111, 108, 100, 101,
114, 59, 32, 125, 32, 111, 112, 116, 105, 111, 110, 32, 123, 32, 102, 111,
110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 110, 111, 114, 109, 97,
108, 59, 32, 125, 32, 111, 117, 116, 112, 117, 116, 32, 123, 32, 100, 105,
115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 59, 32, 125,
32, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 118, 97, 108, 105, 100,
97, 116, 105, 111, 110, 45, 98, 117, 98, 98, 108, 101, 32, 123, 32, 100,
105, 115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45, 98,
108, 111, 99, 107, 59, 32, 122, 45, 105, 110, 100, 101, 120, 58, 32, 50,
49, 52, 55, 52, 56, 51, 54, 52, 55, 59, 32, 112, 111, 115, 105, 116,
105, 111, 110, 58, 32, 97, 98, 115, 111, 108, 117, 116, 101, 59, 32, 111,
112, 97, 99, 105, 116, 121, 58, 32, 48, 46, 57, 53, 59, 32, 108, 105,
110, 101, 45, 104, 101, 105, 103, 104, 116, 58, 32, 48, 59, 32, 109, 97,
114, 103, 105, 110, 58, 32, 48, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 116, 101, 120, 116, 45, 115, 101, 99, 117, 114, 105, 116, 121, 58, 32,
110, 111, 110, 101, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 116, 114,
97, 110, 115, 105, 116, 105, 111, 110, 58, 32, 111, 112, 97, 99, 105, 116,
121, 32, 48, 53, 46, 53, 115, 32, 101, 97, 115, 101, 59, 32, 125, 32,
58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 118, 97, 108, 105, 100, 97,
116, 105, 111, 110, 45, 98, 117, 98, 98, 108, 101, 45, 109, 101, 115, 115,
97, 103, 101, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98,
108, 111, 99, 107, 59, 32, 112, 111, 115, 105, 116, 105, 111, 110, 58, 32,
114, 101, 108, 97, 116, 105, 118, 101, 59, 32, 116, 111, 112, 58, 32, 45,
52, 112, 120, 59, 32, 102, 111, 110, 116, 58, 32, 109, 101, 115, 115, 97,
103, 101, 45, 98, 111, 120, 59, 32, 99, 111, 108, 111, 114, 58, 32, 98,
108, 97, 99, 107, 59, 32, 109, 105, 110, 45, 119, 105, 100, 116, 104, 58,
32, 53, 48, 112, 120, 59, 32, 109, 97, 120, 45, 119, 105, 100, 116, 104,
58, 32, 50, 48, 48, 112, 120, 59, 32, 98, 111, 114, 100, 101, 114, 58,
32, 115, 111, 108, 105, 100, 32, 50, 112, 120, 32, 35, 52, 48, 48, 59,
32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 58, 32, 45, 119, 101,
98, 107, 105, 116, 45, 103, 114, 97, 100, 105, 101, 110, 116, 40, 108, 105,
110, 101, 97, 114, 44, 32, 108, 101, 102, 116, 32, 116, 111, 112, 44, 32,
108, 101, 102, 116, 32, 98, 111, 116, 116, 111, 109, 44, 32, 102, 114, 111,
109, 40, 35, 102, 56, 101, 99, 101, 99, 41, 44, 32, 116, 111, 40, 35,
101, 56, 99, 99, 99, 99, 41, 41, 59, 32, 112, 97, 100, 100, 105, 110,
103, 58, 32, 56, 112, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
98, 111, 114, 100, 101, 114, 45, 114, 97, 100, 105, 117, 115, 58, 32, 56,
112, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45,
115, 104, 97, 100, 111, 119, 58, 32, 52, 112, 120, 32, 52, 112, 120, 32,
52, 112, 120, 32, 114, 103, 98, 97, 40, 49, 48, 48, 44, 49, 48, 48,
44, 49, 48, 48, 44, 48, 46, 54, 41, 44, 32, 105, 110, 115, 101, 116,
32, 45, 50, 112, 120, 32, 45, 50, 112, 120, 32, 49, 112, 120, 32, 35,
100, 48, 99, 52, 99, 52, 44, 32, 105, 110, 115, 101, 116, 32, 50, 112,
120, 32, 50, 112, 120, 32, 49, 112, 120, 32, 119, 104, 105, 116, 101, 59,
32, 108, 105, 110, 101, 45, 104, 101, 105, 103, 104, 116, 58, 32, 110, 111,
114, 109, 97, 108, 59, 32, 122, 45, 105, 110, 100, 101, 120, 58, 32, 50,
49, 52, 55, 52, 56, 51, 54, 52, 52, 59, 32, 125, 32, 58, 58, 45,
119, 101, 98, 107, 105, 116, 45, 118, 97, 108, 105, 100, 97, 116, 105, 111,
110, 45, 98, 117, 98, 98, 108, 101, 45, 97, 114, 114, 111, 119, 32, 123,
32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101,
45, 98, 108, 111, 99, 107, 59, 32, 112, 111, 115, 105, 116, 105, 111, 110,
58, 32, 114, 101, 108, 97, 116, 105, 118, 101, 59, 32, 108, 101, 102, 116,
58, 32, 51, 50, 112, 120, 59, 32, 119, 105, 100, 116, 104, 58, 32, 49,
54, 112, 120, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 54, 112,
120, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 45, 99, 111,
108, 111, 114, 58, 32, 35, 102, 56, 101, 99, 101, 99, 59, 32, 98, 111,
114, 100, 101, 114, 45, 119, 105, 100, 116, 104, 58, 32, 50, 112, 120, 32,
48, 32, 48, 32, 50, 112, 120, 59, 32, 98, 111, 114, 100, 101, 114, 45,
115, 116, 121, 108, 101, 58, 32, 115, 111, 108, 105, 100, 59, 32, 98, 111,
114, 100, 101, 114, 45, 99, 111, 108, 111, 114, 58, 32, 35, 52, 48, 48,
59, 32, 98, 111, 120, 45, 115, 104, 97, 100, 111, 119, 58, 32, 105, 110,
115, 101, 116, 32, 50, 112, 120, 32, 50, 112, 120, 32, 49, 112, 120, 32,
119, 104, 105, 116, 101, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 116,
114, 97, 110, 115, 102, 111, 114, 109, 45, 111, 114, 105, 103, 105, 110, 58,
32, 48, 32, 48, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 116, 114,
97, 110, 115, 102, 111, 114, 109, 58, 32, 114, 111, 116, 97, 116, 101, 40,
52, 53, 100, 101, 103, 41, 59, 32, 122, 45, 105, 110, 100, 101, 120, 58,
32, 50, 49, 52, 55, 52, 56, 51, 54, 52, 53, 59, 32, 125, 32, 58,
58, 45, 119, 101, 98, 107, 105, 116, 45, 118, 97, 108, 105, 100, 97, 116,
105, 111, 110, 45, 98, 117, 98, 98, 108, 101, 45, 97, 114, 114, 111, 119,
45, 99, 108, 105, 112, 112, 101, 114, 32, 123, 32, 100, 105, 115, 112, 108,
97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 111, 118, 101, 114, 102,
108, 111, 119, 58, 32, 104, 105, 100, 100, 101, 110, 59, 32, 104, 101, 105,
103, 104, 116, 58, 32, 49, 54, 112, 120, 59, 32, 125, 32, 109, 101, 116,
101, 114, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112,
101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 116, 101, 114, 59, 32,
45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105,
110, 103, 58, 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45,
98, 111, 120, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 101, 109,
59, 32, 119, 105, 100, 116, 104, 58, 32, 53, 101, 109, 59, 32, 118, 101,
114, 116, 105, 99, 97, 108, 45, 97, 108, 105, 103, 110, 58, 32, 45, 48,
46, 50, 101, 109, 59, 32, 125, 32, 109, 101, 116, 101, 114, 58, 58, 45,
119, 101, 98, 107, 105, 116, 45, 109, 101, 116, 101, 114, 45, 98, 97, 114,
32, 123, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 58, 32, 45,
119, 101, 98, 107, 105, 116, 45, 103, 114, 97, 100, 105, 101, 110, 116, 40,
108, 105, 110, 101, 97, 114, 44, 32, 108, 101, 102, 116, 32, 116, 111, 112,
44, 32, 108, 101, 102, 116, 32, 98, 111, 116, 116, 111, 109, 44, 32, 102,
114, 111, 109, 40, 35, 100, 100, 100, 41, 44, 32, 116, 111, 40, 35, 100,
100, 100, 41, 44, 32, 99, 111, 108, 111, 114, 45, 115, 116, 111, 112, 40,
48, 46, 50, 48, 44, 32, 35, 101, 101, 101, 41, 44, 32, 99, 111, 108,
111, 114, 45, 115, 116, 111, 112, 40, 48, 46, 52, 53, 44, 32, 35, 99,
99, 99, 41, 44, 32, 99, 111, 108, 111, 114, 45, 115, 116, 111, 112, 40,
48, 46, 53, 53, 44, 32, 35, 99, 99, 99, 41, 41, 59, 32, 104, 101,
105, 103, 104, 116, 58, 32, 49, 48, 48, 37, 59, 32, 45, 119, 101, 98,
107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32,
98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 125, 32, 109, 101,
116, 101, 114, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 116,
101, 114, 45, 111, 112, 116, 105, 109, 117, 109, 45, 118, 97, 108, 117, 101,
32, 123, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 58, 32, 45,
119, 101, 98, 107, 105, 116, 45, 103, 114, 97, 100, 105, 101, 110, 116, 40,
108, 105, 110, 101, 97, 114, 44, 32, 108, 101, 102, 116, 32, 116, 111, 112,
44, 32, 108, 101, 102, 116, 32, 98, 111, 116, 116, 111, 109, 44, 32, 102,
114, 111, 109, 40, 35, 97, 100, 55, 41, 44, 32, 116, 111, 40, 35, 97,
100, 55, 41, 44, 32, 99, 111, 108, 111, 114, 45, 115, 116, 111, 112, 40,
48, 46, 50, 48, 44, 32, 35, 99, 101, 97, 41, 44, 32, 99, 111, 108,
111, 114, 45, 115, 116, 111, 112, 40, 48, 46, 52, 53, 44, 32, 35, 55,
97, 51, 41, 44, 32, 99, 111, 108, 111, 114, 45, 115, 116, 111, 112, 40,
48, 46, 53, 53, 44, 32, 35, 55, 97, 51, 41, 41, 59, 32, 104, 101,
105, 103, 104, 116, 58, 32, 49, 48, 48, 37, 59, 32, 45, 119, 101, 98,
107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32,
98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 125, 32, 109, 101,
116, 101, 114, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 116,
101, 114, 45, 115, 117, 98, 111, 112, 116, 105, 109, 117, 109, 45, 118, 97,
108, 117, 101, 32, 123, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100,
58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 103, 114, 97, 100, 105, 101,
110, 116, 40, 108, 105, 110, 101, 97, 114, 44, 32, 108, 101, 102, 116, 32,
116, 111, 112, 44, 32, 108, 101, 102, 116, 32, 98, 111, 116, 116, 111, 109,
44, 32, 102, 114, 111, 109, 40, 35, 102, 101, 55, 41, 44, 32, 116, 111,
40, 35, 102, 101, 55, 41, 44, 32, 99, 111, 108, 111, 114, 45, 115, 116,
111, 112, 40, 48, 46, 50, 48, 44, 32, 35, 102, 102, 99, 41, 44, 32,
99, 111, 108, 111, 114, 45, 115, 116, 111, 112, 40, 48, 46, 52, 53, 44,
32, 35, 100, 98, 51, 41, 44, 32, 99, 111, 108, 111, 114, 45, 115, 116,
111, 112, 40, 48, 46, 53, 53, 44, 32, 35, 100, 98, 51, 41, 41, 59,
32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 48, 48, 37, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110,
103, 58, 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 125,
32, 109, 101, 116, 101, 114, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45,
109, 101, 116, 101, 114, 45, 101, 118, 101, 110, 45, 108, 101, 115, 115, 45,
103, 111, 111, 100, 45, 118, 97, 108, 117, 101, 32, 123, 32, 98, 97, 99,
107, 103, 114, 111, 117, 110, 100, 58, 32, 45, 119, 101, 98, 107, 105, 116,
45, 103, 114, 97, 100, 105, 101, 110, 116, 40, 108, 105, 110, 101, 97, 114,
44, 32, 108, 101, 102, 116, 32, 116, 111, 112, 44, 32, 108, 101, 102, 116,
32, 98, 111, 116, 116, 111, 109, 44, 32, 102, 114, 111, 109, 40, 35, 102,
55, 55, 41, 44, 32, 116, 111, 40, 35, 102, 55, 55, 41, 44, 32, 99,
111, 108, 111, 114, 45, 115, 116, 111, 112, 40, 48, 46, 50, 48, 44, 32,
35, 102, 99, 99, 41, 44, 32, 99, 111, 108, 111, 114, 45, 115, 116, 111,
112, 40, 48, 46, 52, 53, 44, 32, 35, 100, 52, 52, 41, 44, 32, 99,
111, 108, 111, 114, 45, 115, 116, 111, 112, 40, 48, 46, 53, 53, 44, 32,
35, 100, 52, 52, 41, 41, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32,
49, 48, 48, 37, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111,
120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114, 100, 101, 114,
45, 98, 111, 120, 59, 32, 125, 32, 112, 114, 111, 103, 114, 101, 115, 115,
32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97,
114, 97, 110, 99, 101, 58, 32, 112, 114, 111, 103, 114, 101, 115, 115, 45,
98, 97, 114, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120,
45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114, 100, 101, 114, 45,
98, 111, 120, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 105, 110,
108, 105, 110, 101, 45, 98, 108, 111, 99, 107, 59, 32, 104, 101, 105, 103,
104, 116, 58, 32, 49, 101, 109, 59, 32, 119, 105, 100, 116, 104, 58, 32,
49, 48, 101, 109, 59, 32, 118, 101, 114, 116, 105, 99, 97, 108, 45, 97,
108, 105, 103, 110, 58, 32, 45, 48, 46, 50, 101, 109, 59, 32, 125, 32,
112, 114, 111, 103, 114, 101, 115, 115, 58, 58, 45, 119, 101, 98, 107, 105,
116, 45, 112, 114, 111, 103, 114, 101, 115, 115, 45, 98, 97, 114, 32, 123,
32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111,
114, 58, 32, 103, 114, 97, 121, 59, 32, 104, 101, 105, 103, 104, 116, 58,
32, 49, 48, 48, 37, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98,
111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114, 100, 101,
114, 45, 98, 111, 120, 59, 32, 125, 32, 112, 114, 111, 103, 114, 101, 115,
115, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 112, 114, 111, 103, 114,
101, 115, 115, 45, 118, 97, 108, 117, 101, 32, 123, 32, 98, 97, 99, 107,
103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 103, 114,
101, 101, 110, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 48, 48,
37, 59, 32, 119, 105, 100, 116, 104, 58, 32, 53, 48, 37, 59, 32, 45,
119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110,
103, 58, 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 125,
32, 100, 97, 116, 97, 103, 114, 105, 100, 32, 123, 32, 104, 101, 105, 103,
104, 116, 58, 32, 49, 53, 48, 112, 120, 59, 32, 45, 119, 101, 98, 107,
105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 100,
97, 116, 97, 103, 114, 105, 100, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114,
100, 101, 114, 45, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116,
45, 114, 116, 108, 45, 111, 114, 100, 101, 114, 105, 110, 103, 58, 32, 108,
111, 103, 105, 99, 97, 108, 59, 32, 99, 111, 108, 111, 114, 58, 32, 98,
108, 97, 99, 107, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100,
45, 99, 111, 108, 111, 114, 58, 32, 119, 104, 105, 116, 101, 59, 32, 99,
117, 114, 115, 111, 114, 58, 32, 100, 101, 102, 97, 117, 108, 116, 59, 32,
98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32, 105, 110, 115, 101,
116, 32, 103, 114, 97, 121, 59, 32, 119, 104, 105, 116, 101, 45, 115, 112,
97, 99, 101, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 125, 32,
117, 44, 32, 105, 110, 115, 32, 123, 32, 116, 101, 120, 116, 45, 100, 101,
99, 111, 114, 97, 116, 105, 111, 110, 58, 32, 117, 110, 100, 101, 114, 108,
105, 110, 101, 32, 125, 32, 115, 116, 114, 111, 110, 103, 44, 32, 98, 32,
123, 32, 102, 111, 110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 98,
111, 108, 100, 101, 114, 32, 125, 32, 105, 44, 32, 99, 105, 116, 101, 44,
32, 101, 109, 44, 32, 118, 97, 114, 44, 32, 97, 100, 100, 114, 101, 115,
115, 32, 123, 32, 102, 111, 110, 116, 45, 115, 116, 121, 108, 101, 58, 32,
105, 116, 97, 108, 105, 99, 32, 125, 32, 116, 116, 44, 32, 99, 111, 100,
101, 44, 32, 107, 98, 100, 44, 32, 115, 97, 109, 112, 32, 123, 32, 102,
111, 110, 116, 45, 102, 97, 109, 105, 108, 121, 58, 32, 109, 111, 110, 111,
115, 112, 97, 99, 101, 32, 125, 32, 112, 114, 101, 44, 32, 120, 109, 112,
44, 32, 112, 108, 97, 105, 110, 116, 101, 120, 116, 44, 32, 108, 105, 115,
116, 105, 110, 103, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32,
98, 108, 111, 99, 107, 59, 32, 102, 111, 110, 116, 45, 102, 97, 109, 105,
108, 121, 58, 32, 109, 111, 110, 111, 115, 112, 97, 99, 101, 59, 32, 119,
104, 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114, 101, 59,
32, 109, 97, 114, 103, 105, 110, 58, 32, 49, 95, 95, 113, 101, 109, 32,
48, 32, 125, 32, 109, 97, 114, 107, 32, 123, 32, 98, 97, 99, 107, 103,
114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 121, 101, 108,
108, 111, 119, 59, 32, 99, 111, 108, 111, 114, 58, 32, 98, 108, 97, 99,
107, 32, 125, 32, 98, 105, 103, 32, 123, 32, 102, 111, 110, 116, 45, 115,
105, 122, 101, 58, 32, 108, 97, 114, 103, 101, 114, 32, 125, 32, 115, 109,
97, 108, 108, 32, 123, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58,
32, 115, 109, 97, 108, 108, 101, 114, 32, 125, 32, 115, 44, 32, 115, 116,
114, 105, 107, 101, 44, 32, 100, 101, 108, 32, 123, 32, 116, 101, 120, 116,
45, 100, 101, 99, 111, 114, 97, 116, 105, 111, 110, 58, 32, 108, 105, 110,
101, 45, 116, 104, 114, 111, 117, 103, 104, 32, 125, 32, 115, 117, 98, 32,
123, 32, 118, 101, 114, 116, 105, 99, 97, 108, 45, 97, 108, 105, 103, 110,
58, 32, 115, 117, 98, 59, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101,
58, 32, 115, 109, 97, 108, 108, 101, 114, 32, 125, 32, 115, 117, 112, 32,
123, 32, 118, 101, 114, 116, 105, 99, 97, 108, 45, 97, 108, 105, 103, 110,
58, 32, 115, 117, 112, 101, 114, 59, 32, 102, 111, 110, 116, 45, 115, 105,
122, 101, 58, 32, 115, 109, 97, 108, 108, 101, 114, 32, 125, 32, 110, 111,
98, 114, 32, 123, 32, 119, 104, 105, 116, 101, 45, 115, 112, 97, 99, 101,
58, 32, 110, 111, 119, 114, 97, 112, 32, 125, 32, 58, 102, 111, 99, 117,
115, 32, 123, 32, 111, 117, 116, 108, 105, 110, 101, 58, 32, 97, 117, 116,
111, 32, 53, 112, 120, 32, 45, 119, 101, 98, 107, 105, 116, 45, 102, 111,
99, 117, 115, 45, 114, 105, 110, 103, 45, 99, 111, 108, 111, 114, 32, 125,
32, 104, 116, 109, 108, 58, 102, 111, 99, 117, 115, 44, 32, 98, 111, 100,
121, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 114,
101, 97, 100, 111, 110, 108, 121, 93, 58, 102, 111, 99, 117, 115, 32, 123,
32, 111, 117, 116, 108, 105, 110, 101, 58, 32, 110, 111, 110, 101, 32, 125,
32, 105, 110, 112, 117, 116, 58, 102, 111, 99, 117, 115, 44, 32, 116, 101,
120, 116, 97, 114, 101, 97, 58, 102, 111, 99, 117, 115, 44, 32, 105, 115,
105, 110, 100, 101, 120, 58, 102, 111, 99, 117, 115, 44, 32, 107, 101, 121,
103, 101, 110, 58, 102, 111, 99, 117, 115, 44, 32, 115, 101, 108, 101, 99,
116, 58, 102, 111, 99, 117, 115, 32, 123, 32, 111, 117, 116, 108, 105, 110,
101, 45, 111, 102, 102, 115, 101, 116, 58, 32, 45, 50, 112, 120, 32, 125,
32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98, 117, 116,
116, 111, 110, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112,
117, 116, 91, 116, 121, 112, 101, 61, 34, 99, 104, 101, 99, 107, 98, 111,
120, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116,
91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58, 102, 111,
99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61,
34, 104, 105, 100, 100, 101, 110, 34, 93, 58, 102, 111, 99, 117, 115, 44,
32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 105, 109, 97,
103, 101, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117,
116, 91, 116, 121, 112, 101, 61, 34, 114, 97, 100, 105, 111, 34, 93, 58,
102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112,
101, 61, 34, 114, 101, 115, 101, 116, 34, 93, 58, 102, 111, 99, 117, 115,
44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 101,
97, 114, 99, 104, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110,
112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98, 109, 105, 116,
34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91,
116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58, 102, 111, 99,
117, 115, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 102, 105, 108, 101,
45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116, 111, 110, 32, 123,
32, 111, 117, 116, 108, 105, 110, 101, 45, 111, 102, 102, 115, 101, 116, 58,
32, 48, 32, 125, 32, 97, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97,
110, 121, 45, 108, 105, 110, 107, 32, 123, 32, 99, 111, 108, 111, 114, 58,
32, 45, 119, 101, 98, 107, 105, 116, 45, 108, 105, 110, 107, 59, 32, 116,
101, 120, 116, 45, 100, 101, 99, 111, 114, 97, 116, 105, 111, 110, 58, 32,
110, 111, 110, 101, 59, 32, 99, 117, 114, 115, 111, 114, 58, 32, 97, 117,
116, 111, 59, 32, 125, 32, 97, 58, 45, 119, 101, 98, 107, 105, 116, 45,
97, 110, 121, 45, 108, 105, 110, 107, 58, 97, 99, 116, 105, 118, 101, 32,
123, 32, 99, 111, 108, 111, 114, 58, 32, 45, 119, 101, 98, 107, 105, 116,
45, 97, 99, 116, 105, 118, 101, 108, 105, 110, 107, 32, 125, 32, 114, 117,
98, 121, 44, 32, 114, 116, 32, 123, 32, 116, 101, 120, 116, 45, 105, 110,
100, 101, 110, 116, 58, 32, 48, 59, 32, 125, 32, 114, 116, 32, 123, 32,
108, 105, 110, 101, 45, 104, 101, 105, 103, 104, 116, 58, 32, 110, 111, 114,
109, 97, 108, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 116, 101, 120,
116, 45, 101, 109, 112, 104, 97, 115, 105, 115, 58, 32, 110, 111, 110, 101,
59, 32, 125, 32, 114, 117, 98, 121, 32, 62, 32, 114, 116, 32, 123, 32,
100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32,
102, 111, 110, 116, 45, 115, 105, 122, 101, 58, 32, 53, 48, 37, 59, 32,
116, 101, 120, 116, 45, 97, 108, 105, 103, 110, 58, 32, 45, 119, 101, 98,
107, 105, 116, 45, 97, 117, 116, 111, 59, 32, 125, 32, 114, 117, 98, 121,
32, 62, 32, 114, 112, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58,
32, 110, 111, 110, 101, 59, 32, 125, 32, 110, 111, 102, 114, 97, 109, 101,
115, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110,
101, 32, 125, 32, 102, 114, 97, 109, 101, 115, 101, 116, 44, 32, 102, 114,
97, 109, 101, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98,
108, 111, 99, 107, 32, 125, 32, 102, 114, 97, 109, 101, 115, 101, 116, 32,
123, 32, 98, 111, 114, 100, 101, 114, 45, 99, 111, 108, 111, 114, 58, 32,
105, 110, 104, 101, 114, 105, 116, 32, 125, 32, 105, 102, 114, 97, 109, 101,
32, 123, 32, 98, 111, 114, 100, 101, 114, 58, 32, 50, 112, 120, 32, 105,
110, 115, 101, 116, 32, 125, 32, 100, 101, 116, 97, 105, 108, 115, 32, 123,
32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 32,
125, 32, 115, 117, 109, 109, 97, 114, 121, 32, 123, 32, 100, 105, 115, 112,
108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 32, 125, 32, 115, 117, 109,
109, 97, 114, 121, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 100, 101,
116, 97, 105, 108, 115, 45, 109, 97, 114, 107, 101, 114, 32, 123, 32, 100,
105, 115, 112, 108, 97, 121, 58, 32, 105, 110, 108, 105, 110, 101, 45, 98,
108, 111, 99, 107, 59, 32, 119, 105, 100, 116, 104, 58, 32, 48, 46, 54,
54, 101, 109, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 48, 46, 54,
54, 101, 109, 59, 32, 109, 97, 114, 103, 105, 110, 45, 114, 105, 103, 104,
116, 58, 32, 48, 46, 52, 101, 109, 59, 32, 125, 32, 64, 112, 97, 103,
101, 32, 123, 32, 115, 105, 122, 101, 58, 32, 97, 117, 116, 111, 59, 32,
109, 97, 114, 103, 105, 110, 58, 32, 97, 117, 116, 111, 59, 32, 112, 97,
100, 100, 105, 110, 103, 58, 32, 48, 112, 120, 59, 32, 98, 111, 114, 100,
101, 114, 45, 119, 105, 100, 116, 104, 58, 32, 48, 112, 120, 59, 32, 125
};
这样经过上面2个文件的转化就转化成为C++层次的数组,那么我们就可以在源代码中直接去使用了。
具体使用的过程:
CSSStyleSelector.cpp文件下面
static void loadFullDefaultStyle(UserAgentType type)
{
if (simpleDefaultStyleSheet) {
ASSERT(defaultStyle);
delete defaultStyle;
simpleDefaultStyleSheet->deref();
defaultStyle = new RuleSet;
simpleDefaultStyleSheet = 0;
} else {
ASSERT(!defaultStyle);
defaultStyle = new RuleSet;
defaultPrintStyle = new RuleSet;
defaultQuirksStyle = new RuleSet;
}
// Strict-mode rules.
String defaultRules ;
if(type == DefaultUserAgent)
defaultRules = String(htmlUserAgentStyleSheet, sizeof(htmlUserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraDefaultStyleSheet();
else if (type == DvbUserAgent)
defaultRules = String(guangxidvbUserAgentStyleSheet, sizeof(guangxidvbUserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraDefaultStyleSheet();
else if (type == VodUserAgent)
defaultRules = String(guangxivodUserAgentStyleSheet, sizeof(guangxivodUserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraDefaultStyleSheet();
CSSStyleSheet* defaultSheet = parseUASheet(defaultRules);
defaultStyle->addRulesFromSheet(defaultSheet, screenEval());
defaultPrintStyle->addRulesFromSheet(defaultSheet, printEval());
// Quirks-mode rules.
String quirksRules = String(quirksUserAgentStyleSheet, sizeof(quirksUserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraQuirksStyleSheet();
CSSStyleSheet* quirksSheet = parseUASheet(quirksRules);
defaultQuirksStyle->addRulesFromSheet(quirksSheet, screenEval());
}
loadFullDefaultStyle
函数都是在
CSSStyleSelector文件里面,那么我们就可以通过设置setting的开关来完成相应版本的定制工作。
上面的介绍只是简单的思路。
希望对大家有所启发。
有什么问题可以直接发邮件[email protected]或者qq 390012381,大家一块学习,一块进步!