nga-c: add file:read/c and file:write/c for reading/writing characters instead of bytes

FossilOrigin-Name: c1cd094295a085bc54888e5dcea6c9ad486ef71ed820258339bf6955325607cc
This commit is contained in:
crc 2023-09-15 14:16:31 +00:00
parent 7cdc32dfb9
commit b2e807278e
8 changed files with 390 additions and 305 deletions

View file

@ -1037,11 +1037,14 @@ file:operation D: ...n- A: - F: -
Trigger a file I/O operation. This is not intended to be used directly.
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 byte in it.
file:read-line D: f-s A: - F: -
Given a file handle, read a line and return a pointer to it.
file:read/c D: h-c A: - F: -
Given a file handle, read and return the next character in it. If compiled with UTF32 support this will read and convert UTF8.
file:seek D: nh- A: - F: -
Move the current offset into a file to the specified one.
@ -1058,7 +1061,10 @@ file:tell D: h-n A: - F: -
Given a file handle, return the current offset in the file.
file:write D: ch- A: - F: -
Write a character to the file represented by the handle.
Write a byte to the file represented by the handle.
file:write/c D: ch- A: - F: -
Write a character to the file represented by the handle. If built with UTF32 support, this will translate the character back to a UTF8 sequence before writing.
fill D: vpn- A: - F: -
Fill memory starting at "p" with value "v". Fills "n" cells.

View file

@ -346,12 +346,14 @@ file:open-for-writing D: s-n A: - F: -
file:operation D: ...n- A: - F: -
file:read D: h-c A: - F: -
file:read-line D: f-s A: - F: -
file:read/c D: h-c A: - F: -
file:seek D: nh- A: - F: -
file:size D: h-n A: - F: -
file:slurp D: as- A: - F: -
file:spew D: ss- A: - F: -
file:tell D: h-n A: - F: -
file:write D: ch- A: - F: -
file:write/c D: ch- A: - F: -
fill D: vpn- A: - F: -
fll:append/value D: pv- A: - F: -
fll:create D: v-p A: - F: -

View file

@ -2573,7 +2573,7 @@
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Given a file handle, read and return the next character in it.</p>
<p>Given a file handle, read and return the next byte in it.</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-line</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> f-s<br>
@ -2582,6 +2582,13 @@
</div>
<p>Given a file handle, read a line and return a pointer to it.</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/c</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> h-c<br>
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Given a file handle, read and return the next character in it. If compiled with UTF32 support this will read and convert UTF8.</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:seek</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> nh-<br>
<b>Addr:</b> -<br>
@ -2622,7 +2629,14 @@
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Write a character to the file represented by the handle.</p>
<p>Write a byte to the file represented by the handle.</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:write/c</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> ch-<br>
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Write a character to the file represented by the handle. If built with UTF32 support, this will translate the character back to a UTF8 sequence before writing.</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>fill</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> vpn-<br>

View file

@ -3987,7 +3987,7 @@ file:read
Addr: -
Float: -
Given a file handle, read and return the next character in it.
Given a file handle, read and return the next byte in it.
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------
@ -4003,6 +4003,17 @@ Given a file handle, read a line and return a pointer to it.
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------
file:read/c
Data: h-c
Addr: -
Float: -
Given a file handle, read and return the next character in it. If compiled with UTF32 support this will read and convert UTF8.
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------
file:seek
Data: nh-
@ -4064,7 +4075,18 @@ file:write
Addr: -
Float: -
Write a character to the file represented by the handle.
Write a byte to the file represented by the handle.
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------
file:write/c
Data: ch-
Addr: -
Float: -
Write a character to the file represented by the handle. If built with UTF32 support, this will translate the character back to a UTF8 sequence before writing.
Class: class:word | Namespace: file | Interface Layer: rre
------------------------------------------------------------------------

View file

@ -344,14 +344,16 @@ file:open-for-append s-nn - - Open a file for reading & writing. Returns the siz
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:operation ...n- - - Trigger a file I/O operation. This is not intended to be used directly. 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 byte 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/c h-c - - Given a file handle, read and return the next character in it. If compiled with UTF32 support this will read and convert UTF8. 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:size h-n - - Given a file handle, return the size of the file (in bytes). class:word {n/a} {n/a} file rre
file:slurp as- - - Given an address and a file name, read the file contents into memory starting at the address. class:word {n/a} {n/a} file rre
file:spew ss- - - Given a string (s1) and a file name (s2), write the string into the file, replacing any existing content. class:word {n/a} {n/a} file rre
file:tell h-n - - Given a file handle, return the current offset in the file. class:word {n/a} {n/a} file rre
file:write ch- - - Write a character to the file represented by the handle. class:word {n/a} {n/a} file rre
file:write ch- - - Write a byte to the file represented by the handle. class:word {n/a} {n/a} file rre
file:write/c ch- - - Write a character to the file represented by the handle. If built with UTF32 support, this will translate the character back to a UTF8 sequence before writing. class:word {n/a} {n/a} file rre
fill vpn- - - Fill memory starting at "p" with value "v". Fills "n" cells. class:word {n/a} {n/a} global all
fll:append/value pv- - - Append a cons cell to a list. class:word {n/a} {n/a} rre all
fll:create v-p - - Create a new list wit the given value as the car of the first node. class:word {n/a} {n/a} rre all

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

View file

@ -88,6 +88,8 @@ Flush pending writes to disk.
~~~
:file:read/bytes (pnf-) #9 file:operation ;
:file:write/bytes (pnf-) #10 file:operation ;
:file:read/c (h-c) #11 file:operation ;
:file:write/c (ch-c) #12 file:operation ;
~~~
Given a file name, return `TRUE` if it exists or `FALSE` otherwise.

View file

@ -12,6 +12,9 @@
/* FileSystem Device ------------------------------------------------- */
void utf32_to_utf8(uint32_t utf32_char, unsigned char* utf8_bytes, int* num_bytes);
int fread_character(FILE *from);
/*---------------------------------------------------------------------
I keep an array of file handles. RETRO will use the index number as
its representation of the file.
@ -238,18 +241,50 @@ void file_write_bytes(NgaState *vm) {
stack_push(vm, z);
}
void file_read_character(NgaState *vm) {
#ifdef USE_UTF32
CELL c;
CELL slot = stack_pop(vm);
if (slot <= 0 || slot > MAX_OPEN_FILES || vm->OpenFileHandles[slot] == 0) {
printf("\nERROR (nga/file_read): Invalid file handle\n");
exit(1);
}
c = fread_character(vm->OpenFileHandles[slot]);
stack_push(vm, feof(vm->OpenFileHandles[slot]) ? 0 : c);
#else
file_read(vm);
#endif
}
void file_write_character(NgaState *vm) {
#ifdef USE_UTF32
unsigned char utf8_bytes[4];
int num_bytes;
CELL slot, c, r;
utf32_to_utf8(stack_pop(vm), utf8_bytes, &num_bytes);
slot = stack_pop(vm);
if (slot <= 0 || slot > MAX_OPEN_FILES || vm->OpenFileHandles[slot] == 0) {
printf("\nERROR (nga/file_write): Invalid file handle\n");
exit(1);
}
r = fwrite(&utf8_bytes, num_bytes, 1, vm->OpenFileHandles[slot]);
#else
file_write(vm);
#endif
}
Handler FileActions[] = {
file_open, file_close,
file_read, file_write,
file_get_position, file_set_position,
file_get_size, file_delete,
file_flush,
file_read_bytes,
file_flush, file_read_bytes,
file_write_bytes,
file_read_character,file_write_character,
};
void query_filesystem(NgaState *vm) {
stack_push(vm, 1);
stack_push(vm, 2);
stack_push(vm, 4);
}

View file

@ -10,8 +10,8 @@
#define CELL_MAX LLONG_MAX - 1
#endif
#endif
CELL ngaImageCells = 20246;
CELL ngaImage[] = { 1793,19752,20201,20245,202309,417,389,1249,1535,0,11278,0,10,1,10,2,10,3,10,
CELL ngaImageCells = 20291;
CELL ngaImage[] = { 1793,19797,20246,20290,202309,417,389,1249,1535,0,11278,0,10,1,10,2,10,3,10,
4,10,5,10,6,10,7,10,8,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,68223234,
1,2575,85000450,1,656912,163,180,268505089,65,64,285281281,0,65,2063,10,101384453,0,9,10,68485378,
@ -20,9 +20,9 @@ CELL ngaImage[] = { 1793,19752,20201,20245,202309,417,389,1249,1535,0,11278,0,10
1,251790353,101777669,1,17565186,109,524545,113,66,167838467,-1,134287105,3,61,659457,3,459023,130,2049,58,
25,2049,130,1793,137,2049,137,117506307,0,130,0,524545,28,135,168820993,0,149,1642241,149,134283523,
13,135,1793,130,524545,2049,130,1793,130,16846593,149,163,180,1793,66,16846593,149,135,180,1793,
66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,19998,17108737,3,2,524559,130,
2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19011,8246457295145463473,167841793,
216,11,17826049,0,216,2,15,25,524546,18112,134287105,217,29,2305,218,459023,226,2049,4875,134287361,
66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,20043,17108737,3,2,524559,130,
2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19056,8246457295145463473,167841793,
216,11,17826049,0,216,2,15,25,524546,18157,134287105,217,29,2305,218,459023,226,2049,4875,134287361,
217,221,659201,216,10,659969,7,2049,58,25,17694978,58,244,9,84152833,48,319750404,243,117507601,246,
184618754,45,25,16974851,-1,168886532,1,134284289,1,259,134284289,0,246,660227,32,0,0,115,105,103,
105,108,58,105,0,285278479,276,6,2576,524546,104,1641217,1,167838467,273,2049,288,2049,284,524545,
@ -170,7 +170,7 @@ CELL ngaImage[] = { 1793,19752,20201,20245,202309,417,389,1249,1535,0,11278,0,10
110,58,105,110,99,0,659713,1,10,3114,3139,168,12065,210720197721,110,58,100,101,99,0,
659969,1,10,3128,3158,168,12065,8246617666422322998,110,58,98,101,116,119,101,101,110,63,0,67503109,
1793,3166,67503109,67503109,2049,3106,10,1,3161,2049,2241,11,10,3142,3187,168,12065,249861296566813883,83,99,
111,112,101,76,105,115,116,0,20103,20157,10,3172,3198,168,12065,5864091,123,123,0,2049,
111,112,101,76,105,115,116,0,20148,20202,10,3172,3198,168,12065,5864091,123,123,0,2049,
1576,2,1,3187,2049,61,16,10,3190,3225,168,12065,-6305314778776785742,45,45,45,114,101,118,101,
97,108,45,45,45,0,2049,1576,1,3187,2049,3125,16,10,3207,3241,168,12065,5864159,125,
125,0,1,3187,2049,58,4,15,11,1793,3255,3841,3187,4097,2,10,1,3250,1793,3281,
@ -584,7 +584,7 @@ CELL ngaImage[] = { 1793,19752,20201,20245,202309,417,389,1249,1535,0,11278,0,10
16,10,11387,11411,168,0,6385111390,99,100,114,64,0,2049,11370,15,10,11401,11425,168,0,
6385111359,99,100,114,33,0,2049,11370,16,10,11415,11438,168,0,193454780,69,78,68,0,10,
11429,11455,168,0,8246317064958091121,102,108,108,58,99,114,101,97,116,101,0,1,11438,2049,11336,
10,11439,11467,156,0,177687,114,0,17973,11439,11484,168,0,8246317065617826724,102,108,108,58,116,111,
10,11439,11467,156,0,177687,114,0,18018,11439,11484,168,0,8246317065617826724,102,108,108,58,116,111,
45,101,110,100,0,2,4097,11467,1793,11513,2049,11411,2,1,11438,12,2,1793,11502,67502597,
4097,11467,10,1,11498,1793,11508,772,10,1,11506,2049,66,10,1,11489,2049,2372,3841,11467,
10,11468,11542,168,0,4204933718218055169,102,108,108,58,97,112,112,101,110,100,47,118,97,108,
@ -725,302 +725,304 @@ CELL ngaImage[] = { 1793,19752,20201,20245,202309,417,389,1249,1535,0,11278,0,10
105,110,116,46,114,101,116,114,111,0,14199,14238,101,58,109,105,110,63,0,14231,
14248,102,58,114,111,117,110,100,0,14240,14256,102,58,114,111,116,0,14250,14264,102,
58,108,111,103,0,14258,14278,102,58,116,111,45,115,116,114,105,110,103,0,14266,
15148,14058,14300,168,15150,8056574075740390096,102,105,108,101,58,111,112,101,114,97,116,105,111,110,
15193,14058,14300,168,15195,8056574075740390096,102,105,108,101,58,111,112,101,114,97,116,105,111,110,
0,1,4,2049,10836,2,2049,2761,1793,14350,3,2049,4472,69,114,114,111,114,58,32,
100,101,118,105,99,101,32,40,48,48,48,52,41,32,110,111,116,32,102,111,
117,110,100,0,1,14312,2049,10942,2049,10899,10,1,14309,2049,2862,2049,10817,10,14280,0,
156,15150,6953509466161,102,105,108,101,58,82,0,14357,1,156,15150,6953509466166,102,105,108,101,58,
87,0,14369,2,156,15150,6953509466144,102,105,108,101,58,65,0,14381,3,156,15150,229465812383356,102,
105,108,101,58,82,43,0,14393,14421,168,15150,249888269686595441,102,105,108,101,58,111,112,101,
110,0,1,0,2049,14300,10,14406,14442,168,15150,8246312899643285909,102,105,108,101,58,99,108,111,
115,101,0,1,1,2049,14300,10,14426,14462,168,15121,249888269686691131,102,105,108,101,58,114,101,
97,100,0,1,2,2049,14300,10,14447,14483,168,15121,8246312899667213450,102,105,108,101,58,119,114,
105,116,101,0,1,3,2049,14300,10,14467,14503,168,15121,249888269686763376,102,105,108,101,58,116,
101,108,108,0,1,4,2049,14300,10,14488,14523,168,15121,249888269686727207,102,105,108,101,58,115,
101,101,107,0,1,5,2049,14300,10,14508,14543,168,15121,249888269686732250,102,105,108,101,58,115,
105,122,101,0,1,6,2049,14300,10,14528,14565,168,15121,-4572835417384127758,102,105,108,101,58,100,
101,108,101,116,101,0,1,7,2049,14300,10,14548,14586,168,15121,8246312899646850209,102,105,108,101,
156,15195,6953509466161,102,105,108,101,58,82,0,14357,1,156,15195,6953509466166,102,105,108,101,58,
87,0,14369,2,156,15195,6953509466144,102,105,108,101,58,65,0,14381,3,156,15195,229465812383356,102,
105,108,101,58,82,43,0,14393,14421,168,15195,249888269686595441,102,105,108,101,58,111,112,101,
110,0,1,0,2049,14300,10,14406,14442,168,15195,8246312899643285909,102,105,108,101,58,99,108,111,
115,101,0,1,1,2049,14300,10,14426,14462,168,15166,249888269686691131,102,105,108,101,58,114,101,
97,100,0,1,2,2049,14300,10,14447,14483,168,15166,8246312899667213450,102,105,108,101,58,119,114,
105,116,101,0,1,3,2049,14300,10,14467,14503,168,15166,249888269686763376,102,105,108,101,58,116,
101,108,108,0,1,4,2049,14300,10,14488,14523,168,15166,249888269686727207,102,105,108,101,58,115,
101,101,107,0,1,5,2049,14300,10,14508,14543,168,15166,249888269686732250,102,105,108,101,58,115,
105,122,101,0,1,6,2049,14300,10,14528,14565,168,15166,-4572835417384127758,102,105,108,101,58,100,
101,108,101,116,101,0,1,7,2049,14300,10,14548,14586,168,15166,8246312899646850209,102,105,108,101,
58,102,108,117,115,104,0,1,8,2049,14300,10,14570,14612,168,0,7612651040925696305,102,105,108,
101,58,114,101,97,100,47,98,121,116,101,115,0,1,9,2049,14300,10,14591,14639,
168,0,-7028659436281878592,102,105,108,101,58,119,114,105,116,101,47,98,121,116,101,115,0,
1,10,2049,14300,10,14617,14662,168,15121,-3329616181967816770,102,105,108,101,58,101,120,105,115,116,
115,63,0,1,0,2049,14421,2,2049,2740,1793,14676,2049,14442,2049,2527,10,1,14671,1793,
14684,3,2049,2541,10,1,14680,2049,66,10,14644,14716,168,15121,-4283841618960457812,102,105,108,101,58,
111,112,101,110,45,102,111,114,45,114,101,97,100,105,110,103,0,1,0,2049,
14421,2,2049,14543,4,10,14689,14751,168,15121,2106155595587003402,102,105,108,101,58,111,112,101,110,
45,102,111,114,45,97,112,112,101,110,100,0,1,2,2049,14421,2,2049,14543,4,
10,14725,14787,168,15121,-4283841611984295498,102,105,108,101,58,111,112,101,110,45,102,111,114,45,
119,114,105,116,105,110,103,0,1,1,2049,14421,10,14760,14801,156,0,193455704,70,73,
68,0,0,14792,14812,156,0,6384542144,83,105,122,101,0,0,14802,14825,156,0,6952054634723,65,
99,116,105,111,110,0,0,14813,14838,156,0,6952114609983,66,117,102,102,101,114,0,0,
14826,14850,168,0,210644670123,45,101,111,102,63,0,3841,14801,2049,14503,3841,14812,13,10,14839,
14872,168,0,7572809360530097,112,114,101,115,101,114,118,101,0,1,14801,1793,14883,1,14812,1,
27,2049,3967,10,1,14876,2049,3967,10,14760,14908,168,15121,8056577820387649264,102,105,108,101,58,114,
101,97,100,45,108,105,110,101,0,4097,14801,1793,14965,2049,1977,2,4097,14838,2049,4234,
1793,14957,3841,14801,2049,14462,2,2049,4134,1793,14934,1,13,11,10,1,14930,1793,14942,1,
10,11,10,1,14938,1793,14950,1,0,11,10,1,14946,2049,2298,22,22,10,1,14921,
2049,2397,2049,4160,3,10,1,14912,2049,4260,3841,14838,10,14888,14996,168,15121,-8859848394595038695,102,105,
108,101,58,102,111,114,45,101,97,99,104,45,108,105,110,101,0,1793,15027,4097,
14825,2049,14716,4097,14801,4097,14812,1793,15018,3841,14801,2049,14908,3841,14825,8,2049,14850,10,1,
15008,2049,2372,3841,14801,2049,14442,10,1,14998,2049,14872,10,14972,15041,156,0,193455704,70,73,
68,0,0,14972,15058,168,15121,8246312899662267157,102,105,108,101,58,115,108,117,114,112,0,1793,
15085,4,2049,4234,2049,14716,4097,15041,1793,15076,3841,15041,2049,14462,2049,4134,10,1,15069,2049,
2449,3841,15041,2049,14442,10,1,15060,2049,4260,10,15042,15105,168,15121,249888269686739198,102,105,108,101,
58,115,112,101,119,0,2049,14787,4,1793,15114,67502597,2049,14483,10,1,15110,2049,4741,2049,
14442,10,105,110,116,101,114,102,97,99,101,47,102,105,108,101,115,121,115,116,
101,109,46,114,101,116,114,111,0,15121,15161,102,105,108,101,58,99,108,111,115,
101,0,15150,15900,15090,15184,168,15902,4299348465103751587,105,111,58,117,110,105,120,45,115,121,115,
99,97,108,108,0,1,8,2049,10836,2,2049,2761,1793,15234,3,2049,4472,69,114,114,
111,114,58,32,100,101,118,105,99,101,32,40,48,48,48,56,41,32,110,111,
116,32,102,111,117,110,100,0,1,15196,2049,10942,2049,10899,10,1,15193,2049,2862,2049,
10817,10,15163,15258,168,15902,-4549633084047572696,117,110,105,120,58,115,121,115,116,101,109,0,1,
0,2049,15184,10,15241,15278,168,15902,249909575776928405,117,110,105,120,58,102,111,114,107,0,1,
1,2049,15184,10,15263,15299,168,15902,8247016000637760504,117,110,105,120,58,101,120,101,99,48,0,
1,2,2049,15184,10,15283,15320,168,15902,8247016000637760505,117,110,105,120,58,101,120,101,99,49,
0,1,3,2049,15184,10,15304,15341,168,15902,8247016000637760506,117,110,105,120,58,101,120,101,99,
50,0,1,4,2049,15184,10,15325,15362,168,15902,8247016000637760507,117,110,105,120,58,101,120,101,
99,51,0,1,5,2049,15184,10,15346,15382,168,15902,249909575776901981,117,110,105,120,58,101,120,
105,116,0,1,6,2049,15184,10,15367,15404,168,15879,-4549633084540884128,117,110,105,120,58,103,101,
116,112,105,100,0,1,7,2049,15184,10,15387,15424,168,15879,249909575777523800,117,110,105,120,58,
119,97,105,116,0,1,8,2049,15184,10,15409,15444,168,15879,249909575777101359,117,110,105,120,58,
107,105,108,108,0,1,9,2049,15184,10,15429,15465,168,15879,8247016000650494309,117,110,105,120,58,
112,111,112,101,110,0,1,10,2049,15184,10,15449,15487,168,15879,-4549633084191325687,117,110,105,120,
58,112,99,108,111,115,101,0,1,11,2049,15184,10,15470,15508,168,15879,8247016000634812845,117,110,
105,120,58,99,104,100,105,114,0,1,13,2049,15184,10,15492,15530,168,15879,-4549633084540895924,117,
110,105,120,58,103,101,116,101,110,118,0,1,14,2049,15184,10,15513,15552,168,15879,
-4549633084169702651,117,110,105,120,58,112,117,116,101,110,118,0,1,15,2049,15184,10,15535,15573,
168,15879,8247016000653932284,117,110,105,120,58,115,108,101,101,112,0,1,16,2049,15184,10,15557,
15596,168,15879,-2563939202030369066,117,110,105,120,58,101,120,101,99,117,116,101,0,1,17,2049,
15184,10,15578,15616,168,15879,249909575777281169,117,110,105,120,58,112,105,112,101,0,1,0,2049,
15465,1,14908,1,15487,2049,2255,10,15601,15645,168,15879,-2563939200175176882,117,110,105,120,58,103,101,
116,45,99,119,100,0,2049,4472,112,119,100,0,1,15647,2049,15616,2049,7055,2049,4472,
47,0,1,15659,2049,4721,10,15627,15695,168,15879,-2316844556017942917,117,110,105,120,58,99,111,117,
110,116,45,102,105,108,101,115,45,105,110,45,99,119,100,0,2049,4472,108,115,
32,45,49,32,124,32,119,99,32,45,108,0,1,15697,2049,15616,2049,7055,2049,266,
10,15666,15744,168,15879,-4594486429310984907,117,110,105,120,58,102,111,114,45,101,97,99,104,45,
102,105,108,101,0,2049,4472,108,115,32,45,49,32,45,112,0,1,15746,1,0,
2049,15465,2049,15695,1793,15779,1793,15774,2049,14908,2049,4423,67502597,8,10,1,15767,2049,2241,10,
1,15765,2049,2449,2049,15487,3,10,15720,15798,168,0,210728208851,115,116,97,114,116,0,4,
2049,4234,1,0,2049,15465,10,15787,15816,168,0,6385651009,114,101,97,100,0,2,2049,14462,
2,2049,4134,2049,2722,10,15806,15837,168,0,6953509544294,102,105,110,105,115,104,0,2049,15487,
2049,4212,10,15720,15863,168,15879,1204178398703148788,117,110,105,120,58,115,108,117,114,112,45,112,
105,112,101,0,1793,15874,2049,15798,1,15816,2049,2397,2049,15837,10,1,15865,2049,4260,10,
105,110,116,101,114,102,97,99,101,47,117,110,105,120,46,114,101,116,114,111,
0,15879,15912,117,110,105,120,58,101,120,105,116,0,15902,16005,15842,15928,168,15985,7572652289159374,
110,58,114,97,110,100,111,109,0,1,10,2049,10836,2,2049,2761,1793,15978,3,2049,
1,10,2049,14300,10,14617,14661,168,0,-4572835416836630931,102,105,108,101,58,114,101,97,100,47,
99,0,1,11,2049,14300,10,14644,14684,168,0,-3329616158956188292,102,105,108,101,58,119,114,105,
116,101,47,99,0,1,12,2049,14300,10,14666,14707,168,15166,-3329616181967816770,102,105,108,101,58,
101,120,105,115,116,115,63,0,1,0,2049,14421,2,2049,2740,1793,14721,2049,14442,2049,
2527,10,1,14716,1793,14729,3,2049,2541,10,1,14725,2049,66,10,14689,14761,168,15166,-4283841618960457812,
102,105,108,101,58,111,112,101,110,45,102,111,114,45,114,101,97,100,105,110,
103,0,1,0,2049,14421,2,2049,14543,4,10,14734,14796,168,15166,2106155595587003402,102,105,108,101,
58,111,112,101,110,45,102,111,114,45,97,112,112,101,110,100,0,1,2,2049,
14421,2,2049,14543,4,10,14770,14832,168,15166,-4283841611984295498,102,105,108,101,58,111,112,101,110,
45,102,111,114,45,119,114,105,116,105,110,103,0,1,1,2049,14421,10,14805,14846,
156,0,193455704,70,73,68,0,0,14837,14857,156,0,6384542144,83,105,122,101,0,0,14847,
14870,156,0,6952054634723,65,99,116,105,111,110,0,0,14858,14883,156,0,6952114609983,66,117,102,
102,101,114,0,0,14871,14895,168,0,210644670123,45,101,111,102,63,0,3841,14846,2049,14503,
3841,14857,13,10,14884,14917,168,0,7572809360530097,112,114,101,115,101,114,118,101,0,1,14846,
1793,14928,1,14857,1,27,2049,3967,10,1,14921,2049,3967,10,14805,14953,168,15166,8056577820387649264,102,
105,108,101,58,114,101,97,100,45,108,105,110,101,0,4097,14846,1793,15010,2049,1977,
2,4097,14883,2049,4234,1793,15002,3841,14846,2049,14462,2,2049,4134,1793,14979,1,13,11,10,
1,14975,1793,14987,1,10,11,10,1,14983,1793,14995,1,0,11,10,1,14991,2049,2298,
22,22,10,1,14966,2049,2397,2049,4160,3,10,1,14957,2049,4260,3841,14883,10,14933,15041,
168,15166,-8859848394595038695,102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,105,110,
101,0,1793,15072,4097,14870,2049,14761,4097,14846,4097,14857,1793,15063,3841,14846,2049,14953,3841,14870,
8,2049,14895,10,1,15053,2049,2372,3841,14846,2049,14442,10,1,15043,2049,14917,10,15017,15086,
156,0,193455704,70,73,68,0,0,15017,15103,168,15166,8246312899662267157,102,105,108,101,58,115,108,
117,114,112,0,1793,15130,4,2049,4234,2049,14761,4097,15086,1793,15121,3841,15086,2049,14462,2049,
4134,10,1,15114,2049,2449,3841,15086,2049,14442,10,1,15105,2049,4260,10,15087,15150,168,15166,
249888269686739198,102,105,108,101,58,115,112,101,119,0,2049,14832,4,1793,15159,67502597,2049,14483,10,
1,15155,2049,4741,2049,14442,10,105,110,116,101,114,102,97,99,101,47,102,105,108,
101,115,121,115,116,101,109,46,114,101,116,114,111,0,15166,15206,102,105,108,101,
58,99,108,111,115,101,0,15195,15945,15135,15229,168,15947,4299348465103751587,105,111,58,117,110,105,
120,45,115,121,115,99,97,108,108,0,1,8,2049,10836,2,2049,2761,1793,15279,3,
2049,4472,69,114,114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,48,
56,41,32,110,111,116,32,102,111,117,110,100,0,1,15241,2049,10942,2049,10899,10,
1,15238,2049,2862,2049,10817,10,15208,15303,168,15947,-4549633084047572696,117,110,105,120,58,115,121,115,
116,101,109,0,1,0,2049,15229,10,15286,15323,168,15947,249909575776928405,117,110,105,120,58,102,
111,114,107,0,1,1,2049,15229,10,15308,15344,168,15947,8247016000637760504,117,110,105,120,58,101,
120,101,99,48,0,1,2,2049,15229,10,15328,15365,168,15947,8247016000637760505,117,110,105,120,58,
101,120,101,99,49,0,1,3,2049,15229,10,15349,15386,168,15947,8247016000637760506,117,110,105,120,
58,101,120,101,99,50,0,1,4,2049,15229,10,15370,15407,168,15947,8247016000637760507,117,110,105,
120,58,101,120,101,99,51,0,1,5,2049,15229,10,15391,15427,168,15947,249909575776901981,117,110,
105,120,58,101,120,105,116,0,1,6,2049,15229,10,15412,15449,168,15924,-4549633084540884128,117,110,
105,120,58,103,101,116,112,105,100,0,1,7,2049,15229,10,15432,15469,168,15924,249909575777523800,
117,110,105,120,58,119,97,105,116,0,1,8,2049,15229,10,15454,15489,168,15924,249909575777101359,
117,110,105,120,58,107,105,108,108,0,1,9,2049,15229,10,15474,15510,168,15924,8247016000650494309,
117,110,105,120,58,112,111,112,101,110,0,1,10,2049,15229,10,15494,15532,168,15924,
-4549633084191325687,117,110,105,120,58,112,99,108,111,115,101,0,1,11,2049,15229,10,15515,15553,
168,15924,8247016000634812845,117,110,105,120,58,99,104,100,105,114,0,1,13,2049,15229,10,15537,
15575,168,15924,-4549633084540895924,117,110,105,120,58,103,101,116,101,110,118,0,1,14,2049,15229,
10,15558,15597,168,15924,-4549633084169702651,117,110,105,120,58,112,117,116,101,110,118,0,1,15,
2049,15229,10,15580,15618,168,15924,8247016000653932284,117,110,105,120,58,115,108,101,101,112,0,1,
16,2049,15229,10,15602,15641,168,15924,-2563939202030369066,117,110,105,120,58,101,120,101,99,117,116,
101,0,1,17,2049,15229,10,15623,15661,168,15924,249909575777281169,117,110,105,120,58,112,105,112,
101,0,1,0,2049,15510,1,14953,1,15532,2049,2255,10,15646,15690,168,15924,-2563939200175176882,117,110,
105,120,58,103,101,116,45,99,119,100,0,2049,4472,112,119,100,0,1,15692,2049,
15661,2049,7055,2049,4472,47,0,1,15704,2049,4721,10,15672,15740,168,15924,-2316844556017942917,117,110,105,
120,58,99,111,117,110,116,45,102,105,108,101,115,45,105,110,45,99,119,100,
0,2049,4472,108,115,32,45,49,32,124,32,119,99,32,45,108,0,1,15742,2049,
15661,2049,7055,2049,266,10,15711,15789,168,15924,-4594486429310984907,117,110,105,120,58,102,111,114,45,
101,97,99,104,45,102,105,108,101,0,2049,4472,108,115,32,45,49,32,45,112,
0,1,15791,1,0,2049,15510,2049,15740,1793,15824,1793,15819,2049,14953,2049,4423,67502597,8,10,
1,15812,2049,2241,10,1,15810,2049,2449,2049,15532,3,10,15765,15843,168,0,210728208851,115,116,
97,114,116,0,4,2049,4234,1,0,2049,15510,10,15832,15861,168,0,6385651009,114,101,97,
100,0,2,2049,14462,2,2049,4134,2049,2722,10,15851,15882,168,0,6953509544294,102,105,110,105,
115,104,0,2049,15532,2049,4212,10,15765,15908,168,15924,1204178398703148788,117,110,105,120,58,115,108,
117,114,112,45,112,105,112,101,0,1793,15919,2049,15843,1,15861,2049,2397,2049,15882,10,
1,15910,2049,4260,10,105,110,116,101,114,102,97,99,101,47,117,110,105,120,46,
114,101,116,114,111,0,15924,15957,117,110,105,120,58,101,120,105,116,0,15947,16050,
15887,15973,168,16030,7572652289159374,110,58,114,97,110,100,111,109,0,1,10,2049,10836,2,2049,
2761,1793,16023,3,2049,4472,69,114,114,111,114,58,32,100,101,118,105,99,101,32,
40,48,48,49,48,41,32,110,111,116,32,102,111,117,110,100,0,1,15985,2049,
10942,2049,10899,10,1,15982,2049,2862,2049,10817,10,105,110,116,101,114,102,97,99,101,
47,114,110,103,46,114,101,116,114,111,0,16030,16462,15959,16073,168,16440,4482520117059041020,99,108,
111,99,107,58,111,112,101,114,97,116,105,111,110,0,1,5,2049,10836,2,2049,
2761,1793,16123,3,2049,4472,69,114,114,111,114,58,32,100,101,118,105,99,101,32,
40,48,48,48,53,41,32,110,111,116,32,102,111,117,110,100,0,1,16085,2049,
10942,2049,10899,10,1,16082,2049,2862,2049,10817,10,16052,16151,168,16440,4482526860617352831,99,108,111,99,
107,58,116,105,109,101,115,116,97,109,112,0,1,0,2049,16073,10,16130,16171,168,
16440,249884182168395049,99,108,111,99,107,58,100,97,121,0,1,1,2049,16073,10,16156,16193,168,
16440,-4577286724249897519,99,108,111,99,107,58,109,111,110,116,104,0,1,2,2049,16073,10,16176,
16214,168,16440,8246178011557794972,99,108,111,99,107,58,121,101,97,114,0,1,3,2049,16073,10,
16198,16235,168,16440,8246178011557195593,99,108,111,99,107,58,104,111,117,114,0,1,4,2049,16073,
10,16219,16258,168,16440,-3476509310577319139,99,108,111,99,107,58,109,105,110,117,116,101,0,1,
5,2049,16073,10,16240,16281,168,16440,-3476509310347652505,99,108,111,99,107,58,115,101,99,111,110,
100,0,1,6,2049,16073,10,16263,16305,168,16440,-4044342796047171665,99,108,111,99,107,58,117,116,
99,58,100,97,121,0,1,7,2049,16073,10,16286,16331,168,16440,4482528721224061399,99,108,111,99,
107,58,117,116,99,58,109,111,110,116,104,0,1,8,2049,16073,10,16310,16356,168,
16440,-4336103753589045278,99,108,111,99,107,58,117,116,99,58,121,101,97,114,0,1,9,2049,
16073,10,16336,16381,168,16440,-4336103753589644657,99,108,111,99,107,58,117,116,99,58,104,111,117,
114,0,1,10,2049,16073,10,16361,16408,168,16440,349495210710499299,99,108,111,99,107,58,117,116,
99,58,109,105,110,117,116,101,0,1,11,2049,16073,10,16386,16435,168,16440,349495210940165933,99,
108,111,99,107,58,117,116,99,58,115,101,99,111,110,100,0,1,12,2049,16073,
10,105,110,116,101,114,102,97,99,101,47,99,108,111,99,107,46,114,101,116,
114,111,0,16440,16861,16413,16486,168,0,1976442044545254821,115,99,114,105,112,116,58,111,112,101,
114,97,116,105,111,110,0,1,9,2049,10836,2,2049,2761,1793,16536,3,2049,4472,69,
114,114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,48,57,41,32,
110,111,116,32,102,111,117,110,100,0,1,16498,2049,10942,2049,10899,10,1,16495,2049,
2862,2049,10817,10,16413,16565,168,16835,1976422442775525130,115,99,114,105,112,116,58,97,114,103,117,
109,101,110,116,115,0,1,0,2049,16486,10,16543,16595,168,16835,7012485947518414468,115,99,114,105,
112,116,58,103,101,116,45,97,114,103,117,109,101,110,116,0,2049,4451,4,1,
1,2049,16486,10,16570,16616,168,16835,229469872107401,105,110,99,108,117,100,101,0,1,2,2049,
16486,10,16603,16638,168,16835,-4553194680242110987,115,99,114,105,112,116,58,110,97,109,101,0,2049,
4451,1,3,2049,16486,10,16621,16670,168,16835,6834827170184619652,115,99,114,105,112,116,58,99,117,
114,114,101,110,116,45,102,105,108,101,0,2049,4451,1,4,2049,16486,10,16645,16702,
180,16835,6834827170184835340,115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,108,105,
110,101,0,1,5,2049,16486,2049,156,10,16677,16735,168,16835,-4964876483161304491,115,99,114,105,112,
116,58,105,103,110,111,114,101,45,116,111,45,101,111,108,0,1,6,2049,16486,
10,16709,16766,168,16835,-112287744780050755,115,99,114,105,112,116,58,97,98,111,114,116,45,105,
110,99,108,117,100,101,0,1,7,2049,16486,10,16740,16782,168,16835,210706230653,97,98,111,
114,116,0,1,149,2049,3931,1,8,2049,16486,10,16771,16821,168,0,-7741142524340576066,115,99,114,
105,112,116,58,99,117,114,114,101,110,116,45,108,105,110,101,45,116,101,120,
116,0,2049,4451,1793,16830,1,9,2049,16486,10,1,16825,2049,2241,10,105,110,116,101,
114,102,97,99,101,47,115,99,114,105,112,116,105,110,103,46,114,101,116,114,
111,0,16835,17317,16791,16885,168,17293,1183117598919957017,115,111,99,107,101,116,58,111,112,101,114,
97,116,105,111,110,0,1,7,2049,10836,2,2049,2761,1793,17042,3,2049,4472,69,114,
114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,48,55,41,32,110,
111,116,32,102,111,117,110,100,0,1,16897,2049,10942,2049,10899,2049,4472,83,101,101,
32,104,116,116,112,115,58,47,47,114,101,116,114,111,102,111,114,116,104,46,
111,114,103,47,115,117,112,112,111,114,116,47,50,48,50,50,46,49,47,83,
79,67,75,69,84,83,46,109,100,0,1,16936,2049,10942,2049,10899,2049,4472,102,111,
114,32,105,110,115,116,114,117,99,116,105,111,110,115,32,111,110,32,101,110,
97,98,108,105,110,103,32,115,111,99,107,101,116,115,46,0,1,16997,2049,10942,
2049,10899,10,1,16894,2049,2862,2049,10817,10,16863,17075,168,17293,-7671511728383126910,115,111,99,107,101,
116,58,103,101,116,104,111,115,116,98,121,110,97,109,101,0,1,0,2049,16885,
10,17049,17099,168,17293,4328757989659661596,115,111,99,107,101,116,58,99,114,101,97,116,101,0,
1,1,2049,16885,10,17080,17121,168,17293,-4552658767528245371,115,111,99,107,101,116,58,98,105,110,
100,0,1,2,2049,16885,10,17104,17145,168,17293,4328757990001730167,115,111,99,107,101,116,58,108,
105,115,116,101,110,0,1,3,2049,16885,10,17126,17169,168,17293,4328757989563534360,115,111,99,107,
101,116,58,97,99,99,101,112,116,0,1,4,2049,16885,10,17150,17194,168,17293,-4724938931013862254,
115,111,99,107,101,116,58,99,111,110,110,101,99,116,0,1,5,2049,16885,10,
17174,17216,168,17293,-4552658767527638798,115,111,99,107,101,116,58,115,101,110,100,0,1,6,2049,
16885,10,17199,17238,168,17293,-4552658767527675080,115,111,99,107,101,116,58,114,101,99,118,0,1,
7,2049,16885,10,17221,17261,168,17293,-2663786738754388898,115,111,99,107,101,116,58,99,108,111,115,
101,0,1,8,2049,16885,10,17243,17288,168,17293,1183100690560715498,115,111,99,107,101,116,58,99,
111,110,102,105,103,117,114,101,0,1,9,2049,16885,10,105,110,116,101,114,102,
97,99,101,47,115,111,99,107,101,116,115,46,114,101,116,114,111,0,17293,17527,
17266,17332,168,17501,229469862290528,105,111,58,99,111,114,101,0,1,8000,2049,10836,2049,10817,10,
17319,17354,168,17501,249884313919988732,99,111,114,101,58,105,110,105,116,0,1,0,2049,17332,10,
17339,17375,168,17501,8246182359371694326,99,111,114,101,58,115,116,97,114,116,0,1,1,2049,17332,
10,17359,17396,168,17501,8246182359367475558,99,111,114,101,58,112,97,117,115,101,0,1,2,2049,
17332,10,17380,17425,168,17501,8337299194488917014,99,111,114,101,58,112,97,117,115,101,45,99,117,
114,114,101,110,116,0,1,3,2049,17332,10,17401,17447,168,17501,-4577143246433635687,99,111,114,101,
58,114,101,115,117,109,101,0,1,4,2049,17332,10,17430,17471,168,17501,-3888095465377135055,99,111,
114,101,58,114,101,97,100,47,114,101,103,0,1,5,2049,17332,10,17452,17496,168,
17501,820065755623810592,99,111,114,101,58,119,114,105,116,101,47,114,101,103,0,1,6,2049,
17332,10,105,110,116,101,114,102,97,99,101,47,109,117,108,116,105,99,111,114,
101,46,114,101,116,114,111,0,17501,17687,17476,17548,168,17667,644988671245709381,102,102,105,58,111,
112,101,114,97,116,105,111,110,0,1,8100,2049,10836,2,2049,2761,1793,17598,3,2049,
4472,69,114,114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,49,48,
41,32,110,111,116,32,102,111,117,110,100,0,1,15940,2049,10942,2049,10899,10,1,
15937,2049,2862,2049,10817,10,105,110,116,101,114,102,97,99,101,47,114,110,103,46,
114,101,116,114,111,0,15985,16417,15914,16028,168,16395,4482520117059041020,99,108,111,99,107,58,111,
112,101,114,97,116,105,111,110,0,1,5,2049,10836,2,2049,2761,1793,16078,3,2049,
4472,69,114,114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,48,53,
41,32,110,111,116,32,102,111,117,110,100,0,1,16040,2049,10942,2049,10899,10,1,
16037,2049,2862,2049,10817,10,16007,16106,168,16395,4482526860617352831,99,108,111,99,107,58,116,105,109,
101,115,116,97,109,112,0,1,0,2049,16028,10,16085,16126,168,16395,249884182168395049,99,108,111,
99,107,58,100,97,121,0,1,1,2049,16028,10,16111,16148,168,16395,-4577286724249897519,99,108,111,
99,107,58,109,111,110,116,104,0,1,2,2049,16028,10,16131,16169,168,16395,8246178011557794972,99,
108,111,99,107,58,121,101,97,114,0,1,3,2049,16028,10,16153,16190,168,16395,8246178011557195593,
99,108,111,99,107,58,104,111,117,114,0,1,4,2049,16028,10,16174,16213,168,16395,
-3476509310577319139,99,108,111,99,107,58,109,105,110,117,116,101,0,1,5,2049,16028,10,16195,
16236,168,16395,-3476509310347652505,99,108,111,99,107,58,115,101,99,111,110,100,0,1,6,2049,
16028,10,16218,16260,168,16395,-4044342796047171665,99,108,111,99,107,58,117,116,99,58,100,97,121,
0,1,7,2049,16028,10,16241,16286,168,16395,4482528721224061399,99,108,111,99,107,58,117,116,99,
58,109,111,110,116,104,0,1,8,2049,16028,10,16265,16311,168,16395,-4336103753589045278,99,108,111,
99,107,58,117,116,99,58,121,101,97,114,0,1,9,2049,16028,10,16291,16336,168,
16395,-4336103753589644657,99,108,111,99,107,58,117,116,99,58,104,111,117,114,0,1,10,2049,
16028,10,16316,16363,168,16395,349495210710499299,99,108,111,99,107,58,117,116,99,58,109,105,110,
117,116,101,0,1,11,2049,16028,10,16341,16390,168,16395,349495210940165933,99,108,111,99,107,58,
117,116,99,58,115,101,99,111,110,100,0,1,12,2049,16028,10,105,110,116,101,
114,102,97,99,101,47,99,108,111,99,107,46,114,101,116,114,111,0,16395,16816,
16368,16441,168,0,1976442044545254821,115,99,114,105,112,116,58,111,112,101,114,97,116,105,111,
110,0,1,9,2049,10836,2,2049,2761,1793,16491,3,2049,4472,69,114,114,111,114,58,
32,100,101,118,105,99,101,32,40,48,48,48,57,41,32,110,111,116,32,102,
111,117,110,100,0,1,16453,2049,10942,2049,10899,10,1,16450,2049,2862,2049,10817,10,16368,
16520,168,16790,1976422442775525130,115,99,114,105,112,116,58,97,114,103,117,109,101,110,116,115,
0,1,0,2049,16441,10,16498,16550,168,16790,7012485947518414468,115,99,114,105,112,116,58,103,101,
116,45,97,114,103,117,109,101,110,116,0,2049,4451,4,1,1,2049,16441,10,16525,
16571,168,16790,229469872107401,105,110,99,108,117,100,101,0,1,2,2049,16441,10,16558,16593,168,
16790,-4553194680242110987,115,99,114,105,112,116,58,110,97,109,101,0,2049,4451,1,3,2049,16441,
10,16576,16625,168,16790,6834827170184619652,115,99,114,105,112,116,58,99,117,114,114,101,110,116,
45,102,105,108,101,0,2049,4451,1,4,2049,16441,10,16600,16657,180,16790,6834827170184835340,115,99,
114,105,112,116,58,99,117,114,114,101,110,116,45,108,105,110,101,0,1,5,
2049,16441,2049,156,10,16632,16690,168,16790,-4964876483161304491,115,99,114,105,112,116,58,105,103,110,
111,114,101,45,116,111,45,101,111,108,0,1,6,2049,16441,10,16664,16721,168,16790,
-112287744780050755,115,99,114,105,112,116,58,97,98,111,114,116,45,105,110,99,108,117,100,
101,0,1,7,2049,16441,10,16695,16737,168,16790,210706230653,97,98,111,114,116,0,1,149,
2049,3931,1,8,2049,16441,10,16726,16776,168,0,-7741142524340576066,115,99,114,105,112,116,58,99,
117,114,114,101,110,116,45,108,105,110,101,45,116,101,120,116,0,2049,4451,1793,
16785,1,9,2049,16441,10,1,16780,2049,2241,10,105,110,116,101,114,102,97,99,101,
47,115,99,114,105,112,116,105,110,103,46,114,101,116,114,111,0,16790,17272,16746,
16840,168,17248,1183117598919957017,115,111,99,107,101,116,58,111,112,101,114,97,116,105,111,110,
0,1,7,2049,10836,2,2049,2761,1793,16997,3,2049,4472,69,114,114,111,114,58,32,
100,101,118,105,99,101,32,40,48,48,48,55,41,32,110,111,116,32,102,111,
117,110,100,0,1,16852,2049,10942,2049,10899,2049,4472,83,101,101,32,104,116,116,112,
115,58,47,47,114,101,116,114,111,102,111,114,116,104,46,111,114,103,47,115,
117,112,112,111,114,116,47,50,48,50,50,46,49,47,83,79,67,75,69,84,
83,46,109,100,0,1,16891,2049,10942,2049,10899,2049,4472,102,111,114,32,105,110,115,
116,114,117,99,116,105,111,110,115,32,111,110,32,101,110,97,98,108,105,110,
103,32,115,111,99,107,101,116,115,46,0,1,16952,2049,10942,2049,10899,10,1,16849,
2049,2862,2049,10817,10,16818,17030,168,17248,-7671511728383126910,115,111,99,107,101,116,58,103,101,116,
104,111,115,116,98,121,110,97,109,101,0,1,0,2049,16840,10,17004,17054,168,17248,
4328757989659661596,115,111,99,107,101,116,58,99,114,101,97,116,101,0,1,1,2049,16840,10,
17035,17076,168,17248,-4552658767528245371,115,111,99,107,101,116,58,98,105,110,100,0,1,2,2049,
16840,10,17059,17100,168,17248,4328757990001730167,115,111,99,107,101,116,58,108,105,115,116,101,110,
0,1,3,2049,16840,10,17081,17124,168,17248,4328757989563534360,115,111,99,107,101,116,58,97,99,
99,101,112,116,0,1,4,2049,16840,10,17105,17149,168,17248,-4724938931013862254,115,111,99,107,101,
116,58,99,111,110,110,101,99,116,0,1,5,2049,16840,10,17129,17171,168,17248,-4552658767527638798,
115,111,99,107,101,116,58,115,101,110,100,0,1,6,2049,16840,10,17154,17193,168,
17248,-4552658767527675080,115,111,99,107,101,116,58,114,101,99,118,0,1,7,2049,16840,10,17176,
17216,168,17248,-2663786738754388898,115,111,99,107,101,116,58,99,108,111,115,101,0,1,8,2049,
16840,10,17198,17243,168,17248,1183100690560715498,115,111,99,107,101,116,58,99,111,110,102,105,103,
117,114,101,0,1,9,2049,16840,10,105,110,116,101,114,102,97,99,101,47,115,
111,99,107,101,116,115,46,114,101,116,114,111,0,17248,17482,17221,17287,168,17456,229469862290528,
105,111,58,99,111,114,101,0,1,8000,2049,10836,2049,10817,10,17274,17309,168,17456,249884313919988732,
99,111,114,101,58,105,110,105,116,0,1,0,2049,17287,10,17294,17330,168,17456,8246182359371694326,
99,111,114,101,58,115,116,97,114,116,0,1,1,2049,17287,10,17314,17351,168,17456,
8246182359367475558,99,111,114,101,58,112,97,117,115,101,0,1,2,2049,17287,10,17335,17380,168,
17456,8337299194488917014,99,111,114,101,58,112,97,117,115,101,45,99,117,114,114,101,110,116,
0,1,3,2049,17287,10,17356,17402,168,17456,-4577143246433635687,99,111,114,101,58,114,101,115,117,
109,101,0,1,4,2049,17287,10,17385,17426,168,17456,-3888095465377135055,99,111,114,101,58,114,101,
97,100,47,114,101,103,0,1,5,2049,17287,10,17407,17451,168,17456,820065755623810592,99,111,114,
101,58,119,114,105,116,101,47,114,101,103,0,1,6,2049,17287,10,105,110,116,
101,114,102,97,99,101,47,109,117,108,116,105,99,111,114,101,46,114,101,116,
114,111,0,17456,17642,17431,17503,168,17622,644988671245709381,102,102,105,58,111,112,101,114,97,116,
105,111,110,0,1,8100,2049,10836,2,2049,2761,1793,17553,3,2049,4472,69,114,114,111,
114,58,32,100,101,118,105,99,101,32,40,48,48,49,48,41,32,110,111,116,
32,102,111,117,110,100,0,1,17515,2049,10942,2049,10899,10,1,17512,2049,2862,2049,10817,
10,17484,17574,168,17622,7572367767785414,102,102,105,58,111,112,101,110,0,1,0,2049,17503,10,
17560,17596,168,17622,-4572980637897979592,102,102,105,58,109,97,112,45,115,121,109,0,1,1,2049,
17503,10,17579,17617,168,17622,8246308498881747296,102,102,105,58,105,110,118,111,107,101,0,1,2,
2049,17503,10,105,110,116,101,114,102,97,99,101,47,102,102,105,46,114,101,116,
114,111,0,17622,17973,17601,17660,168,17948,8247016409221251463,117,110,115,105,103,110,101,100,58,43,
0,1,0,1,8101,2049,10836,2049,10817,17,10,17644,17686,168,17948,8247016409221251465,117,110,115,105,
103,110,101,100,58,45,0,1,0,1,8101,2049,10836,2049,10817,18,10,17670,17712,168,
17948,8247016409221251462,117,110,115,105,103,110,101,100,58,42,0,1,0,1,8101,2049,10836,2049,
10817,19,10,17696,17741,168,17948,7638409966457829387,117,110,115,105,103,110,101,100,58,47,109,111,
100,0,1,0,1,8101,2049,10836,2049,10817,20,10,17722,17769,168,17948,-2563494254608726831,117,110,115,
105,103,110,101,100,58,101,113,63,0,1,0,1,8101,2049,10836,2049,10817,11,10,
17751,17798,168,17948,7638409966457748830,117,110,115,105,103,110,101,100,58,45,101,113,63,0,1,
0,1,8101,2049,10836,2049,10817,12,10,17779,17826,168,17948,-2563494254608719109,117,110,115,105,103,110,
101,100,58,108,116,63,0,1,0,1,8101,2049,10836,2049,10817,13,10,17808,17854,168,
17948,-2563494254608724554,117,110,115,105,103,110,101,100,58,103,116,63,0,1,0,1,8101,2049,
10836,2049,10817,14,10,17836,17884,168,17948,-6186888138744896262,117,110,115,105,103,110,101,100,58,115,
104,105,102,116,0,1,0,1,8101,2049,10836,2049,10817,24,10,17864,17914,168,17948,-6186888138833512267,
117,110,115,105,103,110,101,100,58,42,47,109,111,100,0,1,1,1,0,1,
8101,2049,10836,2,2049,10817,2049,10817,10,17894,17939,168,17948,210639169918,42,47,109,111,100,0,
1,1,1,8101,2049,10836,2049,10817,10,105,110,116,101,114,102,97,99,101,47,117,
110,115,105,103,110,101,100,46,114,101,116,114,111,0,17948,18301,17928,17986,168,521216,
210720194422,110,58,97,100,100,0,17,10,17975,17999,168,521216,210720214583,110,58,115,117,98,0,
18,10,17988,18012,168,521216,210720208059,110,58,109,117,108,0,19,10,18001,18025,168,521216,210720197872,
110,58,100,105,118,0,197652,10,18014,18038,168,521216,210720207853,110,58,109,111,100,0,788,
10,18027,18054,168,521216,7572651751048528,110,58,100,105,118,109,111,100,0,20,10,18040,18067,168,
0,210709067314,99,111,109,109,97,0,2049,130,10,18056,18078,168,0,5863407,103,99,0,1,
3,4,2049,3967,10,18070,18102,168,0,-3502245454587251943,100,58,117,115,101,45,104,97,115,104,
101,115,0,1,29,1,236,1,5,18,16,1793,18116,2049,188,15,10,1,18112,1,
236,1,8,18,16,1,2049,1,236,16,1,4875,1,236,2049,3125,16,10,18084,18156,
168,0,-4893635544173424761,100,58,117,115,101,45,115,116,114,105,110,103,115,0,1,118,1,
236,1,5,18,16,1,190,1,236,1,8,18,16,1,0,1,236,16,1,0,
1,236,2049,3125,16,10,18137,18203,168,0,-3527051417241377258,98,108,111,99,107,58,105,110,118,
111,107,101,0,1,3,2049,10836,2049,10817,10,18137,18226,168,18278,8246131600073141446,98,108,111,99,
107,58,114,101,97,100,0,1,0,2049,18203,10,18210,18248,168,18278,-4578818303223200395,98,108,111,
99,107,58,119,114,105,116,101,0,1,1,2049,18203,10,18231,18273,168,18278,-4036225629868593021,98,
108,111,99,107,58,115,101,116,45,102,105,108,101,0,1,2,2049,18203,10,105,
110,116,101,114,102,97,99,101,47,98,108,111,99,107,115,46,114,101,116,114,
111,0,18278,11438,18253,18319,168,0,8246228896775126019,100,111,117,98,108,101,58,118,97,114,0,
2049,2075,4,2049,130,2049,130,10,18303,18345,168,0,-3421095308458227740,100,111,117,98,108,101,58,
102,101,116,99,104,0,2049,58,4,15,10,18327,18368,168,0,-3421095308442276665,100,111,117,98,
108,101,58,115,116,111,114,101,0,1,19,2049,2229,2049,61,16,10,18350,18394,168,
0,-3421095308461432127,100,111,117,98,108,101,58,99,111,110,115,116,0,2049,18319,1,18345,2049,
8460,10,18376,18418,168,0,-4575607512064199915,100,111,117,98,108,101,58,115,119,97,112,0,67503109,
5,67503109,6,10,18401,18439,168,0,8246228896775106679,100,111,117,98,108,101,58,100,105,112,0,
67503109,67503109,5,5,8,6,6,10,18423,18463,168,0,8246228896775123014,100,111,117,98,108,101,58,
115,105,112,0,1,2217,2049,2229,2049,18439,10,18447,18486,168,0,8246632143337714634,109,101,109,58,
105,110,118,111,107,101,0,1,15,2049,10836,2049,10817,10,18470,0,156,0,210667451248,65,
76,76,79,67,0,18493,1,156,0,6384048135,70,82,69,69,0,18504,2,156,0,210689088690,
83,84,79,82,69,0,18514,3,156,0,210673137615,70,69,84,67,72,0,18525,4,156,
0,6952683137271,82,69,83,73,90,69,0,18447,18563,168,0,249897943727936361,109,101,109,58,97,108,
108,111,99,0,1,0,2049,18486,10,18548,18583,168,0,249897943749573803,109,101,109,58,115,116,
111,114,101,0,1,2,2049,18486,10,18568,18603,168,0,249897943733622728,109,101,109,58,102,101,
116,99,104,0,1,3,2049,18486,10,18588,18622,168,0,7572664961638592,109,101,109,58,102,114,
101,101,0,1,1,2049,18486,10,18608,18643,168,0,8246632143679146032,109,101,109,58,114,101,115,
105,122,101,0,1,4,2049,18486,10,18627,18663,168,0,249897943730056489,109,101,109,58,99,101,
108,108,43,0,1,8,19,17,10,18648,18690,168,0,1050530996183190288,109,101,109,58,102,101,
116,99,104,45,100,111,117,98,108,101,0,2,1,1,2049,18663,15,5,2049,18603,
6,10,18668,18723,168,0,1730340976492540563,109,101,109,58,115,116,111,114,101,45,100,111,117,
98,108,101,0,5,5,2049,2217,1,1,2049,18663,6,2049,18583,6,2049,18583,10,18701,
18759,168,0,4283726481136624767,101,114,114,58,115,101,116,45,104,97,110,100,108,101,114,0,
1,1234,2049,10836,2,2049,2761,1793,18809,3,2049,4472,69,114,114,111,114,58,32,100,
101,118,105,99,101,32,40,49,50,51,52,41,32,110,111,116,32,102,111,117,
110,100,0,1,18771,2049,10942,2049,10899,10,1,18768,2049,2862,1,0,4,2049,10817,10,
18738,18832,168,0,229464878751060,101,114,114,58,100,115,117,0,2049,10974,2049,10899,2049,4472,69,
82,82,79,82,58,32,68,83,85,58,32,68,65,84,65,32,83,84,65,67,
75,32,85,78,68,69,82,70,76,79,87,0,1,18838,2049,10942,2049,10899,2049,11214,
10,18819,18893,168,0,229464878751054,101,114,114,58,100,115,111,0,2049,10974,2049,10899,2049,4472,
69,82,82,79,82,58,32,68,83,79,58,32,68,65,84,65,32,83,84,65,
67,75,32,79,86,69,82,70,76,79,87,0,1,18899,2049,10942,2049,10899,2049,11214,
10,18880,18962,168,0,-6210978877792005319,101,114,114,58,115,101,116,45,100,101,102,97,117,108,
116,115,0,1,18832,1,1,2049,18759,1,18893,1,2,2049,18759,10,1793,18996,1,192,
1,2,17,8,2049,1576,2049,190,3841,11263,8,2049,1576,2049,188,16,10,1,18977,18940,
19007,168,19762,193470948,84,73,66,0,1,7,15,10,18998,19027,168,19762,8246457295145463473,105,109,97,
103,101,58,115,97,118,101,0,1,1000,2049,10836,2049,10817,10,19011,19045,168,0,210711039690,
101,100,105,116,63,0,2,1793,19052,1,8,11,10,1,19048,1793,19060,1,127,11,
10,1,19056,2049,2255,22,10,19034,19078,168,0,6953539406400,103,97,116,104,101,114,0,2049,
19045,1,17,1,4134,2049,66,10,19066,19098,168,0,210709415765,99,121,99,108,101,0,2049,
11147,2049,2217,4,8,2049,2644,25,3,2049,19078,1,19098,7,10,19011,19131,168,19762,-4557881830897049127,
112,97,114,115,101,45,117,110,116,105,108,0,1793,19143,2049,4451,2049,4234,2049,19098,
771,2049,4096,10,1,19133,2049,4260,10,19114,19159,168,19762,210726130610,115,58,103,101,116,0,
1793,19181,1793,19167,1,13,11,10,1,19163,1793,19175,1,10,11,10,1,19171,2049,2255,
22,10,1,19161,2049,19131,10,19148,19197,168,19762,210708950412,99,108,101,97,114,0,2049,4472,
92,94,91,50,74,92,94,91,48,59,48,72,0,1,19199,2049,8246,2049,10942,10,
19186,19228,156,0,193454829,69,79,84,0,0,19219,19243,156,0,7571133383038306,73,103,110,111,114,
105,110,103,0,0,19229,19259,168,0,249892406716047873,105,103,110,111,114,105,110,103,63,0,
3841,19243,10,19244,19275,168,0,229486327000139,118,101,114,115,105,111,110,0,3841,4,1,100,
20,10,19262,19292,168,0,210710254026,100,111,110,101,63,0,2,4097,19228,1793,19301,1,13,
11,10,1,19297,1793,19309,1,10,11,10,1,19305,1793,19317,1,32,11,10,1,19313,
2049,2298,22,22,10,19281,19334,168,0,6385195044,101,111,108,63,0,3841,19228,1793,19342,1,
13,11,10,1,19338,1793,19350,1,10,11,10,1,19346,2049,2255,22,10,19324,19368,168,
0,6954126150804,118,97,108,105,100,63,0,2,2049,104,2049,2812,10,19356,19389,168,0,249883998779477802,
99,104,101,99,107,45,101,111,102,0,2,1793,19396,1,-1,11,10,1,19392,1793,
19404,1,4,11,10,1,19400,2049,2255,22,1,11214,9,10,19374,19421,168,0,5863258,98,
115,0,2049,4212,1,2,2049,2675,1793,19433,2049,4160,3,10,1,19429,9,2049,4160,3,
10,19413,19454,168,0,7572242387256805,99,104,101,99,107,45,98,115,0,2,1793,19461,1,8,
11,10,1,19457,1793,19469,1,127,11,10,1,19465,2049,2255,22,1,19421,9,10,19440,
19489,168,0,210708806723,99,104,101,99,107,0,2049,19389,2049,19454,10,19478,19509,168,0,249883994190734226,
99,104,97,114,97,99,116,101,114,0,2049,11147,2,2049,4134,10,19494,19527,168,0,
6953366942559,98,117,102,102,101,114,0,1793,19537,2049,19007,2049,4234,8,2049,4096,10,1,19529,
2049,4260,10,19515,19558,168,0,8246863741238799215,114,101,97,100,45,116,111,107,101,110,0,1793,
19574,1793,19569,2049,19509,2049,19489,2049,19292,10,1,19562,2049,2397,10,1,19560,2049,19527,2049,
4587,10,19542,19592,168,0,210716150453,105,110,112,117,116,0,2049,19558,2049,19368,10,19581,19610,
168,0,229479082815460,112,114,111,99,101,115,115,0,2049,19259,1793,19628,771,2049,19334,1793,19624,
1,19243,2049,3931,10,1,19619,9,10,1,19614,2049,2862,1,417,1,17,2049,66,10,
19186,19647,180,19762,5861507,47,47,0,2049,16690,1,19243,2049,3916,10,19639,19666,168,19762,6953343520347,
98,97,110,110,101,114,0,2049,19275,2049,4472,82,69,84,82,79,32,49,50,32,
40,37,110,46,37,110,41,92,110,0,1,19670,2049,8246,2049,10942,2049,9335,2049,1545,
2049,9335,18,2049,1545,2049,4472,37,110,32,77,97,120,44,32,37,110,32,85,115,
101,100,44,32,37,110,32,70,114,101,101,92,110,0,1,19706,2049,8246,2049,10942,
10,19654,19752,168,19762,6953744547860,108,105,115,116,101,110,0,2049,19666,2049,19592,2049,19610,1,
19754,7,10,105,110,116,101,114,102,97,99,101,47,114,101,116,114,111,45,117,
110,105,120,46,114,101,116,114,111,0,19740,19802,156,0,229441520490121,83,111,117,114,99,
101,115,0,1,20051,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
41,32,110,111,116,32,102,111,117,110,100,0,1,17560,2049,10942,2049,10899,10,1,
17557,2049,2862,2049,10817,10,17529,17619,168,17667,7572367767785414,102,102,105,58,111,112,101,110,0,
1,0,2049,17548,10,17605,17641,168,17667,-4572980637897979592,102,102,105,58,109,97,112,45,115,121,
109,0,1,1,2049,17548,10,17624,17662,168,17667,8246308498881747296,102,102,105,58,105,110,118,111,
107,101,0,1,2,2049,17548,10,105,110,116,101,114,102,97,99,101,47,102,102,
105,46,114,101,116,114,111,0,17667,18018,17646,17705,168,17993,8247016409221251463,117,110,115,105,103,
110,101,100,58,43,0,1,0,1,8101,2049,10836,2049,10817,17,10,17689,17731,168,17993,
8247016409221251465,117,110,115,105,103,110,101,100,58,45,0,1,0,1,8101,2049,10836,2049,10817,
18,10,17715,17757,168,17993,8247016409221251462,117,110,115,105,103,110,101,100,58,42,0,1,0,
1,8101,2049,10836,2049,10817,19,10,17741,17786,168,17993,7638409966457829387,117,110,115,105,103,110,101,
100,58,47,109,111,100,0,1,0,1,8101,2049,10836,2049,10817,20,10,17767,17814,168,
17993,-2563494254608726831,117,110,115,105,103,110,101,100,58,101,113,63,0,1,0,1,8101,2049,
10836,2049,10817,11,10,17796,17843,168,17993,7638409966457748830,117,110,115,105,103,110,101,100,58,45,
101,113,63,0,1,0,1,8101,2049,10836,2049,10817,12,10,17824,17871,168,17993,-2563494254608719109,117,
110,115,105,103,110,101,100,58,108,116,63,0,1,0,1,8101,2049,10836,2049,10817,
13,10,17853,17899,168,17993,-2563494254608724554,117,110,115,105,103,110,101,100,58,103,116,63,0,
1,0,1,8101,2049,10836,2049,10817,14,10,17881,17929,168,17993,-6186888138744896262,117,110,115,105,103,
110,101,100,58,115,104,105,102,116,0,1,0,1,8101,2049,10836,2049,10817,24,10,
17909,17959,168,17993,-6186888138833512267,117,110,115,105,103,110,101,100,58,42,47,109,111,100,0,
1,1,1,0,1,8101,2049,10836,2,2049,10817,2049,10817,10,17939,17984,168,17993,210639169918,42,
47,109,111,100,0,1,1,1,8101,2049,10836,2049,10817,10,105,110,116,101,114,102,
97,99,101,47,117,110,115,105,103,110,101,100,46,114,101,116,114,111,0,17993,
18346,17973,18031,168,521216,210720194422,110,58,97,100,100,0,17,10,18020,18044,168,521216,210720214583,110,
58,115,117,98,0,18,10,18033,18057,168,521216,210720208059,110,58,109,117,108,0,19,10,
18046,18070,168,521216,210720197872,110,58,100,105,118,0,197652,10,18059,18083,168,521216,210720207853,110,58,
109,111,100,0,788,10,18072,18099,168,521216,7572651751048528,110,58,100,105,118,109,111,100,0,
20,10,18085,18112,168,0,210709067314,99,111,109,109,97,0,2049,130,10,18101,18123,168,0,
5863407,103,99,0,1,3,4,2049,3967,10,18115,18147,168,0,-3502245454587251943,100,58,117,115,101,
45,104,97,115,104,101,115,0,1,29,1,236,1,5,18,16,1793,18161,2049,188,
15,10,1,18157,1,236,1,8,18,16,1,2049,1,236,16,1,4875,1,236,2049,
3125,16,10,18129,18201,168,0,-4893635544173424761,100,58,117,115,101,45,115,116,114,105,110,103,
115,0,1,118,1,236,1,5,18,16,1,190,1,236,1,8,18,16,1,0,
1,236,16,1,0,1,236,2049,3125,16,10,18182,18248,168,0,-3527051417241377258,98,108,111,99,
107,58,105,110,118,111,107,101,0,1,3,2049,10836,2049,10817,10,18182,18271,168,18323,
8246131600073141446,98,108,111,99,107,58,114,101,97,100,0,1,0,2049,18248,10,18255,18293,168,
18323,-4578818303223200395,98,108,111,99,107,58,119,114,105,116,101,0,1,1,2049,18248,10,18276,
18318,168,18323,-4036225629868593021,98,108,111,99,107,58,115,101,116,45,102,105,108,101,0,1,
2,2049,18248,10,105,110,116,101,114,102,97,99,101,47,98,108,111,99,107,115,
46,114,101,116,114,111,0,18323,11438,18298,18364,168,0,8246228896775126019,100,111,117,98,108,101,
58,118,97,114,0,2049,2075,4,2049,130,2049,130,10,18348,18390,168,0,-3421095308458227740,100,111,
117,98,108,101,58,102,101,116,99,104,0,2049,58,4,15,10,18372,18413,168,0,
-3421095308442276665,100,111,117,98,108,101,58,115,116,111,114,101,0,1,19,2049,2229,2049,61,
16,10,18395,18439,168,0,-3421095308461432127,100,111,117,98,108,101,58,99,111,110,115,116,0,
2049,18364,1,18390,2049,8460,10,18421,18463,168,0,-4575607512064199915,100,111,117,98,108,101,58,115,
119,97,112,0,67503109,5,67503109,6,10,18446,18484,168,0,8246228896775106679,100,111,117,98,108,101,
58,100,105,112,0,67503109,67503109,5,5,8,6,6,10,18468,18508,168,0,8246228896775123014,100,111,
117,98,108,101,58,115,105,112,0,1,2217,2049,2229,2049,18484,10,18492,18531,168,0,
8246632143337714634,109,101,109,58,105,110,118,111,107,101,0,1,15,2049,10836,2049,10817,10,18515,
0,156,0,210667451248,65,76,76,79,67,0,18538,1,156,0,6384048135,70,82,69,69,0,
18549,2,156,0,210689088690,83,84,79,82,69,0,18559,3,156,0,210673137615,70,69,84,67,
72,0,18570,4,156,0,6952683137271,82,69,83,73,90,69,0,18492,18608,168,0,249897943727936361,109,
101,109,58,97,108,108,111,99,0,1,0,2049,18531,10,18593,18628,168,0,249897943749573803,109,
101,109,58,115,116,111,114,101,0,1,2,2049,18531,10,18613,18648,168,0,249897943733622728,109,
101,109,58,102,101,116,99,104,0,1,3,2049,18531,10,18633,18667,168,0,7572664961638592,109,
101,109,58,102,114,101,101,0,1,1,2049,18531,10,18653,18688,168,0,8246632143679146032,109,101,
109,58,114,101,115,105,122,101,0,1,4,2049,18531,10,18672,18708,168,0,249897943730056489,109,
101,109,58,99,101,108,108,43,0,1,8,19,17,10,18693,18735,168,0,1050530996183190288,109,
101,109,58,102,101,116,99,104,45,100,111,117,98,108,101,0,2,1,1,2049,
18708,15,5,2049,18648,6,10,18713,18768,168,0,1730340976492540563,109,101,109,58,115,116,111,114,
101,45,100,111,117,98,108,101,0,5,5,2049,2217,1,1,2049,18708,6,2049,18628,
6,2049,18628,10,18746,18804,168,0,4283726481136624767,101,114,114,58,115,101,116,45,104,97,110,
100,108,101,114,0,1,1234,2049,10836,2,2049,2761,1793,18854,3,2049,4472,69,114,114,
111,114,58,32,100,101,118,105,99,101,32,40,49,50,51,52,41,32,110,111,
116,32,102,111,117,110,100,0,1,18816,2049,10942,2049,10899,10,1,18813,2049,2862,1,
0,4,2049,10817,10,18783,18877,168,0,229464878751060,101,114,114,58,100,115,117,0,2049,10974,
2049,10899,2049,4472,69,82,82,79,82,58,32,68,83,85,58,32,68,65,84,65,
32,83,84,65,67,75,32,85,78,68,69,82,70,76,79,87,0,1,18883,2049,
10942,2049,10899,2049,11214,10,18864,18938,168,0,229464878751054,101,114,114,58,100,115,111,0,2049,
10974,2049,10899,2049,4472,69,82,82,79,82,58,32,68,83,79,58,32,68,65,84,
65,32,83,84,65,67,75,32,79,86,69,82,70,76,79,87,0,1,18944,2049,
10942,2049,10899,2049,11214,10,18925,19007,168,0,-6210978877792005319,101,114,114,58,115,101,116,45,100,
101,102,97,117,108,116,115,0,1,18877,1,1,2049,18804,1,18938,1,2,2049,18804,
10,1793,19041,1,192,1,2,17,8,2049,1576,2049,190,3841,11263,8,2049,1576,2049,188,
16,10,1,19022,18985,19052,168,19807,193470948,84,73,66,0,1,7,15,10,19043,19072,168,
19807,8246457295145463473,105,109,97,103,101,58,115,97,118,101,0,1,1000,2049,10836,2049,10817,10,
19056,19090,168,0,210711039690,101,100,105,116,63,0,2,1793,19097,1,8,11,10,1,19093,
1793,19105,1,127,11,10,1,19101,2049,2255,22,10,19079,19123,168,0,6953539406400,103,97,116,
104,101,114,0,2049,19090,1,17,1,4134,2049,66,10,19111,19143,168,0,210709415765,99,121,
99,108,101,0,2049,11147,2049,2217,4,8,2049,2644,25,3,2049,19123,1,19143,7,10,
19056,19176,168,19807,-4557881830897049127,112,97,114,115,101,45,117,110,116,105,108,0,1793,19188,2049,
4451,2049,4234,2049,19143,771,2049,4096,10,1,19178,2049,4260,10,19159,19204,168,19807,210726130610,115,
58,103,101,116,0,1793,19226,1793,19212,1,13,11,10,1,19208,1793,19220,1,10,11,
10,1,19216,2049,2255,22,10,1,19206,2049,19176,10,19193,19242,168,19807,210708950412,99,108,101,
97,114,0,2049,4472,92,94,91,50,74,92,94,91,48,59,48,72,0,1,19244,
2049,8246,2049,10942,10,19231,19273,156,0,193454829,69,79,84,0,0,19264,19288,156,0,7571133383038306,
73,103,110,111,114,105,110,103,0,0,19274,19304,168,0,249892406716047873,105,103,110,111,114,
105,110,103,63,0,3841,19288,10,19289,19320,168,0,229486327000139,118,101,114,115,105,111,110,
0,3841,4,1,100,20,10,19307,19337,168,0,210710254026,100,111,110,101,63,0,2,4097,
19273,1793,19346,1,13,11,10,1,19342,1793,19354,1,10,11,10,1,19350,1793,19362,1,
32,11,10,1,19358,2049,2298,22,22,10,19326,19379,168,0,6385195044,101,111,108,63,0,
3841,19273,1793,19387,1,13,11,10,1,19383,1793,19395,1,10,11,10,1,19391,2049,2255,
22,10,19369,19413,168,0,6954126150804,118,97,108,105,100,63,0,2,2049,104,2049,2812,10,
19401,19434,168,0,249883998779477802,99,104,101,99,107,45,101,111,102,0,2,1793,19441,1,-1,
11,10,1,19437,1793,19449,1,4,11,10,1,19445,2049,2255,22,1,11214,9,10,19419,
19466,168,0,5863258,98,115,0,2049,4212,1,2,2049,2675,1793,19478,2049,4160,3,10,1,
19474,9,2049,4160,3,10,19458,19499,168,0,7572242387256805,99,104,101,99,107,45,98,115,0,
2,1793,19506,1,8,11,10,1,19502,1793,19514,1,127,11,10,1,19510,2049,2255,22,
1,19466,9,10,19485,19534,168,0,210708806723,99,104,101,99,107,0,2049,19434,2049,19499,10,
19523,19554,168,0,249883994190734226,99,104,97,114,97,99,116,101,114,0,2049,11147,2,2049,4134,
10,19539,19572,168,0,6953366942559,98,117,102,102,101,114,0,1793,19582,2049,19052,2049,4234,8,
2049,4096,10,1,19574,2049,4260,10,19560,19603,168,0,8246863741238799215,114,101,97,100,45,116,111,
107,101,110,0,1793,19619,1793,19614,2049,19554,2049,19534,2049,19337,10,1,19607,2049,2397,10,
1,19605,2049,19572,2049,4587,10,19587,19637,168,0,210716150453,105,110,112,117,116,0,2049,19603,
2049,19413,10,19626,19655,168,0,229479082815460,112,114,111,99,101,115,115,0,2049,19304,1793,19673,
771,2049,19379,1793,19669,1,19288,2049,3931,10,1,19664,9,10,1,19659,2049,2862,1,417,
1,17,2049,66,10,19231,19692,180,19807,5861507,47,47,0,2049,16735,1,19288,2049,3916,10,
19684,19711,168,19807,6953343520347,98,97,110,110,101,114,0,2049,19320,2049,4472,82,69,84,82,
79,32,49,50,32,40,37,110,46,37,110,41,92,110,0,1,19715,2049,8246,2049,
10942,2049,9335,2049,1545,2049,9335,18,2049,1545,2049,4472,37,110,32,77,97,120,44,32,
37,110,32,85,115,101,100,44,32,37,110,32,70,114,101,101,92,110,0,1,
19751,2049,8246,2049,10942,10,19699,19797,168,19807,6953744547860,108,105,115,116,101,110,0,2049,19711,
2049,19637,2049,19655,1,19799,7,10,105,110,116,101,114,102,97,99,101,47,114,101,
116,114,111,45,117,110,105,120,46,114,101,116,114,111,0,19785,19847,156,0,229441520490121,
83,111,117,114,99,101,115,0,1,20096,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,19789,19942,168,0,6953711201841,107,110,111,119,
110,63,0,2,1,19802,2049,9099,10,19930,19959,168,0,210716136861,105,110,100,101,120,0,
1,19802,4,2049,9775,1,19802,4,2049,9245,10,19948,19982,168,0,6953974036516,114,101,99,111,
114,100,0,2049,4500,2,1,19802,2049,3864,3841,19802,1,19802,17,16,10,1793,20049,2049,
16625,2049,19942,1793,20007,2049,19959,10,1,20004,1793,20014,2049,19982,10,1,20011,2049,66,1793,
20027,1,192,1,2,17,8,10,1,20020,2049,2229,2049,1576,2049,186,16,2049,1576,2049,
190,3841,11263,8,2049,1576,2049,188,16,10,1,19998,100,105,99,116,45,119,111,114,
100,115,45,108,105,115,116,105,110,103,46,102,111,114,116,104,0,19740,20089,168,
20051,229461403550098,100,58,119,111,114,100,115,0,1793,20098,2049,190,2049,10942,2049,10912,10,1,
20091,2049,8491,10,20076,20121,168,20051,-3502157631813457253,100,58,119,111,114,100,115,45,119,105,116,
104,0,2049,1977,2049,5573,1793,20152,2049,190,2,2049,1977,2049,5286,1793,20141,2049,10942,2049,
10912,10,1,20136,1793,20147,3,10,1,20145,2049,66,10,1,20127,2049,8491,10,20103,20178,
168,20051,2818131571306626127,100,105,115,112,108,97,121,45,105,102,45,108,101,102,116,0,2,
2049,1977,2049,5519,1793,20190,2049,10942,2049,10912,10,1,20185,1793,20196,3,10,1,20194,2049,
66,10,20103,20229,168,20051,2947807019553410009,100,58,119,111,114,100,115,45,98,101,103,105,110,
110,105,110,103,45,119,105,116,104,0,2049,1977,2049,5573,1793,20240,2049,190,2049,20178,
10,1,20235,2049,8491,10,0 };
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19834,19987,168,0,
6953711201841,107,110,111,119,110,63,0,2,1,19847,2049,9099,10,19975,20004,168,0,210716136861,105,
110,100,101,120,0,1,19847,4,2049,9775,1,19847,4,2049,9245,10,19993,20027,168,0,
6953974036516,114,101,99,111,114,100,0,2049,4500,2,1,19847,2049,3864,3841,19847,1,19847,17,
16,10,1793,20094,2049,16670,2049,19987,1793,20052,2049,20004,10,1,20049,1793,20059,2049,20027,10,
1,20056,2049,66,1793,20072,1,192,1,2,17,8,10,1,20065,2049,2229,2049,1576,2049,
186,16,2049,1576,2049,190,3841,11263,8,2049,1576,2049,188,16,10,1,20043,100,105,99,
116,45,119,111,114,100,115,45,108,105,115,116,105,110,103,46,102,111,114,116,
104,0,19785,20134,168,20096,229461403550098,100,58,119,111,114,100,115,0,1793,20143,2049,190,2049,
10942,2049,10912,10,1,20136,2049,8491,10,20121,20166,168,20096,-3502157631813457253,100,58,119,111,114,100,
115,45,119,105,116,104,0,2049,1977,2049,5573,1793,20197,2049,190,2,2049,1977,2049,5286,
1793,20186,2049,10942,2049,10912,10,1,20181,1793,20192,3,10,1,20190,2049,66,10,1,20172,
2049,8491,10,20148,20223,168,20096,2818131571306626127,100,105,115,112,108,97,121,45,105,102,45,108,
101,102,116,0,2,2049,1977,2049,5519,1793,20235,2049,10942,2049,10912,10,1,20230,1793,20241,
3,10,1,20239,2049,66,10,20148,20274,168,20096,2947807019553410009,100,58,119,111,114,100,115,45,
98,101,103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1977,2049,5573,1793,
20285,2049,190,2049,20223,10,1,20280,2049,8491,10,0 };