+ $< [ '< s:put ] case
+ $> [ '> s:put ] case
+ $& [ '& s:put ] case
+ ASCII:SPACE [ ' s:put ] case
+ c:put ;
+
+:s:put [ c:put ] s:for-each ;
+~~~
+
+For regular text, there are a couple of inline formatting things
+to deal with.
+
+~~~
+'Emphasis var
+'Strong var
+'Escape var
+'Code var
+
+:format
+ $` [ @Escape [ &Escape v:off $* c:put ] if;
+ @Code n:zero? [ ' &Code v:on ]
+ [ ' &Code v:off ] choose s:put ] case
+ $* [ @Escape @Code or [ &Escape v:off $* c:put ] if;
+ @Strong n:zero? [ ' &Strong v:on ]
+ [ ' &Strong v:off ] choose s:put ] case
+ $_ [ @Escape @Code or [ &Escape v:off $_ c:put ] if;
+ @Emphasis n:zero? [ ' &Emphasis v:on ]
+ [ ' &Emphasis v:off ] choose s:put ] case
+ $\ [ &Escape v:on ] case
+ c:put ;
+
+:s:put [ format ] s:for-each ;
+~~~
+
+### Markdown Elements
+
+*Code and Test Blocks*
+
+The biggest element is the code and test blocks.
+
+These will be generated in an enclosure that looks like:
+
+
+ ... code ...
+
+
+The actual words in the code will be in `` elements.
+
+The fences need to start and end with `~~~` or three backticks
+on a line by itself.
+
+So, identifying and generating an HTML container for a code
+block is a matter of:
+
+~~~
+{{
+ 'Block var
+ :begin '~~~ ;
+ :end '~~~ ;
+---reveal---
+ :in-code-block? (-f) @Block ;
+ :code-block? (s-sf) dup '~~~ s:eq? ;
+ :toggle-code (n-)
+ drop @Block n:zero? dup &begin &end choose s:put !Block ;
+}}
+~~~
+
+And test blocks are basically the same, except for the
+delimiters.
+
+~~~
+{{
+ 'Block var
+ :begin '``` ;
+ :end '``` ;
+---reveal---
+ :in-test-block? (-f) @Block ;
+ :test-block? (s-sf) dup '``` s:eq? ;
+ :toggle-test (n-)
+ drop @Block n:zero? dup &begin &end choose s:put !Block ;
+}}
+~~~
+
+On to generating the actual HTML for the syntax highlighted
+source. This is driven by the prefix, then by word class via
+a little quick introspection.
+
+~~~
+{{
+ :span (s-)
+ ' s:put s:put '
_ s:put ;
+---reveal---
+ :format-code (s-)
+ (ignore_empty_tokens)
+ dup s:length n:zero? [ ' s:put drop ] if;
+
+ (tokens_with_prefixes)
+ dup fetch
+ $: [ 'colon span ] case
+ $( [ 'note span ] case
+ $' [ 'str span ] case
+ $# [ 'num span ] case
+ $. [ 'fnum span ] case
+ $& [ 'ptr span ] case
+ $$ [ 'char span ] case
+ $` [ 'inst span ] case
+ $\ [ 'inst span ] case
+ $| [ 'defer span ] case
+ $@ [ 'fetch span ] case
+ $! [ 'store span ] case
+
+ (immediate_and_primitives)
+ drop dup
+ d:lookup d:class fetch
+ &class:macro [ 'imm span ] case
+ &class:primitive [ 'prim span ] case
+ drop
+
+ (normal_words)
+ s:put sp ;
+
+ :colorize
+ ASCII:SPACE s:tokenize &format-code a:for-each ;
+
+ :format:code
+ ' s:put colorize ' s:put nl ;
+}}
+~~~
+
+*Headers*
+
+After this, I define detection and formatting of headers. The
+headers should look like:
+
+ # Level 1
+ ## Level 2
+ ### Level 3
+
+~~~
+:header?
+ dup [ '#_ s:begins-with? ]
+ [ '##_ s:begins-with? ]
+ [ '###_ s:begins-with? ] tri or or
+ over '####_ s:begins-with? or ;
+
+:format:head
+ ASCII:SPACE s:split
+ '# [ ' s:put n:inc s:put '
s:put nl ] s:case
+ '## [ ' s:put n:inc s:put '
s:put nl ] s:case
+ '### [ ' s:put n:inc s:put '
s:put nl ] s:case
+ '#### [ ' s:put n:inc s:put '
s:put nl ] s:case
+ drop ;
+~~~
+
+*Indented Code Blocks*
+
+Indented code blocks are lines indented by four spaces.
+These are *not* syntax highlighted as they are ignored by
+Unu.
+
+~~~
+:inline-code? dup '____ s:begins-with? ;
+:format:inline-code
+ ' s:put
+ #4 + s:put
+ ' s:put nl ;
+~~~
+
+*Horizontal Rules*
+
+Horizonal rules consist of four or more - characters on
+a line. E.g.,
+
+ ----
+ --------
+
+This also accepts sequences of `-+-+` which were used in
+some older RETRO source files.
+
+~~~
+:rule?
+ dup [ '---- s:begins-with? ] [ '-+-+ s:begins-with? ] bi or ;
+:format:rule drop '
s:put nl ;
+~~~
+
+*Lists*
+
+Lists start with a `-` or `*`, followed by a space, then
+the item text. Additionally, this allows for nested lists starting
+with two spaces before the list marker.
+
+~~~
+:list?
+ dup [ '-_ s:begins-with? ] [ '*_ s:begins-with? ] bi or ;
+:format:list '•_ s:put #2 + s:put '
s:put nl ;
+
+:indented-list?
+ dup [ '__-_ s:begins-with? ] [ '__*_ s:begins-with? ] bi or ;
+:format:indented-list
+ '• s:put
+ #3 + s:put '
s:put nl ;
+~~~
+
+*Paragraphs*
+
+Blank lines denote paragraph breaks.
+
+~~~
+:blank? dup s:length n:zero? ;
+~~~
+
+*The Formatter*
+
+This ties together the various words above, generating the
+output.
+
+~~~
+:format
+ s:keep
+ code-block? [ toggle-code ] if;
+ in-code-block? [ format:code ] if;
+ test-block? [ toggle-test ] if;
+ in-test-block? [ format:code ] if;
+ blank? [ drop ' s:put nl ] if;
+ header? [ format:head ] if;
+ inline-code? [ format:inline-code ] if;
+ list? [ format:list ] if;
+ indented-list? [ format:indented-list ] if;
+ rule? [ format:rule ] if;
+ s:put nl ;
+
+#0 script:get-argument [ &Heap &format v:preserve ] file:for-each-line
+reset
+~~~
+
+This concludes the Markdown (subset) in RETRO utility. All that's
+left is the CSS.
+
+For the colors, I'm mostly using the _Tomorrow Night_ colors as
+listed at https://github.com/chriskempson/tomorrow-theme
+
+## CSS
+
+ * {
+ color: #cccccc;
+ background: #2d2d2d;
+ max-width: 700px;
+ }
+
+ tt, pre {
+ background: #1d1f21; color: #b5bd68; font-family: monospace;
+ white-space: pre;
+ display: block;
+ width: 100%;
+ }
+
+ .indentedcode {
+ margin-left: 2em;
+ margin-right: 2em;
+ }
+
+ .codeblock {
+ background: #1d1f21; color: #b5bd68; font-family: monospace;
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
+ padding: 7px;
+ }
+
+ .indentedlist {
+ margin-left: 2em;
+ color: #cccccc;
+ background: #2d2d2d;
+ }
+
+ span { white-space: pre; background: #1d1f21; }
+ .text { color: #c5c8c6; white-space: pre }
+ .colon { color: #cc6666; }
+ .note { color: #969896; }
+ .str { color: #f0c674; }
+ .num { color: #8abeb7; }
+ .fnum { color: #8abeb7; font-weight: bold; }
+ .ptr { color: #b294bb; font-weight: bold; }
+ .fetch { color: #b294bb; }
+ .store { color: #b294bb; }
+ .char { color: #81a2be; }
+ .inst { color: #de935f; }
+ .defer { color: #888888; }
+ .imm { color: #de935f; }
+ .prim { color: #b5bd68; font-weight: bold; }
diff --git a/tools/html-chapters.retro b/tools/html-chapters.retro
index 33a8998..0abd013 100755
--- a/tools/html-chapters.retro
+++ b/tools/html-chapters.retro
@@ -87,7 +87,7 @@ for me.
~~~
'Out var
-:import BOOK-BASE over OUT-BASE '>%s%s.html_retro_example/export-as-html.retro_%s%s s:format unix:system ;
+:import BOOK-BASE over OUT-BASE '>%s%s.html_retro_example/export-as-xhtml.retro_%s%s s:format unix:system ;
:/n ASCII:LF @Out file:write ;
:add-to-book here [ @Out file:write ] s:for-each ;
:process-files [ import $. c:put ] a:for-each nl ;
diff --git a/vm/nga-c-native-x86/image.c b/vm/nga-c-native-x86/image.c
index 635bf48..6cae615 100644
--- a/vm/nga-c-native-x86/image.c
+++ b/vm/nga-c-native-x86/image.c
@@ -2,24 +2,24 @@
#ifndef CELL
#define CELL int32_t
#endif
-CELL ngaImageCells = 3159;
-CELL ngaImage[] = { 1793,3128,3118,3158,202010,0,10,1,10,2,10,3,10,4,10,5,10,6,10,
+CELL ngaImageCells = 13833;
+CELL ngaImage[] = { 1793,13744,13734,13832,202010,0,10,1,10,2,10,3,10,4,10,5,10,6,10,
7,10,8,10,9,10,10,11,10,12,10,13,10,14,10,15,10,16,10,17,
10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,10,68223234,1,2575,
- 85000450,1,656912,355,337,268505089,63,62,135205121,63,10,101384453,0,9,10,2049,56,25,459011,74,
+ 85000450,1,656912,3211,3220,268505089,63,62,135205121,63,10,101384453,0,9,10,2049,56,25,459011,74,
524546,74,302256641,1,10,16974595,0,50529798,10,25,524547,93,50529798,10,17108738,1,251790353,101777669,1,17565186,
84,524545,88,64,167838467,-1,134287105,3,59,659457,3,459023,105,2049,56,25,2049,105,1793,112,
2049,112,117506307,0,105,0,524545,25,110,168820993,0,124,1642241,124,134283523,7,110,1793,105,7,
524545,2049,105,1793,105,16846593,124,139,138,1793,64,16846593,124,110,138,1793,64,7,10,659713,
1,659713,2,659713,3,1793,166,17108737,3,2,524559,105,2049,105,2049,105,2049,119,168820998,2,
- 0,1025,167841793,179,5,17826049,0,179,2,15,25,524546,162,134287105,180,93,2305,181,459023,189,
+ 3196,1025,167841793,179,5,17826049,0,179,2,15,25,524546,162,134287105,180,93,2305,181,459023,189,
134287361,180,184,659201,179,2049,56,25,84152833,48,286458116,10,459014,204,184618754,45,25,16974851,-1,168886532,
1,134284289,1,213,134284289,0,204,660227,32,0,0,112,114,101,102,105,120,58,125,0,
285278479,230,7,2576,524546,79,1641217,1,167838467,227,2049,243,2049,239,524545,230,199,17826050,229,0,
2572,2563,2049,220,1793,131,459023,131,17760513,144,3,164,8,251727617,3,2,2049,158,16,168820993,
-1,124,2049,199,2049,158,459023,131,285282049,3,2,134287105,124,278,524545,1793,105,16846593,3,0,
105,8,659201,3,524545,25,110,17043201,3,7,2049,110,2049,105,268505092,124,1642241,124,656131,659201,
- 3,524545,7,110,2049,105,459009,19,110,459009,54,110,459009,15,110,459009,17,110,1793,5,
+ 3,524545,7,110,2049,105,459009,19,110,459009,54,110,459009,15,110,459009,17,110,1793,13800,
10,524546,158,134284303,160,1807,1025,0,0,1642241,229,285282049,345,1,459012,340,117509889,179,340,134287105,
345,199,16845825,0,355,337,1793,64,1793,369,17826050,345,249,8,117506305,346,358,64,2116,11340,
11700,11400,13685,13104,12432,12402,9603,9801,11514,11413,11110,12528,11948,10302,13340,9700,13455,12753,10500,10670,
@@ -55,7 +55,474 @@ CELL ngaImage[] = { 1793,3128,3118,3158,202010,0,10,1,10,2,10,3,10,4,10,5,10,6,1
115,105,111,110,0,973,414,144,105,0,984,105,144,100,0,989,408,144,114,0,
994,337,144,101,114,114,58,110,111,116,102,111,117,110,100,0,0,0,0,0,
0,0,0,0,0,0,125,125,0,45,104,111,111,107,0,111,117,110,100,0,
- 100,0,72,0,83,0,45,45,45,45,0,70,79,85,78,68,0,0,0,0,
+ 100,0,72,0,83,0,45,45,45,45,0,70,79,85,78,68,0,125,126,0,
+ 72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,999,1543,144,
+ 69,79,77,0,1,-3,15,10,1536,1556,144,100,101,112,116,104,0,1,-1,15,
+ 10,1547,1570,144,100,58,108,97,115,116,0,1,2,15,10,1560,1587,144,100,58,
+ 108,97,115,116,46,120,116,0,2049,1570,2049,158,15,10,1574,1609,144,100,58,108,
+ 97,115,116,46,99,108,97,115,115,0,2049,1570,2049,160,15,10,1593,1630,144,100,
+ 58,108,97,115,116,46,110,97,109,101,0,2049,1570,2049,162,10,1615,1646,144,114,
+ 101,99,108,97,115,115,0,2049,1570,2049,160,16,10,1635,1665,144,105,109,109,101,
+ 100,105,97,116,101,0,1,156,2049,1646,10,1652,1678,144,100,97,116,97,0,1,
+ 131,2049,1646,10,1670,1696,144,112,114,105,109,105,116,105,118,101,0,1,150,2049,
+ 1646,10,1683,1706,156,40,0,10,1701,1712,156,41,0,10,1707,1728,144,99,111,109,
+ 112,105,108,101,58,108,105,116,0,1,1,2049,105,2049,105,10,1713,1751,144,99,
+ 111,109,112,105,108,101,58,106,117,109,112,0,1,1793,2049,105,2049,105,10,1735,
+ 1774,144,99,111,109,112,105,108,101,58,99,97,108,108,0,1,2049,2049,105,2049,
+ 105,10,1758,1796,144,99,111,109,112,105,108,101,58,114,101,116,0,1,10,2049,
+ 105,10,1781,1815,144,99,111,109,112,105,108,105,110,103,63,0,1,124,15,10,
+ 1801,1831,156,112,114,101,102,105,120,58,96,0,2049,220,2049,105,10,1819,1848,156,
+ 112,114,101,102,105,120,58,92,0,2049,414,10,1836,1863,156,112,114,101,102,105,
+ 120,58,94,0,2049,408,10,1851,1874,144,104,101,114,101,0,1,3,15,10,1866,
+ 1890,156,112,114,101,102,105,120,58,64,0,2049,199,2049,158,15,2049,1815,1793,1906,
+ 1,3841,2049,105,2049,105,10,1,1899,1793,1912,15,10,1,1910,2049,64,10,1878,1929,
+ 156,112,114,101,102,105,120,58,33,0,2049,199,2049,158,15,2049,1815,1793,1945,1,
+ 4097,2049,105,2049,105,10,1,1938,1793,1951,16,10,1,1949,2049,64,10,1917,1968,144,
+ 100,58,99,114,101,97,116,101,0,1,131,1,0,2049,164,2049,1874,2049,1570,2049,
+ 158,16,10,1956,1991,144,118,97,114,45,110,0,2049,1968,2049,105,10,1982,2003,144,
+ 118,97,114,0,134284289,0,1991,10,1996,2016,144,99,111,110,115,116,0,2049,1968,2049,
+ 1570,2049,158,16,10,2007,2032,150,116,117,99,107,0,100926722,10,2024,2042,150,111,118,
+ 101,114,0,67502597,10,2034,2051,150,110,105,112,0,772,10,2044,2066,150,100,114,111,
+ 112,45,112,97,105,114,0,771,10,2053,2076,150,63,100,117,112,0,6402,10,2068,
+ 2090,144,100,117,112,45,112,97,105,114,0,67502597,67502597,10,2078,2100,144,100,105,112,
+ 0,525572,6,10,2093,2110,144,115,105,112,0,67502597,1,21,2049,2100,10,2103,2122,144,
+ 98,105,0,1,2110,2049,2100,8,10,2116,2135,144,98,105,42,0,1,2100,2049,2100,
+ 8,10,2128,2148,144,98,105,64,0,2,2049,2135,10,2141,2159,144,116,114,105,0,
+ 1793,2168,1,2110,2049,2100,2049,2110,10,1,2161,2049,2100,8,10,2152,2182,144,116,114,
+ 105,42,0,1793,2199,1793,2192,4,1,2100,2049,2100,10,1,2186,2049,2100,2049,2100,10,
+ 1,2184,2049,2100,8,10,2174,2213,144,116,114,105,64,0,2,2,2049,2182,10,2205,
+ 2227,144,119,104,105,108,101,0,1793,2236,525570,1639430,3,1,2229,7,10,1,2229,8,
+ 3,10,2218,2250,144,117,110,116,105,108,0,1793,2261,525570,385942534,-1,25,3,1,2252,
+ 7,10,1,2252,8,3,10,2241,2275,144,116,105,109,101,115,0,1793,2287,4,25,
+ 33886721,1,2053,1542,1,2278,7,10,1,2277,8,3,10,2266,2304,156,112,114,101,102,
+ 105,120,58,124,0,2049,199,1793,2312,2049,158,15,10,1,2308,1793,2320,2049,160,15,
+ 10,1,2316,2049,2122,2049,1815,1793,2335,1,131,2049,2100,2049,1774,10,1,2328,1,21,
+ 2049,64,10,2292,2350,144,84,82,85,69,0,1,-1,10,2342,2362,144,70,65,76,
+ 83,69,0,1,0,10,2353,2373,144,99,97,115,101,0,1793,2378,67502597,11,10,1,
+ 2375,2049,2100,4,1793,2390,772,8,2049,2350,10,1,2385,1793,2398,3,2049,2362,10,1,
+ 2394,2049,64,25,6,3,3,10,2365,2417,144,115,58,99,97,115,101,0,1793,2423,
+ 67502597,2049,93,10,1,2419,2049,2100,4,1793,2435,772,8,2049,2350,10,1,2430,1793,2443,
+ 3,2049,2362,10,1,2439,2049,64,25,6,3,3,10,2407,2459,144,110,111,116,0,
+ 1,-1,23,10,2452,2472,144,108,116,101,113,63,0,2049,2090,101516555,22,10,2463,2486,
+ 144,103,116,101,113,63,0,4,2049,2472,10,2477,2499,144,110,58,77,65,88,0,
+ 1,-5,15,10,2490,2512,144,110,58,77,73,78,0,1,-4,15,10,2503,2527,144,
+ 110,58,122,101,114,111,63,0,1,0,11,10,2516,2543,144,110,58,45,122,101,
+ 114,111,63,0,1,0,12,10,2531,2562,144,110,58,110,101,103,97,116,105,118,
+ 101,63,0,1,0,13,10,2547,2581,144,110,58,112,111,115,105,116,105,118,101,
+ 63,0,1,-1,14,10,2566,2609,144,110,58,115,116,114,105,99,116,108,121,45,
+ 112,111,115,105,116,105,118,101,63,0,1,0,14,10,2585,2624,144,110,58,101,
+ 118,101,110,63,0,1,2,20,3,2049,2527,10,2613,2641,144,110,58,111,100,100,
+ 63,0,2049,2624,2049,2459,10,2631,2653,144,105,102,59,0,67502597,1,72,2049,2100,25,
+ 6,771,10,2646,2670,144,45,105,102,59,0,67502597,1,70,2049,2100,2049,2459,25,6,
+ 771,10,2662,2688,150,114,111,116,0,67503109,10,2681,2695,150,47,0,197652,10,2690,2704,
+ 150,109,111,100,0,788,10,2697,2715,144,110,58,112,111,119,0,1,1,4,1793,
+ 2723,67502597,19,10,1,2720,2049,2275,772,10,2706,2741,144,110,58,110,101,103,97,116,
+ 101,0,1,-1,19,10,2729,2757,144,110,58,115,113,117,97,114,101,0,4866,10,
+ 2745,2769,144,110,58,115,113,114,116,0,1,1,1793,2787,2049,2090,197652,67502597,18,1,
+ 2,197652,25,17,1,2773,7,10,1,2773,8,772,10,2759,2801,144,110,58,109,105,
+ 110,0,2049,2090,13,1793,2808,3,10,1,2806,1793,2814,772,10,1,2812,2049,64,10,
+ 2792,2828,144,110,58,109,97,120,0,2049,2090,14,1793,2835,3,10,1,2833,1793,2841,
+ 772,10,1,2839,2049,64,10,2819,2855,144,110,58,97,98,115,0,2,2049,2562,1,
+ 2741,9,10,2846,2873,144,110,58,108,105,109,105,116,0,4,5,2049,2801,6,2049,
+ 2828,10,2862,2890,144,110,58,105,110,99,0,1,1,17,10,2881,2903,144,110,58,
+ 100,101,99,0,1,1,18,10,2894,2921,144,110,58,98,101,116,119,101,101,110,
+ 63,0,67503109,1793,2929,67503109,67503109,2049,2873,10,1,2924,2049,2110,11,10,2907,2947,144,118,
+ 58,105,110,99,45,98,121,0,1793,2951,4367,10,1,2949,2049,2110,16,10,2935,2969,
+ 144,118,58,100,101,99,45,98,121,0,1793,2973,1180687,10,1,2971,2049,2110,16,10,
+ 2957,2988,144,118,58,105,110,99,0,1,1,4,2049,2947,10,2979,3003,144,118,58,
+ 100,101,99,0,1,1,4,2049,2969,10,2994,3020,144,118,58,108,105,109,105,116,
+ 0,251790597,1542,2049,2873,4100,10,3009,3034,144,118,58,111,110,0,2049,2350,4100,10,3026,
+ 3047,144,118,58,111,102,102,0,2049,2362,4100,10,3038,3060,144,97,108,108,111,116,
+ 0,1,3,2049,2947,10,3051,3079,144,118,58,112,114,101,115,101,114,118,101,0,
+ 983556,1793,3087,1,21,2049,2100,10,1,3082,2049,2100,4100,10,3065,3105,144,118,58,117,
+ 112,100,97,116,101,0,4,1793,3112,15,4,8,10,1,3108,2049,2110,16,10,3093,
+ 3126,144,99,111,112,121,0,1793,3135,285278725,1,33951492,268767489,1,6,10,1,3128,2049,2275,
+ 771,10,3118,3154,144,83,99,111,112,101,76,105,115,116,0,13470,13569,10,3141,3163,
+ 144,123,123,0,2049,1570,2,1,3154,2049,59,16,10,3157,3188,144,45,45,45,114,
+ 101,118,101,97,108,45,45,45,0,2049,1570,1,3154,2049,2890,16,10,3172,3202,144,
+ 125,125,0,1,3154,2049,56,4,15,11,1793,3216,3841,3154,4097,2,10,1,3211,1793,
+ 3242,3841,3154,1793,3237,1,2,983567,1,3154,2049,2890,1641487,3,1,3226,7,10,1,3224,
+ 8,16,10,1,3220,2049,64,10,3196,3256,131,83,116,97,114,116,0,0,10,3247,
+ 3265,131,69,110,100,0,0,10,3258,3280,144,116,101,114,109,105,110,97,116,101,
+ 0,1,0,3841,3265,16,10,3196,3302,144,98,117,102,102,101,114,58,115,116,97,
+ 114,116,0,3841,3256,10,3286,3319,144,98,117,102,102,101,114,58,101,110,100,0,
+ 3841,3265,10,3305,3336,144,98,117,102,102,101,114,58,97,100,100,0,3841,3265,16,
+ 1,3265,2049,2988,2049,3280,10,3322,3360,144,98,117,102,102,101,114,58,103,101,116,
+ 0,1,3265,2049,3003,3841,3265,15,2049,3280,10,3346,3386,144,98,117,102,102,101,114,
+ 58,101,109,112,116,121,0,3841,3256,4097,3265,2049,3280,10,3370,3408,144,98,117,102,
+ 102,101,114,58,115,105,122,101,0,3841,3265,3841,3256,18,10,3393,3428,144,98,117,
+ 102,102,101,114,58,115,101,116,0,4097,3256,2049,3386,10,3414,3452,144,98,117,102,
+ 102,101,114,58,112,114,101,115,101,114,118,101,0,3841,3256,3841,3265,1793,3465,1,
+ 21,2049,2100,4097,3256,10,1,3458,2049,2100,4097,3265,10,3433,3487,131,84,101,109,112,
+ 83,116,114,105,110,103,115,0,32,3472,3505,131,84,101,109,112,83,116,114,105,
+ 110,103,77,97,120,0,512,3488,3517,144,83,84,82,73,78,71,83,0,2049,1543,
+ 3841,3487,3841,3505,19,18,10,3506,3537,131,67,117,114,114,101,110,116,0,4,10,
+ 3526,3552,144,115,58,112,111,105,110,116,101,114,0,3841,3537,3841,3505,19,2049,3517,
+ 17,10,3539,3571,144,115,58,110,101,120,116,0,1,3537,2049,2988,3841,3537,3841,3487,
+ 11,1793,3587,1,0,4097,3537,10,1,3582,9,10,3506,3601,144,115,58,116,101,109,
+ 112,0,2,2049,79,2049,2890,2049,3552,4,2049,3126,2049,3552,2049,3571,10,3591,3627,144,
+ 115,58,101,109,112,116,121,0,2049,3552,2049,3571,1,0,67502597,16,10,3616,3646,144,
+ 115,58,115,107,105,112,0,6,1793,3654,68223234,1,786703,0,10,1,3649,2049,2227,2049,
+ 2903,5,10,3636,3672,144,115,58,107,101,101,112,0,2049,1815,1793,3681,1,3646,2049,
+ 1774,10,1,3676,9,2049,1874,1,119,2049,2100,2049,131,10,3662,3705,156,112,114,101,
+ 102,105,120,58,39,0,2049,1815,1,3672,1,3601,2049,64,10,3693,3724,144,115,58,
+ 99,104,111,112,0,2049,3601,2,2049,79,67502597,17,2049,2903,1,0,4,16,10,3714,
+ 3751,144,115,58,114,101,118,101,114,115,101,0,1793,3793,2,2049,3601,2049,3428,1,
+ 79,1793,3769,2,2049,79,17,2049,2903,10,1,3762,2049,2122,4,1793,3783,2,15,2049,
+ 3336,2049,2903,10,1,3776,2049,2275,3,2049,3302,2049,3601,10,1,3753,2049,3452,10,3738,
+ 3811,144,115,58,112,114,101,112,101,110,100,0,2049,3601,1793,3835,2,2049,79,17,
+ 1793,3827,2,2049,79,2049,2890,10,1,3821,2049,2100,4,2049,3126,10,1,3815,2049,2110,
+ 10,3798,3852,144,115,58,97,112,112,101,110,100,0,4,2049,3811,10,3840,3870,144,
+ 115,58,102,111,114,45,101,97,99,104,0,1793,3885,67502597,6415,3,67502597,67502597,251987205,2054,
+ 101777670,1,1,3872,7,10,1,3872,8,771,10,3856,3904,144,115,58,105,110,100,101,
+ 120,45,111,102,0,4,1793,3918,68223234,1,6415,33883396,101450758,6404,3,1,3907,7,10,1,
+ 3907,1793,3927,18,2049,2903,772,10,1,3922,1793,3936,2049,79,67502597,11,10,1,3931,2049,
+ 2159,1793,3946,3,1,-1,10,1,3942,9,10,3890,3970,144,115,58,99,111,110,116,
+ 97,105,110,115,45,99,104,97,114,63,0,2049,3904,1,-1,12,10,3950,3986,144,
+ 115,58,104,97,115,104,0,1,5381,4,1793,3994,286458116,33,10,1,3991,2049,3870,10,
+ 3976,4006,131,83,114,99,0,0,3999,4014,131,84,97,114,0,0,4007,4022,131,80,
+ 97,100,0,0,4015,4028,131,73,0,0,4023,4034,131,70,0,0,4029,4041,131,65,
+ 116,0,0,4035,4055,144,116,101,114,109,105,110,97,116,101,0,1,0,3841,4022,
+ 3841,4014,2049,79,17,16,10,4042,4077,144,101,120,116,114,97,99,116,0,3841,4006,
+ 3841,4028,17,3841,4022,3841,4014,2049,79,2049,3126,10,4066,4102,144,99,111,109,112,97,
+ 114,101,0,3841,4022,3841,4014,2049,93,3841,4034,22,4097,4034,3841,4034,1793,4122,3841,4028,
+ 4097,4041,10,1,4117,2049,70,10,4091,4135,144,110,101,120,116,0,1,4028,2049,2988,
+ 10,3976,4162,144,115,58,99,111,110,116,97,105,110,115,45,115,116,114,105,110,
+ 103,63,0,4097,4014,4097,4006,2049,3627,4097,4022,1,0,4097,4028,1,0,4097,4034,3841,
+ 4006,2049,79,1793,4193,2049,4077,2049,4055,2049,4102,2049,4135,10,1,4184,2049,2275,3841,4034,
+ 10,4140,4207,131,83,116,114,0,0,4200,4219,144,101,120,116,114,97,99,116,0,
+ 2049,2090,3841,4207,4,2049,3126,3841,-1,67502597,17,1,0,4,16,10,4208,4244,144,99,
+ 104,101,99,107,0,1,4219,2049,2100,1793,4255,1,2890,2049,2100,10,1,4250,2049,2100,
+ 3841,4207,2049,3986,67502597,11,10,4235,4278,144,108,111,99,97,116,105,111,110,0,67503109,
+ 67503109,1793,4311,1793,4306,4,1793,4292,67502597,2049,2527,21,10,1,4287,2049,2100,4,1793,4302,
+ 772,2,10,1,4299,9,10,1,4284,2049,2100,10,1,4282,2049,2100,10,4266,4325,144,
+ 115,101,116,117,112,0,2049,3627,4097,4207,1,0,67503109,67503109,1,79,1,3986,2049,2122,
+ 2049,3627,2049,3428,1793,4349,67502597,2049,79,10,1,4345,2049,2100,4,10,4140,4376,144,115,
+ 58,105,110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,67502597,1793,4402,
+ 1793,4395,2049,4325,1793,4390,2049,4244,2049,4278,10,1,4385,2049,2275,10,1,4381,2049,3452,
+ 771,3,10,1,4379,2049,2100,18,1,2,18,1,-1,2049,2828,10,4355,4427,144,115,
+ 58,102,105,108,116,101,114,0,1793,4455,2049,3627,2049,3428,4,1793,4447,2049,2090,4,
+ 8,1,3336,1,11,2049,64,10,1,4436,2049,3870,3,2049,3302,10,1,4429,2049,3452,
+ 10,4415,4469,144,115,58,109,97,112,0,1793,4491,2049,3627,2049,3428,4,1793,4483,67502597,
+ 8,2049,3336,10,1,4478,2049,3870,3,2049,3302,10,1,4471,2049,3452,10,4460,4508,144,
+ 115,58,115,117,98,115,116,114,0,1793,4514,17,2049,3627,10,1,4510,2049,2100,1793,
+ 4526,67502597,1,3126,2049,2100,10,1,4520,2049,2110,67502597,1793,4539,17,1,0,4,16,10,
+ 1,4533,2049,2100,10,4496,4555,144,115,58,114,105,103,104,116,0,67502597,2049,79,67502597,
+ 18,4,2049,4508,10,4544,4574,144,115,58,108,101,102,116,0,1,0,4,2049,4508,
+ 10,4564,4598,144,115,58,98,101,103,105,110,115,45,119,105,116,104,63,0,2,
+ 2049,79,1,13,2049,2100,2049,4574,2049,93,10,4580,4626,144,115,58,101,110,100,115,
+ 45,119,105,116,104,63,0,2,2049,79,1,13,2049,2100,2049,4555,2049,93,10,4610,
+ 4648,144,115,58,99,111,112,121,0,67502597,2049,79,2049,2890,2049,3126,10,4638,4668,144,
+ 115,58,68,73,71,73,84,83,0,2049,3646,48,49,50,51,52,53,54,55,56,
+ 57,0,1,4670,10,4656,4705,144,115,58,65,83,67,73,73,45,76,79,87,69,
+ 82,67,65,83,69,0,2049,3646,97,98,99,100,101,102,103,104,105,106,107,108,
+ 109,110,111,112,113,114,115,116,117,118,119,120,121,122,0,1,4707,10,4684,4758,
+ 144,115,58,65,83,67,73,73,45,85,80,80,69,82,67,65,83,69,0,2049,
+ 3646,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,
+ 84,85,86,87,88,89,90,0,1,4760,10,4737,4809,144,115,58,65,83,67,73,
+ 73,45,76,69,84,84,69,82,83,0,2049,3646,97,98,99,100,101,102,103,104,
+ 105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,
+ 67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,
+ 87,88,89,90,0,1,4811,10,4790,4884,144,115,58,80,85,78,67,84,85,65,
+ 84,73,79,78,0,2049,3646,95,33,34,35,36,37,38,39,40,41,42,43,44,
+ 45,46,47,58,59,60,61,62,63,64,91,92,93,94,96,123,124,125,126,0,
+ 1,4886,1,95,67502597,16,10,4867,4942,131,115,58,87,72,73,84,69,83,80,65,
+ 67,69,0,32,9,10,13,0,4926,4952,156,39,0,1,3627,2049,144,10,4947,4962,
+ 156,36,0,1,0,2049,131,10,4957,0,131,65,83,67,73,73,58,78,85,76,
+ 0,4967,27,131,65,83,67,73,73,58,69,83,67,0,4980,8,131,65,83,67,
+ 73,73,58,66,83,0,4993,9,131,65,83,67,73,73,58,72,84,0,5005,10,
+ 131,65,83,67,73,73,58,76,70,0,5017,11,131,65,83,67,73,73,58,86,
+ 84,0,5029,12,131,65,83,67,73,73,58,70,70,0,5041,13,131,65,83,67,
+ 73,73,58,67,82,0,5053,32,131,65,83,67,73,73,58,83,80,65,67,69,
+ 0,5065,127,131,65,83,67,73,73,58,68,69,76,0,5080,1,131,65,83,67,
+ 73,73,58,83,79,72,0,5093,2,131,65,83,67,73,73,58,83,84,88,0,
+ 5106,3,131,65,83,67,73,73,58,69,84,88,0,5119,4,131,65,83,67,73,
+ 73,58,69,79,84,0,5132,5,131,65,83,67,73,73,58,69,78,81,0,5145,
+ 6,131,65,83,67,73,73,58,65,67,75,0,5158,7,131,65,83,67,73,73,
+ 58,66,69,76,0,5171,14,131,65,83,67,73,73,58,83,79,0,5184,15,131,
+ 65,83,67,73,73,58,83,73,0,5196,16,131,65,83,67,73,73,58,68,76,
+ 69,0,5208,17,131,65,83,67,73,73,58,68,67,49,0,5221,18,131,65,83,
+ 67,73,73,58,68,67,50,0,5234,19,131,65,83,67,73,73,58,68,67,51,
+ 0,5247,20,131,65,83,67,73,73,58,68,67,52,0,5260,21,131,65,83,67,
+ 73,73,58,78,65,75,0,5273,22,131,65,83,67,73,73,58,83,89,78,0,
+ 5286,23,131,65,83,67,73,73,58,69,84,66,0,5299,24,131,65,83,67,73,
+ 73,58,67,65,78,0,5312,25,131,65,83,67,73,73,58,69,77,0,5325,26,
+ 131,65,83,67,73,73,58,83,85,66,0,5337,28,131,65,83,67,73,73,58,
+ 70,83,0,5350,29,131,65,83,67,73,73,58,71,83,0,5362,30,131,65,83,
+ 67,73,73,58,82,83,0,5374,31,131,65,83,67,73,73,58,85,83,0,5386,
+ 5414,144,99,58,108,111,119,101,114,99,97,115,101,63,0,1,97,1,122,2049,
+ 2921,10,5398,5437,144,99,58,117,112,112,101,114,99,97,115,101,63,0,1,65,
+ 1,90,2049,2921,10,5421,5457,144,99,58,108,101,116,116,101,114,63,0,1,5414,
+ 1,5437,2049,2122,22,10,5444,5477,144,99,58,100,105,103,105,116,63,0,1,48,
+ 1,57,2049,2921,10,5465,5498,144,99,58,118,105,115,105,98,108,101,63,0,1,
+ 32,1,126,2049,2921,10,5484,5517,144,99,58,118,111,119,101,108,63,0,2049,3646,
+ 97,101,105,111,117,65,69,73,79,85,0,1,5519,4,2049,3970,10,5505,5552,144,
+ 99,58,99,111,110,115,111,110,97,110,116,63,0,2,2049,5457,1793,5562,2049,5517,
+ 2049,2459,10,1,5557,1793,5570,3,2049,2362,10,1,5566,2049,64,10,5536,5592,144,99,
+ 58,119,104,105,116,101,115,112,97,99,101,63,0,1,4942,4,2049,3970,10,5575,
+ 5615,144,99,58,45,108,111,119,101,114,99,97,115,101,63,0,2049,5414,2049,2459,
+ 10,5598,5637,144,99,58,45,117,112,112,101,114,99,97,115,101,63,0,2049,5437,
+ 2049,2459,10,5620,5655,144,99,58,45,100,105,103,105,116,63,0,2049,5477,2049,2459,
+ 10,5642,5678,144,99,58,45,119,104,105,116,101,115,112,97,99,101,63,0,2049,
+ 5592,2049,2459,10,5660,5698,144,99,58,45,118,105,115,105,98,108,101,63,0,2049,
+ 5498,2049,2459,10,5683,5716,144,99,58,45,118,111,119,101,108,63,0,2049,5517,2049,
+ 2459,10,5703,5738,144,99,58,45,99,111,110,115,111,110,97,110,116,63,0,2049,
+ 5552,2049,2459,10,5721,5757,144,99,58,116,111,45,117,112,112,101,114,0,2,2049,
+ 5414,25,3,1,32,18,10,5743,5780,144,99,58,116,111,45,108,111,119,101,114,
+ 0,2,2049,5437,25,3,1,32,17,10,5766,5804,144,99,58,116,111,45,115,116,
+ 114,105,110,103,0,2049,3646,46,0,1,5806,2049,3601,1,36,2049,2110,10,5789,5834,
+ 144,99,58,116,111,103,103,108,101,45,99,97,115,101,0,2,2049,5414,1,5757,
+ 1,5780,2049,64,10,5817,5859,144,99,58,116,111,45,110,117,109,98,101,114,0,
+ 2,2049,5477,1793,5868,1,48,18,10,1,5864,1793,5876,3,1,0,10,1,5872,2049,
+ 64,10,5844,5895,144,115,58,116,111,45,117,112,112,101,114,0,1,5757,2049,4469,
+ 10,5881,5914,144,115,58,116,111,45,108,111,119,101,114,0,1,5780,2049,4469,10,
+ 5900,5934,144,115,58,116,114,105,109,45,108,101,102,116,0,2049,3601,1793,5948,2049,
+ 56,1,5592,1,2543,2049,2122,21,10,1,5938,2049,2227,2049,2903,10,5919,5971,144,115,
+ 58,116,114,105,109,45,114,105,103,104,116,0,2049,3601,2049,3751,2049,5934,2049,3751,
+ 10,5955,5990,144,115,58,116,114,105,109,0,2049,5971,2049,5934,10,5980,6006,144,99,
+ 111,114,114,101,99,116,0,2,1,48,13,1793,6021,1,48,67502597,18,1,2,19,
+ 17,10,1,6012,9,10,5980,6040,144,110,58,116,111,45,115,116,114,105,110,103,
+ 0,1793,6088,2049,1874,2049,3428,2,2049,2855,1793,6066,1,10,20,4,1,48,17,2049,
+ 6006,2049,3336,2,2049,2543,10,1,6051,2049,2227,3,2049,2562,1793,6080,1,45,2049,3336,
+ 10,1,6075,9,2049,3302,2049,3751,10,1,6042,2049,3452,10,6025,6115,131,82,101,119,
+ 114,105,116,101,85,110,100,101,114,115,99,111,114,101,115,0,-1,6093,6123,144,
+ 115,117,98,0,1,95,1793,6130,1,32,10,1,6127,2049,2373,10,6116,6146,144,114,
+ 101,119,114,105,116,101,0,3841,6115,1793,6155,1,6123,2049,4469,10,1,6150,9,10,
+ 6135,6169,144,104,97,110,100,108,101,0,1,3705,8,10,6093,6185,156,112,114,101,
+ 102,105,120,58,39,0,2049,6146,2049,6169,10,6173,6201,144,115,58,115,112,108,105,
+ 116,0,2049,2090,2049,3904,772,2049,2090,2049,4574,1,38,2049,2100,10,6190,6236,144,115,
+ 58,115,112,108,105,116,45,111,110,45,115,116,114,105,110,103,0,2049,2090,2049,
+ 4376,2049,2890,772,2049,2090,2049,4574,1,38,2049,2100,10,6215,6265,144,115,58,114,101,
+ 112,108,97,99,101,0,67502597,2049,79,2049,1874,16,1793,6281,2049,6236,4,2049,1874,15,
+ 17,10,1,6273,2049,2100,2049,3811,2049,3852,10,6252,6302,131,83,112,108,105,116,45,
+ 79,110,0,0,6290,6313,144,109,97,116,99,104,63,0,3841,6302,11,10,6303,6330,
+ 144,116,101,114,109,105,110,97,116,101,0,1,0,67502597,2049,2903,16,10,6317,6345,
+ 144,115,116,101,112,0,1,2890,2049,2100,2049,6313,1793,6359,2,2049,105,2049,6330,10,
+ 1,6353,9,10,6252,6377,144,115,58,116,111,107,101,110,105,122,101,0,4097,6302,
+ 2049,3672,2049,1874,1,0,2049,105,1793,6399,2,2049,105,2,1,6345,2049,3870,3,10,
+ 1,6389,2049,2100,2049,1874,67502597,18,2049,2903,67502597,16,10,6363,6422,131,78,101,101,100,
+ 108,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,6412,6557,131,76,101,110,0,0,6550,
+ 6568,131,84,111,107,101,110,115,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6558,6702,131,
+ 84,80,0,0,6696,6711,144,115,97,118,101,0,2049,3672,3841,6702,1,6568,17,2049,
+ 2890,16,1,6702,2049,2988,10,6703,6734,144,110,101,120,116,0,1793,6740,3841,6557,17,
+ 10,1,6736,2049,2110,10,6726,6754,144,100,111,110,101,63,0,2049,79,2049,2527,10,
+ 6363,6783,144,115,58,116,111,107,101,110,105,122,101,45,111,110,45,115,116,114,
+ 105,110,103,0,1,0,4097,6702,1793,6797,2,1,6422,2049,4648,2049,3852,10,1,6789,
+ 1793,6806,2049,79,4097,6557,10,1,6801,2049,2122,1793,6823,1,6422,2049,6236,2049,6711,2049,
+ 6734,2049,6754,10,1,6812,2049,2250,1,6568,3841,6702,2049,2903,4097,6568,10,6759,6848,144,
+ 102,111,114,45,101,97,99,104,0,4,2049,56,1,13,2049,2100,1793,6864,5,2049,
+ 56,84018692,525572,1542,10,1,6857,2049,2275,771,10,6836,6884,144,115,117,98,115,116,105,
+ 116,117,116,101,0,2049,3517,1,129,18,10,6870,6901,144,101,120,116,114,97,99,
+ 116,0,2049,6884,2049,4648,10,6890,6918,144,116,111,107,101,110,105,122,101,0,2049,
+ 6783,2049,3627,10,6906,6934,144,99,111,109,98,105,110,101,0,2049,6884,2049,3852,2049,
+ 3852,10,6923,6950,144,109,101,114,103,101,0,4,1,6934,2049,6848,772,10,6941,6969,
+ 144,102,105,110,100,45,101,110,100,0,2,2049,79,2049,6884,2049,79,18,67502597,17,
+ 10,6957,6989,144,99,108,101,97,110,0,2049,6969,1,0,4,16,10,6759,7013,144,
+ 115,58,114,101,112,108,97,99,101,45,97,108,108,0,1,3,1793,7028,2049,6901,
+ 2049,6918,2049,6950,2049,6989,2049,3601,10,1,7017,2049,3079,10,6996,7041,144,99,104,97,
+ 114,0,1,32,1793,7050,1,95,2049,3336,10,1,7045,2049,2373,1,114,1793,7063,1,
+ 13,2049,3336,10,1,7058,2049,2373,1,110,1793,7076,1,10,2049,3336,10,1,7071,2049,
+ 2373,1,116,1793,7089,1,9,2049,3336,10,1,7084,2049,2373,1,48,1793,7102,1,0,
+ 2049,3336,10,1,7097,2049,2373,2049,3336,10,7033,7117,144,116,121,112,101,0,1,99,
+ 1793,7125,4,2049,3336,10,1,7121,2049,2373,1,115,1793,7139,4,1,3336,2049,3870,10,
+ 1,7133,2049,2373,1,110,1793,7155,4,2049,6040,1,3336,2049,3870,10,1,7147,2049,2373,
+ 3,10,7109,7171,144,104,97,110,100,108,101,0,1,92,1793,7180,2049,56,2049,7041,
+ 10,1,7175,2049,2373,1,37,1793,7193,2049,56,2049,7117,10,1,7188,2049,2373,2049,3336,
+ 10,6996,7212,144,115,58,102,111,114,109,97,116,0,1793,7241,2049,3627,1793,7236,2049,
+ 3428,1793,7231,2049,56,25,2049,7171,1,7222,7,10,1,7222,8,3,10,1,7218,2049,
+ 2110,10,1,7214,2049,3452,10,7200,7257,144,115,58,99,111,110,115,116,0,1,3672,
+ 2049,2100,2049,2016,10,7246,7274,131,86,97,108,117,101,115,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,7264,7310,144,102,114,111,109,0,2049,79,2,1793,7328,1793,7321,1,7274,
+ 4113,10,1,7317,2049,2110,2049,2903,10,1,7315,2049,2275,3,10,7302,7340,144,116,111,
+ 0,2,2049,79,1793,7356,2049,56,1,97,18,2049,2890,1,7274,266001,10,1,7345,2049,
+ 2275,3,10,7246,7373,144,114,101,111,114,100,101,114,0,1,7310,2049,2100,2049,7340,
+ 10,7362,7389,144,99,117,114,114,121,0,2049,1874,1793,7399,4,2049,1728,2049,1751,10,
+ 1,7393,2049,2100,10,7380,7412,144,100,111,101,115,0,2049,1587,4,2049,7389,2049,1570,
+ 2049,158,16,1,144,2049,1646,10,7404,7441,144,100,58,102,111,114,45,101,97,99,
+ 104,0,1,2,1793,7467,6415,2049,2090,1793,7459,1793,7454,2052,10,1,7452,2049,2100,10,
+ 1,7450,2049,2100,1,7445,7,10,1,7445,8,3,10,7427,7487,144,100,58,108,111,
+ 111,107,117,112,45,120,116,0,1,0,4,1793,7512,2049,2090,2049,158,2831,1793,7505,
+ 4,1,2051,2049,2100,10,1,7499,1,11,2049,64,10,1,7492,2049,7441,3,10,7472,
+ 7530,144,97,58,108,101,110,103,116,104,0,15,10,7518,7553,144,97,58,99,111,
+ 117,110,116,101,100,45,114,101,115,117,108,116,115,0,8,2049,1874,1793,7566,2,
+ 2049,105,1,105,2049,2275,10,1,7558,2049,2100,10,7532,7588,144,97,58,102,114,111,
+ 109,45,115,116,114,105,110,103,0,2049,1874,1793,7602,2,2049,79,2049,105,1,105,
+ 2049,3870,10,1,7592,2049,2100,10,7571,7621,144,97,58,102,111,114,45,101,97,99,
+ 104,0,4,2049,56,1,13,2049,2100,1793,7637,5,2049,56,84018692,525572,1542,10,1,7630,
+ 2049,2275,771,10,7607,7652,144,97,58,100,117,112,0,2049,1874,1793,7665,2,15,2049,
+ 105,1,105,2049,7621,10,1,7656,2049,2100,10,7643,7680,144,97,58,99,111,112,121,
+ 0,1,3,1793,7696,4097,3,2,2049,7530,2049,105,1,105,2049,7621,10,1,7684,2049,
+ 3079,10,7670,7716,144,97,58,116,111,45,115,116,114,105,110,103,0,1,3,1793,
+ 7729,2049,7652,1,0,2049,105,2049,2890,10,1,7720,2049,3079,2049,3601,10,7701,7748,144,
+ 97,58,97,112,112,101,110,100,0,2049,2090,1,34,2049,2148,17,2049,1874,1793,7773,
+ 2049,105,1793,7768,1,105,2049,7621,10,1,7763,2049,2148,10,1,7759,2049,2100,10,7736,
+ 7791,144,97,58,112,114,101,112,101,110,100,0,4,2049,7748,10,7778,7805,144,97,
+ 58,99,104,111,112,0,2049,7652,1,-1,2049,3060,2,2049,3003,10,7795,7827,144,97,
+ 58,102,105,108,116,101,114,0,1793,7842,67502597,1,21,2049,2100,4,1,105,1,11,
+ 2049,64,10,1,7829,2049,7389,2049,1874,1793,7857,67502597,15,2049,105,2049,7621,10,1,7850,
+ 2049,2100,2049,1874,67502597,18,2049,2903,67502597,16,10,7815,7885,144,97,58,99,111,110,116,
+ 97,105,110,115,63,0,1,0,4,1793,7897,4,5,67502597,11,6,22,10,1,7890,
+ 2049,7621,772,10,7870,7925,144,97,58,99,111,110,116,97,105,110,115,45,115,116,
+ 114,105,110,103,63,0,1,0,4,1793,7938,4,5,67502597,2049,93,6,22,10,1,
+ 7930,2049,7621,772,10,7903,7953,144,97,58,109,97,112,0,1793,7959,8,2049,105,10,
+ 1,7955,2049,7389,2049,1874,1793,7974,67502597,15,2049,105,2049,7621,10,1,7967,2049,2100,10,
+ 7944,7992,144,97,58,114,101,118,101,114,115,101,0,2049,1874,1793,8026,2049,56,1793,
+ 8004,17,2049,2903,10,1,8000,2049,2110,2,2049,105,1793,8020,2,15,2049,105,2049,2903,
+ 10,1,8013,2049,2275,3,10,1,7996,2049,2100,10,7979,8039,144,97,58,116,104,0,
+ 17,2049,2890,10,8031,8054,144,97,58,102,101,116,99,104,0,2049,8039,15,10,8043,
+ 8069,144,97,58,115,116,111,114,101,0,2049,8039,16,10,8058,8085,144,97,58,114,
+ 101,100,117,99,101,0,1,13,2049,2100,2049,7621,10,8073,8104,144,105,100,101,110,
+ 116,105,102,121,0,1,-1,4,1,0,1793,8135,2049,2350,11,1793,8129,67502597,1,-1,
+ 11,1793,8125,772,2,10,1,8122,9,10,1,8116,9,2049,2890,10,1,8111,2049,8085,
+ 3,10,8073,8155,144,97,58,105,110,100,101,120,45,111,102,0,1,3,1793,8168,
+ 1,26,2049,7389,2049,7953,2049,8104,10,1,8159,2049,3079,10,8141,8194,144,97,58,105,
+ 110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,1,3,1793,8207,1,
+ 93,2049,7389,2049,7953,2049,8104,10,1,8198,2049,3079,10,8173,8222,144,97,58,109,97,
+ 107,101,0,2049,7553,2,2,1,3,1793,8233,2049,7992,10,1,8230,2049,3079,4,2049,
+ 7680,10,8212,8246,156,123,0,1,287,2049,156,1,1556,2049,144,1,287,2049,156,10,
+ 8241,8264,156,125,0,1,303,2049,156,1,2100,2049,144,1,1556,2049,144,1,13,2049,
+ 150,1,40,2049,150,1,2903,2049,144,1,303,2049,156,1,8222,2049,144,10,8259,8308,
+ 144,98,111,117,110,100,115,63,0,67502597,2049,7530,67502597,13,10,8297,8322,144,99,111,
+ 112,121,0,2049,56,2049,105,10,8314,8337,144,116,111,45,101,110,100,0,2,2049,
+ 7530,17,2049,2890,10,8259,8354,144,97,58,108,101,102,116,0,2049,8308,1793,8362,771,
+ 1,-1,10,1,8358,2049,2653,2049,1874,67502597,2049,105,1793,8383,1,2890,2049,2100,1,8322,
+ 2049,2275,3,10,1,8373,2049,2100,10,8344,8399,144,97,58,114,105,103,104,116,0,
+ 2049,8308,1793,8407,771,1,-1,10,1,8403,2049,2653,2049,1874,67502597,2049,105,1793,8430,4,
+ 2049,8337,67502597,18,4,1,8322,2049,2275,3,10,1,8418,2049,2100,10,8388,8447,144,97,
+ 58,109,105,100,100,108,101,0,1,2042,2049,2100,4,67502597,2049,8308,1793,8462,771,3,
+ 1,-1,10,1,8457,2049,2653,771,2049,2090,4,18,2049,2890,2049,1874,67502597,2049,105,1793,
+ 8497,772,1793,8487,17,2049,2890,10,1,8483,2049,2100,1,8322,2049,2275,3,10,1,8480,
+ 2049,2100,10,8435,8510,131,70,108,97,103,0,0,8502,8522,144,99,111,109,112,97,
+ 114,101,0,67440386,184946434,10,8511,8535,144,108,101,110,103,116,104,0,659202,10,8525,8545,
+ 144,110,101,120,116,0,17043713,1,1,2577,10,8537,8563,144,110,111,116,45,101,113,
+ 117,97,108,0,50529030,2561,0,10,8550,8575,144,108,111,111,112,0,524549,8545,2049,8522,
+ 18157313,8510,8510,16,420610310,1,1,8575,7,10,8435,8598,144,97,58,101,113,63,0,1048833,
+ -1,8510,2049,8522,151066369,-1,8563,2049,8535,2049,8575,251724547,8510,10,8589,8623,144,97,58,45,
+ 101,113,63,0,2049,8598,2049,2459,10,8613,8646,144,97,58,98,101,103,105,110,115,
+ 45,119,105,116,104,63,0,1,3,1793,8662,2,2049,7530,1,13,2049,2100,2049,8354,
+ 2049,8598,10,1,8650,2049,3079,10,8628,8683,144,97,58,101,110,100,115,45,119,105,
+ 116,104,63,0,1,3,1793,8699,2,2049,7530,1,13,2049,2100,2049,8399,2049,8598,10,
+ 1,8687,2049,3079,10,8667,8720,144,99,117,114,114,101,110,116,45,108,105,110,101,
+ 0,2049,3517,1,1025,18,10,8704,8742,144,99,111,117,110,116,45,116,111,107,101,
+ 110,115,0,1793,8748,1,32,11,10,1,8744,2049,4427,2049,79,10,8726,8773,144,112,
+ 114,111,99,101,115,115,45,116,111,107,101,110,115,0,1793,8801,1,32,2049,6201,
+ 4,1793,8794,2,2049,79,2049,2543,1,367,1,11,2049,64,10,1,8782,2049,2100,2049,
+ 2890,10,1,8775,2049,2275,2049,367,10,8667,8822,144,115,58,101,118,97,108,117,97,
+ 116,101,0,2049,8720,2049,4648,2049,8720,2,2049,8742,2049,8773,10,8808,8840,131,76,80,
+ 0,0,8834,8850,131,73,110,100,101,120,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,8841,8890,144,110,101,120,116,0,3841,8840,1,8850,17,2049,2988,10,8882,
+ 8906,144,112,114,101,112,0,1,8840,2049,2988,1,0,3841,8840,1,8850,17,16,10,
+ 8898,8927,144,100,111,110,101,0,1,8840,2049,3003,10,8808,8937,144,73,0,3841,8840,
+ 1,8850,17,15,10,8932,8949,144,74,0,3841,8840,1,8850,17,2049,2903,15,10,8944,
+ 8963,144,75,0,3841,8840,1,8850,17,1,2,18,15,10,8958,8990,144,105,110,100,
+ 101,120,101,100,45,116,105,109,101,115,0,2049,8906,4,1793,9006,25,33886721,1,2053,
+ 1542,2049,8890,1,8995,7,10,1,8995,8,3,2049,8927,10,8973,9021,156,104,111,111,
+ 107,0,2049,3646,108,105,106,117,46,46,46,46,0,1,9023,2049,414,2049,1874,2049,
+ 2890,2049,105,10,9013,9055,144,115,101,116,45,104,111,111,107,0,2049,2890,16,10,
+ 9043,9069,144,117,110,104,111,111,107,0,2049,2890,2,2049,2890,4,16,10,9059,9093,
+ 144,105,111,58,101,110,117,109,101,114,97,116,101,0,27,10,9077,9107,144,105,
+ 111,58,113,117,101,114,121,0,28,10,9095,9122,144,105,111,58,105,110,118,111,
+ 107,101,0,29,10,9109,9139,144,105,111,58,115,99,97,110,45,102,111,114,0,
+ 1,-1,4,2049,9093,1793,9170,2049,8937,2049,9107,772,67502597,11,1793,9166,1793,9161,3,2049,
+ 8937,10,1,9157,2049,2100,10,1,9155,9,10,1,9146,2049,8990,3,10,9124,9185,144,
+ 99,58,112,117,116,0,1793,9187,1,0,2049,9122,10,9176,9198,144,110,108,0,1,
+ 10,2049,9185,10,9192,9209,144,115,112,0,1,32,2049,9185,10,9203,9221,144,116,97,
+ 98,0,1,9,2049,9185,10,9214,9235,144,115,58,112,117,116,0,1,9185,2049,3870,
+ 10,9226,9249,144,110,58,112,117,116,0,2049,6040,2049,9235,10,9240,9263,144,114,101,
+ 115,101,116,0,2049,1556,25,771,1,9263,7,10,9254,9285,144,100,117,109,112,45,
+ 115,116,97,99,107,0,2049,1556,25,134284547,9285,134283782,9249,2049,9209,10,9271,9303,144,70,
+ 82,69,69,0,2049,3517,1,1025,18,2049,1874,18,10,9295,9322,131,105,111,58,88,
+ 56,54,0,0,9312,9335,144,105,100,101,110,116,105,102,121,0,3841,9322,2049,2527,
+ 1793,9402,1,2000,2049,9139,2,2049,2562,1793,9390,3,2049,3646,73,79,32,68,69,86,
+ 73,67,69,32,84,89,80,69,32,50,48,48,48,32,78,79,84,32,70,79,
+ 85,78,68,0,1,9353,2049,9235,2049,9198,10,1,9350,1793,9397,4097,9322,10,1,9394,
+ 2049,64,10,1,9341,9,10,9295,9416,144,105,111,58,120,56,54,0,2049,9335,3841,
+ 9322,2049,9122,10,9406,9438,144,112,105,111,58,105,110,45,98,121,116,101,0,1,
+ 0,2049,9416,10,9423,9459,144,112,105,111,58,111,117,116,45,98,121,116,101,0,
+ 1,1,2049,9416,10,9443,9479,144,112,105,111,58,105,110,45,119,111,114,100,0,
+ 1,6,2049,9416,10,9464,9500,144,112,105,111,58,111,117,116,45,119,111,114,100,
+ 0,1,7,2049,9416,10,9484,9518,144,114,97,109,58,115,116,111,114,101,0,1,
+ 2,2049,9416,10,9505,9536,144,114,97,109,58,102,101,116,99,104,0,1,3,2049,
+ 9416,10,9523,9559,144,114,97,109,58,115,116,111,114,101,45,98,121,116,101,0,
+ 1,4,2049,9416,10,9541,9582,144,114,97,109,58,102,101,116,99,104,45,98,121,
+ 116,101,0,1,5,2049,9416,10,9564,9594,144,104,101,120,0,2,15,1,45,11,
+ 1793,9606,2049,2890,1,-1,10,1,9601,1793,9613,1,0,10,1,9610,2049,64,4,1,
+ 0,4,1793,9652,2049,3646,48,49,50,51,52,53,54,55,56,57,65,66,67,68,
+ 69,70,0,1,9625,4,2049,3904,17,1,16,19,10,1,9623,2049,3870,1,16,197652,
+ 4,25,19,10,9564,9675,156,112,114,101,102,105,120,58,48,0,2,2049,2903,2049,
+ 199,2049,2543,1793,9708,2049,2903,2049,199,1793,9694,2049,158,15,10,1,9690,1793,9702,2049,
+ 160,15,10,1,9698,2049,2122,8,10,1,9684,2049,2653,2049,2890,2049,9594,2049,131,10,
+ 9663,112,131,67,77,79,83,58,65,68,68,82,69,83,83,0,9719,113,131,67,
+ 77,79,83,58,68,65,84,65,0,9735,9761,144,114,116,99,58,113,117,101,114,
+ 121,0,1,112,2049,9459,1,113,2049,9438,10,9748,9784,144,114,116,99,58,115,101,
+ 99,111,110,100,0,1,0,2049,9761,10,9770,9803,144,114,116,99,58,109,105,110,
+ 117,116,101,0,1,2,2049,9761,10,9789,9820,144,114,116,99,58,104,111,117,114,
+ 0,1,4,2049,9761,10,9808,9836,144,114,116,99,58,100,97,121,0,1,7,2049,
+ 9761,10,9825,9854,144,114,116,99,58,109,111,110,116,104,0,1,8,2049,9761,10,
+ 9841,9871,144,114,116,99,58,121,101,97,114,0,1,9,2049,9761,10,9859,9884,144,
+ 116,105,109,101,0,2049,9820,2049,9249,1,58,2049,9185,2049,9803,2049,9249,2049,9198,10,
+ 9876,1016,131,115,101,114,105,97,108,58,67,79,77,49,0,9899,760,131,115,101,
+ 114,105,97,108,58,67,79,77,50,0,9914,1000,131,115,101,114,105,97,108,58,
+ 67,79,77,51,0,9929,744,131,115,101,114,105,97,108,58,67,79,77,52,0,
+ 9944,9974,131,115,101,114,105,97,108,58,80,111,114,116,0,1016,9959,9995,144,115,
+ 101,114,105,97,108,58,114,101,99,101,105,118,101,100,63,0,3841,9974,1,5,
+ 17,2049,9438,1,1,21,2049,2543,10,9975,10025,144,115,101,114,105,97,108,58,101,
+ 109,112,116,121,63,0,3841,9974,1,5,17,2049,9438,1,32,21,2049,2543,10,10008,
+ 10053,144,115,101,114,105,97,108,58,114,101,97,100,0,2049,9995,1793,10062,3841,9974,
+ 2049,9438,10,1,10057,2049,2653,2049,10053,10,10038,10085,144,115,101,114,105,97,108,58,
+ 119,114,105,116,101,0,2049,10025,1793,10094,3841,9974,2049,9459,10,1,10089,2049,2653,2049,
+ 10085,10,10069,10116,144,115,101,114,105,97,108,58,115,101,110,100,0,1793,10121,2049,
+ 10085,10,1,10118,2049,3870,10,10101,10141,144,115,101,114,105,97,108,58,105,110,105,
+ 116,0,1,0,3841,9974,1,1,17,2049,9459,1,128,3841,9974,1,3,17,2049,9459,
+ 1,3,3841,9974,2049,9459,1,0,3841,9974,1,1,17,2049,9459,1,3,3841,9974,1,
+ 3,17,2049,9459,1,199,3841,9974,1,2,17,2049,9459,1,11,3841,9974,1,4,17,
+ 2049,9459,10,10126,753664,131,86,71,65,45,66,65,83,69,0,10202,80,131,67,79,
+ 76,85,77,78,83,0,10214,25,131,82,79,87,83,0,10225,980,131,86,71,65,
+ 45,67,85,82,83,79,82,0,10233,981,131,86,71,65,45,68,65,84,65,0,
+ 10247,10270,131,118,103,97,58,82,111,119,0,0,10259,10285,131,118,103,97,58,67,
+ 111,108,117,109,110,0,0,10271,10307,144,118,103,97,58,117,112,100,97,116,101,
+ 45,99,117,114,115,111,114,0,3841,10270,1,80,19,3841,10285,17,2,1,15,1,
+ 980,2049,9459,1,255,21,1,981,2049,9459,1,14,1,980,2049,9459,1,8,24,1,
+ 255,21,1,981,2049,9459,10,10286,10365,144,118,103,97,58,109,111,118,101,45,99,
+ 117,114,115,111,114,0,4097,10285,4097,10270,2049,10307,10,10346,10387,131,118,103,97,58,
+ 68,105,115,112,108,97,121,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -79,85 +546,152 @@ CELL ngaImage[] = { 1793,3128,3118,3158,202010,0,10,1,10,2,10,3,10,4,10,5,10,6,1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,999,1548,144,
- 105,100,101,110,116,105,102,121,0,1793,1567,1,2000,2,1793,1557,3,10,1,1555,
- 1793,1562,10,1,1561,2049,64,10,1,1550,9,10,1536,1581,144,105,111,58,120,56,
- 54,0,2049,1548,10,1571,1599,144,112,105,111,58,105,110,45,98,121,116,101,0,
- 1,0,2049,1581,10,1584,1620,144,112,105,111,58,111,117,116,45,98,121,116,101,
- 0,1,1,2049,1581,10,1604,1640,144,112,105,111,58,105,110,45,119,111,114,100,
- 0,1,6,2049,1581,10,1625,1661,144,112,105,111,58,111,117,116,45,119,111,114,
- 100,0,1,7,2049,1581,10,1645,1679,144,114,97,109,58,115,116,111,114,101,0,
- 1,2,2049,1581,10,1666,1697,144,114,97,109,58,102,101,116,99,104,0,1,3,
- 2049,1581,10,1684,1720,144,114,97,109,58,115,116,111,114,101,45,98,121,116,101,
- 0,1,4,2049,1581,10,1702,1743,144,114,97,109,58,102,101,116,99,104,45,98,
- 121,116,101,0,1,5,2049,1581,10,1725,1755,144,104,101,120,0,2,15,1,45,
- 11,1793,1765,1,-1,10,1,1762,1793,1772,1,0,10,1,1769,2049,64,4,1,0,
- 4,1793,1788,4,17,1,16,19,10,1,1782,1,16,4,25,19,10,1748,1808,144,
- 112,114,101,102,105,120,58,48,0,2,2049,199,1793,1833,2049,199,1793,1821,2049,158,
- 15,10,1,1817,1793,1829,2049,160,15,10,1,1825,8,10,1,1813,2049,1755,2049,131,
- 10,1796,1853,144,114,116,99,58,113,117,101,114,121,0,2049,1620,2049,1599,10,1840,
- 1872,144,114,116,99,58,115,101,99,111,110,100,0,1,0,2049,1853,10,1858,1891,
- 144,114,116,99,58,109,105,110,117,116,101,0,1,2,2049,1853,10,1877,1908,144,
- 114,116,99,58,104,111,117,114,0,1,4,2049,1853,10,1896,1924,144,114,116,99,
- 58,100,97,121,0,1,7,2049,1853,10,1913,1942,144,114,116,99,58,109,111,110,
- 116,104,0,1,8,2049,1853,10,1929,1959,144,114,116,99,58,121,101,97,114,0,
- 1,9,2049,1853,10,1947,1972,144,116,105,109,101,0,2049,1908,1,58,2049,1891,10,
- 1964,1999,144,115,101,114,105,97,108,58,114,101,99,101,105,118,101,100,63,0,
- 1,5,17,2049,1599,1,1,21,10,1979,2025,144,115,101,114,105,97,108,58,101,
- 109,112,116,121,63,0,1,5,17,2049,1599,1,32,21,10,2008,2049,144,115,101,
- 114,105,97,108,58,114,101,97,100,0,2049,1999,1793,2056,2049,1599,10,1,2053,2049,
- 2049,10,2034,2077,144,115,101,114,105,97,108,58,119,114,105,116,101,0,2049,2025,
- 1793,2084,2049,1620,10,1,2081,2049,2077,10,2061,2104,144,115,101,114,105,97,108,58,
- 115,101,110,100,0,1793,2109,2049,2077,10,1,2106,10,2089,2127,144,115,101,114,105,
- 97,108,58,105,110,105,116,0,1,0,1,1,17,2049,1620,1,128,1,3,17,
- 2049,1620,1,3,2049,1620,1,0,1,1,17,2049,1620,1,3,1,3,17,2049,1620,
- 1,199,1,2,17,2049,1620,1,11,1,4,17,2049,1620,10,2112,2195,144,118,103,
- 97,58,117,112,100,97,116,101,45,99,117,114,115,111,114,0,19,17,2,2049,
- 1808,2049,1620,2049,1808,21,2049,1620,2049,1808,2049,1620,1,8,24,2049,1808,21,2049,1620,
- 10,2174,2239,144,118,103,97,58,109,111,118,101,45,99,117,114,115,111,114,0,
- 2049,2195,10,2220,2262,144,115,116,97,114,116,105,110,103,45,97,100,100,114,101,
- 115,115,0,1,2,19,17,10,2242,2281,144,99,104,97,114,97,99,116,101,114,
- 115,0,19,10,2267,2296,144,115,97,118,101,45,98,121,116,101,0,2,2049,1743,
- 1,2,17,10,2283,2311,144,115,97,118,101,0,1793,2316,2049,2296,10,1,2313,3,
- 10,2303,2335,144,97,108,108,45,98,117,116,45,116,111,112,0,1793,2346,1,-1,
- 2049,2262,2049,2281,2049,2311,10,1,2337,10,2320,2360,144,109,111,118,101,45,117,112,
- 0,1,-1,1793,2370,2049,1720,1,2,17,10,1,2364,3,10,2349,2387,144,108,97,
- 115,116,45,108,105,110,101,0,19,1,2,19,17,10,2374,2402,144,101,114,97,
- 115,101,0,2049,1720,1,2,17,10,2393,2427,144,101,114,97,115,101,45,108,97,
- 115,116,45,108,105,110,101,0,2049,2387,1793,2434,2049,2402,10,1,2431,3,10,2408,
- 2448,144,115,99,114,111,108,108,0,2049,2335,2049,2360,2049,2427,10,2438,2467,144,112,
- 111,115,105,116,105,111,110,0,1,0,2049,2239,10,2455,2483,144,115,99,114,111,
- 108,108,63,0,11,10,2472,2497,144,118,103,97,58,119,114,97,112,0,2049,2483,
- 1793,2506,2049,2448,2049,2467,10,1,2501,9,2049,2195,10,2485,2524,144,112,111,115,105,
- 116,105,111,110,0,19,1,2,19,1,2,19,17,17,10,2512,2542,144,110,101,
- 120,116,0,1,-1,14,1793,2552,1,-1,1,0,10,1,2547,9,2049,2497,10,2534,
- 2571,144,118,103,97,58,99,58,112,117,116,0,1,10,1793,2582,1,0,1,-1,
- 2049,2497,10,1,2575,1,13,1793,2595,1,0,1,-1,2049,2497,10,1,2588,1,8,
- 1793,2612,1,-1,1,32,2049,2571,1,-1,2049,2195,10,1,2601,2049,2524,2049,1720,2049,
- 2542,10,2558,2630,144,99,108,101,97,114,0,1,0,1,0,2049,2239,19,1793,2645,
- 2049,1720,1,2,17,10,1,2639,3,1,0,1,0,2049,2239,10,2621,2673,144,118,
- 103,97,58,105,110,105,116,105,97,108,105,122,101,0,1,1793,1,-1,1,2,
- 17,16,1,2571,1,-1,1,3,17,16,10,2655,2707,144,97,116,97,58,99,108,
- 101,97,114,45,98,115,121,0,1793,0,2715,1599,2049,1808,21,10,1,1026,10,2690,
- 2736,144,97,116,97,58,115,101,116,45,115,101,99,116,111,114,0,2049,1808,2049,
- 1620,2049,1808,2049,1620,2049,1808,2049,1620,2,2049,1620,2,1,8,24,2049,1620,1,16,
- 24,2049,1620,10,2718,2771,144,109,97,115,107,0,2049,1808,21,10,2763,2784,144,100,
- 101,108,97,121,0,1793,2787,10,1,2786,10,2775,2807,144,97,116,97,58,114,101,
- 97,100,45,119,111,114,100,0,2049,1640,10,2790,2824,144,115,116,111,114,101,45,
- 119,111,114,100,0,1793,2830,2049,2771,16,10,1,2826,1,8,24,16,10,2810,2849,
- 144,97,116,97,58,114,101,97,100,0,2049,2736,2049,1620,2049,2784,1,256,1793,2864,
- 2049,2807,2049,2824,10,1,2859,3,10,2837,2886,144,97,116,97,58,119,114,105,116,
- 101,45,119,111,114,100,0,2049,1661,10,2868,2903,144,102,101,116,99,104,45,119,
- 111,114,100,0,2049,56,1793,2913,2049,56,1,-8,24,10,1,2907,17,10,2889,2930,
- 144,97,116,97,58,119,114,105,116,101,0,2049,2736,2049,1620,2049,2784,1,256,1793,
- 2945,2049,2903,2049,2886,10,1,2940,3,2049,1620,2049,2707,10,2917,2961,144,101,111,108,
- 63,0,1793,2965,11,10,1,2963,1793,2971,11,10,1,2969,1793,2977,11,10,1,2975,
- 22,22,10,2953,2992,144,118,97,108,105,100,63,0,2,2049,79,10,2982,3008,144,
- 99,104,101,99,107,45,98,115,0,2,1793,3015,1,8,11,10,1,3011,1793,3023,
- 1,127,11,10,1,3019,22,1793,3029,10,1,3028,9,10,2996,3042,144,99,58,103,
- 101,116,0,2,10,3033,3058,144,115,58,103,101,116,45,119,111,114,100,0,1793,
- 3075,1,1025,1793,3072,2049,3042,2,2049,3008,2049,2961,10,1,3064,10,1,3060,10,3044,
- 3087,144,115,58,103,101,116,0,1793,3115,1,1025,1793,3112,2049,3042,2,2049,3008,1793,
- 3102,11,10,1,3100,1793,3108,11,10,1,3106,22,10,1,3093,10,1,3089,10,3078,
- 3128,144,108,105,115,116,101,110,0,2049,2673,2049,2630,1,100,20,1,46,2049,3058,
- 2049,2992,1,367,1,11,2049,64,1,3137,7,10,1793,3156,1,63,10,1,3153,0 };
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,10372,12408,144,115,116,97,114,116,105,110,103,
+ 45,97,100,100,114,101,115,115,0,1,753664,1,80,1,2,19,17,10,12388,12431,
+ 144,99,104,97,114,97,99,116,101,114,115,0,1,25,2049,2903,1,80,19,10,
+ 12417,12452,144,115,97,118,101,45,98,121,116,101,0,2,2049,9582,2049,3336,1,2,
+ 17,10,12439,12469,144,115,97,118,101,0,1793,12474,2049,12452,10,1,12471,2049,2275,3,
+ 10,12461,12495,144,97,108,108,45,98,117,116,45,116,111,112,0,1793,12508,1,10387,
+ 2049,3428,2049,12408,2049,12431,2049,12469,10,1,12497,2049,3452,10,12480,12524,144,109,111,118,
+ 101,45,117,112,0,1,753664,1,10387,1793,12537,67502597,2049,9559,1,2,17,10,1,12530,
+ 2049,3870,3,10,12513,12556,144,108,97,115,116,45,108,105,110,101,0,1,753664,1,
+ 25,2049,2903,1,80,19,1,2,19,17,10,12543,12579,144,101,114,97,115,101,0,
+ 1,32,67502597,2049,9559,1,2,17,10,12570,12607,144,101,114,97,115,101,45,108,97,
+ 115,116,45,108,105,110,101,0,2049,12556,1,80,1793,12616,2049,12579,10,1,12613,2049,
+ 2275,3,10,12588,12632,144,115,99,114,111,108,108,0,2049,12495,2049,12524,2049,12607,10,
+ 12622,12651,144,112,111,115,105,116,105,111,110,0,1,25,2049,2903,1,0,2049,10365,
+ 10,12639,12671,144,115,99,114,111,108,108,63,0,3841,10270,1,25,11,10,10346,12689,
+ 144,118,103,97,58,119,114,97,112,0,2049,12671,1793,12698,2049,12632,2049,12651,10,1,
+ 12693,9,2049,10307,10,12677,12716,144,112,111,115,105,116,105,111,110,0,3841,10270,1,
+ 80,19,1,2,19,3841,10285,1,2,19,17,1,753664,17,10,12704,12742,144,110,101,
+ 120,116,0,1,10285,2049,2988,3841,10285,1,80,14,1793,12762,1,10270,2049,2988,1,0,
+ 4097,10285,10,1,12753,9,2049,12689,10,12677,12781,144,118,103,97,58,99,58,112,117,
+ 116,0,1,10,1793,12796,1,0,4097,10285,1,10270,2049,2988,2049,12689,10,1,12785,2049,
+ 2373,1,13,1793,12815,1,0,4097,10285,1,10270,2049,2988,2049,12689,10,1,12804,2049,2373,
+ 1,8,1793,12838,1,10285,2049,3003,1,32,2049,12781,1,10285,2049,3003,2049,10307,10,1,
+ 12823,2049,2373,2049,12716,2049,9559,2049,12742,10,12768,12858,144,99,108,101,97,114,0,1,
+ 0,1,0,2049,10365,1,753664,1,80,1,25,19,1793,12882,1,32,67502597,2049,9559,1,
+ 2,17,10,1,12873,2049,2275,3,1,0,1,0,2049,10365,10,12849,12912,144,118,103,
+ 97,58,105,110,105,116,105,97,108,105,122,101,0,1,1793,1,9185,1,2,17,
+ 16,1,12781,1,9185,1,3,17,16,10,12894,12942,131,97,116,97,58,68,101,108,
+ 97,121,0,10000,12929,32,131,97,116,97,58,82,69,65,68,0,12943,48,131,97,
+ 116,97,58,87,82,73,84,69,0,12955,231,131,97,116,97,58,70,76,85,83,
+ 72,45,67,65,67,72,69,0,12968,496,131,97,116,97,58,80,82,73,77,65,
+ 82,89,0,12987,496,131,97,116,97,58,68,65,84,65,0,13002,497,131,97,116,
+ 97,58,69,82,82,79,82,0,13014,497,131,97,116,97,58,70,69,65,84,85,
+ 82,69,83,0,13027,498,131,97,116,97,58,83,69,67,84,79,82,45,67,79,
+ 85,78,84,0,13043,499,131,97,116,97,58,83,69,67,84,79,82,45,78,85,
+ 77,66,69,82,0,13063,500,131,97,116,97,58,67,89,76,73,78,68,69,82,
+ 45,76,79,87,0,13084,501,131,97,116,97,58,67,89,76,73,78,68,69,82,
+ 45,72,73,71,72,0,13104,502,131,97,116,97,58,68,82,73,86,69,0,13125,
+ 502,131,97,116,97,58,72,69,65,68,0,13138,503,131,97,116,97,58,83,84,
+ 65,84,85,83,0,13150,503,131,97,116,97,58,67,79,77,77,65,78,68,0,
+ 13164,1014,131,97,116,97,58,80,82,73,77,65,82,89,45,68,67,82,45,65,
+ 83,0,13179,13218,144,97,116,97,58,99,108,101,97,114,45,98,115,121,0,1793,
+ 13230,1,503,2049,9438,1,128,21,2049,2527,10,1,13220,2049,2250,10,13201,13253,144,97,
+ 116,97,58,115,101,116,45,115,101,99,116,111,114,0,1,224,1,502,2049,9459,
+ 1,0,1,497,2049,9459,1,1,1,498,2049,9459,2,1,499,2049,9459,2,1,8,
+ 24,1,500,2049,9459,1,16,24,1,501,2049,9459,10,13235,13300,144,109,97,115,107,
+ 0,1,255,21,10,13292,13313,144,100,101,108,97,121,0,3841,12942,1793,13318,10,1,
+ 13317,2049,2275,10,13304,13340,144,97,116,97,58,114,101,97,100,45,119,111,114,100,
+ 0,1,496,2049,9479,10,13323,13359,144,115,116,111,114,101,45,119,111,114,100,0,
+ 1793,13368,2049,13300,67502597,16,2049,2890,10,1,13361,2049,2110,1,8,24,67502597,16,2049,2890,
+ 10,13345,13392,144,97,116,97,58,114,101,97,100,0,2049,13253,1,32,1,503,2049,
+ 9459,2049,13313,1,256,1793,13411,2049,13340,2049,13359,10,1,13406,2049,2275,3,10,13380,13435,
+ 144,97,116,97,58,119,114,105,116,101,45,119,111,114,100,0,1,496,2049,9500,
+ 10,13417,13454,144,102,101,116,99,104,45,119,111,114,100,0,2049,56,1793,13464,2049,
+ 56,1,-8,24,10,1,13458,2049,2100,17,10,13440,13483,144,97,116,97,58,119,114,
+ 105,116,101,0,2049,13253,1,48,1,503,2049,9459,2049,13313,1,256,1793,13502,2049,13454,
+ 2049,13435,10,1,13497,2049,2275,3,1,231,1,503,2049,9459,2049,13218,10,13470,13524,144,
+ 101,111,108,63,0,1793,13530,1,13,11,10,1,13526,1793,13538,1,10,11,10,1,
+ 13534,1793,13546,1,32,11,10,1,13542,2049,2159,22,22,10,13516,13563,144,118,97,108,
+ 105,100,63,0,2,2049,79,2049,2543,10,13553,13581,144,99,104,101,99,107,45,98,
+ 115,0,2,1793,13588,1,8,11,10,1,13584,1793,13596,1,127,11,10,1,13592,2049,
+ 2122,22,1793,13609,2049,3360,2049,3360,771,10,1,13603,9,10,13470,13622,144,99,58,103,
+ 101,116,0,1793,13624,7425,1,2,2049,9185,10,13613,13644,144,115,58,103,101,116,45,
+ 119,111,114,100,0,1793,13671,1,1025,2049,3428,1793,13662,2049,13622,2,2049,3336,2049,13581,
+ 2049,13524,10,1,13652,2049,2250,2049,3302,2049,3724,10,1,13646,2049,3452,10,13630,13685,144,
+ 115,58,103,101,116,0,1793,13729,1,1025,2049,3428,1793,13720,2049,13622,2,2049,3336,2049,
+ 13581,1793,13706,1,13,11,10,1,13702,1793,13714,1,10,11,10,1,13710,2049,2122,22,
+ 10,1,13693,2049,2250,2049,3302,2049,3724,10,1,13687,2049,3452,10,13676,13744,144,108,105,
+ 115,116,101,110,0,2049,12912,2049,12858,2049,3646,82,69,84,82,79,47,78,97,116,
+ 105,118,101,0,1,13750,2049,9235,2049,9209,3841,4,1,100,20,2049,9249,1,46,2049,
+ 9185,2049,9249,2049,9198,2049,13644,2049,13563,1,367,1,11,2049,64,1,13784,7,10,1793,
+ 13830,1,63,2049,9185,2049,9209,2049,3646,119,111,114,100,32,110,111,116,32,102,111,
+ 117,110,100,0,1,13808,2049,9235,2049,9198,10,1,13800,0 };