add stack comments for block: ffi: script: and socket: words

FossilOrigin-Name: 5aeba86e15c05847c2cac75fd2606439826d8394a0d06b92cfccc4c5d9d336d5
This commit is contained in:
crc 2024-09-09 14:45:38 +00:00
parent 8fbd1cc461
commit 86191b4e12
5 changed files with 245 additions and 232 deletions

View file

@ -15,9 +15,9 @@ The exposed word set is compact:
{{ {{
:block:invoke DEVICE:BLOCKS io:scan-for io:invoke ; :block:invoke DEVICE:BLOCKS io:scan-for io:invoke ;
---reveal--- ---reveal---
:block:read (na-) #0 block:invoke ; :block:read (:na-) #0 block:invoke ;
:block:write (na-) #1 block:invoke ; :block:write (:na-) #1 block:invoke ;
:block:set-file (s-) #2 block:invoke ; :block:set-file (:s-) #2 block:invoke ;
}} }}
~~~ ~~~

View file

@ -15,18 +15,18 @@
338 #endif 338 #endif
~~~ ~~~
:ffi:operation (n-?) :ffi:operation (:n-?)
DEVICE:FFI io:scan-for DEVICE:FFI io:scan-for
dup n:negative? [ drop 'Error:_FFI_device_not_found s:put nl ] if; dup n:negative? [ drop 'Error:_FFI_device_not_found s:put nl ] if;
io:invoke ; io:invoke ;
:ffi:open (s-n) :ffi:open (:s-n)
#0 ffi:operation ; #0 ffi:operation ;
:ffi:map-sym (sn-n) :ffi:map-sym (:sn-n)
#1 ffi:operation ; #1 ffi:operation ;
:ffi:invoke (n-) :ffi:invoke (:n-)
#2 ffi:operation ; #2 ffi:operation ;
'interface/ffi.retro 'interface/ffi.retro

View file

@ -40,19 +40,19 @@ Adds support for obtaining current source line text
dup n:negative? [ drop 'Error:_scripting_device_not_found s:put nl ] if; dup n:negative? [ drop 'Error:_scripting_device_not_found s:put nl ] if;
io:invoke ; io:invoke ;
---reveal--- ---reveal---
:script:arguments (-n) #0 script:operation ; :script:arguments (:-n) #0 script:operation ;
:script:get-argument (n-s) s:empty swap #1 script:operation ; :script:get-argument (:n-s) s:empty swap #1 script:operation ;
:include (s-) #2 script:operation ; :include (:s-) #2 script:operation ;
:script:name (-s) s:empty #3 script:operation ; :script:name (:-s) s:empty #3 script:operation ;
:script:current-file (-s) s:empty #4 script:operation ; :script:current-file (:-s) s:empty #4 script:operation ;
:script:current-line (-n) #5 script:operation class:data ; immediate :script:current-line (:-n) #5 script:operation class:data ; immediate
:script:ignore-to-eol (-) #6 script:operation ; :script:ignore-to-eol (:-) #6 script:operation ;
:script:abort-include (-) #7 script:operation ; :script:abort-include (:-) #7 script:operation ;
:abort (-) &Compiler v:off #8 script:operation ; :abort (:-) &Compiler v:off #8 script:operation ;
:script:current-line-text (-s) s:empty [ #9 script:operation ] sip ; :script:current-line-text (:-s) s:empty [ #9 script:operation ] sip ;
}} }}
~~~ ~~~

View file

@ -20,14 +20,14 @@ an address to hold the dotted notation and a string containing the
host name. host name.
~~~ ~~~
:socket:gethostbyname (as-) #0 socket:operation ; :socket:gethostbyname (:as-) #0 socket:operation ;
~~~ ~~~
`socket:create` creates a new socket. It does not take any `socket:create` creates a new socket. It does not take any
parameters, and returns the socket id. parameters, and returns the socket id.
~~~ ~~~
:socket:create (-n) #1 socket:operation ; :socket:create (:-n) #1 socket:operation ;
~~~ ~~~
`socket:bind` binds a socket to a port. The socket should be `socket:bind` binds a socket to a port. The socket should be
@ -36,7 +36,7 @@ string. This will return 0 if successful, -1 if not successful,
and a host specific error code. and a host specific error code.
~~~ ~~~
:socket:bind (sn-n) #2 socket:operation ; :socket:bind (:sn-n) #2 socket:operation ;
~~~ ~~~
`socket:listen` prepares a socket for accepting incoming `socket:listen` prepares a socket for accepting incoming
@ -44,21 +44,21 @@ connections. Takes a backlog count and a socket id. Returns
a flag (0 success, -1 failed) and an error code. a flag (0 success, -1 failed) and an error code.
~~~ ~~~
:socket:listen (nn-nn) #3 socket:operation ; :socket:listen (:nn-nn) #3 socket:operation ;
~~~ ~~~
`socket:accept` begins accepting connections on the provided `socket:accept` begins accepting connections on the provided
socket id. Returns a new socket id and an error code. socket id. Returns a new socket id and an error code.
~~~ ~~~
:socket:accept (n-nn) #4 socket:operation ; :socket:accept (:n-nn) #4 socket:operation ;
~~~ ~~~
`socket:connect` connects to a server. Provide a socket id, `socket:connect` connects to a server. Provide a socket id,
this will return a status flag and an error code. this will return a status flag and an error code.
~~~ ~~~
:socket:connect (n-nn) #5 socket:operation ; :socket:connect (:n-nn) #5 socket:operation ;
~~~ ~~~
`socket:send` sends a string to a socket. This will return `socket:send` sends a string to a socket. This will return
@ -66,7 +66,7 @@ the number of characters sent and an error code. It takes a
string and a socket id. string and a socket id.
~~~ ~~~
:socket:send (sn-nn) #6 socket:operation ; :socket:send (:sn-nn) #6 socket:operation ;
~~~ ~~~
`socket:recv` is a wrapper over recv(2). It takes an address, `socket:recv` is a wrapper over recv(2). It takes an address,
@ -74,14 +74,14 @@ a maxmimum number of bytes to read, and a socket id. It returns
the number of bytes received and an error code. the number of bytes received and an error code.
~~~ ~~~
:socket:recv (ann-nn) #7 socket:operation ; :socket:recv (:ann-nn) #7 socket:operation ;
~~~ ~~~
`socket:close` is a wrapper over close(2). It takes a socket id `socket:close` is a wrapper over close(2). It takes a socket id
and closes the socket. and closes the socket.
~~~ ~~~
:socket:close (n-) #8 socket:operation ; :socket:close (:n-) #8 socket:operation ;
~~~ ~~~
`socket:configure` is used before `socket:bind` to set some `socket:configure` is used before `socket:bind` to set some
@ -89,7 +89,7 @@ internal state. Takes the host name and port, both as strings.
Does not return anything. Does not return anything.
~~~ ~~~
:socket:configure (ss-) #9 socket:operation ; :socket:configure (:ss-) #9 socket:operation ;
~~~ ~~~
# Source Data # Source Data

View file

@ -10,8 +10,8 @@
#define CELL_MAX LLONG_MAX - 1 #define CELL_MAX LLONG_MAX - 1
#endif #endif
#endif #endif
CELL ngaImageCells = 23744; CELL ngaImageCells = 24009;
CELL ngaImage[] = { 1793,12065,23705,23743,202409,422,394,1333,1535,0,12113,0,10,1,10,2,10,3,10, CELL ngaImage[] = { 1793,12065,23970,24008,202409,422,394,1333,1535,0,12113,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, 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, 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, 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,12065,23705,23743,202409,422,394,1333,1535,0,12113,0,10
1,251790353,101777669,1,17565186,109,524545,113,66,167838467,-1,134287105,3,61,659457,3,459023,130,2049,58, 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, 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, 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,659713,6,1793,22988,17108737,3,2, 66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,659713,6,1793,23253,17108737,3,2,
524559,130,2049,130,2049,130,524545,0,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241, 524559,130,2049,130,2049,130,524545,0,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,
10,7,22478,8246457295145463473,167841793,221,11,17826049,0,221,2,15,25,524546,21322,134287105,222,29,2305,223, 10,7,22743,8246457295145463473,167841793,221,11,17826049,0,221,2,15,25,524546,21558,134287105,222,29,2305,223,
459023,231,2049,5044,134287361,222,226,659201,221,10,659969,7,2049,58,25,17694978,58,249,9,84152833, 459023,231,2049,5044,134287361,222,226,659201,221,10,659969,7,2049,58,25,17694978,58,249,9,84152833,
48,319750404,248,117507601,251,184618754,45,25,16974851,-1,168886532,1,134284289,1,264,134284289,0,251,660227,32, 48,319750404,248,117507601,251,184618754,45,25,16974851,-1,168886532,1,134284289,1,264,134284289,0,251,660227,32,
0,0,115,105,103,105,108,58,105,0,285278479,281,6,2576,524546,104,1641217,1,167838467,278, 0,0,115,105,103,105,108,58,105,0,285278479,281,6,2576,524546,104,1641217,1,167838467,278,
@ -174,7 +174,7 @@ CELL ngaImage[] = { 1793,12065,23705,23743,202409,422,394,1333,1535,0,12113,0,10
58,105,110,99,0,659713,1,10,3192,3219,168,13256,210720197721,0,110,58,100,101,99,0, 58,105,110,99,0,659713,1,10,3192,3219,168,13256,210720197721,0,110,58,100,101,99,0,
659969,1,10,3207,3239,168,13256,8246617666422322998,0,110,58,98,101,116,119,101,101,110,63,0, 659969,1,10,3207,3239,168,13256,8246617666422322998,0,110,58,98,101,116,119,101,101,110,63,0,
67503109,1793,3247,67503109,67503109,2049,3184,10,1,3242,2049,2279,11,10,3222,3269,168,13256,249861296566813883,0, 67503109,1793,3247,67503109,67503109,2049,3184,10,1,3242,2049,2279,11,10,3222,3269,168,13256,249861296566813883,0,
83,99,111,112,101,76,105,115,116,0,23413,23532,10,3253,3281,168,13256,5864091,0,123, 83,99,111,112,101,76,105,115,116,0,23678,23797,10,3253,3281,168,13256,5864091,0,123,
123,0,2049,1579,2,1,3269,2049,61,16,10,3272,3309,168,13256,-6305314778776785742,0,45,45,45, 123,0,2049,1579,2,1,3269,2049,61,16,10,3272,3309,168,13256,-6305314778776785742,0,45,45,45,
114,101,118,101,97,108,45,45,45,0,2049,1579,1,3269,2049,3204,16,10,3290,3326, 114,101,118,101,97,108,45,45,45,0,2049,1579,1,3269,2049,3204,16,10,3290,3326,
168,13256,5864159,0,125,125,0,1,3269,2049,58,4,15,11,1793,3340,3841,3269,4097,2, 168,13256,5864159,0,125,125,0,1,3269,2049,58,4,15,11,1793,3340,3841,3269,4097,2,
@ -235,7 +235,7 @@ CELL ngaImage[] = { 1793,12065,23705,23743,202409,422,394,1333,1535,0,12113,0,10
111,118,101,114,115,105,122,101,63,0,2049,104,3841,4387,2049,3219,14,10,4411,4454, 111,118,101,114,115,105,122,101,63,0,2049,104,3841,4387,2049,3219,14,10,4411,4454,
168,0,8246850507793776056,0,115,58,116,114,117,110,99,97,116,101,0,2,2049,4429,1793,4467, 168,0,8246850507793776056,0,115,58,116,114,117,110,99,97,116,101,0,2,2049,4429,1793,4467,
1,0,67502597,3841,4387,17,16,10,1,4459,9,10,4437,4485,156,0,0,0,67,117, 1,0,67502597,3841,4387,17,16,10,1,4459,9,10,4437,4485,156,0,0,0,67,117,
114,114,101,110,116,0,19,10,4471,4503,168,0,0,0,115,58,112,111,105,110, 114,114,101,110,116,0,14,10,4471,4503,168,0,0,0,115,58,112,111,105,110,
116,101,114,0,3841,4485,3841,4387,19,2049,4402,17,10,4487,4525,168,0,0,0,115, 116,101,114,0,3841,4485,3841,4387,19,2049,4402,17,10,4487,4525,168,0,0,0,115,
58,110,101,120,116,0,1,4485,2049,3920,3841,4485,3841,4366,11,1793,4541,1,0,4097, 58,110,101,120,116,0,1,4485,2049,3920,3841,4485,3841,4366,11,1793,4541,1,0,4097,
4485,10,1,4536,9,10,4437,4558,168,13256,6953962777192,0,115,58,116,101,109,112,0,2049, 4485,10,1,4536,9,10,4437,4558,168,13256,6953962777192,0,115,58,116,101,109,112,0,2049,
@ -626,7 +626,7 @@ CELL ngaImage[] = { 1793,12065,23705,23743,202409,422,394,1333,1535,0,12113,0,10
2049,12199,16,10,12228,12254,168,12654,6385111390,0,99,100,114,64,0,2049,12210,15,10,12243, 2049,12199,16,10,12228,12254,168,12654,6385111390,0,99,100,114,64,0,2049,12210,15,10,12243,
12269,168,12654,6385111359,0,99,100,114,33,0,2049,12210,16,10,12258,12283,168,12654,193454780,0, 12269,168,12654,6385111359,0,99,100,114,33,0,2049,12210,16,10,12258,12283,168,12654,193454780,0,
69,78,68,0,10,12273,12301,168,12654,8246317064958091121,0,102,108,108,58,99,114,101,97,116, 69,78,68,0,10,12273,12301,168,12654,8246317064958091121,0,102,108,108,58,99,114,101,97,116,
101,0,1,12283,2049,12174,10,12284,12314,156,0,177687,0,114,0,21541,12284,12332,168,12654, 101,0,1,12283,2049,12174,10,12284,12314,156,0,177687,0,114,0,21806,12284,12332,168,12654,
8246317065617826724,0,102,108,108,58,116,111,45,101,110,100,0,2,4097,12314,1793,12357,2049,12254, 8246317065617826724,0,102,108,108,58,116,111,45,101,110,100,0,2,4097,12314,1793,12357,2049,12254,
2,1,12283,12,2,1793,12350,67502597,4097,12314,10,1,12346,1,2205,2049,66,10,1,12337, 2,1,12283,12,2,1793,12350,67502597,4097,12314,10,1,12346,1,2205,2049,66,10,1,12337,
2049,2417,3841,12314,10,12315,12387,168,12654,4204933718218055169,0,102,108,108,58,97,112,112,101,110, 2049,2417,3841,12314,10,12315,12387,168,12654,4204933718218055169,0,102,108,108,58,97,112,112,101,110,
@ -646,8 +646,8 @@ CELL ngaImage[] = { 1793,12065,23705,23743,202409,422,394,1333,1535,0,12113,0,10
117,116,0,1793,12649,2049,11337,2049,11288,10,1,12644,2049,12488,10,105,110,116,101,114, 117,116,0,1793,12649,2049,11337,2049,11288,10,1,12644,2049,12488,10,105,110,116,101,114,
102,97,99,101,47,108,108,46,114,101,116,114,111,0,105,110,105,116,0,12673, 102,97,99,101,47,108,108,46,114,101,116,114,111,0,105,110,105,116,0,12673,
12923,12628,12699,156,12901,-2744922491217532500,0,115,58,100,101,100,117,112,46,100,97,116,97,0, 12923,12628,12699,156,12901,-2744922491217532500,0,115,58,100,101,100,117,112,46,100,97,116,97,0,
12678,12680,12709,156,0,5863786,0,116,49,0,518144,12700,12719,156,0,5863787,0,116,50,0, 12678,12680,12709,156,0,5863786,0,116,49,0,515584,12700,12719,156,0,5863787,0,116,50,0,
22452,12680,12743,168,12901,-1192507208876296873,0,115,58,100,101,100,117,112,46,114,101,103,105,115, 22717,12680,12743,168,12901,-1192507208876296873,0,115,58,100,101,100,117,112,46,114,101,103,105,115,
116,101,114,0,2049,4640,3841,12699,4,1,12387,2049,2279,10,12720,12776,168,12901,-1192507805573830048,0, 116,101,114,0,2049,4640,3841,12699,4,1,12387,2049,2279,10,12720,12776,168,12901,-1192507805573830048,0,
115,58,100,101,100,117,112,46,100,101,102,105,110,101,100,63,0,4097,12709,1, 115,58,100,101,100,117,112,46,100,101,102,105,110,101,100,63,0,4097,12709,1,
0,4097,12719,3841,12699,1793,12796,3841,12709,2049,118,3841,12719,22,4097,12719,10,1,12786,2049, 0,4097,12719,3841,12699,1793,12796,3841,12709,2049,118,3841,12719,22,4097,12719,10,1,12786,2049,
@ -994,208 +994,221 @@ CELL ngaImage[] = { 1793,12065,23705,23743,202409,422,394,1333,1535,0,12113,0,10
4611,45,110,0,1,19600,2049,17,1,11,2049,19153,10,19575,19635,168,19649,349495210940165933,19637,99, 4611,45,110,0,1,19600,2049,17,1,11,2049,19153,10,19575,19635,168,19649,349495210940165933,19637,99,
108,111,99,107,58,117,116,99,58,115,101,99,111,110,100,0,2049,4611,45,110, 108,111,99,107,58,117,116,99,58,115,101,99,111,110,100,0,2049,4611,45,110,
0,1,19637,2049,17,1,12,2049,19153,10,105,110,116,101,114,102,97,99,101,47, 0,1,19637,2049,17,1,12,2049,19153,10,105,110,116,101,114,102,97,99,101,47,
99,108,111,99,107,46,114,101,116,114,111,0,19649,20084,19612,19696,168,0,1976442044545254821,0, 99,108,111,99,107,46,114,101,116,114,111,0,19649,20172,19612,19696,168,0,1976442044545254821,0,
115,99,114,105,112,116,58,111,112,101,114,97,116,105,111,110,0,1,9,2049, 115,99,114,105,112,116,58,111,112,101,114,97,116,105,111,110,0,1,9,2049,
11209,2,2049,2822,1793,19749,3,2049,4611,69,114,114,111,114,58,32,115,99,114,105, 11209,2,2049,2822,1793,19749,3,2049,4611,69,114,114,111,114,58,32,115,99,114,105,
112,116,105,110,103,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117, 112,116,105,110,103,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,
110,100,0,1,19708,2049,11320,2049,11274,10,1,19705,2049,2928,2049,11189,10,19612,19779,168, 110,100,0,1,19708,2049,11320,2049,11274,10,1,19705,2049,2928,2049,11189,10,19612,19779,168,
20058,1976422442775525130,0,115,99,114,105,112,116,58,97,114,103,117,109,101,110,116,115,0, 20146,1976422442775525130,19781,115,99,114,105,112,116,58,97,114,103,117,109,101,110,116,115,0,
1,0,2049,19696,10,19756,19810,168,20058,7012485947518414468,0,115,99,114,105,112,116,58,103,101, 2049,4611,45,110,0,1,19781,2049,17,1,0,2049,19696,10,19756,19819,168,20146,7012485947518414468,19821,
116,45,97,114,103,117,109,101,110,116,0,2049,4589,4,1,1,2049,19696,10,19784, 115,99,114,105,112,116,58,103,101,116,45,97,114,103,117,109,101,110,116,0,
19832,168,20058,229469872107401,0,105,110,99,108,117,100,101,0,1,2,2049,19696,10,19818,19855, 2049,4611,110,45,115,0,1,19821,2049,17,2049,4589,4,1,1,2049,19696,10,19793,19851,
168,20058,-4553194680242110987,0,115,99,114,105,112,116,58,110,97,109,101,0,2049,4589,1,3, 168,20146,229469872107401,19853,105,110,99,108,117,100,101,0,2049,4611,115,45,0,1,19853,2049,
2049,19696,10,19837,19888,168,20058,6834827170184619652,0,115,99,114,105,112,116,58,99,117,114,114, 17,1,2,2049,19696,10,19837,19883,168,20146,-4553194680242110987,19885,115,99,114,105,112,116,58,110,
101,110,116,45,102,105,108,101,0,2049,4589,1,4,2049,19696,10,19862,19921,180,20058, 97,109,101,0,2049,4611,45,115,0,1,19885,2049,17,2049,4589,1,3,2049,19696,10,
6834827170184835340,0,115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,108,105,110, 19865,19925,168,20146,6834827170184619652,19927,115,99,114,105,112,116,58,99,117,114,114,101,110,116,
101,0,1,5,2049,19696,2049,156,10,19895,19955,168,20058,-4964876483161304491,0,115,99,114,105,112, 45,102,105,108,101,0,2049,4611,45,115,0,1,19927,2049,17,2049,4589,1,4,2049,
116,58,105,103,110,111,114,101,45,116,111,45,101,111,108,0,1,6,2049,19696, 19696,10,19899,19967,180,20146,6834827170184835340,19969,115,99,114,105,112,116,58,99,117,114,114,101,
10,19928,19987,168,20058,-112287744780050755,0,115,99,114,105,112,116,58,97,98,111,114,116,45, 110,116,45,108,105,110,101,0,2049,4611,45,110,0,1,19969,2049,17,1,5,2049,
105,110,99,108,117,100,101,0,1,7,2049,19696,10,19960,20004,168,20058,210706230653,0,97, 19696,2049,156,10,19941,20010,168,20146,-4964876483161304491,20012,115,99,114,105,112,116,58,105,103,110,
98,111,114,116,0,1,149,2049,3991,1,8,2049,19696,10,19992,20044,168,20058,-7741142524340576066,0, 111,114,101,45,116,111,45,101,111,108,0,2049,4611,45,0,1,20012,2049,17,1,
115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,108,105,110,101,45, 6,2049,19696,10,19983,20050,168,20146,-112287744780050755,20052,115,99,114,105,112,116,58,97,98,111,
116,101,120,116,0,2049,4589,1793,20053,1,9,2049,19696,10,1,20048,2049,2279,10,105, 114,116,45,105,110,99,108,117,100,101,0,2049,4611,45,0,1,20052,2049,17,1,
110,116,101,114,102,97,99,101,47,115,99,114,105,112,116,105,110,103,46,114, 7,2049,19696,10,20023,20075,168,20146,210706230653,20077,97,98,111,114,116,0,2049,4611,45,0,
101,116,114,111,0,20058,20551,20013,20109,168,20553,1183117598919957017,0,115,111,99,107,101,116,58, 1,20077,2049,17,1,149,2049,3991,1,8,2049,19696,10,20063,20123,168,20146,-7741142524340576066,20125,115,
111,112,101,114,97,116,105,111,110,0,1,7,2049,11209,2,2049,2822,1793,20266,3, 99,114,105,112,116,58,99,117,114,114,101,110,116,45,108,105,110,101,45,116,
2049,4611,69,114,114,111,114,58,32,115,111,99,107,101,116,32,100,101,118,105, 101,120,116,0,2049,4611,45,115,0,1,20125,2049,17,2049,4589,1793,20141,1,9,2049,
99,101,32,110,111,116,32,102,111,117,110,100,0,1,20121,2049,11320,2049,11274,2049, 19696,10,1,20136,2049,2279,10,105,110,116,101,114,102,97,99,101,47,115,99,114,
4611,83,101,101,32,104,116,116,112,115,58,47,47,114,101,116,114,111,102,111, 105,112,116,105,110,103,46,114,101,116,114,111,0,20146,20747,20092,20197,168,20749,1183117598919957017,
114,116,104,46,111,114,103,47,115,117,112,112,111,114,116,47,50,48,50,50, 0,115,111,99,107,101,116,58,111,112,101,114,97,116,105,111,110,0,1,7,
46,49,47,83,79,67,75,69,84,83,46,109,100,0,1,20160,2049,11320,2049,11274, 2049,11209,2,2049,2822,1793,20354,3,2049,4611,69,114,114,111,114,58,32,115,111,99,
2049,4611,102,111,114,32,105,110,115,116,114,117,99,116,105,111,110,115,32,111, 107,101,116,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,
110,32,101,110,97,98,108,105,110,103,32,115,111,99,107,101,116,115,46,0, 0,1,20209,2049,11320,2049,11274,2049,4611,83,101,101,32,104,116,116,112,115,58,47,
1,20221,2049,11320,2049,11274,10,1,20118,2049,2928,2049,11189,10,20086,20300,168,20527,-7671511728383126910,0, 47,114,101,116,114,111,102,111,114,116,104,46,111,114,103,47,115,117,112,112,
115,111,99,107,101,116,58,103,101,116,104,111,115,116,98,121,110,97,109,101, 111,114,116,47,50,48,50,50,46,49,47,83,79,67,75,69,84,83,46,109,
0,1,0,2049,20109,10,20273,20325,168,20527,4328757989659661596,0,115,111,99,107,101,116,58,99, 100,0,1,20248,2049,11320,2049,11274,2049,4611,102,111,114,32,105,110,115,116,114,117,
114,101,97,116,101,0,1,1,2049,20109,10,20305,20348,168,20527,-4552658767528245371,0,115,111,99, 99,116,105,111,110,115,32,111,110,32,101,110,97,98,108,105,110,103,32,115,
107,101,116,58,98,105,110,100,0,1,2,2049,20109,10,20330,20373,168,20527,4328757990001730167,0, 111,99,107,101,116,115,46,0,1,20309,2049,11320,2049,11274,10,1,20206,2049,2928,2049,
115,111,99,107,101,116,58,108,105,115,116,101,110,0,1,3,2049,20109,10,20353, 11189,10,20174,20388,168,20723,-7671511728383126910,20390,115,111,99,107,101,116,58,103,101,116,104,111,
20398,168,20527,4328757989563534360,0,115,111,99,107,101,116,58,97,99,99,101,112,116,0,1, 115,116,98,121,110,97,109,101,0,2049,4611,97,115,45,0,1,20390,2049,17,1,
4,2049,20109,10,20378,20424,168,20527,-4724938931013862254,0,115,111,99,107,101,116,58,99,111,110, 0,2049,20197,10,20361,20423,168,20723,4328757989659661596,20425,115,111,99,107,101,116,58,99,114,101,
110,101,99,116,0,1,5,2049,20109,10,20403,20447,168,20527,-4552658767527638798,0,115,111,99,107, 97,116,101,0,2049,4611,45,110,0,1,20425,2049,17,1,1,2049,20197,10,20403,20455,
101,116,58,115,101,110,100,0,1,6,2049,20109,10,20429,20470,168,20527,-4552658767527675080,0,115, 168,20723,-4552658767528245371,20457,115,111,99,107,101,116,58,98,105,110,100,0,2049,4611,115,110,
111,99,107,101,116,58,114,101,99,118,0,1,7,2049,20109,10,20452,20494,168,20527, 45,110,0,1,20457,2049,17,1,2,2049,20197,10,20437,20491,168,20723,4328757990001730167,20493,115,111,
-2663786738754388898,0,115,111,99,107,101,116,58,99,108,111,115,101,0,1,8,2049,20109,10, 99,107,101,116,58,108,105,115,116,101,110,0,2049,4611,110,110,45,110,110,0,
20475,20522,168,20527,1183100690560715498,0,115,111,99,107,101,116,58,99,111,110,102,105,103,117, 1,20493,2049,17,1,3,2049,20197,10,20471,20528,168,20723,4328757989563534360,20530,115,111,99,107,101,
114,101,0,1,9,2049,20109,10,105,110,116,101,114,102,97,99,101,47,115,111, 116,58,97,99,99,101,112,116,0,2049,4611,110,45,110,110,0,1,20530,2049,17,
99,107,101,116,115,46,114,101,116,114,111,0,20527,20570,115,111,99,107,101,116, 1,4,2049,20197,10,20508,20565,168,20723,-4724938931013862254,20567,115,111,99,107,101,116,58,99,111,
58,111,112,101,114,97,116,105,111,110,0,20553,20788,20499,20586,168,20762,229469862290528,0,105, 110,110,101,99,116,0,2049,4611,110,45,110,110,0,1,20567,2049,17,1,5,2049,
111,58,99,111,114,101,0,1,8000,2049,11209,2049,11189,10,20572,20609,168,20762,249884313919988732,0, 20197,10,20544,20599,168,20723,-4552658767527638798,20601,115,111,99,107,101,116,58,115,101,110,100,0,
99,111,114,101,58,105,110,105,116,0,1,0,2049,20586,10,20593,20631,168,20762,8246182359371694326, 2049,4611,115,110,45,110,110,0,1,20601,2049,17,1,6,2049,20197,10,20581,20634,168,
0,99,111,114,101,58,115,116,97,114,116,0,1,1,2049,20586,10,20614,20653,168, 20723,-4552658767527675080,20636,115,111,99,107,101,116,58,114,101,99,118,0,2049,4611,97,110,110,
20762,8246182359367475558,0,99,111,114,101,58,112,97,117,115,101,0,1,2,2049,20586,10,20636, 45,110,110,0,1,20636,2049,17,1,7,2049,20197,10,20616,20671,168,20723,-2663786738754388898,20673,115,
20683,168,20762,8337299194488917014,0,99,111,114,101,58,112,97,117,115,101,45,99,117,114,114, 111,99,107,101,116,58,99,108,111,115,101,0,2049,4611,110,45,0,1,20673,2049,
101,110,116,0,1,3,2049,20586,10,20658,20706,168,20762,-4577143246433635687,0,99,111,114,101,58, 17,1,8,2049,20197,10,20652,20708,168,20723,1183100690560715498,20710,115,111,99,107,101,116,58,99,
114,101,115,117,109,101,0,1,4,2049,20586,10,20688,20731,168,20762,-3888095465377135055,0,99,111, 111,110,102,105,103,117,114,101,0,2049,4611,115,115,45,0,1,20710,2049,17,1,
114,101,58,114,101,97,100,47,114,101,103,0,1,5,2049,20586,10,20711,20757,168, 9,2049,20197,10,105,110,116,101,114,102,97,99,101,47,115,111,99,107,101,116,
20762,820065755623810592,0,99,111,114,101,58,119,114,105,116,101,47,114,101,103,0,1,6, 115,46,114,101,116,114,111,0,20723,20766,115,111,99,107,101,116,58,111,112,101,
2049,20586,10,105,110,116,101,114,102,97,99,101,47,109,117,108,116,105,99,111, 114,97,116,105,111,110,0,20749,20984,20685,20782,168,20958,229469862290528,0,105,111,58,99,111,
114,101,46,114,101,116,114,111,0,20762,20949,20736,20810,168,20929,644988671245709381,0,102,102,105, 114,101,0,1,8000,2049,11209,2049,11189,10,20768,20805,168,20958,249884313919988732,0,99,111,114,101,
58,111,112,101,114,97,116,105,111,110,0,1,8100,2049,11209,2,2049,2822,1793,20857, 58,105,110,105,116,0,1,0,2049,20782,10,20789,20827,168,20958,8246182359371694326,0,99,111,114,
3,2049,4611,69,114,114,111,114,58,32,70,70,73,32,100,101,118,105,99,101, 101,58,115,116,97,114,116,0,1,1,2049,20782,10,20810,20849,168,20958,8246182359367475558,0,99,
32,110,111,116,32,102,111,117,110,100,0,1,20822,2049,11320,2049,11274,10,1,20819, 111,114,101,58,112,97,117,115,101,0,1,2,2049,20782,10,20832,20879,168,20958,8337299194488917014,
2049,2928,2049,11189,10,20790,20879,168,20929,7572367767785414,0,102,102,105,58,111,112,101,110,0, 0,99,111,114,101,58,112,97,117,115,101,45,99,117,114,114,101,110,116,0,
1,0,2049,20810,10,20864,20902,168,20929,-4572980637897979592,0,102,102,105,58,109,97,112,45,115, 1,3,2049,20782,10,20854,20902,168,20958,-4577143246433635687,0,99,111,114,101,58,114,101,115,117,
121,109,0,1,1,2049,20810,10,20884,20924,168,20929,8246308498881747296,0,102,102,105,58,105,110, 109,101,0,1,4,2049,20782,10,20884,20927,168,20958,-3888095465377135055,0,99,111,114,101,58,114,
118,111,107,101,0,1,2,2049,20810,10,105,110,116,101,114,102,97,99,101,47, 101,97,100,47,114,101,103,0,1,5,2049,20782,10,20907,20953,168,20958,820065755623810592,0,99,
102,102,105,46,114,101,116,114,111,0,20929,21291,20907,20968,168,21266,8247016409221251463,0,117,110, 111,114,101,58,119,114,105,116,101,47,114,101,103,0,1,6,2049,20782,10,105,
115,105,103,110,101,100,58,43,0,1,0,1,8101,2049,11209,2049,11189,17,10,20951, 110,116,101,114,102,97,99,101,47,109,117,108,116,105,99,111,114,101,46,114,
20995,168,21266,8247016409221251465,0,117,110,115,105,103,110,101,100,58,45,0,1,0,1,8101, 101,116,114,111,0,20958,21185,20932,21006,168,21165,644988671245709381,21008,102,102,105,58,111,112,101,
2049,11209,2049,11189,18,10,20978,21022,168,21266,8247016409221251462,0,117,110,115,105,103,110,101,100, 114,97,116,105,111,110,0,2049,4611,110,45,63,0,1,21008,2049,17,1,8100,2049,
58,42,0,1,0,1,8101,2049,11209,2049,11189,19,10,21005,21052,168,21266,7638409966457829387,0,117, 11209,2,2049,2822,1793,21063,3,2049,4611,69,114,114,111,114,58,32,70,70,73,32,
110,115,105,103,110,101,100,58,47,109,111,100,0,1,0,1,8101,2049,11209,2049, 100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,21028,2049,
11189,20,10,21032,21081,168,21266,-2563494254608726831,0,117,110,115,105,103,110,101,100,58,101,113, 11320,2049,11274,10,1,21025,2049,2928,2049,11189,10,20986,21085,168,21165,7572367767785414,21087,102,102,105,
63,0,1,0,1,8101,2049,11209,2049,11189,11,10,21062,21111,168,21266,7638409966457748830,0,117,110, 58,111,112,101,110,0,2049,4611,115,45,110,0,1,21087,2049,17,1,0,2049,21006,
115,105,103,110,101,100,58,45,101,113,63,0,1,0,1,8101,2049,11209,2049,11189, 10,21070,21118,168,21165,-4572980637897979592,21120,102,102,105,58,109,97,112,45,115,121,109,0,2049,
12,10,21091,21140,168,21266,-2563494254608719109,0,117,110,115,105,103,110,101,100,58,108,116,63, 4611,115,110,45,110,0,1,21120,2049,17,1,1,2049,21006,10,21100,21151,168,21165,8246308498881747296,
0,1,0,1,8101,2049,11209,2049,11189,13,10,21121,21169,168,21266,-2563494254608724554,0,117,110,115, 21153,102,102,105,58,105,110,118,111,107,101,0,2049,4611,110,45,0,1,21153,2049,
105,103,110,101,100,58,103,116,63,0,1,0,1,8101,2049,11209,2049,11189,14,10, 17,1,2,2049,21006,10,105,110,116,101,114,102,97,99,101,47,102,102,105,46,
21150,21200,168,21266,-6186888138744896262,0,117,110,115,105,103,110,101,100,58,115,104,105,102,116, 114,101,116,114,111,0,21165,21527,21134,21204,168,21502,8247016409221251463,0,117,110,115,105,103,110,
0,1,0,1,8101,2049,11209,2049,11189,24,10,21179,21231,168,21266,-6186888138833512267,0,117,110,115, 101,100,58,43,0,1,0,1,8101,2049,11209,2049,11189,17,10,21187,21231,168,21502,8247016409221251465,
105,103,110,101,100,58,42,47,109,111,100,0,1,1,1,0,1,8101,2049,11209, 0,117,110,115,105,103,110,101,100,58,45,0,1,0,1,8101,2049,11209,2049,11189,
2,2049,11189,2049,11189,10,21210,21257,168,21266,210639169918,0,42,47,109,111,100,0,1,1, 18,10,21214,21258,168,21502,8247016409221251462,0,117,110,115,105,103,110,101,100,58,42,0,1,
1,8101,2049,11209,2049,11189,10,105,110,116,101,114,102,97,99,101,47,117,110,115, 0,1,8101,2049,11209,2049,11189,19,10,21241,21288,168,21502,7638409966457829387,0,117,110,115,105,103,
105,103,110,101,100,46,114,101,116,114,111,0,21266,21419,21245,21312,168,21396,-3502245454587251943,0, 110,101,100,58,47,109,111,100,0,1,0,1,8101,2049,11209,2049,11189,20,10,21268,
100,58,117,115,101,45,104,97,115,104,101,115,0,1,29,1,241,1,5,18, 21317,168,21502,-2563494254608726831,0,117,110,115,105,103,110,101,100,58,101,113,63,0,1,0,
16,1793,21326,2049,188,15,10,1,21322,1,241,1,8,18,16,1,2049,1,241,16, 1,8101,2049,11209,2049,11189,11,10,21298,21347,168,21502,7638409966457748830,0,117,110,115,105,103,110,
1,5044,1,241,2049,3204,16,10,21293,21367,168,21396,-4893635544173424761,0,100,58,117,115,101,45, 101,100,58,45,101,113,63,0,1,0,1,8101,2049,11209,2049,11189,12,10,21327,21376,
115,116,114,105,110,103,115,0,1,118,1,241,1,5,18,16,1,192,1,241, 168,21502,-2563494254608719109,0,117,110,115,105,103,110,101,100,58,108,116,63,0,1,0,1,
1,8,18,16,1,0,1,241,16,1,0,1,241,2049,3204,16,10,105,110,116, 8101,2049,11209,2049,11189,13,10,21357,21405,168,21502,-2563494254608724554,0,117,110,115,105,103,110,101,
101,114,102,97,99,101,47,102,117,116,117,114,101,46,114,101,116,114,111,0, 100,58,103,116,63,0,1,0,1,8101,2049,11209,2049,11189,14,10,21386,21436,168,21502,
21396,21541,21347,21440,168,0,-3527051417241377258,0,98,108,111,99,107,58,105,110,118,111,107,101, -6186888138744896262,0,117,110,115,105,103,110,101,100,58,115,104,105,102,116,0,1,0,1,
0,1,3,2049,11209,2049,11189,10,21347,21464,168,21518,8246131600073141446,0,98,108,111,99,107,58, 8101,2049,11209,2049,11189,24,10,21415,21467,168,21502,-6186888138833512267,0,117,110,115,105,103,110,101,
114,101,97,100,0,1,0,2049,21440,10,21447,21487,168,21518,-4578818303223200395,0,98,108,111,99, 100,58,42,47,109,111,100,0,1,1,1,0,1,8101,2049,11209,2,2049,11189,2049,
107,58,119,114,105,116,101,0,1,1,2049,21440,10,21469,21513,168,21518,-4036225629868593021,0,98, 11189,10,21446,21493,168,21502,210639169918,0,42,47,109,111,100,0,1,1,1,8101,2049,11209,
108,111,99,107,58,115,101,116,45,102,105,108,101,0,1,2,2049,21440,10,105, 2049,11189,10,105,110,116,101,114,102,97,99,101,47,117,110,115,105,103,110,101,
110,116,101,114,102,97,99,101,47,98,108,111,99,107,115,46,114,101,116,114, 100,46,114,101,116,114,111,0,21502,21655,21481,21548,168,21632,-3502245454587251943,0,100,58,117,115,
111,0,21518,22476,21492,21565,168,21792,4283726481136624767,0,101,114,114,58,115,101,116,45,104,97, 101,45,104,97,115,104,101,115,0,1,29,1,241,1,5,18,16,1793,21562,2049,
110,100,108,101,114,0,1,1234,2049,11209,2,2049,2822,1793,21623,3,2049,4611,69,114, 188,15,10,1,21558,1,241,1,8,18,16,1,2049,1,241,16,1,5044,1,241,
114,111,114,58,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32, 2049,3204,16,10,21529,21603,168,21632,-4893635544173424761,0,100,58,117,115,101,45,115,116,114,105,
100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,21577,2049, 110,103,115,0,1,118,1,241,1,5,18,16,1,192,1,241,1,8,18,16,
11320,2049,11274,10,1,21574,2049,2928,1,0,4,2049,11189,10,21543,21647,168,21792,229464878751060,0, 1,0,1,241,16,1,0,1,241,2049,3204,16,10,105,110,116,101,114,102,97,
101,114,114,58,100,115,117,0,2049,11375,2049,11274,2049,4611,69,82,82,79,82,58, 99,101,47,102,117,116,117,114,101,46,114,101,116,114,111,0,21632,21806,21583,21676,
32,68,83,85,58,32,68,65,84,65,32,83,84,65,67,75,32,85,78,68, 168,0,-3527051417241377258,0,98,108,111,99,107,58,105,110,118,111,107,101,0,1,3,2049,
69,82,70,76,79,87,0,1,21653,2049,11320,2049,11274,2049,11496,10,21633,21709,168,21792, 11209,2049,11189,10,21583,21700,168,21783,8246131600073141446,21702,98,108,111,99,107,58,114,101,97,100,
229464878751054,0,101,114,114,58,100,115,111,0,2049,11375,2049,11274,2049,4611,69,82,82,79, 0,2049,4611,110,97,45,0,1,21702,2049,17,1,0,2049,21676,10,21683,21733,168,21783,
82,58,32,68,83,79,58,32,68,65,84,65,32,83,84,65,67,75,32,79, -4578818303223200395,21735,98,108,111,99,107,58,119,114,105,116,101,0,2049,4611,110,97,45,0,
86,69,82,70,76,79,87,0,1,21715,2049,11320,2049,11274,2049,11496,10,21695,21779,168, 1,21735,2049,17,1,1,2049,21676,10,21715,21769,168,21783,-4036225629868593021,21771,98,108,111,99,107,
21792,-6210978877792005319,0,101,114,114,58,115,101,116,45,100,101,102,97,117,108,116,115,0, 58,115,101,116,45,102,105,108,101,0,2049,4611,115,45,0,1,21771,2049,17,1,
1,21647,1,1,2049,21565,1,21709,1,2,2049,21565,10,105,110,116,101,114,102,97, 2,2049,21676,10,105,110,116,101,114,102,97,99,101,47,98,108,111,99,107,115,
99,101,47,101,114,114,111,114,46,114,101,116,114,111,0,21756,21836,168,0,-1159954141530329845, 46,114,101,116,114,111,0,21783,22741,21748,21830,168,22057,4283726481136624767,0,101,114,114,58,115,
0,105,111,99,116,108,58,111,112,101,114,97,116,105,111,110,0,1,14,2049, 101,116,45,104,97,110,100,108,101,114,0,1,1234,2049,11209,2,2049,2822,1793,21888,
11209,2,2049,2822,1793,21885,3,2049,4611,69,114,114,111,114,58,32,105,111,99,116, 3,2049,4611,69,114,114,111,114,58,32,101,114,114,111,114,32,104,97,110,100,
108,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1, 108,105,110,103,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,
21848,2049,11320,2049,11274,10,1,21845,2049,2928,2049,11189,10,21814,21914,168,0,-1159947561758408230,21916,105, 100,0,1,21842,2049,11320,2049,11274,10,1,21839,2049,2928,1,0,4,2049,11189,10,21808,
111,99,116,108,58,116,101,114,109,45,115,105,122,101,0,2049,4611,45,110,110, 21912,168,22057,229464878751060,0,101,114,114,58,100,115,117,0,2049,11375,2049,11274,2049,4611,69,
0,1,21916,2049,17,1,0,2049,21836,10,21892,21952,168,0,-1384827797416383269,21954,105,111,99,116, 82,82,79,82,58,32,68,83,85,58,32,68,65,84,65,32,83,84,65,67,
108,58,115,101,116,45,99,98,114,101,97,107,0,2049,4611,45,0,1,21954,2049, 75,32,85,78,68,69,82,70,76,79,87,0,1,21918,2049,11320,2049,11274,2049,11496,
17,1,1,2049,21836,10,21929,21988,168,0,-1384827797064164732,21990,105,111,99,116,108,58,115,101, 10,21898,21974,168,22057,229464878751054,0,101,114,114,58,100,115,111,0,2049,11375,2049,11274,2049,
116,45,108,98,114,101,97,107,0,2049,4611,45,0,1,21990,2049,17,1,2,2049, 4611,69,82,82,79,82,58,32,68,83,79,58,32,68,65,84,65,32,83,84,
21836,10,21965,22024,168,0,-1384833267584846441,22026,105,111,99,116,108,58,115,97,118,101,45,115, 65,67,75,32,79,86,69,82,70,76,79,87,0,1,21980,2049,11320,2049,11274,2049,
116,97,116,101,0,2049,4611,45,0,1,22026,2049,17,1,3,2049,21836,10,22001,22063, 11496,10,21960,22044,168,22057,-6210978877792005319,0,101,114,114,58,115,101,116,45,100,101,102,97,
168,0,1092846777098631660,22065,105,111,99,116,108,58,114,101,115,116,111,114,101,45,115,116, 117,108,116,115,0,1,21912,1,1,2049,21830,1,21974,1,2,2049,21830,10,105,110,
97,116,101,0,2049,4611,45,0,1,22065,2049,17,1,4,2049,21836,10,1793,22097,1, 116,101,114,102,97,99,101,47,101,114,114,111,114,46,114,101,116,114,111,0,
194,1,2,17,8,2049,1579,2049,192,3841,12097,8,2049,1579,2049,188,16,10,1,22078, 22021,22101,168,0,-1159954141530329845,0,105,111,99,116,108,58,111,112,101,114,97,116,105,111,
22037,22110,168,22452,6384117006,0,72,79,77,69,0,2049,2001,1,4096,17,10,37,115,47, 110,0,1,14,2049,11209,2,2049,2822,1793,22150,3,2049,4611,69,114,114,111,114,58,
46,99,111,110,102,105,103,47,114,101,116,114,111,102,111,114,116,104,47,108, 32,105,111,99,116,108,32,100,101,118,105,99,101,32,110,111,116,32,102,111,
105,98,114,97,114,121,47,37,115,46,114,101,116,114,111,0,22099,22116,156,22452, 117,110,100,0,1,22113,2049,11320,2049,11274,10,1,22110,2049,2928,2049,11189,10,22079,22179,
6061648467740287960,0,108,105,98,114,97,114,121,58,46,67,79,78,70,73,71,0,46,47, 168,0,-1159947561758408230,22181,105,111,99,116,108,58,116,101,114,109,45,115,105,122,101,0,
108,105,98,114,97,114,121,47,37,115,46,114,101,116,114,111,0,22155,22177,156, 2049,4611,45,110,110,0,1,22181,2049,17,1,0,2049,22101,10,22157,22217,168,0,-1384827797416383269,
22452,-4563659402581934926,0,108,105,98,114,97,114,121,58,67,87,68,0,22196,22232,168,22452,-4563659402581898990, 22219,105,111,99,116,108,58,115,101,116,45,99,98,114,101,97,107,0,2049,4611,
0,108,105,98,114,97,114,121,58,99,119,100,0,1,22177,2049,8580,10,22214,22259, 45,0,1,22219,2049,17,1,1,2049,22101,10,22194,22253,168,0,-1384827797064164732,22255,105,111,99,
168,22452,6061648469031755928,0,108,105,98,114,97,114,121,58,46,99,111,110,102,105,103,0, 116,108,58,115,101,116,45,108,98,114,101,97,107,0,2049,4611,45,0,1,22255,
2049,4611,72,79,77,69,0,1,22261,2049,22110,2049,18562,2049,22110,1,22116,2049,8580,10, 2049,17,1,2,2049,22101,10,22230,22289,168,0,-1384833267584846441,22291,105,111,99,116,108,58,115,
22237,22302,168,22452,-2879782938503308011,0,108,105,98,114,97,114,121,58,102,105,108,101,110,97, 97,118,101,45,115,116,97,116,101,0,2049,4611,45,0,1,22291,2049,17,1,3,
109,101,0,2,2049,22232,2,2049,17540,1793,22312,772,10,1,22310,2049,2928,3,2049,22259, 2049,22101,10,22266,22328,168,0,1092846777098631660,22330,105,111,99,116,108,58,114,101,115,116,111,
2,2049,17540,1793,22325,10,1,22324,2049,2928,3,2049,4589,10,22279,22357,168,22452,-2799120562421764174,0, 114,101,45,115,116,97,116,101,0,2049,4611,45,0,1,22330,2049,17,1,4,2049,
108,105,98,114,97,114,121,58,99,111,110,116,97,105,110,115,63,0,1,22232, 22101,10,1793,22362,1,194,1,2,17,8,2049,1579,2049,192,3841,12097,8,2049,1579,2049,
1,22259,2049,2294,1,17540,2049,2326,22,10,22333,22388,168,22452,-3026807695525939020,0,108,105,98,114, 188,16,10,1,22343,22302,22375,168,22717,6384117006,0,72,79,77,69,0,2049,2001,1,4096,
97,114,121,58,108,111,97,100,0,2,2049,22357,1793,22398,2049,22302,2049,19832,10,1, 17,10,37,115,47,46,99,111,110,102,105,103,47,114,101,116,114,111,102,111,
22393,1793,22447,2049,4611,69,82,82,79,82,58,32,76,105,98,114,97,114,121,32, 114,116,104,47,108,105,98,114,97,114,121,47,37,115,46,114,101,116,114,111,
96,37,115,96,32,119,97,115,32,110,111,116,32,102,111,117,110,100,0,1, 0,22364,22381,156,22717,6061648467740287960,0,108,105,98,114,97,114,121,58,46,67,79,78,70,
22404,2049,8580,2049,11320,2049,11274,10,1,22402,2049,66,10,105,110,116,101,114,102,97, 73,71,0,46,47,108,105,98,114,97,114,121,47,37,115,46,114,101,116,114,
99,101,47,108,105,98,114,97,114,121,46,114,101,116,114,111,0,22452,12283,22369, 111,0,22420,22442,156,22717,-4563659402581934926,0,108,105,98,114,97,114,121,58,67,87,68,0,
22495,168,22748,8246457295145463473,0,105,109,97,103,101,58,115,97,118,101,0,1,1000,2049,11209, 22461,22497,168,22717,-4563659402581898990,0,108,105,98,114,97,114,121,58,99,119,100,0,1,22442,
2049,11189,10,22478,22514,168,0,210711039690,0,101,100,105,116,63,0,2,1793,22521,1,8, 2049,8580,10,22479,22524,168,22717,6061648469031755928,0,108,105,98,114,97,114,121,58,46,99,111,
11,10,1,22517,1793,22529,1,127,11,10,1,22525,2049,2294,22,10,22502,22548,168,0, 110,102,105,103,0,2049,4611,72,79,77,69,0,1,22526,2049,22375,2049,18562,2049,22375,
6953475974244,0,101,110,100,101,100,63,0,2049,4278,3841,4387,2049,2731,10,22535,22565,168,0, 1,22381,2049,8580,10,22502,22567,168,22717,-2879782938503308011,0,108,105,98,114,97,114,121,58,102,
193486030,0,97,100,100,0,2049,22548,1,17,1,4197,2049,66,10,22555,22587,168,0,6953539406400, 105,108,101,110,97,109,101,0,2,2049,22497,2,2049,17540,1793,22577,772,10,1,22575,
0,103,97,116,104,101,114,0,2049,22514,1,17,1,22565,2049,66,10,22574,22608,168, 2049,2928,3,2049,22524,2,2049,17540,1793,22590,10,1,22589,2049,2928,3,2049,4589,10,22544,
0,210709415765,0,99,121,99,108,101,0,2049,11477,2049,2253,4,8,2049,2698,25,3,2049, 22622,168,22717,-2799120562421764174,0,108,105,98,114,97,114,121,58,99,111,110,116,97,105,110,
22587,1,22608,7,10,22478,22642,168,22748,-4557881830897049127,0,112,97,114,115,101,45,117,110,116, 115,63,0,1,22497,1,22524,2049,2294,1,17540,2049,2326,22,10,22598,22653,168,22717,-3026807695525939020,
105,108,0,1793,22654,2049,4589,2049,4301,2049,22608,771,2049,4157,10,1,22644,2049,4328,10, 0,108,105,98,114,97,114,121,58,108,111,97,100,0,2,2049,22622,1793,22663,2049,
22624,22671,168,22748,210726130610,0,115,58,103,101,116,0,1793,22693,1793,22679,1,13,11,10, 22567,2049,19851,10,1,22658,1793,22712,2049,4611,69,82,82,79,82,58,32,76,105,98,
1,22675,1793,22687,1,10,11,10,1,22683,2049,2294,22,10,1,22673,2049,22642,10,22659, 114,97,114,121,32,96,37,115,96,32,119,97,115,32,110,111,116,32,102,111,
22710,168,22748,210708950412,0,99,108,101,97,114,0,2049,4611,92,94,91,50,74,92,94, 117,110,100,0,1,22669,2049,8580,2049,11320,2049,11274,10,1,22667,2049,66,10,105,110,
91,48,59,48,72,0,1,22712,2049,8580,2049,11320,10,22698,22741,180,22748,5861507,0,47, 116,101,114,102,97,99,101,47,108,105,98,114,97,114,121,46,114,101,116,114,
47,0,2049,19955,1,11513,2049,3975,10,105,110,116,101,114,102,97,99,101,47,114, 111,0,22717,12283,22634,22760,168,23013,8246457295145463473,0,105,109,97,103,101,58,115,97,118,101,
101,116,114,111,45,117,110,105,120,46,114,101,116,114,111,0,22732,22789,156,0, 0,1,1000,2049,11209,2049,11189,10,22743,22779,168,0,210711039690,0,101,100,105,116,63,0,
229441520490121,0,83,111,117,114,99,101,115,0,3,23041,23239,23437,0,0,0,0,0,0, 2,1793,22786,1,8,11,10,1,22782,1793,22794,1,127,11,10,1,22790,2049,2294,22,
10,22767,22813,168,0,6953475974244,0,101,110,100,101,100,63,0,2049,4278,3841,4387,2049,2731,
10,22800,22830,168,0,193486030,0,97,100,100,0,2049,22813,1,17,1,4197,2049,66,10,
22820,22852,168,0,6953539406400,0,103,97,116,104,101,114,0,2049,22779,1,17,1,22830,2049,
66,10,22839,22873,168,0,210709415765,0,99,121,99,108,101,0,2049,11477,2049,2253,4,8,
2049,2698,25,3,2049,22852,1,22873,7,10,22743,22907,168,23013,-4557881830897049127,0,112,97,114,115,
101,45,117,110,116,105,108,0,1793,22919,2049,4589,2049,4301,2049,22873,771,2049,4157,10,
1,22909,2049,4328,10,22889,22936,168,23013,210726130610,0,115,58,103,101,116,0,1793,22958,1793,
22944,1,13,11,10,1,22940,1793,22952,1,10,11,10,1,22948,2049,2294,22,10,1,
22938,2049,22907,10,22924,22975,168,23013,210708950412,0,99,108,101,97,114,0,2049,4611,92,94,
91,50,74,92,94,91,48,59,48,72,0,1,22977,2049,8580,2049,11320,10,22963,23006,
180,23013,5861507,0,47,47,0,2049,20010,1,11513,2049,3975,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,22997,23054,156,0,229441520490121,0,83,111,117,114,99,101,115,0,3,23306,23504,23702,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22775,22930, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
168,0,6953711201841,0,107,110,111,119,110,63,0,2,1,22789,2049,9446,10,22917,22948,168, 0,0,0,23040,23195,168,0,6953711201841,0,107,110,111,119,110,63,0,2,1,23054,2049,
0,210716136861,0,105,110,100,101,120,0,1,22789,4,2049,10110,1,22789,4,2049,9596,10, 9446,10,23182,23213,168,0,210716136861,0,105,110,100,101,120,0,1,23054,4,2049,10110,1,
22936,22972,168,0,6953974036516,0,114,101,99,111,114,100,0,2049,4640,2,1,22789,2049,3920, 23054,4,2049,9596,10,23201,23237,168,0,6953974036516,0,114,101,99,111,114,100,0,2049,4640,
3841,22789,1,22789,17,16,10,1793,23039,2049,19888,2049,22930,1793,22997,2049,22948,10,1,22994, 2,1,23054,2049,3920,3841,23054,1,23054,17,16,10,1793,23304,2049,19925,2049,23195,1793,23262,
1793,23004,2049,22972,10,1,23001,2049,66,1793,23017,1,194,1,2,17,8,10,1,23010, 2049,23213,10,1,23259,1793,23269,2049,23237,10,1,23266,2049,66,1793,23282,1,194,1,2,
2049,2266,2049,1579,2049,186,16,2049,1579,2049,192,3841,12097,8,2049,1579,2049,188,16,10, 17,8,10,1,23275,2049,2266,2049,1579,2049,186,16,2049,1579,2049,192,3841,12097,8,2049,
1,22988,100,105,99,116,45,119,111,114,100,115,45,108,105,115,116,105,110,103, 1579,2049,188,16,10,1,23253,100,105,99,116,45,119,111,114,100,115,45,108,105,
46,102,111,114,116,104,0,22732,23080,168,23041,229461403550098,0,100,58,119,111,114,100,115, 115,116,105,110,103,46,102,111,114,116,104,0,22997,23345,168,23306,229461403550098,0,100,58,
0,1793,23089,2049,192,2049,11320,2049,11288,10,1,23082,2049,8833,10,23066,23113,168,23041,-3502157631813457253, 119,111,114,100,115,0,1793,23354,2049,192,2049,11320,2049,11288,10,1,23347,2049,8833,10,
0,100,58,119,111,114,100,115,45,119,105,116,104,0,2049,2001,2049,5780,1793,23144, 23331,23378,168,23306,-3502157631813457253,0,100,58,119,111,114,100,115,45,119,105,116,104,0,2049,
2049,192,2,2049,2001,2049,5472,1793,23133,2049,11320,2049,11288,10,1,23128,1793,23139,3,10, 2001,2049,5780,1793,23409,2049,192,2,2049,2001,2049,5472,1793,23398,2049,11320,2049,11288,10,1,
1,23137,2049,66,10,1,23119,2049,8833,10,23094,23171,168,23041,2818131571306626127,0,100,105,115,112, 23393,1793,23404,3,10,1,23402,2049,66,10,1,23384,2049,8833,10,23359,23436,168,23306,2818131571306626127,
108,97,121,45,105,102,45,108,101,102,116,0,2,2049,2001,2049,5724,1793,23183,2049, 0,100,105,115,112,108,97,121,45,105,102,45,108,101,102,116,0,2,2049,2001,
11320,2049,11288,10,1,23178,1793,23189,3,10,1,23187,2049,66,10,23094,23223,168,23041,2947807019553410009, 2049,5724,1793,23448,2049,11320,2049,11288,10,1,23443,1793,23454,3,10,1,23452,2049,66,10,
0,100,58,119,111,114,100,115,45,98,101,103,105,110,110,105,110,103,45,119, 23359,23488,168,23306,2947807019553410009,0,100,58,119,111,114,100,115,45,98,101,103,105,110,110,
105,116,104,0,2049,2001,2049,5780,1793,23234,2049,192,2049,23171,10,1,23229,2049,8833,10, 105,110,103,45,119,105,116,104,0,2049,2001,2049,5780,1793,23499,2049,192,2049,23436,10,
101,120,116,101,110,115,105,111,110,115,47,100,111,117,98,108,101,46,114,101, 1,23494,2049,8833,10,101,120,116,101,110,115,105,111,110,115,47,100,111,117,98,
116,114,111,0,23194,23280,168,23239,8246228896775126019,0,100,111,117,98,108,101,58,118,97,114, 108,101,46,114,101,116,114,111,0,23459,23545,168,23504,8246228896775126019,0,100,111,117,98,108,
0,2049,2102,4,2049,130,2049,130,10,23263,23307,168,23239,-3421095308458227740,0,100,111,117,98,108, 101,58,118,97,114,0,2049,2102,4,2049,130,2049,130,10,23528,23572,168,23504,-3421095308458227740,0,
101,58,102,101,116,99,104,0,2049,58,4,15,10,23288,23331,168,23239,-3421095308442276665,0,100, 100,111,117,98,108,101,58,102,101,116,99,104,0,2049,58,4,15,10,23553,23596,
111,117,98,108,101,58,115,116,111,114,101,0,1,19,2049,2266,2049,61,16,10, 168,23504,-3421095308442276665,0,100,111,117,98,108,101,58,115,116,111,114,101,0,1,19,2049,
23312,23358,168,23239,-3421095308461432127,0,100,111,117,98,108,101,58,99,111,110,115,116,0,2049, 2266,2049,61,16,10,23577,23623,168,23504,-3421095308461432127,0,100,111,117,98,108,101,58,99,111,
23280,1,23307,2049,8801,10,23339,23383,168,23239,-4575607512064199915,0,100,111,117,98,108,101,58,115, 110,115,116,0,2049,23545,1,23572,2049,8801,10,23604,23648,168,23504,-4575607512064199915,0,100,111,117,
119,97,112,0,67503109,5,67503109,6,10,23365,23405,168,23239,8246228896775106679,0,100,111,117,98,108, 98,108,101,58,115,119,97,112,0,67503109,5,67503109,6,10,23630,23670,168,23504,8246228896775106679,0,
101,58,100,105,112,0,67503109,67503109,5,5,8,6,6,10,23388,23430,168,23239,8246228896775123014,0, 100,111,117,98,108,101,58,100,105,112,0,67503109,67503109,5,5,8,6,6,10,23653,
100,111,117,98,108,101,58,115,105,112,0,1,2253,2049,2266,2049,23405,10,101,120, 23695,168,23504,8246228896775123014,0,100,111,117,98,108,101,58,115,105,112,0,1,2253,2049,2266,
116,101,110,115,105,111,110,115,47,109,97,108,108,111,99,46,114,101,116,114, 2049,23670,10,101,120,116,101,110,115,105,111,110,115,47,109,97,108,108,111,99,
111,0,23413,23478,168,23437,8246632143337714634,0,109,101,109,58,105,110,118,111,107,101,0,1, 46,114,101,116,114,111,0,23678,23743,168,23702,8246632143337714634,0,109,101,109,58,105,110,118,
15,2049,11209,2049,11189,10,23461,0,156,23437,210667451248,0,65,76,76,79,67,0,23485,1, 111,107,101,0,1,15,2049,11209,2049,11189,10,23726,0,156,23702,210667451248,0,65,76,76,
156,23437,6384048135,0,70,82,69,69,0,23497,2,156,23437,210689088690,0,83,84,79,82,69, 79,67,0,23750,1,156,23702,6384048135,0,70,82,69,69,0,23762,2,156,23702,210689088690,0,
0,23508,3,156,23437,210673137615,0,70,69,84,67,72,0,23520,4,156,23437,6952683137271,0,82, 83,84,79,82,69,0,23773,3,156,23702,210673137615,0,70,69,84,67,72,0,23785,4,
69,83,73,90,69,0,23413,23561,168,23437,249897943727936361,0,109,101,109,58,97,108,108,111, 156,23702,6952683137271,0,82,69,83,73,90,69,0,23678,23826,168,23702,249897943727936361,0,109,101,109,
99,0,1,0,2049,23478,10,23545,23582,168,23437,249897943749573803,0,109,101,109,58,115,116,111, 58,97,108,108,111,99,0,1,0,2049,23743,10,23810,23847,168,23702,249897943749573803,0,109,101,
114,101,0,1,2,2049,23478,10,23566,23603,168,23437,249897943733622728,0,109,101,109,58,102,101, 109,58,115,116,111,114,101,0,1,2,2049,23743,10,23831,23868,168,23702,249897943733622728,0,109,
116,99,104,0,1,3,2049,23478,10,23587,23623,168,23437,7572664961638592,0,109,101,109,58,102, 101,109,58,102,101,116,99,104,0,1,3,2049,23743,10,23852,23888,168,23702,7572664961638592,0,
114,101,101,0,1,1,2049,23478,10,23608,23645,168,23437,8246632143679146032,0,109,101,109,58,114, 109,101,109,58,102,114,101,101,0,1,1,2049,23743,10,23873,23910,168,23702,8246632143679146032,0,
101,115,105,122,101,0,1,4,2049,23478,10,23628,23666,168,23437,249897943730056489,0,109,101,109, 109,101,109,58,114,101,115,105,122,101,0,1,4,2049,23743,10,23893,23931,168,23702,
58,99,101,108,108,43,0,1,8,19,17,10,23650,23694,168,23437,1050530996183190288,0,109,101, 249897943730056489,0,109,101,109,58,99,101,108,108,43,0,1,8,19,17,10,23915,23959,168,
109,58,102,101,116,99,104,45,100,111,117,98,108,101,0,2,1,1,2049,23666, 23702,1050530996183190288,0,109,101,109,58,102,101,116,99,104,45,100,111,117,98,108,101,0,
15,5,2049,23603,6,10,23671,23728,168,23437,1730340976492540563,0,109,101,109,58,115,116,111,114, 2,1,1,2049,23931,15,5,2049,23868,6,10,23936,23993,168,23702,1730340976492540563,0,109,101,109,
101,45,100,111,117,98,108,101,0,5,5,2049,2253,1,1,2049,23666,6,2049,23582, 58,115,116,111,114,101,45,100,111,117,98,108,101,0,5,5,2049,2253,1,1,
6,2049,23582,10,0 }; 2049,23931,6,2049,23847,6,2049,23847,10,0 };