continue work to removu

FossilOrigin-Name: 6e7d888e88b952d156f9eb4c905e756a085648cdc94f15f7b2bb31643c570164
This commit is contained in:
crc 2020-06-29 19:07:57 +00:00
parent 47d3fc471b
commit 02bd140c4b
13 changed files with 888 additions and 807 deletions

View file

@ -868,15 +868,24 @@ Given a file name, open it and run the quote once for each line in the file.
file:open D: sm-h A: - F: - file:open D: sm-h A: - F: -
Open a named file (s) with the given mode (m). Returns a handle identifying the file. Open a named file (s) with the given mode (m). Returns a handle identifying the file.
file:open<for-append> D: s-nn A: - F: - file:open-for-append D: s-nn A: - F: -
Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS) Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS)
file:open<for-reading> D: s-nn A: - F: - file:open-for-reading D: s-nn A: - F: -
Open a file for reading. Returns the size (NOS) and a file ID (TOS) Open a file for reading. Returns the size (NOS) and a file ID (TOS)
file:open<for-writing> D: s-n A: - F: - file:open-for-writing D: s-n A: - F: -
Open a file for writing. Returns the file ID Open a file for writing. Returns the file ID
file:open<for-append> D: s-nn A: - F: -
Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS). Deprecated.
file:open<for-reading> D: s-nn A: - F: -
Open a file for reading. Returns the size (NOS) and a file ID (TOS). Deprecated.
file:open<for-writing> D: s-n A: - F: -
Open a file for writing. Returns the file ID. Deprecated.
file:read D: h-c A: - F: - file:read D: h-c A: - F: -
Given a file handle, read and return the next character in it. Given a file handle, read and return the next character in it.

View file

@ -288,6 +288,9 @@ file:exists? D: s-f A: - F: -
file:flush D: h- A: - F: - file:flush D: h- A: - F: -
file:for-each-line D: sq- A: - F: - file:for-each-line D: sq- A: - F: -
file:open D: sm-h A: - F: - file:open D: sm-h A: - F: -
file:open-for-append D: s-nn A: - F: -
file:open-for-reading D: s-nn A: - F: -
file:open-for-writing D: s-n A: - F: -
file:open<for-append> D: s-nn A: - F: - file:open<for-append> D: s-nn A: - F: -
file:open<for-reading> D: s-nn A: - F: - file:open<for-reading> D: s-nn A: - F: -
file:open<for-writing> D: s-n A: - F: - file:open<for-writing> D: s-n A: - F: -

View file

@ -2164,27 +2164,48 @@
<xmp style='background:#222'> '/etc/motd file:R file:open</xmp> <xmp style='background:#222'> '/etc/motd file:R file:open</xmp>
</p> </p>
<hr/> <hr/>
<h2>file:open&lt;for-append&gt;</h2> <h2>file:open-for-append</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> s-nn<br> <div style='margin-left: 1em;'><p><b>Data:</b> s-nn<br>
<b>Addr:</b> -<br> <b>Addr:</b> -<br>
<b>Float:</b> -</p> <b>Float:</b> -</p>
</div> </div>
<p>Open a file for reading &amp; writing. Returns the size (NOS) and a file ID (TOS)</p> <p>Open a file for reading &amp; writing. Returns the size (NOS) and a file ID (TOS)</p>
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/> <table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>file:open&lt;for-reading&gt;</h2> <h2>file:open-for-reading</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> s-nn<br> <div style='margin-left: 1em;'><p><b>Data:</b> s-nn<br>
<b>Addr:</b> -<br> <b>Addr:</b> -<br>
<b>Float:</b> -</p> <b>Float:</b> -</p>
</div> </div>
<p>Open a file for reading. Returns the size (NOS) and a file ID (TOS)</p> <p>Open a file for reading. Returns the size (NOS) and a file ID (TOS)</p>
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/> <table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>file:open&lt;for-writing&gt;</h2> <h2>file:open-for-writing</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> s-n<br> <div style='margin-left: 1em;'><p><b>Data:</b> s-n<br>
<b>Addr:</b> -<br> <b>Addr:</b> -<br>
<b>Float:</b> -</p> <b>Float:</b> -</p>
</div> </div>
<p>Open a file for writing. Returns the file ID</p> <p>Open a file for writing. Returns the file ID</p>
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/> <table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>file:open&lt;for-append&gt;</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> s-nn<br>
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Open a file for reading &amp; writing. Returns the size (NOS) and a file ID (TOS). Deprecated.</p>
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>file:open&lt;for-reading&gt;</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> s-nn<br>
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Open a file for reading. Returns the size (NOS) and a file ID (TOS). Deprecated.</p>
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>file:open&lt;for-writing&gt;</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> s-n<br>
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Open a file for writing. Returns the file ID. Deprecated.</p>
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>file</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>file:read</h2> <h2>file:read</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> h-c<br> <div style='margin-left: 1em;'><p><b>Data:</b> h-c<br>
<b>Addr:</b> -<br> <b>Addr:</b> -<br>
@ -3805,7 +3826,7 @@
<p>Create a variable with the specified initial value.</p> <p>Create a variable with the specified initial value.</p>
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>global</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><p><b>Example:</b> <br> <table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>global</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><p><b>Example:</b> <br>
<br> <br>
<xmp style='background:#222'> #10 'Base var<n> <xmp style='background:#222'> #10 'Base var-n
</xmp> </xmp>
</p> </p>
<hr/> <hr/>
@ -3817,7 +3838,7 @@
<p>Create a variable with the specified initial value. Deprecated. Use `var-n` instead.</p> <p>Create a variable with the specified initial value. Deprecated. Use `var-n` instead.</p>
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>global</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><p><b>Example:</b> <br> <table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>global</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><p><b>Example:</b> <br>
<br> <br>
<xmp style='background:#222'> #10 'Base var<n> <xmp style='background:#222'> #10 'Base var-n
</xmp> </xmp>
</p> </p>
<hr/> <hr/>

View file

@ -3350,7 +3350,7 @@ Example #1:
------------------------------------------------------------------------ ------------------------------------------------------------------------
file:open<for-append> file:open-for-append
Data: s-nn Data: s-nn
Addr: - Addr: -
@ -3361,7 +3361,7 @@ Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS)
Class: class:word | Namespace: file | Interface Layer: rre Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------ ------------------------------------------------------------------------
file:open<for-reading> file:open-for-reading
Data: s-nn Data: s-nn
Addr: - Addr: -
@ -3372,7 +3372,7 @@ Open a file for reading. Returns the size (NOS) and a file ID (TOS)
Class: class:word | Namespace: file | Interface Layer: rre Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------ ------------------------------------------------------------------------
file:open<for-writing> file:open-for-writing
Data: s-n Data: s-n
Addr: - Addr: -
@ -3383,6 +3383,39 @@ Open a file for writing. Returns the file ID
Class: class:word | Namespace: file | Interface Layer: rre Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------ ------------------------------------------------------------------------
file:open<for-append>
Data: s-nn
Addr: -
Float: -
Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS). Deprecated.
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------
file:open<for-reading>
Data: s-nn
Addr: -
Float: -
Open a file for reading. Returns the size (NOS) and a file ID (TOS). Deprecated.
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------
file:open<for-writing>
Data: s-n
Addr: -
Float: -
Open a file for writing. Returns the file ID. Deprecated.
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------
file:read file:read
Data: h-c Data: h-c
@ -5838,7 +5871,7 @@ Class: class:word | Namespace: global | Interface Layer: all
Example #1: Example #1:
#10 'Base var<n> #10 'Base var-n
------------------------------------------------------------------------ ------------------------------------------------------------------------
@ -5855,7 +5888,7 @@ Class: class:word | Namespace: global | Interface Layer: all
Example #1: Example #1:
#10 'Base var<n> #10 'Base var-n
------------------------------------------------------------------------ ------------------------------------------------------------------------

View file

@ -288,9 +288,12 @@ file:exists? s-f - - Given a file name, return `TRUE` if it exists or `FALSE` if
file:flush h- - - Given a file handle, flush any pending writes to disk. class:word {n/a} {n/a} file rre file:flush h- - - Given a file handle, flush any pending writes to disk. class:word {n/a} {n/a} file rre
file:for-each-line sq- - - Given a file name, open it and run the quote once for each line in the file. class:word {n/a} {n/a} file rre file:for-each-line sq- - - Given a file name, open it and run the quote once for each line in the file. class:word {n/a} {n/a} file rre
file:open sm-h - - Open a named file (s) with the given mode (m). Returns a handle identifying the file. class:word '/etc/motd file:R file:open {n/a} file rre file:open sm-h - - Open a named file (s) with the given mode (m). Returns a handle identifying the file. class:word '/etc/motd file:R file:open {n/a} file rre
file:open<for-append> s-nn - - Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS) class:word {n/a} {n/a} file rre file:open-for-append s-nn - - Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS) class:word {n/a} {n/a} file rre
file:open<for-reading> s-nn - - Open a file for reading. Returns the size (NOS) and a file ID (TOS) class:word {n/a} {n/a} file rre file:open-for-reading s-nn - - Open a file for reading. Returns the size (NOS) and a file ID (TOS) class:word {n/a} {n/a} file rre
file:open<for-writing> s-n - - Open a file for writing. Returns the file ID class:word {n/a} {n/a} file rre file:open-for-writing s-n - - Open a file for writing. Returns the file ID class:word {n/a} {n/a} file rre
file:open<for-append> s-nn - - Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS). Deprecated. class:word {n/a} {n/a} file rre
file:open<for-reading> s-nn - - Open a file for reading. Returns the size (NOS) and a file ID (TOS). Deprecated. class:word {n/a} {n/a} file rre
file:open<for-writing> s-n - - Open a file for writing. Returns the file ID. Deprecated. class:word {n/a} {n/a} file rre
file:read h-c - - Given a file handle, read and return the next character in it. class:word {n/a} {n/a} file rre file:read h-c - - Given a file handle, read and return the next character in it. class:word {n/a} {n/a} file rre
file:read-line f-s - - Given a file handle, read a line and return a pointer to it. class:word {n/a} {n/a} file rre file:read-line f-s - - Given a file handle, read a line and return a pointer to it. class:word {n/a} {n/a} file rre
file:seek nh- - - Move the current offset into a file to the specified one. class:word {n/a} {n/a} file rre file:seek nh- - - Move the current offset into a file to the specified one. class:word {n/a} {n/a} file rre
@ -491,8 +494,8 @@ v:on a- - - Set a variable to -1. class:word {n/a} {n/a} v all
v:preserve aq- - - Make a copy of the value at the address, then run the quote. Once the quote completes, restore the address to the specified value. class:word {n/a} {n/a} v all v:preserve aq- - - Make a copy of the value at the address, then run the quote. Once the quote completes, restore the address to the specified value. class:word {n/a} {n/a} v all
v:update aq- - - Fetch a value from the specified address, then run the quotation with this value on the stack. Afterwards, store the returned value at the original address. class:word {n/a} {n/a} v all v:update aq- - - Fetch a value from the specified address, then run the quotation with this value on the stack. Afterwards, store the returned value at the original address. class:word {n/a} {n/a} v all
var s- - - Create a variable. The variable is initialized to 0. class:word 'Base var {n/a} global all var s- - - Create a variable. The variable is initialized to 0. class:word 'Base var {n/a} global all
var-n ns- - - Create a variable with the specified initial value. class:word #10 'Base var<n>\n {n/a} global all var-n ns- - - Create a variable with the specified initial value. class:word #10 'Base var-n\n {n/a} global all
var<n> ns- - - Create a variable with the specified initial value. Deprecated. Use `var-n` instead. class:word #10 'Base var<n>\n {n/a} global all var<n> ns- - - Create a variable with the specified initial value. Deprecated. Use `var-n` instead. class:word #10 'Base var-n\n {n/a} global all
while q- - - Execute quote repeatedly while the quote returns a `TRUE` value. The quote should return a flag of either `TRUE` or `FALSE`, though `while` will treat any non-zero value as `TRUE`. class:word #10 [ dup n:put nl n:dec dup n:-zero? ] while {n/a} global all while q- - - Execute quote repeatedly while the quote returns a `TRUE` value. The quote should return a flag of either `TRUE` or `FALSE`, though `while` will treat any non-zero value as `TRUE`. class:word #10 [ dup n:put nl n:dec dup n:-zero? ] while {n/a} global all
xor mn-o - - Perform a bitwise XOR operation. class:primitive {n/a} {n/a} global all xor mn-o - - Perform a bitwise XOR operation. class:primitive {n/a} {n/a} global all
{ - - - Begin an array. This is intended to make creating arrays a bit cleaner than using a quotation and `a:counted-results`. class:word {n/a} {n/a} global all { - - - Begin an array. This is intended to make creating arrays a bit cleaner than using a quotation and `a:counted-results`. class:word {n/a} {n/a} global all

Can't render this file because it contains an unexpected character in line 61 and column 55.

View file

@ -3,8 +3,8 @@ This uses the new `socket:` words to download a file via Gopher.
Open a file to store the data and a socket. Open a file to store the data and a socket.
~~~ ~~~
'Output.txt file:open<for-writing> 'File var<n> 'Output.txt file:open-for-writing 'File var-n
socket:create dup n:put nl 'Sock var<n> socket:create dup n:put nl 'Sock var-n
~~~ ~~~
Connect to the server. Connect to the server.

View file

@ -1,7 +1,7 @@
Get a socket. Get a socket.
~~~ ~~~
socket:create 'Sock var<n> socket:create 'Sock var-n
~~~ ~~~
Bind to port 9998. Bind to port 9998.

View file

@ -8,7 +8,7 @@ may serve as a starting point for something more useful later on.
'Tag d:create #1025 allot 'Tag d:create #1025 allot
'In-Tag var 'In-Tag var
#0 sys:argv file:open<for-reading> swap #0 sys:argv file:open-for-reading swap
[ dup file:read [ dup file:read
$< [ &Tag buffer:set &In-Tag v:on ] case $< [ &Tag buffer:set &In-Tag v:on ] case
$> [ &Tag 'head [ here buffer:set ] s:case $> [ &Tag 'head [ here buffer:set ] s:case

View file

@ -6,7 +6,7 @@ name, updating a column counter and adding newlines when needed.
~~~ ~~~
{{ {{
#3 'Columns var<n> #3 'Columns var-n
'PadTo var 'PadTo var
:determine-padding :determine-padding
#0 [ d:name s:length n:max ] d:for-each !PadTo ; #0 [ d:name s:length n:max ] d:for-each !PadTo ;

View file

@ -2,14 +2,14 @@ This implements a variation of `s:put` which wraps text based
on a maximum width set by the user. on a maximum width set by the user.
~~~ ~~~
#80 'WrapAt var<n> #80 'WrapAt var-n
{{ {{
'Displayed var 'Displayed var
:wrap? dup @Displayed + @WrapAt gt? ; :wrap? dup @Displayed + @WrapAt gt? ;
:display [ nl !Displayed ] [ &Displayed v:inc-by ] choose s:put sp ; :display [ nl !Displayed ] [ &Displayed v:inc-by ] choose s:put sp ;
---reveal--- ---reveal---
:s:put<wrapped> (s-) :s:put-wrapped (s-)
#0 !WrapAt #0 !WrapAt
&Heap [ ASCII:SPACE s:tokenize [ dup s:length wrap? display ] a:for-each ] v:preserve ; &Heap [ ASCII:SPACE s:tokenize [ dup s:length wrap? display ] a:for-each ] v:preserve ;
}} }}

View file

@ -108,6 +108,15 @@ Given a file name, return `TRUE` if it exists or `FALSE` otherwise.
:file:open<for-writing> (s-n) :file:open<for-writing> (s-n)
file:W file:open ; file:W file:open ;
:file:open-for-reading (s-nn)
file:R file:open dup file:size swap ;
:file:open-for-append (s-nn)
file:A file:open dup file:size swap ;
:file:open-for-writing (s-n)
file:W file:open ;
~~~ ~~~
With that out of the way, we can begin building higher level functionality. With that out of the way, we can begin building higher level functionality.
@ -140,7 +149,7 @@ once for each line in a file. This makes some things trivial. E.g., a simple
:file:for-each-line (sq-) :file:for-each-line (sq-)
[ !Action [ !Action
file:open<for-reading> !FID !Size file:open-for-reading !FID !Size
[ @FID file:read-line @Action call -eof? ] while [ @FID file:read-line @Action call -eof? ] while
@FID file:close @FID file:close
] preserve ; ] preserve ;
@ -154,7 +163,7 @@ once for each line in a file. This makes some things trivial. E.g., a simple
'FID var 'FID var
---reveal--- ---reveal---
:file:slurp (as-) :file:slurp (as-)
[ swap buffer:set file:open<for-reading> !FID [ swap buffer:set file:open-for-reading !FID
[ @FID file:read buffer:add ] times [ @FID file:read buffer:add ] times
@FID file:close @FID file:close
] buffer:preserve ; ] buffer:preserve ;
@ -165,5 +174,5 @@ once for each line in a file. This makes some things trivial. E.g., a simple
~~~ ~~~
:file:spew (ss-) :file:spew (ss-)
file:open<for-writing> swap [ over file:write ] s:for-each file:close ; file:open-for-writing swap [ over file:write ] s:for-each file:close ;
~~~ ~~~

File diff suppressed because it is too large Load diff

View file

@ -2,8 +2,8 @@
#ifndef CELL #ifndef CELL
#define CELL int32_t #define CELL int32_t
#endif #endif
CELL ngaImageCells = 14847; CELL ngaImageCells = 14944;
CELL ngaImage[] = { 1793,14167,14829,14846,202007,0,10,1,10,2,10,3,10,4,10,5,10,6,10, CELL ngaImage[] = { 1793,14264,14926,14943,202007,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, 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, 10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,10,68223234,1,2575,
85000450,1,656912,139,138,268505089,63,62,135205121,63,10,101384453,0,9,10,2049,56,25,459011,74, 85000450,1,656912,139,138,268505089,63,62,135205121,63,10,101384453,0,9,10,2049,56,25,459011,74,
@ -11,7 +11,7 @@ CELL ngaImage[] = { 1793,14167,14829,14846,202007,0,10,1,10,2,10,3,10,4,10,5,10,
84,524545,88,64,167838467,-1,134287105,3,59,659457,3,459023,105,2049,56,25,2049,105,1793,112, 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, 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, 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,17108737,3,2,524559,105,2049,105,2049,105,2049,119,168820998,2,13260,1025, 1,659713,2,659713,3,17108737,3,2,524559,105,2049,105,2049,105,2049,119,168820998,2,13357,1025,
167841793,177,5,17826049,0,177,2,15,25,524546,162,134287105,178,93,2305,179,459023,187,134287361,178, 167841793,177,5,17826049,0,177,2,15,25,524546,162,134287105,178,93,2305,179,459023,187,134287361,178,
182,659201,177,2049,56,25,84152833,48,286458116,10,459014,202,184618754,45,25,16974851,-1,168886532,1,134284289, 182,659201,177,2049,56,25,84152833,48,286458116,10,459014,202,184618754,45,25,16974851,-1,168886532,1,134284289,
1,211,134284289,0,202,660227,32,0,0,112,114,101,102,105,120,58,105,0,285278479,228, 1,211,134284289,0,202,660227,32,0,0,112,114,101,102,105,120,58,105,0,285278479,228,
@ -160,7 +160,7 @@ CELL ngaImage[] = { 1793,14167,14829,14846,202007,0,10,1,10,2,10,3,10,4,10,5,10,
983556,1793,3087,1,21,2049,2100,10,1,3082,2049,2100,4100,10,3065,3105,144,118,58,117, 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, 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, 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,14617,14669,10,3141,3163, 771,10,3118,3154,144,83,99,111,112,101,76,105,115,116,0,14714,14766,10,3141,3163,
144,123,123,0,2049,1570,2,1,3154,2049,59,16,10,3157,3188,144,45,45,45,114, 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, 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, 125,125,0,1,3154,2049,56,4,15,11,1793,3216,3841,3154,4097,2,10,1,3211,1793,
@ -491,258 +491,263 @@ CELL ngaImage[] = { 1793,14167,14829,14846,202007,0,10,1,10,2,10,3,10,4,10,5,10,
9473,2,2049,9583,4,10,9670,9730,144,102,105,108,101,58,111,112,101,110,60,102, 9473,2,2049,9583,4,10,9670,9730,144,102,105,108,101,58,111,112,101,110,60,102,
111,114,45,97,112,112,101,110,100,62,0,1,2,2049,9473,2,2049,9583,4,10, 111,114,45,97,112,112,101,110,100,62,0,1,2,2049,9473,2,2049,9583,4,10,
9705,9765,144,102,105,108,101,58,111,112,101,110,60,102,111,114,45,119,114,105, 9705,9765,144,102,105,108,101,58,111,112,101,110,60,102,111,114,45,119,114,105,
116,105,110,103,62,0,1,1,2049,9473,10,9739,9777,131,70,73,68,0,0,9770, 116,105,110,103,62,0,1,1,2049,9473,10,9739,9795,144,102,105,108,101,58,111,
9786,131,83,105,122,101,0,0,9778,9797,131,65,99,116,105,111,110,0,0,9787, 112,101,110,45,102,111,114,45,114,101,97,100,105,110,103,0,1,0,2049,9473,
9808,131,66,117,102,102,101,114,0,0,9798,9818,144,45,101,111,102,63,0,3841, 2,2049,9583,4,10,9770,9828,144,102,105,108,101,58,111,112,101,110,45,102,111,
9777,2049,9547,3841,9786,13,10,9809,9838,144,112,114,101,115,101,114,118,101,0,1, 114,45,97,112,112,101,110,100,0,1,2,2049,9473,2,2049,9583,4,10,9804,9862,
9777,1793,9849,1,9786,1,21,2049,3079,10,1,9842,2049,3079,10,9739,9872,144,102,105, 144,102,105,108,101,58,111,112,101,110,45,102,111,114,45,119,114,105,116,105,
108,101,58,114,101,97,100,45,108,105,110,101,0,4097,9777,1793,9929,2049,1874,2, 110,103,0,1,1,2049,9473,10,9837,9874,131,70,73,68,0,0,9867,9883,131,83,
4097,9808,2049,3428,1793,9921,3841,9777,2049,9510,2,2049,3336,1793,9898,1,13,11,10,1, 105,122,101,0,0,9875,9894,131,65,99,116,105,111,110,0,0,9884,9905,131,66,
9894,1793,9906,1,10,11,10,1,9902,1793,9914,1,0,11,10,1,9910,2049,2159,22, 117,102,102,101,114,0,0,9895,9915,144,45,101,111,102,63,0,3841,9874,2049,9547,
22,10,1,9885,2049,2250,2049,3360,3,10,1,9876,2049,3452,3841,9808,10,9854,9958,144, 3841,9883,13,10,9906,9935,144,112,114,101,115,101,114,118,101,0,1,9874,1793,9946,
102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,105,110,101,0,1793, 1,9883,1,21,2049,3079,10,1,9939,2049,3079,10,9837,9969,144,102,105,108,101,58,
9989,4097,9797,2049,9696,4097,9777,4097,9786,1793,9980,3841,9777,2049,9872,3841,9797,8,2049,9818, 114,101,97,100,45,108,105,110,101,0,4097,9874,1793,10026,2049,1874,2,4097,9905,2049,
10,1,9970,2049,2227,3841,9777,2049,9492,10,1,9960,2049,9838,10,9936,10001,131,70,73, 3428,1793,10018,3841,9874,2049,9510,2,2049,3336,1793,9995,1,13,11,10,1,9991,1793,10003,
68,0,0,9936,10016,144,102,105,108,101,58,115,108,117,114,112,0,1793,10043,4, 1,10,11,10,1,9999,1793,10011,1,0,11,10,1,10007,2049,2159,22,22,10,1,
2049,3428,2049,9696,4097,10001,1793,10034,3841,10001,2049,9510,2049,3336,10,1,10027,2049,2275,3841, 9982,2049,2250,2049,3360,3,10,1,9973,2049,3452,3841,9905,10,9951,10055,144,102,105,108,
10001,2049,9492,10,1,10018,2049,3452,10,10002,10061,144,102,105,108,101,58,115,112,101, 101,58,102,111,114,45,101,97,99,104,45,108,105,110,101,0,1793,10086,4097,9894,
119,0,2049,9765,4,1793,10070,67502597,2049,9529,10,1,10066,2049,3870,2049,9492,10,10048,10084, 2049,9795,4097,9874,4097,9883,1793,10077,3841,9874,2049,9969,3841,9894,8,2049,9915,10,1,10067,
131,70,80,85,0,0,10077,10097,144,105,100,101,110,116,105,102,121,0,3841,10084, 2049,2227,3841,9874,2049,9492,10,1,10057,2049,9935,10,10033,10098,131,70,73,68,0,0,
2049,2527,1793,10164,1,2,2049,9125,2,2049,2562,1793,10152,3,2049,3646,73,79,32,68, 10033,10113,144,102,105,108,101,58,115,108,117,114,112,0,1793,10140,4,2049,3428,2049,
69,86,73,67,69,32,84,89,80,69,32,48,48,48,50,32,78,79,84,32, 9795,4097,10098,1793,10131,3841,10098,2049,9510,2049,3336,10,1,10124,2049,2275,3841,10098,2049,9492,
70,79,85,78,68,0,1,10115,2049,9221,2049,9184,10,1,10112,1793,10159,4097,10084,10, 10,1,10115,2049,3452,10,10099,10158,144,102,105,108,101,58,115,112,101,119,0,2049,
1,10156,2049,64,10,1,10103,9,10,10048,10190,144,105,111,58,102,108,111,97,116, 9862,4,1793,10167,67502597,2049,9529,10,1,10163,2049,3870,2049,9492,10,10145,10181,131,70,80,
45,111,112,101,114,97,116,105,111,110,0,2049,10097,3841,10084,2049,9108,10,10168,10211, 85,0,0,10174,10194,144,105,100,101,110,116,105,102,121,0,3841,10181,2049,2527,1793,
144,110,58,116,111,45,102,108,111,97,116,0,1,0,2049,10190,10,10197,10230,144, 10261,1,2,2049,9125,2,2049,2562,1793,10249,3,2049,3646,73,79,32,68,69,86,73,
115,58,116,111,45,102,108,111,97,116,0,1,1,2049,10190,10,10216,10250,144,102, 67,69,32,84,89,80,69,32,48,48,48,50,32,78,79,84,32,70,79,85,
58,116,111,45,110,117,109,98,101,114,0,1,2,2049,10190,10,10235,10270,144,102, 78,68,0,1,10212,2049,9221,2049,9184,10,1,10209,1793,10256,4097,10181,10,1,10253,2049,
58,116,111,45,115,116,114,105,110,103,0,2049,3627,2,1,3,2049,10190,10,10255, 64,10,1,10200,9,10,10145,10287,144,105,111,58,102,108,111,97,116,45,111,112,
10285,144,102,58,43,0,1,4,2049,10190,10,10278,10297,144,102,58,45,0,1,5, 101,114,97,116,105,111,110,0,2049,10194,3841,10181,2049,9108,10,10265,10308,144,110,58,
2049,10190,10,10290,10309,144,102,58,42,0,1,6,2049,10190,10,10302,10321,144,102,58, 116,111,45,102,108,111,97,116,0,1,0,2049,10287,10,10294,10327,144,115,58,116,
47,0,1,7,2049,10190,10,10314,10337,144,102,58,102,108,111,111,114,0,1,8, 111,45,102,108,111,97,116,0,1,1,2049,10287,10,10313,10347,144,102,58,116,111,
2049,10190,10,10326,10355,144,102,58,99,101,105,108,105,110,103,0,1,9,2049,10190, 45,110,117,109,98,101,114,0,1,2,2049,10287,10,10332,10367,144,102,58,116,111,
10,10342,10370,144,102,58,115,113,114,116,0,1,10,2049,10190,10,10360,10384,144,102, 45,115,116,114,105,110,103,0,2049,3627,2,1,3,2049,10287,10,10352,10382,144,102,
58,101,113,63,0,1,11,2049,10190,10,10375,10399,144,102,58,45,101,113,63,0, 58,43,0,1,4,2049,10287,10,10375,10394,144,102,58,45,0,1,5,2049,10287,10,
1,12,2049,10190,10,10389,10413,144,102,58,108,116,63,0,1,13,2049,10190,10,10404, 10387,10406,144,102,58,42,0,1,6,2049,10287,10,10399,10418,144,102,58,47,0,1,
10427,144,102,58,103,116,63,0,1,14,2049,10190,10,10418,10443,144,102,58,100,101, 7,2049,10287,10,10411,10434,144,102,58,102,108,111,111,114,0,1,8,2049,10287,10,
112,116,104,0,1,15,2049,10190,10,10432,10457,144,102,58,100,117,112,0,1,16, 10423,10452,144,102,58,99,101,105,108,105,110,103,0,1,9,2049,10287,10,10439,10467,
2049,10190,10,10448,10472,144,102,58,100,114,111,112,0,1,17,2049,10190,10,10462,10487, 144,102,58,115,113,114,116,0,1,10,2049,10287,10,10457,10481,144,102,58,101,113,
144,102,58,115,119,97,112,0,1,18,2049,10190,10,10477,10501,144,102,58,108,111, 63,0,1,11,2049,10287,10,10472,10496,144,102,58,45,101,113,63,0,1,12,2049,
103,0,1,19,2049,10190,10,10492,10517,144,102,58,112,111,119,101,114,0,1,20, 10287,10,10486,10510,144,102,58,108,116,63,0,1,13,2049,10287,10,10501,10524,144,102,
2049,10190,10,10506,10531,144,102,58,115,105,110,0,1,21,2049,10190,10,10522,10545,144, 58,103,116,63,0,1,14,2049,10287,10,10515,10540,144,102,58,100,101,112,116,104,
102,58,99,111,115,0,1,22,2049,10190,10,10536,10559,144,102,58,116,97,110,0, 0,1,15,2049,10287,10,10529,10554,144,102,58,100,117,112,0,1,16,2049,10287,10,
1,23,2049,10190,10,10550,10574,144,102,58,97,115,105,110,0,1,24,2049,10190,10, 10545,10569,144,102,58,100,114,111,112,0,1,17,2049,10287,10,10559,10584,144,102,58,
10564,10589,144,102,58,97,99,111,115,0,1,25,2049,10190,10,10579,10604,144,102,58, 115,119,97,112,0,1,18,2049,10287,10,10574,10598,144,102,58,108,111,103,0,1,
97,116,97,110,0,1,26,2049,10190,10,10594,10619,144,102,58,112,117,115,104,0, 19,2049,10287,10,10589,10614,144,102,58,112,111,119,101,114,0,1,20,2049,10287,10,
1,27,2049,10190,10,10609,10633,144,102,58,112,111,112,0,1,28,2049,10190,10,10624, 10603,10628,144,102,58,115,105,110,0,1,21,2049,10287,10,10619,10642,144,102,58,99,
10650,144,102,58,97,100,101,112,116,104,0,1,29,2049,10190,10,10638,10667,144,102, 111,115,0,1,22,2049,10287,10,10633,10656,144,102,58,116,97,110,0,1,23,2049,
58,115,113,117,97,114,101,0,2049,10457,2049,10309,10,10655,10682,144,102,58,111,118, 10287,10,10647,10671,144,102,58,97,115,105,110,0,1,24,2049,10287,10,10661,10686,144,
101,114,0,2049,10619,2049,10457,2049,10633,2049,10487,10,10672,10701,144,102,58,116,117,99, 102,58,97,99,111,115,0,1,25,2049,10287,10,10676,10701,144,102,58,97,116,97,
107,0,2049,10457,2049,10619,2049,10487,2049,10633,10,10691,10719,144,102,58,110,105,112,0, 110,0,1,26,2049,10287,10,10691,10716,144,102,58,112,117,115,104,0,1,27,2049,
2049,10487,2049,10472,10,10710,10739,144,102,58,100,114,111,112,45,112,97,105,114,0, 10287,10,10706,10730,144,102,58,112,111,112,0,1,28,2049,10287,10,10721,10747,144,102,
2049,10472,2049,10472,10,10724,10758,144,102,58,100,117,112,45,112,97,105,114,0,2049, 58,97,100,101,112,116,104,0,1,29,2049,10287,10,10735,10764,144,102,58,115,113,
10682,2049,10682,10,10744,10772,144,102,58,114,111,116,0,2049,10619,2049,10487,2049,10633,2049, 117,97,114,101,0,2049,10554,2049,10406,10,10752,10779,144,102,58,111,118,101,114,0,
10487,10,10763,10796,144,102,58,112,111,115,105,116,105,118,101,63,0,1,0,2049, 2049,10716,2049,10554,2049,10730,2049,10584,10,10769,10798,144,102,58,116,117,99,107,0,2049,
10211,2049,10427,10,10781,10818,144,102,58,110,101,103,97,116,105,118,101,63,0,1, 10554,2049,10716,2049,10584,2049,10730,10,10788,10816,144,102,58,110,105,112,0,2049,10584,2049,
0,2049,10211,2049,10413,10,10803,10837,144,102,58,110,101,103,97,116,101,0,1,-1, 10569,10,10807,10836,144,102,58,100,114,111,112,45,112,97,105,114,0,2049,10569,2049,
2049,10211,2049,10309,10,10825,10853,144,102,58,97,98,115,0,2049,10457,2049,10818,1,10837, 10569,10,10821,10855,144,102,58,100,117,112,45,112,97,105,114,0,2049,10779,2049,10779,
9,10,10844,10873,156,112,114,101,102,105,120,58,46,0,2049,1815,1,3672,1,3601, 10,10841,10869,144,102,58,114,111,116,0,2049,10716,2049,10584,2049,10730,2049,10584,10,10860,
2049,64,1,10230,2049,144,10,10861,10895,144,102,58,112,117,116,0,2049,10270,2049,9221, 10893,144,102,58,112,111,115,105,116,105,118,101,63,0,1,0,2049,10308,2049,10524,
10,10886,10908,144,102,58,80,73,0,2049,3646,51,46,49,52,49,53,57,50,0, 10,10878,10915,144,102,58,110,101,103,97,116,105,118,101,63,0,1,0,2049,10308,
1,10910,2049,10230,10,10900,10931,144,102,58,69,0,2049,3646,50,46,55,49,56,50, 2049,10510,10,10900,10934,144,102,58,110,101,103,97,116,101,0,1,-1,2049,10308,2049,
56,49,0,1,10933,2049,10230,10,10924,10956,144,102,58,78,65,78,0,2049,3646,48, 10406,10,10922,10950,144,102,58,97,98,115,0,2049,10554,2049,10915,1,10934,9,10,10941,
0,1,10958,2049,10230,2049,3646,48,0,1,10966,2049,10230,2049,10321,10,10947,10984,144,102, 10970,156,112,114,101,102,105,120,58,46,0,2049,1815,1,3672,1,3601,2049,64,1,
58,73,78,70,0,2049,3646,49,46,48,0,1,10986,2049,10230,2049,3646,48,0,1, 10327,2049,144,10,10958,10992,144,102,58,112,117,116,0,2049,10367,2049,9221,10,10983,11005,
10996,2049,10230,2049,10321,10,10975,11015,144,102,58,45,73,78,70,0,2049,3646,45,49, 144,102,58,80,73,0,2049,3646,51,46,49,52,49,53,57,50,0,1,11007,2049,
46,48,0,1,11017,2049,10230,2049,3646,48,0,1,11028,2049,10230,2049,10321,10,11005,11047, 10327,10,10997,11028,144,102,58,69,0,2049,3646,50,46,55,49,56,50,56,49,0,
144,102,58,110,97,110,63,0,2049,10457,2049,10399,10,11037,11062,144,102,58,105,110, 1,11030,2049,10327,10,11021,11053,144,102,58,78,65,78,0,2049,3646,48,0,1,11055,
102,63,0,2049,10984,2049,10384,10,11052,11078,144,102,58,45,105,110,102,63,0,2049, 2049,10327,2049,3646,48,0,1,11063,2049,10327,2049,10418,10,11044,11081,144,102,58,73,78,
11015,2049,10384,10,11067,11094,144,102,58,114,111,117,110,100,0,2049,10457,2049,10818,1793, 70,0,2049,3646,49,46,48,0,1,11083,2049,10327,2049,3646,48,0,1,11093,2049,10327,
11115,2049,3646,48,46,53,0,1,11102,2049,10230,2049,10297,2049,10355,10,1,11100,1793,11134, 2049,10418,10,11072,11112,144,102,58,45,73,78,70,0,2049,3646,45,49,46,48,0,
2049,3646,48,46,53,0,1,11121,2049,10230,2049,10285,2049,10337,10,1,11119,2049,64,10, 1,11114,2049,10327,2049,3646,48,0,1,11125,2049,10327,2049,10418,10,11102,11144,144,102,58,
11083,11148,144,102,58,109,105,110,0,2049,10758,2049,10413,1,10472,1,10719,2049,64,10, 110,97,110,63,0,2049,10554,2049,10496,10,11134,11159,144,102,58,105,110,102,63,0,
11139,11168,144,102,58,109,97,120,0,2049,10758,2049,10427,1,10472,1,10719,2049,64,10, 2049,11081,2049,10481,10,11149,11175,144,102,58,45,105,110,102,63,0,2049,11112,2049,10481,
11159,11190,144,102,58,108,105,109,105,116,0,2049,10487,2049,10619,2049,11148,2049,10633,2049, 10,11164,11191,144,102,58,114,111,117,110,100,0,2049,10554,2049,10915,1793,11212,2049,3646,
11168,10,11179,11215,144,102,58,98,101,116,119,101,101,110,63,0,2049,10772,2049,10457, 48,46,53,0,1,11199,2049,10327,2049,10394,2049,10452,10,1,11197,1793,11231,2049,3646,48,
2049,10619,2049,10772,2049,10772,2049,11190,2049,10633,2049,10384,10,11201,11241,144,102,58,105,110, 46,53,0,1,11218,2049,10327,2049,10382,2049,10434,10,1,11216,2049,64,10,11180,11245,144,
99,0,2049,3646,49,0,1,11243,2049,10230,2049,10285,10,11232,11261,144,102,58,100,101, 102,58,109,105,110,0,2049,10855,2049,10510,1,10569,1,10816,2049,64,10,11236,11265,144,
99,0,2049,3646,49,0,1,11263,2049,10230,2049,10297,10,11252,11282,144,102,58,99,97, 102,58,109,97,120,0,2049,10855,2049,10524,1,10569,1,10816,2049,64,10,11256,11287,144,
115,101,0,2049,10682,2049,10384,1793,11294,2049,10472,8,1,-1,10,1,11288,1793,11302,3, 102,58,108,105,109,105,116,0,2049,10584,2049,10716,2049,11245,2049,10730,2049,11265,10,11276,
1,0,10,1,11298,2049,64,25,6,771,10,11272,11320,144,102,58,115,105,103,110, 11312,144,102,58,98,101,116,119,101,101,110,63,0,2049,10869,2049,10554,2049,10716,2049,
0,2049,10457,2049,3646,48,0,1,11324,2049,10230,2049,10384,1793,11339,1,0,2049,10472,10, 10869,2049,10869,2049,11287,2049,10730,2049,10481,10,11298,11338,144,102,58,105,110,99,0,2049,
1,11334,2049,2653,2049,3646,48,0,1,11345,2049,10230,2049,10427,1793,11358,1,1,10,1, 3646,49,0,1,11340,2049,10327,2049,10382,10,11329,11358,144,102,58,100,101,99,0,2049,
11355,1793,11365,1,-1,10,1,11362,2049,64,10,11310,2147483645,131,101,58,77,65,88,0, 3646,49,0,1,11360,2049,10327,2049,10394,10,11349,11379,144,102,58,99,97,115,101,0,
11370,-2147483645,131,101,58,77,73,78,0,11379,-2147483647,131,101,58,78,65,78,0,11388,2147483646, 2049,10779,2049,10481,1793,11391,2049,10569,8,1,-1,10,1,11385,1793,11399,3,1,0,10,
131,101,58,73,78,70,0,11397,-2147483646,131,101,58,45,73,78,70,0,11406,11424,144, 1,11395,2049,64,25,6,771,10,11369,11417,144,102,58,115,105,103,110,0,2049,10554,
101,58,110,63,0,1,-2147483645,2049,2890,1,2147483645,2049,2903,2049,2921,10,11416,11445,144,101, 2049,3646,48,0,1,11421,2049,10327,2049,10481,1793,11436,1,0,2049,10569,10,1,11431,2049,
58,109,97,120,63,0,1,2147483645,11,10,11435,11459,144,101,58,109,105,110,63,0, 2653,2049,3646,48,0,1,11442,2049,10327,2049,10524,1793,11455,1,1,10,1,11452,1793,11462,
1,-2147483645,11,10,11449,11474,144,101,58,122,101,114,111,63,0,2049,2527,10,11463,11487, 1,-1,10,1,11459,2049,64,10,11407,2147483645,131,101,58,77,65,88,0,11467,-2147483645,131,
144,101,58,110,97,110,63,0,1,-2147483647,11,10,11477,11501,144,101,58,105,110,102, 101,58,77,73,78,0,11476,-2147483647,131,101,58,78,65,78,0,11485,2147483646,131,101,58,
63,0,1,2147483646,11,10,11491,11516,144,101,58,45,105,110,102,63,0,1,-2147483646,11, 73,78,70,0,11494,-2147483646,131,101,58,45,73,78,70,0,11503,11521,144,101,58,110,
10,11505,11530,144,101,58,99,108,105,112,0,1,-2147483645,1,2147483645,2049,2873,10,11520,11545, 63,0,1,-2147483645,2049,2890,1,2147483645,2049,2903,2049,2921,10,11513,11542,144,101,58,109,97,
144,102,58,69,49,0,1793,11547,2049,3646,49,46,101,53,0,1,11549,2049,10230,10, 120,63,0,1,2147483645,11,10,11532,11556,144,101,58,109,105,110,63,0,1,-2147483645,11,
11537,11571,144,102,58,45,115,104,105,102,116,0,2049,11545,2049,10309,10,11559,11588,144, 10,11546,11571,144,101,58,122,101,114,111,63,0,2049,2527,10,11560,11584,144,101,58,
102,58,43,115,104,105,102,116,0,2049,11545,2049,10321,10,11576,11610,144,102,58,115, 110,97,110,63,0,1,-2147483647,11,10,11574,11598,144,101,58,105,110,102,63,0,1,
105,103,110,101,100,45,115,113,114,116,0,2049,10457,2049,11320,2049,10853,2049,10370,2049, 2147483646,11,10,11588,11613,144,101,58,45,105,110,102,63,0,1,-2147483646,11,10,11602,11627,
10211,2049,10309,10,11593,11636,144,102,58,43,101,110,99,111,100,101,0,2049,11610,2049, 144,101,58,99,108,105,112,0,1,-2147483645,1,2147483645,2049,2873,10,11617,11642,144,102,58,
11571,10,11623,11654,144,102,58,45,101,110,99,111,100,101,0,2049,10457,2049,11320,2049, 69,49,0,1793,11644,2049,3646,49,46,101,53,0,1,11646,2049,10327,10,11634,11668,144,
11588,2049,10457,2049,10309,2049,10211,2049,10309,10,11641,11688,144,102,58,115,105,103,110,101, 102,58,45,115,104,105,102,116,0,2049,11642,2049,10406,10,11656,11685,144,102,58,43,
100,45,115,113,117,97,114,101,0,2049,10457,2049,11320,2049,10457,2049,10309,2049,10211,2049, 115,104,105,102,116,0,2049,11642,2049,10418,10,11673,11707,144,102,58,115,105,103,110,
10309,10,11669,11711,144,102,58,116,111,45,101,0,2049,10457,2049,11047,1793,11722,2049,10472, 101,100,45,115,113,114,116,0,2049,10554,2049,11417,2049,10950,2049,10467,2049,10308,2049,10406,
1,-2147483647,10,1,11717,2049,2653,2049,10457,2049,11062,1793,11737,2049,10472,1,2147483646,10,1,11732, 10,11690,11733,144,102,58,43,101,110,99,111,100,101,0,2049,11707,2049,11668,10,11720,
2049,2653,2049,10457,2049,11078,1793,11752,2049,10472,1,-2147483646,10,1,11747,2049,2653,2049,11636,2049, 11751,144,102,58,45,101,110,99,111,100,101,0,2049,10554,2049,11417,2049,11685,2049,10554,
11094,2049,10250,2049,11530,1,-2147483645,1793,11771,2049,10472,10,1,11768,2049,2373,1,2147483645,1793,11782, 2049,10406,2049,10308,2049,10406,10,11738,11785,144,102,58,115,105,103,110,101,100,45,115,
2049,10472,10,1,11779,2049,2373,10,11701,11797,144,101,58,116,111,45,102,0,1,-2147483647, 113,117,97,114,101,0,2049,10554,2049,11417,2049,10554,2049,10406,2049,10308,2049,10406,10,11766,
1793,11804,2049,10956,10,1,11801,2049,2373,1,2147483646,1793,11815,2049,10984,10,1,11812,2049,2373, 11808,144,102,58,116,111,45,101,0,2049,10554,2049,11144,1793,11819,2049,10569,1,-2147483647,10,
1,-2147483646,1793,11826,2049,11015,10,1,11823,2049,2373,2049,10211,2049,11654,10,11787,11846,144,102, 1,11814,2049,2653,2049,10554,2049,11159,1793,11834,2049,10569,1,2147483646,10,1,11829,2049,2653,2049,
58,115,116,111,114,101,0,1793,11851,2049,11711,10,1,11848,2049,2100,16,10,11835,11868, 10554,2049,11175,1793,11849,2049,10569,1,-2147483646,10,1,11844,2049,2653,2049,11733,2049,11191,2049,10347,
144,102,58,102,101,116,99,104,0,15,2049,11797,10,11857,11888,144,102,58,100,117, 2049,11627,1,-2147483645,1793,11868,2049,10569,10,1,11865,2049,2373,1,2147483645,1793,11879,2049,10569,10,
109,112,45,115,116,97,99,107,0,2049,10443,2,1,10619,2049,2275,1793,11906,2049,10633, 1,11876,2049,2373,10,11798,11894,144,101,58,116,111,45,102,0,1,-2147483647,1793,11901,2049,
2049,10457,2049,10895,2049,9195,10,1,11897,2049,2275,10,11872,11928,144,102,58,100,117,109, 11053,10,1,11898,2049,2373,1,2147483646,1793,11912,2049,11081,10,1,11909,2049,2373,1,-2147483646,1793,
112,45,97,115,116,97,99,107,0,2049,10650,2,1,10633,2049,2275,1793,11946,2049,10457, 11923,2049,11112,10,1,11920,2049,2373,2049,10308,2049,11751,10,11884,11943,144,102,58,115,116,
2049,10895,2049,9195,2049,10619,10,1,11937,2049,2275,10,11911,11960,144,101,58,112,117,116, 111,114,101,0,1793,11948,2049,11808,10,1,11945,2049,2100,16,10,11932,11965,144,102,58,
0,1,2147483645,1793,11977,2049,3646,101,58,77,65,88,0,1,11966,2049,9221,10,1,11964, 102,101,116,99,104,0,15,2049,11894,10,11954,11985,144,102,58,100,117,109,112,45,
2049,2373,1,-2147483645,1793,11998,2049,3646,101,58,77,73,78,0,1,11987,2049,9221,10,1, 115,116,97,99,107,0,2049,10540,2,1,10716,2049,2275,1793,12003,2049,10730,2049,10554,2049,
11985,2049,2373,1,0,1793,12017,2049,3646,101,58,48,0,1,12008,2049,9221,10,1,12006, 10992,2049,9195,10,1,11994,2049,2275,10,11969,12025,144,102,58,100,117,109,112,45,97,
2049,2373,1,-2147483647,1793,12038,2049,3646,101,58,78,65,78,0,1,12027,2049,9221,10,1, 115,116,97,99,107,0,2049,10747,2,1,10730,2049,2275,1793,12043,2049,10554,2049,10992,2049,
12025,2049,2373,1,2147483646,1793,12059,2049,3646,101,58,73,78,70,0,1,12048,2049,9221,10, 9195,2049,10716,10,1,12034,2049,2275,10,12008,12057,144,101,58,112,117,116,0,1,2147483645,
1,12046,2049,2373,1,-2147483646,1793,12081,2049,3646,101,58,45,73,78,70,0,1,12069,2049, 1793,12074,2049,3646,101,58,77,65,88,0,1,12063,2049,9221,10,1,12061,2049,2373,1,
9221,10,1,12067,2049,2373,2049,11797,2049,10895,10,11951,12098,131,85,110,105,120,0,0, -2147483645,1793,12095,2049,3646,101,58,77,73,78,0,1,12084,2049,9221,10,1,12082,2049,2373,
12090,12111,144,105,100,101,110,116,105,102,121,0,3841,12098,2049,2527,1793,12178,1,8, 1,0,1793,12114,2049,3646,101,58,48,0,1,12105,2049,9221,10,1,12103,2049,2373,1,
2049,9125,2,2049,2562,1793,12166,3,2049,3646,73,79,32,68,69,86,73,67,69,32, -2147483647,1793,12135,2049,3646,101,58,78,65,78,0,1,12124,2049,9221,10,1,12122,2049,2373,
84,89,80,69,32,48,48,48,56,32,78,79,84,32,70,79,85,78,68,0, 1,2147483646,1793,12156,2049,3646,101,58,73,78,70,0,1,12145,2049,9221,10,1,12143,2049,
1,12129,2049,9221,2049,9184,10,1,12126,1793,12173,4097,12098,10,1,12170,2049,64,10,1, 2373,1,-2147483646,1793,12178,2049,3646,101,58,45,73,78,70,0,1,12166,2049,9221,10,1,
12117,9,10,11951,12201,144,105,111,58,117,110,105,120,45,115,121,115,99,97,108, 12164,2049,2373,2049,11894,2049,10992,10,12048,12195,131,85,110,105,120,0,0,12187,12208,144,
108,0,2049,12111,3841,12098,2049,9108,10,12182,12223,144,117,110,105,120,58,115,121,115, 105,100,101,110,116,105,102,121,0,3841,12195,2049,2527,1793,12275,1,8,2049,9125,2,
116,101,109,0,1,0,2049,12201,10,12208,12241,144,117,110,105,120,58,102,111,114, 2049,2562,1793,12263,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,
107,0,1,1,2049,12201,10,12228,12260,144,117,110,105,120,58,101,120,101,99,48, 69,32,48,48,48,56,32,78,79,84,32,70,79,85,78,68,0,1,12226,2049,
0,1,2,2049,12201,10,12246,12279,144,117,110,105,120,58,101,120,101,99,49,0, 9221,2049,9184,10,1,12223,1793,12270,4097,12195,10,1,12267,2049,64,10,1,12214,9,10,
1,3,2049,12201,10,12265,12298,144,117,110,105,120,58,101,120,101,99,50,0,1, 12048,12298,144,105,111,58,117,110,105,120,45,115,121,115,99,97,108,108,0,2049,
4,2049,12201,10,12284,12317,144,117,110,105,120,58,101,120,101,99,51,0,1,5, 12208,3841,12195,2049,9108,10,12279,12320,144,117,110,105,120,58,115,121,115,116,101,109,
2049,12201,10,12303,12335,144,117,110,105,120,58,101,120,105,116,0,1,6,2049,12201, 0,1,0,2049,12298,10,12305,12338,144,117,110,105,120,58,102,111,114,107,0,1,
10,12322,12355,144,117,110,105,120,58,103,101,116,112,105,100,0,1,7,2049,12201, 1,2049,12298,10,12325,12357,144,117,110,105,120,58,101,120,101,99,48,0,1,2,
10,12340,12373,144,117,110,105,120,58,119,97,105,116,0,1,8,2049,12201,10,12360, 2049,12298,10,12343,12376,144,117,110,105,120,58,101,120,101,99,49,0,1,3,2049,
12391,144,117,110,105,120,58,107,105,108,108,0,1,9,2049,12201,10,12378,12410,144, 12298,10,12362,12395,144,117,110,105,120,58,101,120,101,99,50,0,1,4,2049,12298,
117,110,105,120,58,112,111,112,101,110,0,1,10,2049,12201,10,12396,12430,144,117, 10,12381,12414,144,117,110,105,120,58,101,120,101,99,51,0,1,5,2049,12298,10,
110,105,120,58,112,99,108,111,115,101,0,1,11,2049,12201,10,12415,12449,144,117, 12400,12432,144,117,110,105,120,58,101,120,105,116,0,1,6,2049,12298,10,12419,12452,
110,105,120,58,99,104,100,105,114,0,1,13,2049,12201,10,12435,12469,144,117,110, 144,117,110,105,120,58,103,101,116,112,105,100,0,1,7,2049,12298,10,12437,12470,
105,120,58,103,101,116,101,110,118,0,1,14,2049,12201,10,12454,12489,144,117,110, 144,117,110,105,120,58,119,97,105,116,0,1,8,2049,12298,10,12457,12488,144,117,
105,120,58,112,117,116,101,110,118,0,1,15,2049,12201,10,12474,12508,144,117,110, 110,105,120,58,107,105,108,108,0,1,9,2049,12298,10,12475,12507,144,117,110,105,
105,120,58,115,108,101,101,112,0,1,16,2049,12201,10,12494,12529,144,117,110,105, 120,58,112,111,112,101,110,0,1,10,2049,12298,10,12493,12527,144,117,110,105,120,
120,58,103,101,116,45,99,119,100,0,2049,3646,112,119,100,0,1,12531,1,0, 58,112,99,108,111,115,101,0,1,11,2049,12298,10,12512,12546,144,117,110,105,120,
2049,12410,2,2049,9872,2049,5990,4,2049,12430,2049,3646,47,0,1,12551,2049,3852,10,12513, 58,99,104,100,105,114,0,1,13,2049,12298,10,12532,12566,144,117,110,105,120,58,
12585,144,117,110,105,120,58,99,111,117,110,116,45,102,105,108,101,115,45,105, 103,101,116,101,110,118,0,1,14,2049,12298,10,12551,12586,144,117,110,105,120,58,
110,45,99,119,100,0,2049,3646,108,115,32,45,49,32,124,32,119,99,32,45, 112,117,116,101,110,118,0,1,15,2049,12298,10,12571,12605,144,117,110,105,120,58,
108,0,1,12587,1,0,2049,12410,2,2049,9872,2049,5990,2049,218,4,2049,12430,10,12558, 115,108,101,101,112,0,1,16,2049,12298,10,12591,12626,144,117,110,105,120,58,103,
12640,144,117,110,105,120,58,102,111,114,45,101,97,99,104,45,102,105,108,101, 101,116,45,99,119,100,0,2049,3646,112,119,100,0,1,12628,1,0,2049,12507,2,
0,2049,3646,108,115,32,45,49,32,45,112,0,1,12642,1,0,2049,12410,2049,12585, 2049,9969,2049,5990,4,2049,12527,2049,3646,47,0,1,12648,2049,3852,10,12610,12682,144,117,
1793,12675,1793,12670,2049,9872,2049,3601,67502597,8,10,1,12663,2049,2110,10,1,12661,2049,2275, 110,105,120,58,99,111,117,110,116,45,102,105,108,101,115,45,105,110,45,99,
2049,12430,3,10,12618,12692,144,115,116,97,114,116,0,4,2049,3428,1,0,2049,12410, 119,100,0,2049,3646,108,115,32,45,49,32,124,32,119,99,32,45,108,0,1,
10,12683,12708,144,114,101,97,100,0,2,2049,9510,2,2049,3336,2049,2527,10,12700,12727, 12684,1,0,2049,12507,2,2049,9969,2049,5990,2049,218,4,2049,12527,10,12655,12737,144,117,
144,102,105,110,105,115,104,0,2049,12430,2049,3408,10,12618,12751,144,117,110,105,120, 110,105,120,58,102,111,114,45,101,97,99,104,45,102,105,108,101,0,2049,3646,
58,115,108,117,114,112,45,112,105,112,101,0,1793,12767,2049,12692,1793,12760,2049,12708, 108,115,32,45,49,32,45,112,0,1,12739,1,0,2049,12507,2049,12682,1793,12772,1793,
10,1,12757,2049,2250,2049,12727,10,1,12753,2049,3452,10,12732,12778,131,105,111,0,0, 12767,2049,9969,2049,3601,67502597,8,10,1,12760,2049,2110,10,1,12758,2049,2275,2049,12527,3,
12772,12791,144,105,100,101,110,116,105,102,121,0,3841,12778,2049,2527,1793,12858,1,10, 10,12715,12789,144,115,116,97,114,116,0,4,2049,3428,1,0,2049,12507,10,12780,12805,
2049,9125,2,2049,2562,1793,12846,3,2049,3646,73,79,32,68,69,86,73,67,69,32, 144,114,101,97,100,0,2,2049,9510,2,2049,3336,2049,2527,10,12797,12824,144,102,105,
84,89,80,69,32,48,48,49,48,32,78,79,84,32,70,79,85,78,68,0, 110,105,115,104,0,2049,12527,2049,3408,10,12715,12848,144,117,110,105,120,58,115,108,
1,12809,2049,9221,2049,9184,10,1,12806,1793,12853,4097,12778,10,1,12850,2049,64,10,1, 117,114,112,45,112,105,112,101,0,1793,12864,2049,12789,1793,12857,2049,12805,10,1,12854,
12797,9,10,12732,12882,144,105,111,58,114,110,103,45,111,112,101,114,97,116,105, 2049,2250,2049,12824,10,1,12850,2049,3452,10,12829,12875,131,105,111,0,0,12869,12888,144,
111,110,0,2049,12791,3841,12778,2049,9108,10,12862,12901,144,110,58,114,97,110,100,111, 105,100,101,110,116,105,102,121,0,3841,12875,2049,2527,1793,12955,1,10,2049,9125,2,
109,0,2049,12882,10,12889,12915,131,83,111,99,107,101,116,115,0,0,12904,12928,144, 2049,2562,1793,12943,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,
105,100,101,110,116,105,102,121,0,3841,12915,2049,2527,1793,12995,1,7,2049,9125,2, 69,32,48,48,49,48,32,78,79,84,32,70,79,85,78,68,0,1,12906,2049,
2049,2562,1793,12983,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80, 9221,2049,9184,10,1,12903,1793,12950,4097,12875,10,1,12947,2049,64,10,1,12894,9,10,
69,32,48,48,48,52,32,78,79,84,32,70,79,85,78,68,0,1,12946,2049, 12829,12979,144,105,111,58,114,110,103,45,111,112,101,114,97,116,105,111,110,0,
9221,2049,9184,10,1,12943,1793,12990,4097,12915,10,1,12987,2049,64,10,1,12934,9,10, 2049,12888,3841,12875,2049,9108,10,12959,12998,144,110,58,114,97,110,100,111,109,0,2049,
12889,13022,144,105,111,58,115,111,99,107,101,116,45,111,112,101,114,97,116,105, 12979,10,12986,13012,131,83,111,99,107,101,116,115,0,0,13001,13025,144,105,100,101,
111,110,0,2049,12928,3841,12915,2049,9108,10,12999,13053,144,115,111,99,107,101,116,58, 110,116,105,102,121,0,3841,13012,2049,2527,1793,13092,1,7,2049,9125,2,2049,2562,1793,
103,101,116,104,111,115,116,98,121,110,97,109,101,0,1,0,2049,13022,10,13029, 13080,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,
13075,144,115,111,99,107,101,116,58,99,114,101,97,116,101,0,1,1,2049,13022, 48,48,52,32,78,79,84,32,70,79,85,78,68,0,1,13043,2049,9221,2049,9184,
10,13058,13095,144,115,111,99,107,101,116,58,98,105,110,100,0,1,2,2049,13022, 10,1,13040,1793,13087,4097,13012,10,1,13084,2049,64,10,1,13031,9,10,12986,13119,144,
10,13080,13117,144,115,111,99,107,101,116,58,108,105,115,116,101,110,0,1,3, 105,111,58,115,111,99,107,101,116,45,111,112,101,114,97,116,105,111,110,0,
2049,13022,10,13100,13139,144,115,111,99,107,101,116,58,97,99,99,101,112,116,0, 2049,13025,3841,13012,2049,9108,10,13096,13150,144,115,111,99,107,101,116,58,103,101,116,
1,4,2049,13022,10,13122,13162,144,115,111,99,107,101,116,58,99,111,110,110,101, 104,111,115,116,98,121,110,97,109,101,0,1,0,2049,13119,10,13126,13172,144,115,
99,116,0,1,5,2049,13022,10,13144,13182,144,115,111,99,107,101,116,58,115,101, 111,99,107,101,116,58,99,114,101,97,116,101,0,1,1,2049,13119,10,13155,13192,
110,100,0,1,6,2049,13022,10,13167,13202,144,115,111,99,107,101,116,58,114,101, 144,115,111,99,107,101,116,58,98,105,110,100,0,1,2,2049,13119,10,13177,13214,
99,118,0,1,8,2049,13022,10,13187,13223,144,115,111,99,107,101,116,58,99,108, 144,115,111,99,107,101,116,58,108,105,115,116,101,110,0,1,3,2049,13119,10,
111,115,101,0,1,10,2049,13022,10,13207,13248,144,115,111,99,107,101,116,58,99, 13197,13236,144,115,111,99,107,101,116,58,97,99,99,101,112,116,0,1,4,2049,
111,110,102,105,103,117,114,101,0,1,11,2049,13022,10,13228,1024,131,84,73,66, 13119,10,13219,13259,144,115,111,99,107,101,116,58,99,111,110,110,101,99,116,0,
0,13253,13274,144,105,109,97,103,101,58,115,97,118,101,0,1,1000,2049,9125,2049, 1,5,2049,13119,10,13241,13279,144,115,111,99,107,101,116,58,115,101,110,100,0,
9108,10,13260,13293,131,75,101,121,98,111,97,114,100,0,0,13281,13306,144,105,100, 1,6,2049,13119,10,13264,13299,144,115,111,99,107,101,116,58,114,101,99,118,0,
101,110,116,105,102,121,0,3841,13293,2049,2527,1793,13373,1,1,2049,9125,2,2049,2562, 1,8,2049,13119,10,13284,13320,144,115,111,99,107,101,116,58,99,108,111,115,101,
1793,13361,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32, 0,1,10,2049,13119,10,13304,13345,144,115,111,99,107,101,116,58,99,111,110,102,
48,48,48,49,32,78,79,84,32,70,79,85,78,68,0,1,13324,2049,9221,2049, 105,103,117,114,101,0,1,11,2049,13119,10,13325,1024,131,84,73,66,0,13350,13371,
9184,10,1,13321,1793,13368,4097,13293,10,1,13365,2049,64,10,1,13312,9,10,13260,13386, 144,105,109,97,103,101,58,115,97,118,101,0,1,1000,2049,9125,2049,9108,10,13357,
144,99,58,103,101,116,0,2049,13306,3841,13293,2049,9108,10,13377,13403,144,103,97,116, 13390,131,75,101,121,98,111,97,114,100,0,0,13378,13403,144,105,100,101,110,116,
104,101,114,0,2,1793,13410,1,8,11,10,1,13406,1793,13418,1,127,11,10,1, 105,102,121,0,3841,13390,2049,2527,1793,13470,1,1,2049,9125,2,2049,2562,1793,13458,3,
13414,2049,2122,22,1,11,1,3336,2049,64,10,13393,13439,144,99,121,99,108,101,0, 2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,
2049,13386,2049,2090,4,8,2049,2459,25,3,2049,13403,1,13439,7,10,13377,13470,144,112, 49,32,78,79,84,32,70,79,85,78,68,0,1,13421,2049,9221,2049,9184,10,1,
97,114,115,101,45,117,110,116,105,108,0,1793,13482,2049,3627,2049,3428,2049,13439,771, 13418,1793,13465,4097,13390,10,1,13462,2049,64,10,1,13409,9,10,13357,13483,144,99,58,
2049,3302,10,1,13472,2049,3452,10,13455,13496,144,115,58,103,101,116,0,1793,13518,1793, 103,101,116,0,2049,13403,3841,13390,2049,9108,10,13474,13500,144,103,97,116,104,101,114,
13504,1,10,11,10,1,13500,1793,13512,1,13,11,10,1,13508,2049,2122,22,10,1, 0,2,1793,13507,1,8,11,10,1,13503,1793,13515,1,127,11,10,1,13511,2049,2122,
13498,2049,13470,10,13487,13537,144,115,58,103,101,116,45,119,111,114,100,0,1,5592, 22,1,11,1,3336,2049,64,10,13490,13536,144,99,121,99,108,101,0,2049,13483,2049,
2049,13470,10,13523,13555,131,83,99,114,105,112,116,105,110,103,0,7,13542,13568,144, 2090,4,8,2049,2459,25,3,2049,13500,1,13536,7,10,13474,13567,144,112,97,114,115,
105,100,101,110,116,105,102,121,0,3841,13555,2049,2527,1793,13635,1,9,2049,9125,2, 101,45,117,110,116,105,108,0,1793,13579,2049,3627,2049,3428,2049,13536,771,2049,3302,10,
2049,2562,1793,13623,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80, 1,13569,2049,3452,10,13552,13593,144,115,58,103,101,116,0,1793,13615,1793,13601,1,10,
69,32,48,48,48,57,32,78,79,84,32,70,79,85,78,68,0,1,13586,2049, 11,10,1,13597,1793,13609,1,13,11,10,1,13605,2049,2122,22,10,1,13595,2049,13567,
9221,2049,9184,10,1,13583,1793,13630,4097,13555,10,1,13627,2049,64,10,1,13574,9,10, 10,13584,13634,144,115,58,103,101,116,45,119,111,114,100,0,1,5592,2049,13567,10,
13523,13651,144,115,121,115,58,97,114,103,99,0,2049,13568,1,0,3841,13555,2049,9108, 13620,13652,131,83,99,114,105,112,116,105,110,103,0,7,13639,13665,144,105,100,101,
10,13639,13672,144,115,121,115,58,97,114,103,118,0,2049,3627,4,2049,13568,1,1, 110,116,105,102,121,0,3841,13652,2049,2527,1793,13732,1,9,2049,9125,2,2049,2562,1793,
3841,13555,2049,9108,10,13660,13695,144,105,110,99,108,117,100,101,0,2049,13568,1,2, 13720,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,
3841,13555,2049,9108,10,13684,13716,144,115,121,115,58,110,97,109,101,0,2049,3627,2049, 48,48,57,32,78,79,84,32,70,79,85,78,68,0,1,13683,2049,9221,2049,9184,
13568,1,3,3841,13555,2049,9108,10,13704,13736,144,99,108,101,97,114,0,1,27,2049, 10,1,13680,1793,13727,4097,13652,10,1,13724,2049,64,10,1,13671,9,10,13620,13748,144,
9171,2049,3646,91,50,74,0,1,13742,2049,9221,1,27,2049,9171,2049,3646,91,48,59, 115,121,115,58,97,114,103,99,0,2049,13665,1,0,3841,13652,2049,9108,10,13736,13769,
48,72,0,1,13756,2049,9221,10,13727,13777,131,78,111,69,99,104,111,0,0,13767, 144,115,121,115,58,97,114,103,118,0,2049,3627,4,2049,13665,1,1,3841,13652,2049,
13785,144,98,121,101,0,1,0,2049,12335,10,13778,13801,144,118,101,114,115,105,111, 9108,10,13757,13792,144,105,110,99,108,117,100,101,0,2049,13665,1,2,3841,13652,2049,
110,0,3841,4,1,100,20,10,13790,13816,144,100,111,110,101,63,0,1793,13822,1, 9108,10,13781,13813,144,115,121,115,58,110,97,109,101,0,2049,3627,2049,13665,1,3,
13,11,10,1,13818,1793,13830,1,10,11,10,1,13826,1793,13838,1,32,11,10,1, 3841,13652,2049,9108,10,13801,13833,144,99,108,101,97,114,0,1,27,2049,9171,2049,3646,
13834,2049,2159,22,22,10,13807,13855,144,118,97,108,105,100,63,0,2,2049,79,2049, 91,50,74,0,1,13839,2049,9221,1,27,2049,9171,2049,3646,91,48,59,48,72,0,
2609,10,13845,13874,144,99,104,101,99,107,45,101,111,102,0,2,1793,13881,1,-1, 1,13853,2049,9221,10,13824,13874,131,78,111,69,99,104,111,0,0,13864,13882,144,98,
11,10,1,13877,1793,13889,1,4,11,10,1,13885,2049,2122,22,1,13785,9,10,13861, 121,101,0,1,0,2049,12432,10,13875,13898,144,118,101,114,115,105,111,110,0,3841,
13904,144,98,115,0,2049,3360,2049,3360,771,10,13898,13922,144,99,104,101,99,107,45, 4,1,100,20,10,13887,13913,144,100,111,110,101,63,0,1793,13919,1,13,11,10,
98,115,0,2,1793,13929,1,8,11,10,1,13925,1793,13937,1,127,11,10,1,13933, 1,13915,1793,13927,1,10,11,10,1,13923,1793,13935,1,32,11,10,1,13931,2049,2159,
2049,2122,22,1,13904,9,10,13910,13955,144,99,104,101,99,107,0,2049,13874,2049,13922, 22,22,10,13904,13952,144,118,97,108,105,100,63,0,2,2049,79,2049,2609,10,13942,
10,13946,13973,144,99,104,97,114,97,99,116,101,114,0,2049,13386,2,2049,3336,10, 13971,144,99,104,101,99,107,45,101,111,102,0,2,1793,13978,1,-1,11,10,1,
13960,13989,144,98,117,102,102,101,114,0,1793,13999,1,1024,2049,3428,8,2049,3302,10, 13974,1793,13986,1,4,11,10,1,13982,2049,2122,22,1,13882,9,10,13958,14001,144,98,
1,13991,2049,3452,10,13979,14018,144,114,101,97,100,45,116,111,107,101,110,0,1793, 115,0,2049,3360,2049,3360,771,10,13995,14019,144,99,104,101,99,107,45,98,115,0,
14034,1793,14029,2049,13973,2049,13955,2049,13816,10,1,14022,2049,2250,10,1,14020,2049,13989,2049, 2,1793,14026,1,8,11,10,1,14022,1793,14034,1,127,11,10,1,14030,2049,2122,22,
3724,10,14004,14050,144,105,110,112,117,116,0,2049,14018,2049,13855,10,14041,14066,144,112, 1,14001,9,10,14007,14052,144,99,104,101,99,107,0,2049,13971,2049,14019,10,14043,14070,
114,111,99,101,115,115,0,1,365,1,11,2049,64,10,13778,14083,144,98,97,110, 144,99,104,97,114,97,99,116,101,114,0,2049,13483,2,2049,3336,10,14057,14086,144,
110,101,114,0,2049,13801,2049,3646,82,69,84,82,79,32,49,50,32,40,37,110, 98,117,102,102,101,114,0,1793,14096,1,1024,2049,3428,8,2049,3302,10,1,14088,2049,
46,37,110,41,92,110,0,1,14087,2049,7212,2049,9221,2049,1543,2049,1874,18,2049,1874, 3452,10,14076,14115,144,114,101,97,100,45,116,111,107,101,110,0,1793,14131,1793,14126,
2049,1543,2049,3646,37,110,32,77,97,120,44,32,37,110,32,85,115,101,100,44, 2049,14070,2049,14052,2049,13913,10,1,14119,2049,2250,10,1,14117,2049,14086,2049,3724,10,14101,
32,37,110,32,70,114,101,101,92,110,0,1,14123,2049,7212,2049,9221,10,14073,14167, 14147,144,105,110,112,117,116,0,2049,14115,2049,13952,10,14138,14163,144,112,114,111,99,
144,108,105,115,116,101,110,0,3841,13777,1793,14174,2049,14083,10,1,14171,2049,70,2049, 101,115,115,0,1,365,1,11,2049,64,10,13875,14180,144,98,97,110,110,101,114,
14050,2049,14066,1,14178,7,10,14157,14195,131,67,108,111,99,107,0,0,14186,14208,144, 0,2049,13898,2049,3646,82,69,84,82,79,32,49,50,32,40,37,110,46,37,110,
105,100,101,110,116,105,102,121,0,3841,14195,2049,2527,1793,14275,1,5,2049,9125,2, 41,92,110,0,1,14184,2049,7212,2049,9221,2049,1543,2049,1874,18,2049,1874,2049,1543,2049,
2049,2562,1793,14263,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80, 3646,37,110,32,77,97,120,44,32,37,110,32,85,115,101,100,44,32,37,110,
69,32,48,48,48,53,32,78,79,84,32,70,79,85,78,68,0,1,14226,2049, 32,70,114,101,101,92,110,0,1,14220,2049,7212,2049,9221,10,14170,14264,144,108,105,
9221,2049,9184,10,1,14223,1793,14270,4097,14195,10,1,14267,2049,64,10,1,14214,9,10, 115,116,101,110,0,3841,13874,1793,14271,2049,14180,10,1,14268,2049,70,2049,14147,2049,14163,
14157,14301,144,105,111,58,99,108,111,99,107,45,111,112,101,114,97,116,105,111, 1,14275,7,10,14254,14292,131,67,108,111,99,107,0,0,14283,14305,144,105,100,101,
110,0,2049,14208,3841,14195,2049,9108,10,14279,14327,144,99,108,111,99,107,58,116,105, 110,116,105,102,121,0,3841,14292,2049,2527,1793,14372,1,5,2049,9125,2,2049,2562,1793,
109,101,115,116,97,109,112,0,1,0,2049,14301,10,14308,14345,144,99,108,111,99, 14360,3,2049,3646,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,
107,58,100,97,121,0,1,1,2049,14301,10,14332,14365,144,99,108,111,99,107,58, 48,48,53,32,78,79,84,32,70,79,85,78,68,0,1,14323,2049,9221,2049,9184,
109,111,110,116,104,0,1,2,2049,14301,10,14350,14384,144,99,108,111,99,107,58, 10,1,14320,1793,14367,4097,14292,10,1,14364,2049,64,10,1,14311,9,10,14254,14398,144,
121,101,97,114,0,1,3,2049,14301,10,14370,14403,144,99,108,111,99,107,58,104, 105,111,58,99,108,111,99,107,45,111,112,101,114,97,116,105,111,110,0,2049,
111,117,114,0,1,4,2049,14301,10,14389,14424,144,99,108,111,99,107,58,109,105, 14305,3841,14292,2049,9108,10,14376,14424,144,99,108,111,99,107,58,116,105,109,101,115,
110,117,116,101,0,1,5,2049,14301,10,14408,14445,144,99,108,111,99,107,58,115, 116,97,109,112,0,1,0,2049,14398,10,14405,14442,144,99,108,111,99,107,58,100,
101,99,111,110,100,0,1,6,2049,14301,10,14429,14467,144,99,108,111,99,107,58, 97,121,0,1,1,2049,14398,10,14429,14462,144,99,108,111,99,107,58,109,111,110,
117,116,99,58,100,97,121,0,1,7,2049,14301,10,14450,14491,144,99,108,111,99, 116,104,0,1,2,2049,14398,10,14447,14481,144,99,108,111,99,107,58,121,101,97,
107,58,117,116,99,58,109,111,110,116,104,0,1,8,2049,14301,10,14472,14514,144, 114,0,1,3,2049,14398,10,14467,14500,144,99,108,111,99,107,58,104,111,117,114,
99,108,111,99,107,58,117,116,99,58,121,101,97,114,0,1,9,2049,14301,10, 0,1,4,2049,14398,10,14486,14521,144,99,108,111,99,107,58,109,105,110,117,116,
14496,14537,144,99,108,111,99,107,58,117,116,99,58,104,111,117,114,0,1,10, 101,0,1,5,2049,14398,10,14505,14542,144,99,108,111,99,107,58,115,101,99,111,
2049,14301,10,14519,14562,144,99,108,111,99,107,58,117,116,99,58,109,105,110,117, 110,100,0,1,6,2049,14398,10,14526,14564,144,99,108,111,99,107,58,117,116,99,
116,101,0,1,11,2049,14301,10,14542,14587,144,99,108,111,99,107,58,117,116,99, 58,100,97,121,0,1,7,2049,14398,10,14547,14588,144,99,108,111,99,107,58,117,
58,115,101,99,111,110,100,0,1,12,2049,14301,10,14567,14603,144,100,58,119,111, 116,99,58,109,111,110,116,104,0,1,8,2049,14398,10,14569,14611,144,99,108,111,
114,100,115,0,1793,14612,2049,162,2049,9221,2049,9195,10,1,14605,2049,7441,10,14592,14633, 99,107,58,117,116,99,58,121,101,97,114,0,1,9,2049,14398,10,14593,14634,144,
144,100,58,119,111,114,100,115,45,119,105,116,104,0,2049,1874,2049,4648,1793,14664, 99,108,111,99,107,58,117,116,99,58,104,111,117,114,0,1,10,2049,14398,10,
2049,162,2,2049,1874,2049,4162,1793,14653,2049,9221,2049,9195,10,1,14648,1793,14659,3,10, 14616,14659,144,99,108,111,99,107,58,117,116,99,58,109,105,110,117,116,101,0,
1,14657,2049,64,10,1,14639,2049,7441,10,14617,14688,144,100,105,115,112,108,97,121, 1,11,2049,14398,10,14639,14684,144,99,108,111,99,107,58,117,116,99,58,115,101,
45,105,102,45,108,101,102,116,0,2,2049,1874,2049,4598,1793,14700,2049,9221,2049,9195, 99,111,110,100,0,1,12,2049,14398,10,14664,14700,144,100,58,119,111,114,100,115,
10,1,14695,1793,14706,3,10,1,14704,2049,64,10,14617,14737,144,100,58,119,111,114, 0,1793,14709,2049,162,2049,9221,2049,9195,10,1,14702,2049,7441,10,14689,14730,144,100,58,
100,115,45,98,101,103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1874, 119,111,114,100,115,45,119,105,116,104,0,2049,1874,2049,4648,1793,14761,2049,162,2,
2049,4648,1793,14748,2049,162,2049,14688,10,1,14743,2049,7441,10,14711,14774,144,116,105,109, 2049,1874,2049,4162,1793,14750,2049,9221,2049,9195,10,1,14745,1793,14756,3,10,1,14754,2049,
101,115,60,119,105,116,104,45,105,110,100,101,120,62,0,2049,8976,10,14753,14787, 64,10,1,14736,2049,7441,10,14714,14785,144,100,105,115,112,108,97,121,45,105,102,
144,118,97,114,60,110,62,0,2049,1991,10,14777,14806,144,100,58,108,97,115,116, 45,108,101,102,116,0,2,2049,1874,2049,4598,1793,14797,2049,9221,2049,9195,10,1,14792,
60,110,97,109,101,62,0,2049,1630,10,14790,14826,144,100,58,108,97,115,116,60, 1793,14803,3,10,1,14801,2049,64,10,14714,14834,144,100,58,119,111,114,100,115,45,
99,108,97,115,115,62,0,2049,1609,10,14809,14843,144,100,58,108,97,115,116,60, 98,101,103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1874,2049,4648,1793,
120,116,62,0,2049,1587,10,0 }; 14845,2049,162,2049,14785,10,1,14840,2049,7441,10,14808,14871,144,116,105,109,101,115,60,
119,105,116,104,45,105,110,100,101,120,62,0,2049,8976,10,14850,14884,144,118,97,
114,60,110,62,0,2049,1991,10,14874,14903,144,100,58,108,97,115,116,60,110,97,
109,101,62,0,2049,1630,10,14887,14923,144,100,58,108,97,115,116,60,99,108,97,
115,115,62,0,2049,1609,10,14906,14940,144,100,58,108,97,115,116,60,120,116,62,
0,2049,1587,10,0 };