From 21d23ee3e7f8dbde3caf949aff0bf6023d968b43 Mon Sep 17 00:00:00 2001 From: crc <> Date: Sun, 22 Oct 2023 16:18:59 +0000 Subject: [PATCH] add missing source data for words in script: mem: and double: FossilOrigin-Name: bb2a1fd9b46acdf68d79753792e9201cf6690efee2eaa350341faa39636d0d71 --- RELEASE-NOTES | 5 +- interface/double.retro | 8 ++ interface/malloc.retro | 10 ++ interface/scripting.retro | 1 + vm/nga-c/image.c | 213 +++++++++++++++++++------------------- 5 files changed, 128 insertions(+), 109 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 7c24af7..4cc42bb 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -3,9 +3,8 @@ | '__/ _ \ __| '__/ _ \| |_ / _ \| '__| __| '_ \ | | | __/ |_| | | (_) | _| (_) | | | |_| | | | |_| \___|\__|_| \___/|_| \___/|_| \__|_| |_| - for nga - RetroForth/nga 2024.4 Release Notes + RetroForth & nga 2024.4 Release Notes ================================================================ @@ -18,6 +17,6 @@ - removed some unneeded files - update tools/missing-dsource.retro - add missing source data for vocabularies: - file: fll: + double: file: fll: mem: script: ================================================================ diff --git a/interface/double.retro b/interface/double.retro index e26fb0f..fb7ba5d 100644 --- a/interface/double.retro +++ b/interface/double.retro @@ -16,4 +16,12 @@ :double:dip (mnq-mn) rot rot push push call pop pop ; :double:sip (mnq-mn) &dup-pair dip double:dip ; + +'interface/double.retro 'double:var d:set-source +'interface/double.retro 'double:fetch d:set-source +'interface/double.retro 'double:store d:set-source +'interface/double.retro 'double:const d:set-source +'interface/double.retro 'double:swap d:set-source +'interface/double.retro 'double:sip d:set-source +'interface/double.retro 'double:dip d:set-source ~~~ diff --git a/interface/malloc.retro b/interface/malloc.retro index 9a1f129..5433f5d 100644 --- a/interface/malloc.retro +++ b/interface/malloc.retro @@ -25,4 +25,14 @@ dup #1 mem:cell+ fetch push mem:fetch pop ; :mem:store-double (ann-nn) push push dup-pair #1 mem:cell+ pop mem:store pop mem:store ; + +'interface/malloc.retro 'mem:alloc d:set-source +'interface/malloc.retro 'mem:store d:set-source +'interface/malloc.retro 'mem:fetch d:set-source +'interface/malloc.retro 'mem:free d:set-source +'interface/malloc.retro 'mem:size d:set-source +'interface/malloc.retro 'mem:resize d:set-source +'interface/malloc.retro 'mem:cell+ d:set-source +'interface/malloc.retro 'mem:fetch-double d:set-source +'interface/malloc.retro 'mem:store-double d:set-source ~~~ diff --git a/interface/scripting.retro b/interface/scripting.retro index e8d1185..a775bfc 100644 --- a/interface/scripting.retro +++ b/interface/scripting.retro @@ -69,5 +69,6 @@ dup 'script:name d:set-source dup 'include d:set-source dup 'script:get-argument d:set-source dup 'script:arguments d:set-source +dup 'script:current-line-text d:set-source drop ~~~ diff --git a/vm/nga-c/image.c b/vm/nga-c/image.c index 038c6b9..fe7ea51 100644 --- a/vm/nga-c/image.c +++ b/vm/nga-c/image.c @@ -10,8 +10,8 @@ #define CELL_MAX LLONG_MAX - 1 #endif #endif -CELL ngaImageCells = 20353; -CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10,1,10,2,10,3,10, +CELL ngaImageCells = 20378; +CELL ngaImage[] = { 1793,19843,20333,20377,202404,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,8 +20,8 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,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,20105,17108737,3,2,524559,130, - 2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19077,-460132687,167841793, + 66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,20130,17108737,3,2,524559,130, + 2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19102,-460132687,167841793, 216,11,17826049,0,216,2,15,25,524546,18178,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, @@ -30,7 +30,7 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10 251727617,3,2,2049,182,16,168820993,-1,149,2049,182,2575,2049,236,17563906,0,328,9,1793,156, 285282049,3,2,134287105,149,325,524545,1793,130,16846593,3,0,130,8,659201,3,524545,28,135,17043201, 3,13,2049,135,2049,130,268505092,149,1642241,149,656131,659201,3,524545,13,135,2049,130,459009,25, - 135,459009,57,135,459009,21,135,459009,23,135,1793,19830,10,524546,182,134284303,184,1807,1249,1642241, + 135,459009,57,135,459009,21,135,459009,23,135,1793,19855,10,524546,182,134284303,184,1807,1249,1642241, 275,285282049,397,1,459012,392,117509889,216,392,134287105,397,236,16845825,0,405,389,1793,66,1793,419, 17826050,397,294,8,117506305,398,408,66,2116,11340,11700,11400,13685,13104,12432,12402,9603,9801,11514,11413, 11110,12528,11948,10302,13340,9700,13455,12753,10500,10670,12654,13320,11960,13908,10088,10605,11865,11025,0,2049, @@ -170,7 +170,7 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10 110,58,105,110,99,0,659713,1,10,3114,3139,168,12084,266800217,110,58,100,101,99,0, 659969,1,10,3128,3158,168,12084,1032861494,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,12084,-2130983749,83,99, - 111,112,101,76,105,115,116,0,20210,20264,10,3172,3198,168,12084,5864091,123,123,0,2049, + 111,112,101,76,105,115,116,0,20235,20289,10,3172,3198,168,12084,5864091,123,123,0,2049, 1576,2,1,3187,2049,61,16,10,3190,3225,168,12084,-1644352334,45,45,45,114,101,118,101, 97,108,45,45,45,0,2049,1576,1,3187,2049,3125,16,10,3207,3241,168,12084,5864159,125, 125,0,1,3187,2049,58,4,15,11,1793,3255,3841,3187,4097,2,10,1,3250,1793,3281, @@ -228,7 +228,7 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10 10,4239,4297,156,12084,1204567429,84,101,109,112,83,116,114,105,110,103,115,0,32,4280, 4317,156,12084,1808866840,84,101,109,112,83,116,114,105,110,103,77,97,120,0,512,4298, 4331,168,12084,-1027089649,83,84,82,73,78,71,83,0,2049,1545,3841,4297,3841,4317,19,18, - 10,4318,4353,156,0,0,67,117,114,114,101,110,116,0,2,10,4340,4370,168,0, + 10,4318,4353,156,0,0,67,117,114,114,101,110,116,0,4,10,4340,4370,168,0, 0,115,58,112,111,105,110,116,101,114,0,3841,4353,3841,4317,19,2049,4331,17,10, 4355,4391,168,0,0,115,58,110,101,120,116,0,1,4353,2049,3864,3841,4353,3841,4297, 11,1793,4407,1,0,4097,4353,10,1,4402,9,10,4318,4423,168,12084,410724968,115,58,116, @@ -584,7 +584,7 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10 16,10,11387,11411,168,0,2090144094,99,100,114,64,0,2049,11370,15,10,11401,11425,168,0, 2090144063,99,100,114,33,0,2049,11370,16,10,11415,11438,168,0,193454780,69,78,68,0,10, 11429,11455,168,11805,34709361,102,108,108,58,99,114,101,97,116,101,0,1,11438,2049,11336, - 10,11439,11467,156,0,177687,114,0,18148,11439,11484,168,11805,694444964,102,108,108,58,116,111, + 10,11439,11467,156,0,177687,114,0,18559,11439,11484,168,11805,694444964,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,11805,577969665,102,108,108,58,97,112,112,101,110,100,47,118,97,108, @@ -592,7 +592,7 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10 108,58,116,111,45,105,110,100,101,120,0,1793,11575,2049,11411,10,1,11572,2049,2449, 10,11552,11593,168,11805,-1289432718,102,108,108,58,100,101,108,0,2049,2217,2049,3139,2049,11570, 1793,11606,2049,3125,2049,11570,10,1,11601,2049,2229,2049,11425,10,11580,11625,156,0,-1497417501,65, - 99,116,105,111,110,0,11932,11580,11644,168,11805,-982785918,102,108,108,58,102,111,114,45, + 99,116,105,111,110,0,11977,11580,11644,168,11805,-982785918,102,108,108,58,102,111,114,45, 101,97,99,104,0,4097,11625,1793,11667,1793,11656,2049,11383,3841,11625,8,10,1,11650,2049, 2241,2049,11411,2,1,11438,12,10,1,11648,2049,2372,3,10,11626,11689,168,11805,371840895,102, 108,108,58,108,101,110,103,116,104,0,1,0,4,1793,11698,3,2049,3125,10,1, @@ -603,8 +603,8 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10 10,11740,11793,168,11805,-1289419114,102,108,108,58,112,117,116,0,1793,11800,2049,10958,2049,10912, 10,1,11795,2049,11644,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,11824,12096,11780,11849,156,0,-1761629780,115,58,100, - 101,100,117,112,46,100,97,116,97,0,11829,11831,11858,156,0,5863786,116,49,0,510976, - 11850,11867,156,0,5863787,116,50,0,0,11831,11890,168,0,-19532457,115,58,100,101,100,117, + 101,100,117,112,46,100,97,116,97,0,11829,11831,11858,156,0,5863786,116,49,0,519168, + 11850,11867,156,0,5863787,116,50,0,18829,11831,11890,168,0,-19532457,115,58,100,101,100,117, 112,46,114,101,103,105,115,116,101,114,0,2049,4500,3841,11849,4,1,11542,2049,2241, 10,11868,11922,168,0,283388512,115,58,100,101,100,117,112,46,100,101,102,105,110,101, 100,63,0,4097,11858,1,0,4097,11867,3841,11849,1793,11942,3841,11858,2049,118,3841,11867,22, @@ -857,7 +857,7 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10 111,45,101,111,108,0,1,6,2049,16616,10,16839,16896,168,16965,465657533,115,99,114,105, 112,116,58,97,98,111,114,116,45,105,110,99,108,117,100,101,0,1,7,2049, 16616,10,16870,16912,168,16965,252833149,97,98,111,114,116,0,1,149,2049,3931,1,8,2049, - 16616,10,16901,16951,168,0,1895981246,115,99,114,105,112,116,58,99,117,114,114,101,110, + 16616,10,16901,16951,168,16965,1895981246,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,16960,1,9,2049,16616, 10,1,16955,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,16965,17447,16921,17015,168,17423,321067545,115, @@ -929,103 +929,104 @@ CELL ngaImage[] = { 1793,19818,20308,20352,202404,417,389,1249,1535,0,11278,0,10 168,18344,1230177653,98,108,111,99,107,58,119,114,105,116,101,0,1,1,2049,18269,10, 18297,18339,168,18344,-1436880765,98,108,111,99,107,58,115,101,116,45,102,105,108,101,0, 1,2,2049,18269,10,105,110,116,101,114,102,97,99,101,47,98,108,111,99,107, - 115,46,114,101,116,114,111,0,18344,11438,18319,18385,168,0,-1059603453,100,111,117,98,108, - 101,58,118,97,114,0,2049,2075,4,2049,130,2049,130,10,18369,18411,168,0,1419216868,100, + 115,46,114,101,116,114,111,0,18344,18559,18319,18385,168,18536,-1059603453,100,111,117,98,108, + 101,58,118,97,114,0,2049,2075,4,2049,130,2049,130,10,18369,18411,168,18536,1419216868,100, 111,117,98,108,101,58,102,101,116,99,104,0,2049,58,4,15,10,18393,18434,168, - 0,1435167943,100,111,117,98,108,101,58,115,116,111,114,101,0,1,19,2049,2229,2049, - 61,16,10,18416,18460,168,0,1416012481,100,111,117,98,108,101,58,99,111,110,115,116, - 0,2049,18385,1,18411,2049,8460,10,18442,18484,168,0,-607259883,100,111,117,98,108,101,58, - 115,119,97,112,0,67503109,5,67503109,6,10,18467,18505,168,0,-1059622793,100,111,117,98,108, - 101,58,100,105,112,0,67503109,67503109,5,5,8,6,6,10,18489,18529,168,0,-1059606458,100, - 111,117,98,108,101,58,115,105,112,0,1,2217,2049,2229,2049,18505,10,18513,18552,168, - 0,-386501686,109,101,109,58,105,110,118,111,107,101,0,1,15,2049,10836,2049,10817,10, - 18536,0,156,0,214053744,65,76,76,79,67,0,18559,1,156,0,2089080839,70,82,69,69, - 0,18570,2,156,0,235691186,83,84,79,82,69,0,18580,3,156,0,219740111,70,69,84, - 67,72,0,18591,4,156,0,-868914953,82,69,83,73,90,69,0,18513,18629,168,0,369169257, - 109,101,109,58,97,108,108,111,99,0,1,0,2049,18552,10,18614,18649,168,0,390806699, - 109,101,109,58,115,116,111,114,101,0,1,2,2049,18552,10,18634,18669,168,0,374855624, - 109,101,109,58,102,101,116,99,104,0,1,3,2049,18552,10,18654,18688,168,0,1963630784, - 109,101,109,58,102,114,101,101,0,1,1,2049,18552,10,18674,18709,168,0,-45070288,109, - 101,109,58,114,101,115,105,122,101,0,1,4,2049,18552,10,18693,18729,168,0,371289385, - 109,101,109,58,99,101,108,108,43,0,1,8,19,17,10,18714,18756,168,0,84495120, - 109,101,109,58,102,101,116,99,104,45,100,111,117,98,108,101,0,2,1,1, - 2049,18729,15,5,2049,18669,6,10,18734,18789,168,0,1277424275,109,101,109,58,115,116,111, - 114,101,45,100,111,117,98,108,101,0,5,5,2049,2217,1,1,2049,18729,6,2049, - 18649,6,2049,18649,10,18767,18825,168,0,-686480257,101,114,114,58,115,101,116,45,104,97, - 110,100,108,101,114,0,1,1234,2049,10836,2,2049,2761,1793,18875,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,18837,2049,10942,2049,10899,10,1,18834,2049,2862, - 1,0,4,2049,10817,10,18804,18898,168,0,1955994964,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,18904, - 2049,10942,2049,10899,2049,11214,10,18885,18959,168,0,1955994958,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,18965, - 2049,10942,2049,10899,2049,11214,10,18946,19028,168,0,700502841,101,114,114,58,115,101,116,45, - 100,101,102,97,117,108,116,115,0,1,18898,1,1,2049,18825,1,18959,1,2,2049, - 18825,10,1793,19062,1,192,1,2,17,8,2049,1576,2049,190,3841,11263,8,2049,1576,2049, - 188,16,10,1,19043,19006,19073,168,19869,193470948,84,73,66,0,1,7,15,10,19064,19093, - 168,19869,-460132687,105,109,97,103,101,58,115,97,118,101,0,1,1000,2049,10836,2049,10817, - 10,19077,19111,168,0,257642186,101,100,105,116,63,0,2,1793,19118,1,8,11,10,1, - 19114,1793,19126,1,127,11,10,1,19122,2049,2255,22,10,19100,19144,168,0,-12645824,103,97, - 116,104,101,114,0,2049,19111,1,17,1,4134,2049,66,10,19132,19164,168,0,256018261,99, - 121,99,108,101,0,2049,11147,2049,2217,4,8,2049,2644,25,3,2049,19144,1,19164,7, - 10,19077,19197,168,19869,-1658019367,112,97,114,115,101,45,117,110,116,105,108,0,1793,19209, - 2049,4451,2049,4234,2049,19164,771,2049,4096,10,1,19199,2049,4260,10,19180,19225,168,19869,272733106, - 115,58,103,101,116,0,1793,19247,1793,19233,1,13,11,10,1,19229,1793,19241,1,10, - 11,10,1,19237,2049,2255,22,10,1,19227,2049,19197,10,19214,19263,168,19869,255552908,99,108, - 101,97,114,0,2049,4472,92,94,91,50,74,92,94,91,48,59,48,72,0,1, - 19265,2049,8246,2049,10942,10,19252,19294,156,0,193454829,69,79,84,0,0,19285,19309,156,0, - -606612126,73,103,110,111,114,105,110,103,0,0,19295,19325,168,0,-429874687,105,103,110,111, - 114,105,110,103,63,0,3841,19309,10,19310,19341,168,0,1929407563,118,101,114,115,105,111, - 110,0,3841,4,1,100,20,10,19328,19358,168,0,256856522,100,111,110,101,63,0,2, - 4097,19294,1793,19367,1,13,11,10,1,19363,1793,19375,1,10,11,10,1,19371,1793,19383, - 1,32,11,10,1,19379,2049,2298,22,22,10,19347,19400,168,0,2090227748,101,111,108,63, - 0,3841,19294,1793,19408,1,13,11,10,1,19404,1793,19416,1,10,11,10,1,19412,2049, - 2255,22,10,19390,19434,168,0,574098580,118,97,108,105,100,63,0,2,2049,104,2049,2812, - 10,19422,19455,168,0,1179520810,99,104,101,99,107,45,101,111,102,0,2,1793,19462,1, - -1,11,10,1,19458,1793,19470,1,4,11,10,1,19466,2049,2255,22,1,11214,9,10, - 19440,19487,168,0,5863258,98,115,0,2049,4212,1,2,2049,2675,1793,19499,2049,4160,3,10, - 1,19495,9,2049,4160,3,10,19479,19520,168,0,296044005,99,104,101,99,107,45,98,115, - 0,2,1793,19527,1,8,11,10,1,19523,1793,19535,1,127,11,10,1,19531,2049,2255, - 22,1,19487,9,10,19506,19555,168,0,255409219,99,104,101,99,107,0,2049,19455,2049,19520, - 10,19544,19575,168,0,885744530,99,104,97,114,97,99,116,101,114,0,2049,11147,2,2049, - 4134,10,19560,19593,168,0,-185109665,98,117,102,102,101,114,0,1793,19603,2049,19073,2049,4234, - 8,2049,4096,10,1,19595,2049,4260,10,19581,19624,168,0,-6919313,114,101,97,100,45,116, - 111,107,101,110,0,1793,19640,1793,19635,2049,19575,2049,19555,2049,19358,10,1,19628,2049,2397, - 10,1,19626,2049,19593,2049,4587,10,19608,19658,168,0,262752949,105,110,112,117,116,0,2049, - 19624,2049,19434,10,19647,19676,168,0,-1019809820,112,114,111,99,101,115,115,0,2049,19325,1793, - 19694,771,2049,19400,1793,19690,1,19309,2049,3931,10,1,19685,9,10,1,19680,2049,2862,1, - 417,1,17,2049,66,10,19252,19713,180,19869,5861507,47,47,0,2049,16865,1,19309,2049,3916, - 10,19705,19732,168,19869,-208531877,98,97,110,110,101,114,0,2049,19341,2049,4472,82,69,84, - 82,79,32,49,50,32,40,37,110,46,37,110,41,92,110,0,1,19736,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,19772,2049,8246,2049,10942,10,19720,19818,168,19869,192495636,108,105,115,116,101,110,0,2049, - 19732,2049,19658,2049,19676,1,19820,7,10,1793,19867,2049,4472,69,82,82,79,82,58,32, - 87,111,114,100,32,78,111,116,32,70,111,117,110,100,58,32,0,1,19832,2049, - 10942,2049,19073,2049,10942,2049,10899,10,1,19830,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,19806,19909,156, - 0,72570505,83,111,117,114,99,101,115,0,1,20158,0,0,0,0,0,0,0,0, + 18536,1435167943,100,111,117,98,108,101,58,115,116,111,114,101,0,1,19,2049,2229,2049, + 61,16,10,18416,18460,168,18536,1416012481,100,111,117,98,108,101,58,99,111,110,115,116, + 0,2049,18385,1,18411,2049,8460,10,18442,18484,168,18536,-607259883,100,111,117,98,108,101,58, + 115,119,97,112,0,67503109,5,67503109,6,10,18467,18505,168,18536,-1059622793,100,111,117,98,108, + 101,58,100,105,112,0,67503109,67503109,5,5,8,6,6,10,18489,18529,168,18536,-1059606458,100, + 111,117,98,108,101,58,115,105,112,0,1,2217,2049,2229,2049,18505,10,105,110,116, + 101,114,102,97,99,101,47,100,111,117,98,108,101,46,114,101,116,114,111,0, + 18536,18852,18513,18577,168,0,-386501686,109,101,109,58,105,110,118,111,107,101,0,1,15, + 2049,10836,2049,10817,10,18561,0,156,0,214053744,65,76,76,79,67,0,18584,1,156,0, + 2089080839,70,82,69,69,0,18595,2,156,0,235691186,83,84,79,82,69,0,18605,3,156, + 0,219740111,70,69,84,67,72,0,18616,4,156,0,-868914953,82,69,83,73,90,69,0, + 18513,18654,168,18829,369169257,109,101,109,58,97,108,108,111,99,0,1,0,2049,18577,10, + 18639,18674,168,18829,390806699,109,101,109,58,115,116,111,114,101,0,1,2,2049,18577,10, + 18659,18694,168,18829,374855624,109,101,109,58,102,101,116,99,104,0,1,3,2049,18577,10, + 18679,18713,168,18829,1963630784,109,101,109,58,102,114,101,101,0,1,1,2049,18577,10,18699, + 18734,168,18829,-45070288,109,101,109,58,114,101,115,105,122,101,0,1,4,2049,18577,10, + 18718,18754,168,18829,371289385,109,101,109,58,99,101,108,108,43,0,1,8,19,17,10, + 18739,18781,168,18829,84495120,109,101,109,58,102,101,116,99,104,45,100,111,117,98,108, + 101,0,2,1,1,2049,18754,15,5,2049,18694,6,10,18759,18814,168,18829,1277424275,109,101, + 109,58,115,116,111,114,101,45,100,111,117,98,108,101,0,5,5,2049,2217,1, + 1,2049,18754,6,2049,18674,6,2049,18674,10,18792,18850,168,0,-686480257,101,114,114,58,115, + 101,116,45,104,97,110,100,108,101,114,0,1,1234,2049,10836,2,2049,2761,1793,18900, + 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,18862,2049,10942,2049,10899, + 10,1,18859,2049,2862,1,0,4,2049,10817,10,18829,18923,168,0,1955994964,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,18929,2049,10942,2049,10899,2049,11214,10,18910,18984,168,0,1955994958,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,18990,2049,10942,2049,10899,2049,11214,10,18971,19053,168,0,700502841,101,114,114, + 58,115,101,116,45,100,101,102,97,117,108,116,115,0,1,18923,1,1,2049,18850, + 1,18984,1,2,2049,18850,10,1793,19087,1,192,1,2,17,8,2049,1576,2049,190,3841, + 11263,8,2049,1576,2049,188,16,10,1,19068,19031,19098,168,19894,193470948,84,73,66,0,1, + 7,15,10,19089,19118,168,19894,-460132687,105,109,97,103,101,58,115,97,118,101,0,1, + 1000,2049,10836,2049,10817,10,19102,19136,168,0,257642186,101,100,105,116,63,0,2,1793,19143, + 1,8,11,10,1,19139,1793,19151,1,127,11,10,1,19147,2049,2255,22,10,19125,19169, + 168,0,-12645824,103,97,116,104,101,114,0,2049,19136,1,17,1,4134,2049,66,10,19157, + 19189,168,0,256018261,99,121,99,108,101,0,2049,11147,2049,2217,4,8,2049,2644,25,3, + 2049,19169,1,19189,7,10,19102,19222,168,19894,-1658019367,112,97,114,115,101,45,117,110,116, + 105,108,0,1793,19234,2049,4451,2049,4234,2049,19189,771,2049,4096,10,1,19224,2049,4260,10, + 19205,19250,168,19894,272733106,115,58,103,101,116,0,1793,19272,1793,19258,1,13,11,10,1, + 19254,1793,19266,1,10,11,10,1,19262,2049,2255,22,10,1,19252,2049,19222,10,19239,19288, + 168,19894,255552908,99,108,101,97,114,0,2049,4472,92,94,91,50,74,92,94,91,48, + 59,48,72,0,1,19290,2049,8246,2049,10942,10,19277,19319,156,0,193454829,69,79,84,0, + 0,19310,19334,156,0,-606612126,73,103,110,111,114,105,110,103,0,0,19320,19350,168,0, + -429874687,105,103,110,111,114,105,110,103,63,0,3841,19334,10,19335,19366,168,0,1929407563,118, + 101,114,115,105,111,110,0,3841,4,1,100,20,10,19353,19383,168,0,256856522,100,111, + 110,101,63,0,2,4097,19319,1793,19392,1,13,11,10,1,19388,1793,19400,1,10,11, + 10,1,19396,1793,19408,1,32,11,10,1,19404,2049,2298,22,22,10,19372,19425,168,0, + 2090227748,101,111,108,63,0,3841,19319,1793,19433,1,13,11,10,1,19429,1793,19441,1,10, + 11,10,1,19437,2049,2255,22,10,19415,19459,168,0,574098580,118,97,108,105,100,63,0, + 2,2049,104,2049,2812,10,19447,19480,168,0,1179520810,99,104,101,99,107,45,101,111,102, + 0,2,1793,19487,1,-1,11,10,1,19483,1793,19495,1,4,11,10,1,19491,2049,2255, + 22,1,11214,9,10,19465,19512,168,0,5863258,98,115,0,2049,4212,1,2,2049,2675,1793, + 19524,2049,4160,3,10,1,19520,9,2049,4160,3,10,19504,19545,168,0,296044005,99,104,101, + 99,107,45,98,115,0,2,1793,19552,1,8,11,10,1,19548,1793,19560,1,127,11, + 10,1,19556,2049,2255,22,1,19512,9,10,19531,19580,168,0,255409219,99,104,101,99,107, + 0,2049,19480,2049,19545,10,19569,19600,168,0,885744530,99,104,97,114,97,99,116,101,114, + 0,2049,11147,2,2049,4134,10,19585,19618,168,0,-185109665,98,117,102,102,101,114,0,1793, + 19628,2049,19098,2049,4234,8,2049,4096,10,1,19620,2049,4260,10,19606,19649,168,0,-6919313,114, + 101,97,100,45,116,111,107,101,110,0,1793,19665,1793,19660,2049,19600,2049,19580,2049,19383, + 10,1,19653,2049,2397,10,1,19651,2049,19618,2049,4587,10,19633,19683,168,0,262752949,105,110, + 112,117,116,0,2049,19649,2049,19459,10,19672,19701,168,0,-1019809820,112,114,111,99,101,115, + 115,0,2049,19350,1793,19719,771,2049,19425,1793,19715,1,19334,2049,3931,10,1,19710,9,10, + 1,19705,2049,2862,1,417,1,17,2049,66,10,19277,19738,180,19894,5861507,47,47,0,2049, + 16865,1,19334,2049,3916,10,19730,19757,168,19894,-208531877,98,97,110,110,101,114,0,2049,19366, + 2049,4472,82,69,84,82,79,32,49,50,32,40,37,110,46,37,110,41,92,110, + 0,1,19761,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,19797,2049,8246,2049,10942,10,19745,19843,168,19894,192495636,108,105,115, + 116,101,110,0,2049,19757,2049,19683,2049,19701,1,19845,7,10,1793,19892,2049,4472,69,82, + 82,79,82,58,32,87,111,114,100,32,78,111,116,32,70,111,117,110,100,58, + 32,0,1,19857,2049,10942,2049,19098,2049,10942,2049,10899,10,1,19855,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,19831,19934,156,0,72570505,83,111,117,114,99,101,115,0,1,20183,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19896,20049, - 168,0,159149617,107,110,111,119,110,63,0,2,1,19909,2049,9099,10,20037,20066,168,0, - 262739357,105,110,100,101,120,0,1,19909,4,2049,9775,1,19909,4,2049,9245,10,20055,20089, - 168,0,421984292,114,101,99,111,114,100,0,2049,4500,2,1,19909,2049,3864,3841,19909,1, - 19909,17,16,10,1793,20156,2049,16800,2049,20049,1793,20114,2049,20066,10,1,20111,1793,20121,2049, - 20089,10,1,20118,2049,66,1793,20134,1,192,1,2,17,8,10,1,20127,2049,2229,2049, - 1576,2049,186,16,2049,1576,2049,190,3841,11263,8,2049,1576,2049,188,16,10,1,20105,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,19806,20196,168,20158,-1519205998,100,58,119,111,114,100,115,0,1793,20205,2049, - 190,2049,10942,2049,10912,10,1,20198,2049,8491,10,20183,20228,168,20158,1750461083,100,58,119,111, - 114,100,115,45,119,105,116,104,0,2049,1977,2049,5573,1793,20259,2049,190,2,2049,1977, - 2049,5286,1793,20248,2049,10942,2049,10912,10,1,20243,1793,20254,3,10,1,20252,2049,66,10, - 1,20234,2049,8491,10,20210,20285,168,20158,-1509196721,100,105,115,112,108,97,121,45,105,102, - 45,108,101,102,116,0,2,2049,1977,2049,5519,1793,20297,2049,10942,2049,10912,10,1,20292, - 1793,20303,3,10,1,20301,2049,66,10,20210,20336,168,20158,-1159574567,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,20347,2049,190,2049,20285,10,1,20342,2049,8491,10,0 }; + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,19921,20074,168,0,159149617,107,110,111,119,110,63,0,2,1,19934,2049,9099, + 10,20062,20091,168,0,262739357,105,110,100,101,120,0,1,19934,4,2049,9775,1,19934,4, + 2049,9245,10,20080,20114,168,0,421984292,114,101,99,111,114,100,0,2049,4500,2,1,19934, + 2049,3864,3841,19934,1,19934,17,16,10,1793,20181,2049,16800,2049,20074,1793,20139,2049,20091,10, + 1,20136,1793,20146,2049,20114,10,1,20143,2049,66,1793,20159,1,192,1,2,17,8,10, + 1,20152,2049,2229,2049,1576,2049,186,16,2049,1576,2049,190,3841,11263,8,2049,1576,2049,188, + 16,10,1,20130,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,19831,20221,168,20183,-1519205998,100,58,119,111,114,100, + 115,0,1793,20230,2049,190,2049,10942,2049,10912,10,1,20223,2049,8491,10,20208,20253,168,20183, + 1750461083,100,58,119,111,114,100,115,45,119,105,116,104,0,2049,1977,2049,5573,1793,20284, + 2049,190,2,2049,1977,2049,5286,1793,20273,2049,10942,2049,10912,10,1,20268,1793,20279,3,10, + 1,20277,2049,66,10,1,20259,2049,8491,10,20235,20310,168,20183,-1509196721,100,105,115,112,108, + 97,121,45,105,102,45,108,101,102,116,0,2,2049,1977,2049,5519,1793,20322,2049,10942, + 2049,10912,10,1,20317,1793,20328,3,10,1,20326,2049,66,10,20235,20361,168,20183,-1159574567,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,20372,2049,190,2049,20310,10,1,20367,2049,8491,10,0 };