on master help sign in
All parsing tests pass
commit7cd9444e7d1da4dfe238c215394891f671724c22 authoriko <mail@iko.soy> dateSun 28 Jul 2024, 08:23 (2 years ago) parentd0e7839
38 files changed+3969−3963
zod/luau/TODO.md+1−1 zod/luau/lib/lua/parser.hoon+19−18 zod/luau/lib/lua/printer.hoon+7−2 zod/luau/res/lua/cycled/all.lua+80−80 zod/luau/res/lua/cycled/api.lua+409−409 zod/luau/res/lua/cycled/attrib.lua+130−130 zod/luau/res/lua/cycled/big.lua+27−27 zod/luau/res/lua/cycled/bitwise.lua+35−35 zod/luau/res/lua/cycled/bwcoercion.lua+8−8 zod/luau/res/lua/cycled/calls.lua+83−83 zod/luau/res/lua/cycled/closure.lua+32−32 zod/luau/res/lua/cycled/code.lua+81−81 zod/luau/res/lua/cycled/constructs.lua+69−69 zod/luau/res/lua/cycled/coroutine.lua+205−205 zod/luau/res/lua/cycled/cstack.lua+36−36 zod/luau/res/lua/cycled/db.lua+190−190 zod/luau/res/lua/cycled/errors.lua+237−237 zod/luau/res/lua/cycled/events.lua+132−132 zod/luau/res/lua/cycled/files.lua+337−337 zod/luau/res/lua/cycled/foo.lua+14−14 zod/luau/res/lua/cycled/gc.lua+159−159 zod/luau/res/lua/cycled/gengc.lua+50−50 zod/luau/res/lua/cycled/goto.lua+25−25 zod/luau/res/lua/cycled/heavy.lua+47−47 zod/luau/res/lua/cycled/literals.lua+126−126 zod/luau/res/lua/cycled/locals.lua+162−162 zod/luau/res/lua/cycled/main.lua+199−199 zod/luau/res/lua/cycled/math.lua+134−134 zod/luau/res/lua/cycled/nextvar.lua+108−108 zod/luau/res/lua/cycled/pm.lua+221−221 zod/luau/res/lua/cycled/sort.lua+47−47 zod/luau/res/lua/cycled/strings.lua+299−299 zod/luau/res/lua/cycled/tpack.lua+163−163 zod/luau/res/lua/cycled/tracegc.lua+1−1 zod/luau/res/lua/cycled/utf8.lua+70−70 zod/luau/res/lua/cycled/vararg.lua+14−14 zod/luau/res/lua/cycled/verybig.lua+11−11 zod/luau/sur/lua.hoon+1−1
zod/luau/TODO.md+1−1
@@ -3,4 +3,4 @@
33- [x] functioncall
44- [x] any string apart from the basic string with no escapes
55- [ ] check if int fits in int or make it a float
6−- [ ] should `print-blok` have `do`-`end`? This is fucked.
6+- [x] should `print-blok` have `do`-`end`? This is fucked.
zod/luau/lib/lua/parser.hoon+19−18
@@ -101,47 +101,49 @@ apex
101101 |= quot=char
102102 =/ quot (just quot)
103103 %+ cook
104− |=([* =tape *] (crip tape))
104+ |=([* =tape *] tape)
105105 ;~ plug
106106 quot
107+ %+ cook zing
107108 %- star
108109 ;~ less quot
109110 ;~ pose
110− %+ cold '\07' (jest '\\a')
111− %+ cold '\08' (jest '\\b')
112− %+ cold '\0c' (jest '\\f')
113− %+ cold '\0a' (jest '\\n')
114− %+ cold '\0d' (jest '\\r')
115− %+ cold '\09' (jest '\\t')
116− %+ cold '\0b' (jest '\\v')
117− %+ cold '\\' (jest '\\\\')
118− %+ cold '"' (jest '\\"')
119− %+ cold '\'' (jest '\\\'')
120− %+ cold '\0a' (jest '\\\0a')
121− %+ cold '' ;~(plug (jest '\\z') gaw)
111+ %+ cold ~['\07'] (jest '\\a')
112+ %+ cold ~['\08'] (jest '\\b')
113+ %+ cold ~['\0c'] (jest '\\f')
114+ %+ cold ~['\0a'] (jest '\\n')
115+ %+ cold ~['\0d'] (jest '\\r')
116+ %+ cold ~['\09'] (jest '\\t')
117+ %+ cold ~['\0b'] (jest '\\v')
118+ %+ cold ~['\\'] (jest '\\\\')
119+ %+ cold ~['"'] (jest '\\"')
120+ %+ cold ~['\''] (jest '\\\'')
121+ %+ cold ~['\0a'] (jest '\\\0a')
122+ %+ cold ~ ;~(plug (jest '\\z') gaw)
122123 ::
123124 ;~ pfix
124125 (jest '\\x')
125126 ;< hex-digits=tape bind ;~(plug next next (easy ~))
126127 =/ digit=(unit @) (rust hex-digits hex)
127− ?~ digit fail (easy `@t`u.digit)
128+ ?~ digit fail (easy ~[`@`u.digit])
128129 ==
129130 ::
130131 ;~ pfix
131132 (jest '\\')
132133 ;< digits=tape bind (stun [1 3] (shim '0' '9'))
133134 =/ digit=(unit @) (rust digits dem)
134− ?~ digit fail (easy `@t`u.digit)
135+ ?~ digit fail (easy ~[`@`u.digit])
135136 ==
136137 ::
137138 %+ cook
138− |= [* point=@ *] `@t`point
139+ |= [* point=@ *] ~[point]
139140 ;~ plug
140141 (jest '\\u{')
141142 hex
142143 (just '}')
143144 ==
144145 ::
146+ %+ cook |=(char=@ ~[char])
145147 next
146148 ==
147149 ==
@@ -152,7 +154,6 @@ apex
152154 (parse-string '"')
153155 (parse-string '\'')
154156 ::
155− %+ cook |=(=tape (crip tape))
156157 %- long-brackets
157158 |* closing=rule
158159 ;~ pfix
@@ -203,7 +204,7 @@ apex
203204 ==
204205 ::
205206 %+ cook
206− |=([=name * =expr] [%keyed [%string name] expr])
207+ |=([=name * =expr] [%keyed [%string (trip name)] expr])
207208 ;~ (glue ws)
208209 parse-name
209210 tis
zod/luau/lib/lua/printer.hoon+7−2
@@ -64,10 +64,15 @@ print
6464 ::
6565 ^- tape
6666 %- zing
67− %+ turn (trip string)
67+ %+ turn string
6868 |= char=@t
6969 ^- tape
70− :- '\\' (show-u `@`char)
70+ %- zing
71+ :~
72+ "\\u\{"
73+ ((x-co:co 1) char)
74+ "}"
75+ ==
7176 "\""
7277 ==
7378:: table
zod/luau/res/lua/cycled/all.lua+80−80
@@ -1,13 +1,13 @@
1−local version = "\76\117\97\32\53\46\52"
1+local version = "\u{4c}\u{75}\u{61}\u{20}\u{35}\u{2e}\u{34}"
22if _VERSION ~= version then
3−io.stderr:write("\84\104\105\115\32\116\101\115\116\32\115\117\105\116\101\32\105\115\32\102\111\114\32",version,"\44\32\110\111\116\32\102\111\114\32",_VERSION,"\10\69\120\105\116\105\110\103\32\116\101\115\116\115")
3+io.stderr:write("\u{54}\u{68}\u{69}\u{73}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{73}\u{75}\u{69}\u{74}\u{65}\u{20}\u{69}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}",version,"\u{2c}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{6f}\u{72}\u{20}",_VERSION,"\u{a}\u{45}\u{78}\u{69}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
44return
55end
66_G.ARG=arg
7−_soft=rawget(_G,"\95\115\111\102\116") or false
8−_port=rawget(_G,"\95\112\111\114\116") or false
9−_nomsg=rawget(_G,"\95\110\111\109\115\103") or false
10−local usertests = rawget(_G,"\95\85")
7+_soft=rawget(_G,"\u{5f}\u{73}\u{6f}\u{66}\u{74}") or false
8+_port=rawget(_G,"\u{5f}\u{70}\u{6f}\u{72}\u{74}") or false
9+_nomsg=rawget(_G,"\u{5f}\u{6e}\u{6f}\u{6d}\u{73}\u{67}") or false
10+local usertests = rawget(_G,"\u{5f}\u{55}")
1111if usertests then
1212_soft=true
1313_port=true
@@ -17,14 +17,14 @@ debug=nil
1717if usertests then
1818T=nil
1919else
20−T=rawget(_G,"\84")
20+T=rawget(_G,"\u{54}")
2121end
22−print("\10\9\83\116\97\114\116\105\110\103\32\84\101\115\116\115")
22+print("\u{a}\u{9}\u{53}\u{74}\u{61}\u{72}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{54}\u{65}\u{73}\u{74}\u{73}")
2323do
2424local random_x,random_y = math.randomseed()
25−print(string.format("\114\97\110\100\111\109\32\115\101\101\100\115\58\32\37\100\44\32\37\100",random_x,random_y))
25+print(string.format("\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{73}\u{65}\u{65}\u{64}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{25}\u{64}",random_x,random_y))
2626end
27−print("\99\117\114\114\101\110\116\32\112\97\116\104\58\10\42\42\42\42" .. package.path .. "\42\42\42\42\10")
27+print("\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{20}\u{70}\u{61}\u{74}\u{68}\u{3a}\u{a}\u{2a}\u{2a}\u{2a}\u{2a}" .. package.path .. "\u{2a}\u{2a}\u{2a}\u{2a}\u{a}")
2828local initclock = os.clock()
2929local lastclock = initclock
3030local walltime = os.time()
@@ -37,23 +37,23 @@ print(m)
3737msgs[# msgs + 1]=string.sub(m,3,- 3)
3838end
3939end
40−assert(os.setlocale("\67"))
40+assert(os.setlocale("\u{43}"))
4141local T,print,format,write,assert,type,unpack,floor = T,print,string.format,io.write,assert,type,table.unpack,math.floor
4242local function F
4343(m)
4444local function round
4545(m)
4646m=m + 0.04999
47−return format("\37\46\49\102",m)
47+return format("\u{25}\u{2e}\u{31}\u{66}",m)
4848end
4949if m < 1000 then
5050return m
5151else
5252m=m / 1000
5353if m < 1000 then
54−return round(m) .. "\75"
54+return round(m) .. "\u{4b}"
5555else
56−return round(m / 1000) .. "\77"
56+return round(m / 1000) .. "\u{4d}"
5757end
5858end
5959end
@@ -62,9 +62,9 @@ local showmem
6262if not T then
6363local max = 0
6464showmem=function ()
65−local m = collectgarbage("\99\111\117\110\116") * 1024
65+local m = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 1024
6666max=(m > max) and m or max
67−print(format("\32\32\32\32\45\45\45\45\32\116\111\116\97\108\32\109\101\109\111\114\121\58\32\37\115\44\32\109\97\120\32\109\101\109\111\114\121\58\32\37\115\32\45\45\45\45\10",F(m),F(max)))
67+print(format("\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{2d}\u{2d}\u{20}\u{74}\u{6f}\u{74}\u{61}\u{6c}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}\u{25}\u{73}\u{2c}\u{20}\u{6d}\u{61}\u{78}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}\u{25}\u{73}\u{20}\u{2d}\u{2d}\u{2d}\u{2d}\u{a}",F(m),F(max)))
6868end
6969Cstacklevel=function ()
7070return 0
@@ -73,9 +73,9 @@ else
7373showmem=function ()
7474T.checkmemory()
7575local total,numblocks,maxmem = T.totalmem()
76−local count = collectgarbage("\99\111\117\110\116")
77−print(format("\10\32\32\32\32\45\45\45\45\32\116\111\116\97\108\32\109\101\109\111\114\121\58\32\37\115\32\40\37\46\48\102\75\41\44\32\109\97\120\32\117\115\101\58\32\37\115\44\32\32\98\108\111\99\107\115\58\32\37\100\10",F(total),count,F(maxmem),numblocks))
78−print(format("\9\40\115\116\114\105\110\103\115\58\32\32\37\100\44\32\116\97\98\108\101\115\58\32\37\100\44\32\102\117\110\99\116\105\111\110\115\58\32\37\100\44\32" .. "\10\9\117\100\97\116\97\58\32\37\100\44\32\116\104\114\101\97\100\115\58\32\37\100\41",T.totalmem("\115\116\114\105\110\103"),T.totalmem("\116\97\98\108\101"),T.totalmem("\102\117\110\99\116\105\111\110"),T.totalmem("\117\115\101\114\100\97\116\97"),T.totalmem("\116\104\114\101\97\100")))
76+local count = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
77+print(format("\u{a}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{2d}\u{2d}\u{20}\u{74}\u{6f}\u{74}\u{61}\u{6c}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}\u{25}\u{73}\u{20}\u{28}\u{25}\u{2e}\u{30}\u{66}\u{4b}\u{29}\u{2c}\u{20}\u{6d}\u{61}\u{78}\u{20}\u{75}\u{73}\u{65}\u{3a}\u{20}\u{25}\u{73}\u{2c}\u{20}\u{20}\u{62}\u{6c}\u{6f}\u{63}\u{6b}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{a}",F(total),count,F(maxmem),numblocks))
78+print(format("\u{9}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{3a}\u{20}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}" .. "\u{a}\u{9}\u{75}\u{64}\u{61}\u{74}\u{61}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{29}",T.totalmem("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"),T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}"),T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"),T.totalmem("\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}"),T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")))
7979end
8080Cstacklevel=function ()
8181local _,_,ncalls = T.stacklevel()
@@ -85,13 +85,13 @@ end
8585local Cstack = Cstacklevel()
8686local function report
8787(n)
88−print("\10\42\42\42\42\42\32\70\73\76\69\32\39" .. n .. "\39\42\42\42\42\42")
88+print("\u{a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{20}\u{46}\u{49}\u{4c}\u{45}\u{20}\u{27}" .. n .. "\u{27}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}")
8989end
9090local olddofile = dofile
9191local dofile = function (n,strip)
9292showmem()
9393local c = os.clock()
94−print(string.format("\116\105\109\101\58\32\37\103\32\40\43\37\103\41",c - initclock,c - lastclock))
94+print(string.format("\u{74}\u{69}\u{6d}\u{65}\u{3a}\u{20}\u{25}\u{67}\u{20}\u{28}\u{2b}\u{25}\u{67}\u{29}",c - initclock,c - lastclock))
9595lastclock=c
9696report(n)
9797local f = assert(loadfile(n))
@@ -99,84 +99,84 @@ local b = string.dump(f,strip)
9999f=assert(load(b))
100100return f()
101101end
102−dofile("\109\97\105\110\46\108\117\97")
103−require("\116\114\97\99\101\103\99").start()
104−report("\103\99\46\108\117\97")
105−local f = assert(loadfile("\103\99\46\108\117\97"))
102+dofile("\u{6d}\u{61}\u{69}\u{6e}\u{2e}\u{6c}\u{75}\u{61}")
103+require("\u{74}\u{72}\u{61}\u{63}\u{65}\u{67}\u{63}").start()
104+report("\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}")
105+local f = assert(loadfile("\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}"))
106106f()
107−dofile("\100\98\46\108\117\97")
108−assert(dofile("\99\97\108\108\115\46\108\117\97") == deep and deep)
107+dofile("\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}")
108+assert(dofile("\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == deep and deep)
109109_G.deep=nil
110−olddofile("\115\116\114\105\110\103\115\46\108\117\97")
111−olddofile("\108\105\116\101\114\97\108\115\46\108\117\97")
112−dofile("\116\112\97\99\107\46\108\117\97")
113−assert(dofile("\97\116\116\114\105\98\46\108\117\97") == 27)
114−dofile("\103\101\110\103\99\46\108\117\97")
115−assert(dofile("\108\111\99\97\108\115\46\108\117\97") == 5)
116−dofile("\99\111\110\115\116\114\117\99\116\115\46\108\117\97")
117−dofile("\99\111\100\101\46\108\117\97",true)
110+olddofile("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
111+olddofile("\u{6c}\u{69}\u{74}\u{65}\u{72}\u{61}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
112+dofile("\u{74}\u{70}\u{61}\u{63}\u{6b}\u{2e}\u{6c}\u{75}\u{61}")
113+assert(dofile("\u{61}\u{74}\u{74}\u{72}\u{69}\u{62}\u{2e}\u{6c}\u{75}\u{61}") == 27)
114+dofile("\u{67}\u{65}\u{6e}\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}")
115+assert(dofile("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == 5)
116+dofile("\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
117+dofile("\u{63}\u{6f}\u{64}\u{65}\u{2e}\u{6c}\u{75}\u{61}",true)
118118if not _G._soft then
119−report("\98\105\103\46\108\117\97")
120−local f = coroutine.wrap(assert(loadfile("\98\105\103\46\108\117\97")))
121−assert(f() == "\98")
122−assert(f() == "\97")
123−end
124−dofile("\99\115\116\97\99\107\46\108\117\97")
125−dofile("\110\101\120\116\118\97\114\46\108\117\97")
126−dofile("\112\109\46\108\117\97")
127−dofile("\117\116\102\56\46\108\117\97")
128−dofile("\97\112\105\46\108\117\97")
129−assert(dofile("\101\118\101\110\116\115\46\108\117\97") == 12)
130−dofile("\118\97\114\97\114\103\46\108\117\97")
131−dofile("\99\108\111\115\117\114\101\46\108\117\97")
132−dofile("\99\111\114\111\117\116\105\110\101\46\108\117\97")
133−dofile("\103\111\116\111\46\108\117\97",true)
134−dofile("\101\114\114\111\114\115\46\108\117\97")
135−dofile("\109\97\116\104\46\108\117\97")
136−dofile("\115\111\114\116\46\108\117\97",true)
137−dofile("\98\105\116\119\105\115\101\46\108\117\97")
138−assert(dofile("\118\101\114\121\98\105\103\46\108\117\97",true) == 10)
119+report("\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}")
120+local f = coroutine.wrap(assert(loadfile("\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}")))
121+assert(f() == "\u{62}")
122+assert(f() == "\u{61}")
123+end
124+dofile("\u{63}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{2e}\u{6c}\u{75}\u{61}")
125+dofile("\u{6e}\u{65}\u{78}\u{74}\u{76}\u{61}\u{72}\u{2e}\u{6c}\u{75}\u{61}")
126+dofile("\u{70}\u{6d}\u{2e}\u{6c}\u{75}\u{61}")
127+dofile("\u{75}\u{74}\u{66}\u{38}\u{2e}\u{6c}\u{75}\u{61}")
128+dofile("\u{61}\u{70}\u{69}\u{2e}\u{6c}\u{75}\u{61}")
129+assert(dofile("\u{65}\u{76}\u{65}\u{6e}\u{74}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == 12)
130+dofile("\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{2e}\u{6c}\u{75}\u{61}")
131+dofile("\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
132+dofile("\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
133+dofile("\u{67}\u{6f}\u{74}\u{6f}\u{2e}\u{6c}\u{75}\u{61}",true)
134+dofile("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
135+dofile("\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{6c}\u{75}\u{61}")
136+dofile("\u{73}\u{6f}\u{72}\u{74}\u{2e}\u{6c}\u{75}\u{61}",true)
137+dofile("\u{62}\u{69}\u{74}\u{77}\u{69}\u{73}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
138+assert(dofile("\u{76}\u{65}\u{72}\u{79}\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}",true) == 10)
139139;
140140collectgarbage()
141−dofile("\102\105\108\101\115\46\108\117\97")
141+dofile("\u{66}\u{69}\u{6c}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
142142if # msgs > 0 then
143−local m = table.concat(msgs,"\10\32\32")
144−warn("\35\116\101\115\116\115\32\110\111\116\32\112\101\114\102\111\114\109\101\100\58\10\32\32",m,"\10")
145−end
146−print("\40\116\104\101\114\101\32\115\104\111\117\108\100\32\98\101\32\116\119\111\32\119\97\114\110\105\110\103\115\32\110\111\119\41")
147−warn("\64\111\110")
148−warn("\35\84\104\105\115\32\105\115\32","\97\110\32\101\120\112\101\99\116\101\100","\32\119\97\114\110\105\110\103")
149−warn("\64\111\102\102")
150−warn("\42\42\42\42\42\42\42\42\32\84\72\73\83\32\87\65\82\78\73\78\71\32\83\72\79\85\76\68\32\78\79\84\32\65\80\80\69\65\82\32\42\42\42\42\42\42\42\42\42\42")
151−warn("\42\42\42\42\42\42\42\42\32\84\72\73\83\32\87\65\82\78\73\78\71\32\65\76\83\79\32\83\72\79\85\76\68\32\78\79\84\32\65\80\80\69\65\82\32\42\42\42\42\42\42\42\42\42\42")
152−warn("\64\111\110")
153−warn("\35\84\104\105\115\32\105\115","\32\97\110\111\116\104\101\114\32\111\110\101")
143+local m = table.concat(msgs,"\u{a}\u{20}\u{20}")
144+warn("\u{23}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{70}\u{65}\u{72}\u{66}\u{6f}\u{72}\u{6d}\u{65}\u{64}\u{3a}\u{a}\u{20}\u{20}",m,"\u{a}")
145+end
146+print("\u{28}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{74}\u{77}\u{6f}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{73}\u{20}\u{6e}\u{6f}\u{77}\u{29}")
147+warn("\u{40}\u{6f}\u{6e}")
148+warn("\u{23}\u{54}\u{68}\u{69}\u{73}\u{20}\u{69}\u{73}\u{20}","\u{61}\u{6e}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}","\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}")
149+warn("\u{40}\u{6f}\u{66}\u{66}")
150+warn("\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{20}\u{54}\u{48}\u{49}\u{53}\u{20}\u{57}\u{41}\u{52}\u{4e}\u{49}\u{4e}\u{47}\u{20}\u{53}\u{48}\u{4f}\u{55}\u{4c}\u{44}\u{20}\u{4e}\u{4f}\u{54}\u{20}\u{41}\u{50}\u{50}\u{45}\u{41}\u{52}\u{20}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}")
151+warn("\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{20}\u{54}\u{48}\u{49}\u{53}\u{20}\u{57}\u{41}\u{52}\u{4e}\u{49}\u{4e}\u{47}\u{20}\u{41}\u{4c}\u{53}\u{4f}\u{20}\u{53}\u{48}\u{4f}\u{55}\u{4c}\u{44}\u{20}\u{4e}\u{4f}\u{54}\u{20}\u{41}\u{50}\u{50}\u{45}\u{41}\u{52}\u{20}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}")
152+warn("\u{40}\u{6f}\u{6e}")
153+warn("\u{23}\u{54}\u{68}\u{69}\u{73}\u{20}\u{69}\u{73}","\u{20}\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6f}\u{6e}\u{65}")
154154assert(debug == nil)
155−local debug = require("\100\101\98\117\103")
156−print(string.format("\37\100\45\98\105\116\32\105\110\116\101\103\101\114\115\44\32\37\100\45\98\105\116\32\102\108\111\97\116\115",string.packsize("\106") * 8,string.packsize("\110") * 8))
155+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
156+print(string.format("\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{2c}\u{20}\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}",string.packsize("\u{6a}") * 8,string.packsize("\u{6e}") * 8))
157157debug.sethook(function (a)
158−assert(type(a) == "\115\116\114\105\110\103")
159−end,"\99\114")
158+assert(type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
159+end,"\u{63}\u{72}")
160160_G.showmem=showmem
161−assert(Cstack == Cstacklevel(),"\115\104\111\117\108\100\32\98\101\32\97\116\32\116\104\101\32\115\97\109\101\32\67\45\115\116\97\99\107\32\108\101\118\101\108\32\105\116\32\119\97\115\32\119\104\101\110\32\115\116\97\114\116\101\100\32\116\104\101\32\116\101\115\116\115")
161+assert(Cstack == Cstacklevel(),"\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{61}\u{74}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{61}\u{6d}\u{65}\u{20}\u{43}\u{2d}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{77}\u{61}\u{73}\u{20}\u{77}\u{68}\u{65}\u{6e}\u{20}\u{73}\u{74}\u{61}\u{72}\u{74}\u{65}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
162162end
163163local _G,showmem,print,format,clock,time,difftime,assert,open,warn = _G,showmem,print,string.format,os.clock,os.time,os.difftime,assert,io.open,warn
164−local fname = T and "\116\105\109\101\45\100\101\98\117\103\46\116\120\116" or "\116\105\109\101\46\116\120\116"
164+local fname = T and "\u{74}\u{69}\u{6d}\u{65}\u{2d}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{74}\u{78}\u{74}" or "\u{74}\u{69}\u{6d}\u{65}\u{2e}\u{74}\u{78}\u{74}"
165165local lasttime
166166if not usertests then
167167local f = io.open(fname)
168168if f then
169−lasttime=assert(tonumber(f:read("\97")))
169+lasttime=assert(tonumber(f:read("\u{61}")))
170170f:close()
171171;
172172else
173173lasttime=nil
174174end
175175end
176−print("\99\108\101\97\110\105\110\103\32\97\108\108\33\33\33\33")
176+print("\u{63}\u{6c}\u{65}\u{61}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{6c}\u{6c}\u{21}\u{21}\u{21}\u{21}")
177177for n in pairs(_G)
178178do
179−if not ({["\95\95\95\71\108\111\98"] = 1,["\116\111\115\116\114\105\110\103"] = 1})[n] then
179+if not ({["\u{5f}\u{5f}\u{5f}\u{47}\u{6c}\u{6f}\u{62}"] = 1,["\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = 1})[n] then
180180_G[n]=undef
181181end
182182end
@@ -190,14 +190,14 @@ collectgarbage()
190190showmem()
191191local clocktime = clock() - initclock
192192walltime=difftime(time(),walltime)
193−print(format("\10\10\116\111\116\97\108\32\116\105\109\101\58\32\37\46\50\102\115\32\40\119\97\108\108\32\116\105\109\101\58\32\37\103\115\41\10",clocktime,walltime))
193+print(format("\u{a}\u{a}\u{74}\u{6f}\u{74}\u{61}\u{6c}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{3a}\u{20}\u{25}\u{2e}\u{32}\u{66}\u{73}\u{20}\u{28}\u{77}\u{61}\u{6c}\u{6c}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{3a}\u{20}\u{25}\u{67}\u{73}\u{29}\u{a}",clocktime,walltime))
194194if not usertests then
195195lasttime=lasttime or clocktime
196196local diff = (clocktime - lasttime) / lasttime
197197local tolerance = 0.05
198198if (diff >= tolerance or diff <= - tolerance) then
199−warn(format("\35\116\105\109\101\32\100\105\102\102\101\114\101\110\99\101\32\102\114\111\109\32\112\114\101\118\105\111\117\115\32\116\101\115\116\58\32\37\43\46\49\102\37\37",diff * 100))
199+warn(format("\u{23}\u{74}\u{69}\u{6d}\u{65}\u{20}\u{64}\u{69}\u{66}\u{66}\u{65}\u{72}\u{65}\u{6e}\u{63}\u{65}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{74}\u{65}\u{73}\u{74}\u{3a}\u{20}\u{25}\u{2b}\u{2e}\u{31}\u{66}\u{25}\u{25}",diff * 100))
200200end
201−assert(open(fname,"\119")):write(clocktime):close()
201+assert(open(fname,"\u{77}")):write(clocktime):close()
202202end
203−print("\102\105\110\97\108\32\79\75\32\33\33\33")
203+print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{4f}\u{4b}\u{20}\u{21}\u{21}\u{21}")
zod/luau/res/lua/cycled/api.lua+409−409
@@ -1,10 +1,10 @@
11if T == nil then
2−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\65\80\73\32\116\101\115\116\115\32\60\60\60\10")
2+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{41}\u{50}\u{49}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
33return
44end
5−local debug = require("\100\101\98\117\103")
5+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
66local pack = table.pack
7−local MEMERRMSG = "\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121"
7+local MEMERRMSG = "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}"
88local function tcheck
99(t1,t2)
1010assert(t1.n == (t2.n or # t2) + 1)
@@ -18,83 +18,83 @@ local function checkerr
1818local stat,err = pcall(f,...)
1919assert(not stat and string.find(err,msg))
2020end
21−print("\116\101\115\116\105\110\103\32\67\32\65\80\73")
22−local a = T.testC("\112\117\115\104\118\97\108\117\101\32\82\59\32\114\101\116\117\114\110\32\49")
21+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{43}\u{20}\u{41}\u{50}\u{49}")
22+local a = T.testC("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{52}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
2323assert(a == debug.getregistry())
24−assert(T.testC("\115\101\116\116\111\112\32\49\48\59\32\97\98\115\105\110\100\101\120\32\45\49\59\32\114\101\116\117\114\110\32\49") == 10)
25−assert(T.testC("\115\101\116\116\111\112\32\53\59\32\97\98\115\105\110\100\101\120\32\45\53\59\32\114\101\116\117\114\110\32\49") == 1)
26−assert(T.testC("\115\101\116\116\111\112\32\49\48\59\32\97\98\115\105\110\100\101\120\32\49\59\32\114\101\116\117\114\110\32\49") == 1)
27−assert(T.testC("\115\101\116\116\111\112\32\49\48\59\32\97\98\115\105\110\100\101\120\32\82\59\32\114\101\116\117\114\110\32\49") < - 10)
24+assert(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 10)
25+assert(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{35}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{2d}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 1)
26+assert(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 1)
27+assert(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{52}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") < - 10)
2828a=T.d2s(12458954321123.0)
29−assert(a == string.pack("\100",12458954321123.0))
29+assert(a == string.pack("\u{64}",12458954321123.0))
3030assert(T.s2d(a) == 12458954321123.0)
31−local a,b,c = T.testC("\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\50\59\32\112\117\115\104\110\117\109\32\51\59\32\114\101\116\117\114\110\32\50")
31+local a,b,c = T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
3232assert(a == 2 and b == 3 and not c)
33−local f = T.makeCfunc("\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\50\59\32\112\117\115\104\110\117\109\32\51\59\32\114\101\116\117\114\110\32\50")
33+local f = T.makeCfunc("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
3434a,b,c=f()
3535assert(a == 2 and b == 3 and not c)
36−a,b,c=T.testC("\112\117\115\104\98\111\111\108\32\49\59\32\112\117\115\104\98\111\111\108\32\50\59\32\112\117\115\104\98\111\111\108\32\48\59\32\114\101\116\117\114\110\32\51")
36+a,b,c=T.testC("\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
3737assert(a == b and a == true and c == false)
38−a,b,c=T.testC("\112\117\115\104\98\111\111\108\32\48\59\32\112\117\115\104\98\111\111\108\32\49\48\59\32\112\117\115\104\110\105\108\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\116\111\98\111\111\108\32\45\51\59\32\116\111\98\111\111\108\32\45\51\59\32\116\111\98\111\111\108\32\45\51\59\32\114\101\116\117\114\110\32\51")
38+a,b,c=T.testC("\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{69}\u{6c}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{74}\u{6f}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{74}\u{6f}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
3939assert(a == false and b == true and c == false)
40−a,b,c=T.testC("\103\101\116\116\111\112\59\32\114\101\116\117\114\110\32\50",10,20,30,40)
40+a,b,c=T.testC("\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",10,20,30,40)
4141assert(a == 40 and b == 5 and not c)
42−local t = pack(T.testC("\115\101\116\116\111\112\32\53\59\32\114\101\116\117\114\110\32\42",2,3))
43−tcheck(t,{["\110"] = 4,2,3})
44−t=pack(T.testC("\115\101\116\116\111\112\32\48\59\32\115\101\116\116\111\112\32\49\53\59\32\114\101\116\117\114\110\32\49\48",3,1,23))
42+local t = pack(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3))
43+tcheck(t,{["\u{6e}"] = 4,2,3})
44+t=pack(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{30}\u{3b}\u{20}\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}",3,1,23))
4545assert(t.n == 10 and t[1] == nil and t[10] == nil)
46−t=pack(T.testC("\114\101\109\111\118\101\32\45\50\59\32\114\101\116\117\114\110\32\42",2,3,4))
47−tcheck(t,{["\110"] = 2,2,4})
48−t=pack(T.testC("\105\110\115\101\114\116\32\45\49\59\32\114\101\116\117\114\110\32\42",2,3))
49−tcheck(t,{["\110"] = 2,2,3})
50−t=pack(T.testC("\105\110\115\101\114\116\32\51\59\32\114\101\116\117\114\110\32\42",2,3,4,5))
51−tcheck(t,{["\110"] = 4,2,5,3,4})
52−t=pack(T.testC("\114\101\112\108\97\99\101\32\50\59\32\114\101\116\117\114\110\32\42",2,3,4,5))
53−tcheck(t,{["\110"] = 3,5,3,4})
54−t=pack(T.testC("\114\101\112\108\97\99\101\32\45\50\59\32\114\101\116\117\114\110\32\42",2,3,4,5))
55−tcheck(t,{["\110"] = 3,2,3,5})
56−t=pack(T.testC("\114\101\109\111\118\101\32\51\59\32\114\101\116\117\114\110\32\42",2,3,4,5))
57−tcheck(t,{["\110"] = 3,2,4,5})
58−t=pack(T.testC("\99\111\112\121\32\51\32\52\59\32\114\101\116\117\114\110\32\42",2,3,4,5))
59−tcheck(t,{["\110"] = 4,2,3,3,5})
60−t=pack(T.testC("\99\111\112\121\32\45\51\32\45\49\59\32\114\101\116\117\114\110\32\42",2,3,4,5))
61−tcheck(t,{["\110"] = 4,2,3,4,3})
46+t=pack(T.testC("\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3,4))
47+tcheck(t,{["\u{6e}"] = 2,2,4})
48+t=pack(T.testC("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3))
49+tcheck(t,{["\u{6e}"] = 2,2,3})
50+t=pack(T.testC("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3,4,5))
51+tcheck(t,{["\u{6e}"] = 4,2,5,3,4})
52+t=pack(T.testC("\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3,4,5))
53+tcheck(t,{["\u{6e}"] = 3,5,3,4})
54+t=pack(T.testC("\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3,4,5))
55+tcheck(t,{["\u{6e}"] = 3,2,3,5})
56+t=pack(T.testC("\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3,4,5))
57+tcheck(t,{["\u{6e}"] = 3,2,4,5})
58+t=pack(T.testC("\u{63}\u{6f}\u{70}\u{79}\u{20}\u{33}\u{20}\u{34}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3,4,5))
59+tcheck(t,{["\u{6e}"] = 4,2,3,3,5})
60+t=pack(T.testC("\u{63}\u{6f}\u{70}\u{79}\u{20}\u{2d}\u{33}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3,4,5))
61+tcheck(t,{["\u{6e}"] = 4,2,3,4,3})
6262do
6363local t = {10,20,30,40,50,60}
6464for i = - 6, 6
6565do
66−local s = string.format("\114\111\116\97\116\101\32\50\32\37\100\59\32\114\101\116\117\114\110\32\55",i)
66+local s = string.format("\u{72}\u{6f}\u{74}\u{61}\u{74}\u{65}\u{20}\u{32}\u{20}\u{25}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{37}",i)
6767local t1 = pack(T.testC(s,10,20,30,40,50,60))
6868tcheck(t1,t)
6969table.insert(t,1,table.remove(t))
7070end
71−t=pack(T.testC("\114\111\116\97\116\101\32\45\50\32\49\59\32\114\101\116\117\114\110\32\42",10,20,30,40))
71+t=pack(T.testC("\u{72}\u{6f}\u{74}\u{61}\u{74}\u{65}\u{20}\u{2d}\u{32}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",10,20,30,40))
7272tcheck(t,{10,20,40,30})
73−t=pack(T.testC("\114\111\116\97\116\101\32\45\50\32\45\49\59\32\114\101\116\117\114\110\32\42",10,20,30,40))
73+t=pack(T.testC("\u{72}\u{6f}\u{74}\u{61}\u{74}\u{65}\u{20}\u{2d}\u{32}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",10,20,30,40))
7474tcheck(t,{10,20,40,30})
75−t=pack(T.testC("\114\111\116\97\116\101\32\45\49\32\48\59\32\114\101\116\117\114\110\32\42",10,20,30,40))
75+t=pack(T.testC("\u{72}\u{6f}\u{74}\u{61}\u{74}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",10,20,30,40))
7676tcheck(t,{10,20,30,40})
77−t=pack(T.testC("\114\111\116\97\116\101\32\45\49\32\49\59\32\114\101\116\117\114\110\32\42",10,20,30,40))
77+t=pack(T.testC("\u{72}\u{6f}\u{74}\u{61}\u{74}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",10,20,30,40))
7878tcheck(t,{10,20,30,40})
79−t=pack(T.testC("\114\111\116\97\116\101\32\53\32\45\49\59\32\114\101\116\117\114\110\32\42",10,20,30,40))
79+t=pack(T.testC("\u{72}\u{6f}\u{74}\u{61}\u{74}\u{65}\u{20}\u{35}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",10,20,30,40))
8080tcheck(t,{10,20,30,40})
8181end
82−T.testC("\32\32\119\97\114\110\105\110\103\67\32\34\35\84\104\105\115\32\115\104\111\108\100\32\98\101\32\97\34\10\32\32\119\97\114\110\105\110\103\67\32\34\32\115\105\110\103\108\101\32\34\10\32\32\119\97\114\110\105\110\103\32\34\119\97\114\110\105\110\103\34\10\32\32\119\97\114\110\105\110\103\67\32\34\35\84\104\105\115\32\115\104\111\117\108\100\32\98\101\32\34\10\32\32\119\97\114\110\105\110\103\32\34\97\110\111\116\104\101\114\32\111\110\101\34\10")
82+T.testC("\u{20}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{43}\u{20}\u{22}\u{23}\u{54}\u{68}\u{69}\u{73}\u{20}\u{73}\u{68}\u{6f}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{61}\u{22}\u{a}\u{20}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{43}\u{20}\u{22}\u{20}\u{73}\u{69}\u{6e}\u{67}\u{6c}\u{65}\u{20}\u{22}\u{a}\u{20}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{22}\u{a}\u{20}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{43}\u{20}\u{22}\u{23}\u{54}\u{68}\u{69}\u{73}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{22}\u{a}\u{20}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6f}\u{6e}\u{65}\u{22}\u{a}")
8383do
84−local f = T.makeCfunc("\32\32\32\32\103\101\116\103\108\111\98\97\108\32\101\114\114\111\114\10\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\98\111\108\97\10\32\32\32\32\112\99\97\108\108\32\49\32\49\32\49\32\32\32\35\32\99\97\108\108\32\39\101\114\114\111\114\39\32\119\105\116\104\32\103\105\118\101\110\32\104\97\110\100\108\101\114\10\32\32\32\32\112\117\115\104\115\116\97\116\117\115\10\32\32\32\32\114\101\116\117\114\110\32\50\32\32\32\32\32\35\32\114\101\116\117\114\110\32\101\114\114\111\114\32\109\101\115\115\97\103\101\32\97\110\100\32\115\116\97\116\117\115\10\32\32")
84+local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{62}\u{6f}\u{6c}\u{61}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{31}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{27}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{27}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{67}\u{69}\u{76}\u{65}\u{6e}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{65}\u{72}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}")
8585local msg,st = f(string.upper)
86−assert(st == "\69\82\82\82\85\78" and msg == "\66\79\76\65")
86+assert(st == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and msg == "\u{42}\u{4f}\u{4c}\u{41}")
8787local msg,st = f(string.len)
88−assert(st == "\69\82\82\82\85\78" and msg == 4)
88+assert(st == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and msg == 4)
8989end
90−t=pack(T.testC("\105\110\115\101\114\116\32\51\59\32\112\117\115\104\118\97\108\117\101\32\51\59\32\114\101\109\111\118\101\32\51\59\32\112\117\115\104\118\97\108\117\101\32\50\59\32\114\101\109\111\118\101\32\50\59\32\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\105\110\115\101\114\116\32\50\59\32\112\117\115\104\118\97\108\117\101\32\49\59\32\114\101\109\111\118\101\32\49\59\32\105\110\115\101\114\116\32\49\59\32\10\32\32\32\32\32\32\105\110\115\101\114\116\32\45\50\59\32\112\117\115\104\118\97\108\117\101\32\45\50\59\32\114\101\109\111\118\101\32\45\51\59\32\114\101\116\117\114\110\32\42",2,3,4,5,10,40,90))
91−tcheck(t,{["\110"] = 7,2,3,4,5,10,40,90})
92−t=pack(T.testC("\99\111\110\99\97\116\32\53\59\32\114\101\116\117\114\110\32\42","\97\108\111",2,3,"\106\111\97\111",12))
93−tcheck(t,{["\110"] = 1,"\97\108\111\50\51\106\111\97\111\49\50"})
94−t=pack(T.testC("\99\97\108\108\32\50\44\45\49\59\32\114\101\116\117\114\110\32\42",function (a,b)
90+t=pack(T.testC("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{31}\u{3b}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",2,3,4,5,10,40,90))
91+tcheck(t,{["\u{6e}"] = 7,2,3,4,5,10,40,90})
92+t=pack(T.testC("\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}","\u{61}\u{6c}\u{6f}",2,3,"\u{6a}\u{6f}\u{61}\u{6f}",12))
93+tcheck(t,{["\u{6e}"] = 1,"\u{61}\u{6c}\u{6f}\u{32}\u{33}\u{6a}\u{6f}\u{61}\u{6f}\u{31}\u{32}"})
94+t=pack(T.testC("\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{32}\u{2c}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",function (a,b)
9595return 1,2,3,4,a,b
96−end,"\97\108\111","\106\111\97\111"))
97−tcheck(t,{["\110"] = 6,1,2,3,4,"\97\108\111","\106\111\97\111"})
96+end,"\u{61}\u{6c}\u{6f}","\u{6a}\u{6f}\u{61}\u{6f}"))
97+tcheck(t,{["\u{6e}"] = 6,1,2,3,4,"\u{61}\u{6c}\u{6f}","\u{6a}\u{6f}\u{61}\u{6f}"})
9898do
9999local a = {}
100100for i = 1, 1000
@@ -103,112 +103,112 @@ a[i]=true
103103end
104104;
105105a[999]=10
106−local b = T.testC("\112\99\97\108\108\32\49\32\45\49\32\48\59\32\112\111\112\32\49\59\32\116\111\115\116\114\105\110\103\32\45\49\59\32\114\101\116\117\114\110\32\49",table.unpack,a)
107−assert(b == "\49\48")
106+local b = T.testC("\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{2d}\u{31}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{3b}\u{20}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",table.unpack,a)
107+assert(b == "\u{31}\u{30}")
108108end
109109_G.AA=14
110110;
111−_G.BB="\97\51\49"
112−local a = {T.testC("\32\32\103\101\116\103\108\111\98\97\108\32\65\65\59\10\32\32\103\101\116\103\108\111\98\97\108\32\66\66\59\10\32\32\103\101\116\103\108\111\98\97\108\32\66\66\59\10\32\32\115\101\116\103\108\111\98\97\108\32\65\65\59\10\32\32\114\101\116\117\114\110\32\42\10")}
113−assert(a[2] == 14 and a[3] == "\97\51\49" and a[4] == nil and _G.AA == "\97\51\49")
111+_G.BB="\u{61}\u{33}\u{31}"
112+local a = {T.testC("\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{41}\u{41}\u{3b}\u{a}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{42}\u{42}\u{3b}\u{a}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{42}\u{42}\u{3b}\u{a}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{41}\u{41}\u{3b}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{a}")}
113+assert(a[2] == 14 and a[3] == "\u{61}\u{33}\u{31}" and a[4] == nil and _G.AA == "\u{61}\u{33}\u{31}")
114114_G.AA,_G.BB=nil
115−assert(T.testC("\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\110\117\109\32\50\48\59\32\97\114\105\116\104\32\47\59\32\114\101\116\117\114\110\32\49") == 0.5)
116−assert(T.testC("\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\110\117\109\32\50\48\59\32\97\114\105\116\104\32\45\59\32\114\101\116\117\114\110\32\49") == - 10)
117−assert(T.testC("\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\110\117\109\32\45\50\48\59\32\97\114\105\116\104\32\42\59\32\114\101\116\117\114\110\32\49") == - 200)
118−assert(T.testC("\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\110\117\109\32\51\59\32\97\114\105\116\104\32\94\59\32\114\101\116\117\114\110\32\49") == 1000)
119−assert(T.testC("\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\115\116\114\105\110\103\32\50\48\59\32\97\114\105\116\104\32\47\59\32\114\101\116\117\114\110\32\49") == 0.5)
120−assert(T.testC("\112\117\115\104\115\116\114\105\110\103\32\49\48\59\32\112\117\115\104\110\117\109\32\50\48\59\32\97\114\105\116\104\32\45\59\32\114\101\116\117\114\110\32\49") == - 10)
121−assert(T.testC("\112\117\115\104\115\116\114\105\110\103\32\49\48\59\32\112\117\115\104\115\116\114\105\110\103\32\45\50\48\59\32\97\114\105\116\104\32\42\59\32\114\101\116\117\114\110\32\49") == - 200)
122−assert(T.testC("\112\117\115\104\115\116\114\105\110\103\32\49\48\59\32\112\117\115\104\115\116\114\105\110\103\32\51\59\32\97\114\105\116\104\32\94\59\32\114\101\116\117\114\110\32\49") == 1000)
123−assert(T.testC("\97\114\105\116\104\32\47\59\32\114\101\116\117\114\110\32\49",2,0) == 10.0 / 0)
124−a=T.testC("\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\105\110\116\32\51\59\32\97\114\105\116\104\32\92\59\32\114\101\116\117\114\110\32\49")
125−assert(a == 3.0 and math.type(a) == "\102\108\111\97\116")
126−a=T.testC("\112\117\115\104\105\110\116\32\49\48\59\32\112\117\115\104\105\110\116\32\51\59\32\97\114\105\116\104\32\92\59\32\114\101\116\117\114\110\32\49")
127−assert(a == 3 and math.type(a) == "\105\110\116\101\103\101\114")
128−a=assert(T.testC("\112\117\115\104\105\110\116\32\49\48\59\32\112\117\115\104\105\110\116\32\51\59\32\97\114\105\116\104\32\43\59\32\114\101\116\117\114\110\32\49"))
129−assert(a == 13 and math.type(a) == "\105\110\116\101\103\101\114")
130−a=assert(T.testC("\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\105\110\116\32\51\59\32\97\114\105\116\104\32\43\59\32\114\101\116\117\114\110\32\49"))
131−assert(a == 13 and math.type(a) == "\102\108\111\97\116")
132−a,b,c=T.testC("\112\117\115\104\110\117\109\32\49\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\49\48\59\32\97\114\105\116\104\32\95\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\53\59\32\114\101\116\117\114\110\32\51")
133−assert(a == 1 and b == - 10 and c == "\53")
134−local mt = {["\95\95\97\100\100"] = function (a,b)
115+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0.5)
116+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2d}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == - 10)
117+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{2d}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2a}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == - 200)
118+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 1000)
119+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0.5)
120+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2d}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == - 10)
121+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2a}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == - 200)
122+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 1000)
123+assert(T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",2,0) == 10.0 / 0)
124+a=T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5c}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
125+assert(a == 3.0 and math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
126+a=T.testC("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5c}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
127+assert(a == 3 and math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
128+a=assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
129+assert(a == 13 and math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
130+a=assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
131+assert(a == 13 and math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
132+a,b,c=T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5f}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
133+assert(a == 1 and b == - 10 and c == "\u{35}")
134+local mt = {["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = function (a,b)
135135return setmetatable({a[1] + b[1]},mt)
136−end,["\95\95\109\111\100"] = function (a,b)
136+end,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = function (a,b)
137137return setmetatable({a[1] % b[1]},mt)
138−end,["\95\95\117\110\109"] = function (a)
138+end,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = function (a)
139139return setmetatable({a[1] * 2},mt)
140140end}
141141a,b,c=setmetatable({4},mt),setmetatable({8},mt),setmetatable({- 3},mt)
142−local x,y,z = T.testC("\97\114\105\116\104\32\43\59\32\114\101\116\117\114\110\32\50",10,a,b)
142+local x,y,z = T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",10,a,b)
143143assert(x == 10 and y[1] == 12 and z == nil)
144−assert(T.testC("\97\114\105\116\104\32\37\59\32\114\101\116\117\114\110\32\49",a,c)[1] == 4 % - 3)
145−assert(T.testC("\97\114\105\116\104\32\95\59\32\97\114\105\116\104\32\43\59\32\97\114\105\116\104\32\37\59\32\114\101\116\117\114\110\32\49",b,a,c)[1] == 8 % (4 + (- 3) * 2))
146−checkerr("\100\105\118\105\100\101\32\98\121\32\122\101\114\111",T.testC,"\97\114\105\116\104\32\92",10,0)
147−checkerr("\37\37\48",T.testC,"\97\114\105\116\104\32\37",10,0)
148−assert(T.testC("\99\111\109\112\97\114\101\32\76\84\32\50\32\53\44\32\114\101\116\117\114\110\32\49",3,2,2,4,2,2))
149−assert(T.testC("\99\111\109\112\97\114\101\32\76\69\32\50\32\53\44\32\114\101\116\117\114\110\32\49",3,2,2,4,2,2))
150−assert(not T.testC("\99\111\109\112\97\114\101\32\76\84\32\51\32\52\44\32\114\101\116\117\114\110\32\49",3,2,2,4,2,2))
151−assert(T.testC("\99\111\109\112\97\114\101\32\76\69\32\51\32\52\44\32\114\101\116\117\114\110\32\49",3,2,2,4,2,2))
152−assert(T.testC("\99\111\109\112\97\114\101\32\76\84\32\53\32\50\44\32\114\101\116\117\114\110\32\49",4,2,2,3,2,2))
153−assert(not T.testC("\99\111\109\112\97\114\101\32\76\84\32\50\32\45\51\44\32\114\101\116\117\114\110\32\49","\52","\50","\50","\51","\50","\50"))
154−assert(not T.testC("\99\111\109\112\97\114\101\32\76\84\32\45\51\32\50\44\32\114\101\116\117\114\110\32\49","\51","\50","\50","\52","\50","\50"))
155−assert(not T.testC("\99\111\109\112\97\114\101\32\76\84\32\49\32\52\44\32\114\101\116\117\114\110\32\49"))
156−assert(not T.testC("\99\111\109\112\97\114\101\32\76\69\32\57\32\49\44\32\114\101\116\117\114\110\32\49"))
157−assert(not T.testC("\99\111\109\112\97\114\101\32\69\81\32\57\32\57\44\32\114\101\116\117\114\110\32\49"))
158−local b = {["\95\95\108\116"] = function (a,b)
144+assert(T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a,c)[1] == 4 % - 3)
145+assert(T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5f}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b,a,c)[1] == 8 % (4 + (- 3) * 2))
146+checkerr("\u{64}\u{69}\u{76}\u{69}\u{64}\u{65}\u{20}\u{62}\u{79}\u{20}\u{7a}\u{65}\u{72}\u{6f}",T.testC,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5c}",10,0)
147+checkerr("\u{25}\u{25}\u{30}",T.testC,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}",10,0)
148+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",3,2,2,4,2,2))
149+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{32}\u{20}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",3,2,2,4,2,2))
150+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{33}\u{20}\u{34}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",3,2,2,4,2,2))
151+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{33}\u{20}\u{34}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",3,2,2,4,2,2))
152+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{35}\u{20}\u{32}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",4,2,2,3,2,2))
153+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{2d}\u{33}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{34}","\u{32}","\u{32}","\u{33}","\u{32}","\u{32}"))
154+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{2d}\u{33}\u{20}\u{32}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{33}","\u{32}","\u{32}","\u{34}","\u{32}","\u{32}"))
155+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{31}\u{20}\u{34}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
156+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{39}\u{20}\u{31}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
157+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{39}\u{20}\u{39}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
158+local b = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
159159return a[1] < b[1]
160160end}
161161local a1,a3,a4 = setmetatable({1},b),setmetatable({3},b),setmetatable({4},b)
162−assert(T.testC("\99\111\109\112\97\114\101\32\76\84\32\50\32\53\44\32\114\101\116\117\114\110\32\49",a3,2,2,a4,2,2))
163−assert(T.testC("\99\111\109\112\97\114\101\32\76\69\32\50\32\53\44\32\114\101\116\117\114\110\32\49",a3,2,2,a4,2,2))
164−assert(T.testC("\99\111\109\112\97\114\101\32\76\84\32\53\32\45\54\44\32\114\101\116\117\114\110\32\49",a4,2,2,a3,2,2))
165−a,b=T.testC("\99\111\109\112\97\114\101\32\76\84\32\53\32\45\54\44\32\114\101\116\117\114\110\32\50",a1,2,2,a3,2,20)
162+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a3,2,2,a4,2,2))
163+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{32}\u{20}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a3,2,2,a4,2,2))
164+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{35}\u{20}\u{2d}\u{36}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a4,2,2,a3,2,2))
165+a,b=T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{35}\u{20}\u{2d}\u{36}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a1,2,2,a3,2,20)
166166assert(a == 20 and b == false)
167−a,b=T.testC("\99\111\109\112\97\114\101\32\76\69\32\53\32\45\54\44\32\114\101\116\117\114\110\32\50",a1,2,2,a3,2,20)
167+a,b=T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{35}\u{20}\u{2d}\u{36}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a1,2,2,a3,2,20)
168168assert(a == 20 and b == false)
169−a,b=T.testC("\99\111\109\112\97\114\101\32\76\69\32\53\32\45\54\44\32\114\101\116\117\114\110\32\50",a1,2,2,a1,2,20)
169+a,b=T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{35}\u{20}\u{2d}\u{36}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a1,2,2,a1,2,20)
170170assert(a == 20 and b == true)
171171do
172−local mt = {["\95\95\108\116"] = function (a,b)
172+local mt = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
173173return a[1] < b[1]
174−end,["\95\95\108\101"] = function (a,b)
174+end,["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
175175return a[1] <= b[1]
176−end,["\95\95\101\113"] = function (a,b)
176+end,["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
177177return a[1] == b[1]
178178end}
179179local function O
180180(x)
181181return setmetatable({x},mt)
182182end
183−local a,b = T.testC("\99\111\109\112\97\114\101\32\76\84\32\50\32\51\59\32\112\117\115\104\105\110\116\32\49\48\59\32\114\101\116\117\114\110\32\50",O(1),O(2))
183+local a,b = T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",O(1),O(2))
184184assert(a == true and b == 10)
185−local a,b = T.testC("\99\111\109\112\97\114\101\32\76\69\32\50\32\51\59\32\112\117\115\104\105\110\116\32\49\48\59\32\114\101\116\117\114\110\32\50",O(3),O(2))
185+local a,b = T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",O(3),O(2))
186186assert(a == false and b == 10)
187−local a,b = T.testC("\99\111\109\112\97\114\101\32\69\81\32\50\32\51\59\32\112\117\115\104\105\110\116\32\49\48\59\32\114\101\116\117\114\110\32\50",O(3),O(3))
187+local a,b = T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",O(3),O(3))
188188assert(a == true and b == 10)
189189end
190−local t = setmetatable({["\120"] = 20},{["\95\95\108\101\110"] = function (t)
190+local t = setmetatable({["\u{78}"] = 20},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (t)
191191return t.x
192192end})
193−a,b,c=T.testC("\32\32\32\108\101\110\32\50\59\10\32\32\32\76\108\101\110\32\50\59\10\32\32\32\111\98\106\115\105\122\101\32\50\59\10\32\32\32\114\101\116\117\114\110\32\51\10",t)
193+a,b,c=T.testC("\u{20}\u{20}\u{20}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{4c}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{a}",t)
194194assert(a == 20 and b == 20 and c == 0)
195−t.x="\50\51\52"
195+t.x="\u{32}\u{33}\u{34}"
196196;
197197t[1]=20
198−a,b,c=T.testC("\32\32\32\108\101\110\32\50\59\10\32\32\32\76\108\101\110\32\50\59\10\32\32\32\111\98\106\115\105\122\101\32\50\59\10\32\32\32\114\101\116\117\114\110\32\51\10",t)
199−assert(a == "\50\51\52" and b == 234 and c == 1)
198+a,b,c=T.testC("\u{20}\u{20}\u{20}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{4c}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{a}",t)
199+assert(a == "\u{32}\u{33}\u{34}" and b == 234 and c == 1)
200200t.x=print
201201;
202202t[1]=20
203−a,c=T.testC("\32\32\32\108\101\110\32\50\59\10\32\32\32\111\98\106\115\105\122\101\32\50\59\10\32\32\32\114\101\116\117\114\110\32\50\10",t)
203+a,c=T.testC("\u{20}\u{20}\u{20}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{a}",t)
204204assert(a == print and c == 1)
205−a=setmetatable({["\120"] = "\117"},{["\95\95\99\111\110\99\97\116"] = function (a,b)
206−return a.x .. "\46" .. b.x
205+a=setmetatable({["\u{78}"] = "\u{75}"},{["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
206+return a.x .. "\u{2e}" .. b.x
207207end})
208−x,y=T.testC("\32\32\112\117\115\104\110\117\109\32\53\10\32\32\112\117\115\104\118\97\108\117\101\32\50\59\10\32\32\112\117\115\104\118\97\108\117\101\32\50\59\10\32\32\99\111\110\99\97\116\32\50\59\10\32\32\112\117\115\104\118\97\108\117\101\32\45\50\59\10\32\32\114\101\116\117\114\110\32\50\59\10",a,a)
208+x,y=T.testC("\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{35}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{3b}\u{a}",a,a)
209209assert(x == a .. a and y == 5)
210−assert(T.testC("\99\111\110\99\97\116\32\48\59\32\114\101\116\117\114\110\32\49") == "")
211−assert(T.testC("\99\111\110\99\97\116\32\49\59\32\114\101\116\117\114\110\32\49","\120\117\120\117") == "\120\117\120\117")
210+assert(T.testC("\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == "")
211+assert(T.testC("\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{78}\u{75}\u{78}\u{75}") == "\u{78}\u{75}\u{78}\u{75}")
212212local function B
213213(x)
214214return x and 1 or 0
@@ -216,14 +216,14 @@ end
216216local function count
217217(x,n)
218218n=n or 2
219−local prog = "\32\32\32\32\105\115\110\117\109\98\101\114\32\37\100\59\10\32\32\32\32\105\115\115\116\114\105\110\103\32\37\100\59\10\32\32\32\32\105\115\102\117\110\99\116\105\111\110\32\37\100\59\10\32\32\32\32\105\115\99\102\117\110\99\116\105\111\110\32\37\100\59\10\32\32\32\32\105\115\116\97\98\108\101\32\37\100\59\10\32\32\32\32\105\115\117\115\101\114\100\97\116\97\32\37\100\59\10\32\32\32\32\105\115\110\105\108\32\37\100\59\10\32\32\32\32\105\115\110\117\108\108\32\37\100\59\10\32\32\32\32\114\101\116\117\114\110\32\56\10\32\32"
219+local prog = "\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{63}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{6e}\u{69}\u{6c}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{38}\u{a}\u{20}\u{20}"
220220prog=string.format(prog,n,n,n,n,n,n,n,n)
221221local a,b,c,d,e,f,g,h = T.testC(prog,x)
222222return B(a) + B(b) + B(c) + B(d) + B(e) + B(f) + B(g) + (100 * B(h))
223223end
224224assert(count(3) == 2)
225−assert(count("\97\108\111") == 1)
226−assert(count("\51\50") == 2)
225+assert(count("\u{61}\u{6c}\u{6f}") == 1)
226+assert(count("\u{33}\u{32}") == 2)
227227assert(count({}) == 1)
228228assert(count(print) == 2)
229229assert(count(function ()
@@ -235,88 +235,88 @@ assert(count(nil,15) == 100)
235235local function to
236236(s,x,n)
237237n=n or 2
238−return T.testC(string.format("\37\115\32\37\100\59\32\114\101\116\117\114\110\32\49",s,n),x)
238+return T.testC(string.format("\u{25}\u{73}\u{20}\u{25}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",s,n),x)
239239end
240240local null = T.pushuserdata(0)
241241local hfunc = string.gmatch("","")
242242assert(debug.getupvalue(hfunc,1))
243−assert(to("\116\111\115\116\114\105\110\103",{}) == nil)
244−assert(to("\116\111\115\116\114\105\110\103","\97\108\111") == "\97\108\111")
245−assert(to("\116\111\115\116\114\105\110\103",12) == "\49\50")
246−assert(to("\116\111\115\116\114\105\110\103",12,3) == nil)
247−assert(to("\111\98\106\115\105\122\101",{}) == 0)
248−assert(to("\111\98\106\115\105\122\101",{1,2,3}) == 3)
249−assert(to("\111\98\106\115\105\122\101","\97\108\111\97") == 6)
250−assert(to("\111\98\106\115\105\122\101",T.newuserdata(0)) == 0)
251−assert(to("\111\98\106\115\105\122\101",T.newuserdata(101)) == 101)
252−assert(to("\111\98\106\115\105\122\101",124) == 0)
253−assert(to("\111\98\106\115\105\122\101",true) == 0)
254−assert(to("\116\111\110\117\109\98\101\114",{}) == 0)
255−assert(to("\116\111\110\117\109\98\101\114","\49\50") == 12)
256−assert(to("\116\111\110\117\109\98\101\114","\115\50") == 0)
257−assert(to("\116\111\110\117\109\98\101\114",1,20) == 0)
258−assert(to("\116\111\112\111\105\110\116\101\114",10) == null)
259−assert(to("\116\111\112\111\105\110\116\101\114",true) == null)
260−assert(to("\116\111\112\111\105\110\116\101\114",nil) == null)
261−assert(to("\116\111\112\111\105\110\116\101\114","\97\98\99") ~= null)
262−assert(to("\116\111\112\111\105\110\116\101\114",string.rep("\120",10)) == to("\116\111\112\111\105\110\116\101\114",string.rep("\120",10)))
243+assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",{}) == nil)
244+assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}","\u{61}\u{6c}\u{6f}") == "\u{61}\u{6c}\u{6f}")
245+assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",12) == "\u{31}\u{32}")
246+assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",12,3) == nil)
247+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{}) == 0)
248+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{1,2,3}) == 3)
249+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}","\u{61}\u{6c}\u{6f}\u{0}\u{0}\u{61}") == 6)
250+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0)) == 0)
251+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(101)) == 101)
252+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",124) == 0)
253+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",true) == 0)
254+assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",{}) == 0)
255+assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{31}\u{32}") == 12)
256+assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{73}\u{32}") == 0)
257+assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",1,20) == 0)
258+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",10) == null)
259+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",true) == null)
260+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",nil) == null)
261+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}","\u{61}\u{62}\u{63}") ~= null)
262+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",string.rep("\u{78}",10)) == to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",string.rep("\u{78}",10)))
263263do
264−local s1 = string.rep("\120",300)
265−local s2 = string.rep("\120",300)
266−assert(to("\116\111\112\111\105\110\116\101\114",s1) ~= to("\116\111\112\111\105\110\116\101\114",s2))
267−end
268−assert(to("\116\111\112\111\105\110\116\101\114",T.pushuserdata(20)) ~= null)
269−assert(to("\116\111\112\111\105\110\116\101\114",io.read) ~= null)
270−assert(to("\116\111\112\111\105\110\116\101\114",hfunc) ~= null)
271−assert(to("\116\111\112\111\105\110\116\101\114",function ()
264+local s1 = string.rep("\u{78}",300)
265+local s2 = string.rep("\u{78}",300)
266+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",s1) ~= to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",s2))
267+end
268+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",T.pushuserdata(20)) ~= null)
269+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",io.read) ~= null)
270+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",hfunc) ~= null)
271+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",function ()
272272
273273end) ~= null)
274−assert(to("\116\111\112\111\105\110\116\101\114",io.stdin) ~= null)
275−assert(to("\102\117\110\99\50\110\117\109",20) == 0)
276−assert(to("\102\117\110\99\50\110\117\109",T.pushuserdata(10)) == 0)
277−assert(to("\102\117\110\99\50\110\117\109",io.read) ~= 0)
278−assert(to("\102\117\110\99\50\110\117\109",hfunc) ~= 0)
279−a=to("\116\111\99\102\117\110\99\116\105\111\110",math.deg)
274+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",io.stdin) ~= null)
275+assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",20) == 0)
276+assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",T.pushuserdata(10)) == 0)
277+assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",io.read) ~= 0)
278+assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",hfunc) ~= 0)
279+a=to("\u{74}\u{6f}\u{63}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}",math.deg)
280280assert(a(3) == math.deg(3) and a == math.deg)
281−print("\116\101\115\116\105\110\103\32\112\97\110\105\99\32\102\117\110\99\116\105\111\110")
281+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{6e}\u{69}\u{63}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
282282do
283−assert(T.checkpanic("\112\117\115\104\115\116\114\105\110\103\32\104\105\59\32\101\114\114\111\114") == "\104\105")
284−assert(T.checkpanic("\112\117\115\104\115\116\114\105\110\103\32\104\105\59\32\101\114\114\111\114\59","\99\104\101\99\107\115\116\97\99\107\32\53\32\88\88\10\32\32\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\39\32\97\108\111\39\10\32\32\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\39\32\109\117\110\100\111\39\10\32\32\32\32\32\32\99\111\110\99\97\116\32\51") == "\104\105\32\97\108\111\32\109\117\110\100\111")
285−assert(T.checkpanic("\108\111\97\100\115\116\114\105\110\103\32\52") == "\98\97\100\32\97\114\103\117\109\101\110\116\32\35\52\32\40\115\116\114\105\110\103\32\101\120\112\101\99\116\101\100\44\32\103\111\116\32\110\111\32\118\97\108\117\101\41")
283+assert(T.checkpanic("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{68}\u{69}\u{3b}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}") == "\u{68}\u{69}")
284+assert(T.checkpanic("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{68}\u{69}\u{3b}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3b}","\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{35}\u{20}\u{58}\u{58}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{20}\u{61}\u{6c}\u{6f}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{20}\u{6d}\u{75}\u{6e}\u{64}\u{6f}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{33}") == "\u{68}\u{69}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{6d}\u{75}\u{6e}\u{64}\u{6f}")
285+assert(T.checkpanic("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{34}") == "\u{62}\u{61}\u{64}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{23}\u{34}\u{20}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{6f}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{29}")
286286T.totalmem(T.totalmem() + 10000)
287−assert(T.checkpanic("\110\101\119\117\115\101\114\100\97\116\97\32\50\48\48\48\48") == MEMERRMSG)
287+assert(T.checkpanic("\u{6e}\u{65}\u{77}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{30}\u{30}\u{30}\u{30}") == MEMERRMSG)
288288T.totalmem(0)
289289if not _soft then
290−local msg = T.checkpanic("\32\32\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\34\102\117\110\99\116\105\111\110\32\102\40\41\32\102\40\41\32\101\110\100\34\10\32\32\32\32\32\32\108\111\97\100\115\116\114\105\110\103\32\45\49\59\32\99\97\108\108\32\48\32\48\10\32\32\32\32\32\32\103\101\116\103\108\111\98\97\108\32\102\59\32\99\97\108\108\32\48\32\48\10\32\32\32\32")
291−assert(string.find(msg,"\115\116\97\99\107\32\111\118\101\114\102\108\111\119"))
290+local msg = T.checkpanic("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{28}\u{29}\u{20}\u{66}\u{28}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{66}\u{3b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}")
291+assert(string.find(msg,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
292292end
293−assert(T.checkpanic("\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\34\114\101\116\117\114\110\32\123\95\95\99\108\111\115\101\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\89\32\61\32\39\104\111\39\59\32\101\110\100\125\34\10\32\32\32\32\110\101\119\116\97\98\108\101\10\32\32\32\32\108\111\97\100\115\116\114\105\110\103\32\45\50\10\32\32\32\32\99\97\108\108\32\48\32\49\10\32\32\32\32\115\101\116\109\101\116\97\116\97\98\108\101\32\45\50\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\10\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\34\104\105\34\10\32\32\32\32\101\114\114\111\114\10\32\32","\32\32\32\32\103\101\116\103\108\111\98\97\108\32\89\10\32\32\32\32\99\111\110\99\97\116\32\50\32\32\32\32\32\32\32\32\32\35\32\99\111\110\99\97\116\32\111\114\105\103\105\110\97\108\32\101\114\114\111\114\32\119\105\116\104\32\103\108\111\98\97\108\32\89\10\32\32") == "\104\105\104\111")
293+assert(T.checkpanic("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{59}\u{20}\u{3d}\u{20}\u{27}\u{68}\u{6f}\u{27}\u{3b}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{68}\u{69}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{a}\u{20}\u{20}","\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{6f}\u{72}\u{69}\u{67}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{a}\u{20}\u{20}") == "\u{68}\u{69}\u{68}\u{6f}")
294294end
295295if not _soft then
296−print("\116\101\115\116\105\110\103\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119")
297−collectgarbage("\115\116\111\112")
298−checkerr("\88\88\88\88",T.testC,"\99\104\101\99\107\115\116\97\99\107\32\49\48\48\48\48\50\51\32\88\88\88\88")
299−checkerr("\94\115\116\97\99\107\32\111\118\101\114\102\108\111\119\36",T.testC,"\99\104\101\99\107\115\116\97\99\107\32\49\48\48\48\48\50\51\32\39\39")
300−local s = string.rep("\112\117\115\104\110\105\108\59\99\104\101\99\107\115\116\97\99\107\32\49\32\88\88\59",1000000)
301−checkerr("\111\118\101\114\102\108\111\119",T.testC,s)
302−collectgarbage("\114\101\115\116\97\114\116")
303−print("\43")
296+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")
297+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
298+checkerr("\u{58}\u{58}\u{58}\u{58}",T.testC,"\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{31}\u{30}\u{30}\u{30}\u{30}\u{32}\u{33}\u{20}\u{58}\u{58}\u{58}\u{58}")
299+checkerr("\u{5e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{24}",T.testC,"\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{31}\u{30}\u{30}\u{30}\u{30}\u{32}\u{33}\u{20}\u{27}\u{27}")
300+local s = string.rep("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{69}\u{6c}\u{3b}\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{31}\u{20}\u{58}\u{58}\u{3b}",1000000)
301+checkerr("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",T.testC,s)
302+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
303+print("\u{2b}")
304304end
305305local lim = _soft and 500 or 12000
306−local prog = {"\99\104\101\99\107\115\116\97\99\107\32" .. (lim * 2 + 100) .. "\109\115\103","\110\101\119\116\97\98\108\101"}
306+local prog = {"\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}" .. (lim * 2 + 100) .. "\u{6d}\u{73}\u{67}","\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}"}
307307for i = 1, lim
308308do
309−prog[# prog + 1]="\112\117\115\104\110\117\109\32" .. i
310−prog[# prog + 1]="\112\117\115\104\110\117\109\32" .. i * 10
309+prog[# prog + 1]="\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. i
310+prog[# prog + 1]="\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. i * 10
311311end
312−prog[# prog + 1]="\114\97\119\103\101\116\105\32\82\32\50"
313−prog[# prog + 1]="\105\110\115\101\114\116\32" .. - (2 * lim + 2)
312+prog[# prog + 1]="\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{32}"
313+prog[# prog + 1]="\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}" .. - (2 * lim + 2)
314314for i = 1, lim
315315do
316−prog[# prog + 1]="\115\101\116\116\97\98\108\101\32" .. - (2 * (lim - i + 1) + 1)
316+prog[# prog + 1]="\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}" .. - (2 * (lim - i + 1) + 1)
317317end
318−prog[# prog + 1]="\114\101\116\117\114\110\32\50"
319−prog=table.concat(prog,"\59")
318+prog[# prog + 1]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}"
319+prog=table.concat(prog,"\u{3b}")
320320local g,t = T.testC(prog)
321321assert(g == _G)
322322for i = 1, lim
@@ -327,12 +327,12 @@ t[i]=undef
327327end
328328assert(next(t) == nil)
329329prog,g,t=nil
330−a=T.testC("\32\32\108\111\97\100\115\116\114\105\110\103\32\50\59\32\112\99\97\108\108\32\48\32\49\32\48\59\10\32\32\112\117\115\104\118\97\108\117\101\32\51\59\32\105\110\115\101\114\116\32\45\50\59\32\112\99\97\108\108\32\49\32\49\32\48\59\10\32\32\112\99\97\108\108\32\48\32\48\32\48\59\10\32\32\114\101\116\117\114\110\32\49\10","\88\88\61\49\53\48",function (a)
330+a=T.testC("\u{20}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{3b}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{31}\u{20}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}\u{20}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}","\u{58}\u{58}\u{3d}\u{31}\u{35}\u{30}",function (a)
331331assert(a == nil)
332332;
333333return 3
334334end)
335−assert(type(a) == "\115\116\114\105\110\103" and XX == 150)
335+assert(type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and XX == 150)
336336_G.XX=nil
337337local function check3
338338(p, ...)
@@ -340,9 +340,9 @@ local arg = {...}
340340assert(# arg == 3)
341341assert(string.find(arg[3],p))
342342end
343−check3("\58\49\58",T.testC("\108\111\97\100\115\116\114\105\110\103\32\50\59\32\114\101\116\117\114\110\32\42","\120\61"))
344−check3("\37\46",T.testC("\108\111\97\100\102\105\108\101\32\50\59\32\114\101\116\117\114\110\32\42","\46"))
345−check3("\120\120\120\120",T.testC("\108\111\97\100\102\105\108\101\32\50\59\32\114\101\116\117\114\110\32\42","\120\120\120\120"))
343+check3("\u{3a}\u{31}\u{3a}",T.testC("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}","\u{78}\u{3d}"))
344+check3("\u{25}\u{2e}",T.testC("\u{6c}\u{6f}\u{61}\u{64}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}","\u{2e}"))
345+check3("\u{78}\u{78}\u{78}\u{78}",T.testC("\u{6c}\u{6f}\u{61}\u{64}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}","\u{78}\u{78}\u{78}\u{78}"))
346346local function checkerrnopro
347347(code,msg)
348348local th = coroutine.create(function ()
@@ -352,77 +352,77 @@ local stt,err = pcall(T.testC,th,code)
352352assert(not stt and string.find(err,msg))
353353end
354354if not _soft then
355−collectgarbage("\115\116\111\112")
356−checkerrnopro("\112\117\115\104\110\117\109\32\51\59\32\99\97\108\108\32\48\32\48","\97\116\116\101\109\112\116\32\116\111\32\99\97\108\108")
357−print("\116\101\115\116\105\110\103\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119\32\105\110\32\117\110\112\114\111\116\101\99\116\101\100\32\116\104\114\101\97\100")
355+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
356+checkerrnopro("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}","\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{61}\u{6c}\u{6c}")
357+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{69}\u{6e}\u{20}\u{75}\u{6e}\u{70}\u{72}\u{6f}\u{74}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")
358358function F()
359359F()
360360end
361−checkerrnopro("\103\101\116\103\108\111\98\97\108\32\39\70\39\59\32\99\97\108\108\32\48\32\48\59","\115\116\97\99\107\32\111\118\101\114\102\108\111\119")
361+checkerrnopro("\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{46}\u{27}\u{3b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}\u{3b}","\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")
362362F=nil
363−collectgarbage("\114\101\115\116\97\114\116")
363+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
364364end
365−print("\43")
365+print("\u{2b}")
366366do
367367local a = {}
368−local a1 = T.testC("\114\97\119\115\101\116\112\32\50\32\49\59\32\114\101\116\117\114\110\32\49",a,20)
368+local a1 = T.testC("\u{72}\u{61}\u{77}\u{73}\u{65}\u{74}\u{70}\u{20}\u{32}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a,20)
369369assert(a == a1)
370370assert(a[T.pushuserdata(1)] == 20)
371−local a1,res = T.testC("\114\97\119\103\101\116\112\32\45\49\32\49\59\32\114\101\116\117\114\110\32\50",a)
371+local a1,res = T.testC("\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{70}\u{20}\u{2d}\u{31}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a)
372372assert(a == a1 and res == 20)
373373end
374374do
375375local a = {}
376376a[a]=10
377−local prog = "\103\101\116\116\97\98\108\101\32\45\49\59\32\114\101\116\117\114\110\32\42"
377+local prog = "\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
378378local res = {T.testC(prog,a)}
379379assert(# res == 2 and res[1] == prog and res[2] == 10)
380−local prog = "\115\101\116\116\97\98\108\101\32\45\50\59\32\114\101\116\117\114\110\32\42"
380+local prog = "\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
381381local res = {T.testC(prog,a,20)}
382382assert(a[a] == 20)
383383assert(# res == 1 and res[1] == prog)
384384a[a]=10
385−local prog = "\114\97\119\103\101\116\32\45\49\59\32\114\101\116\117\114\110\32\42"
385+local prog = "\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
386386local res = {T.testC(prog,a)}
387387assert(# res == 2 and res[1] == prog and res[2] == 10)
388−local prog = "\114\97\119\115\101\116\32\45\50\59\32\114\101\116\117\114\110\32\42"
388+local prog = "\u{72}\u{61}\u{77}\u{73}\u{65}\u{74}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
389389local res = {T.testC(prog,a,20)}
390390assert(a[a] == 20)
391391assert(# res == 1 and res[1] == prog)
392−local prog = "\114\97\119\115\101\116\32\45\49\59\32\114\101\116\117\114\110\32\42"
392+local prog = "\u{72}\u{61}\u{77}\u{73}\u{65}\u{74}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
393393local res = {T.testC(prog,30,a)}
394394assert(a[30] == a)
395395assert(# res == 1 and res[1] == prog)
396−local prog = "\115\101\116\116\97\98\108\101\32\45\49\59\32\114\101\116\117\114\110\32\42"
396+local prog = "\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
397397local res = {T.testC(prog,40,a)}
398398assert(a[40] == a)
399399assert(# res == 1 and res[1] == prog)
400−local prog = "\114\97\119\115\101\116\105\32\45\49\32\49\48\48\59\32\114\101\116\117\114\110\32\42"
400+local prog = "\u{72}\u{61}\u{77}\u{73}\u{65}\u{74}\u{69}\u{20}\u{2d}\u{31}\u{20}\u{31}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
401401local res = {T.testC(prog,a)}
402402assert(a[100] == a)
403403assert(# res == 1 and res[1] == prog)
404−local prog = "\115\101\116\105\32\45\49\32\50\48\48\59\32\114\101\116\117\114\110\32\42"
404+local prog = "\u{73}\u{65}\u{74}\u{69}\u{20}\u{2d}\u{31}\u{20}\u{32}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
405405local res = {T.testC(prog,a)}
406406assert(a[200] == a)
407407assert(# res == 1 and res[1] == prog)
408408end
409−a={["\120"] = 0,["\121"] = 12}
410−x,y=T.testC("\103\101\116\116\97\98\108\101\32\50\59\32\112\117\115\104\118\97\108\117\101\32\52\59\32\103\101\116\116\97\98\108\101\32\50\59\32\114\101\116\117\114\110\32\50",a,3,"\121",4,"\120")
409+a={["\u{78}"] = 0,["\u{79}"] = 12}
410+x,y=T.testC("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{34}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a,3,"\u{79}",4,"\u{78}")
411411assert(x == 0 and y == 12)
412−T.testC("\115\101\116\116\97\98\108\101\32\45\53",a,3,4,"\120",15)
412+T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{35}",a,3,4,"\u{78}",15)
413413assert(a.x == 15)
414414a[a]=print
415−x=T.testC("\103\101\116\116\97\98\108\101\32\50\59\32\114\101\116\117\114\110\32\49",a)
415+x=T.testC("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a)
416416assert(x == print)
417−T.testC("\115\101\116\116\97\98\108\101\32\50",a,"\120")
418−assert(a[a] == "\120")
419−b=setmetatable({["\112"] = a},{})
417+T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",a,"\u{78}")
418+assert(a[a] == "\u{78}")
419+b=setmetatable({["\u{70}"] = a},{})
420420getmetatable(b).__index=function (t,i)
421421return t.p[i]
422422end
423−local k,x = T.testC("\103\101\116\116\97\98\108\101\32\51\44\32\114\101\116\117\114\110\32\50",4,b,20,35,"\120")
423+local k,x = T.testC("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{33}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",4,b,20,35,"\u{78}")
424424assert(x == 15 and k == 35)
425−k=T.testC("\103\101\116\102\105\101\108\100\32\50\32\121\44\32\114\101\116\117\114\110\32\49",b)
425+k=T.testC("\u{67}\u{65}\u{74}\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{32}\u{20}\u{79}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b)
426426assert(k == 12)
427427getmetatable(b).__index=function (t,i)
428428return a[i]
@@ -430,65 +430,65 @@ end
430430getmetatable(b).__newindex=function (t,i,v)
431431a[i]=v
432432end
433−y=T.testC("\105\110\115\101\114\116\32\50\59\32\103\101\116\116\97\98\108\101\32\45\53\59\32\114\101\116\117\114\110\32\49",2,3,4,"\121",b)
433+y=T.testC("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{32}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",2,3,4,"\u{79}",b)
434434assert(y == 12)
435−k=T.testC("\115\101\116\116\97\98\108\101\32\45\53\44\32\114\101\116\117\114\110\32\49",b,3,4,"\120",16)
435+k=T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b,3,4,"\u{78}",16)
436436assert(a.x == 16 and k == 4)
437−a[b]="\120\117\120\117"
438−y=T.testC("\103\101\116\116\97\98\108\101\32\50\44\32\114\101\116\117\114\110\32\49",b)
439−assert(y == "\120\117\120\117")
440−T.testC("\115\101\116\116\97\98\108\101\32\50",b,19)
437+a[b]="\u{78}\u{75}\u{78}\u{75}"
438+y=T.testC("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b)
439+assert(y == "\u{78}\u{75}\u{78}\u{75}")
440+T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",b,19)
441441assert(a[b] == 19)
442442do
443−local t = {["\95\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"] = 32}
444−local a = T.testC("\32\32\32\32\103\101\116\102\105\101\108\100\32\50\32\95\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\32\32\32\32\114\101\116\117\114\110\32\49\10\32\32",t)
443+local t = {["\u{5f}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"] = 32}
444+local a = T.testC("\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{32}\u{20}\u{5f}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}\u{20}\u{20}",t)
445445assert(a == 32)
446−local a = T.testC("\32\32\32\32\112\117\115\104\110\117\109\32\51\51\10\32\32\32\32\115\101\116\103\108\111\98\97\108\32\95\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\32\32")
446+local a = T.testC("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{33}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{5f}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{20}\u{20}")
447447assert(_012345678901234567890123456789012345678901234567890123456789 == 33)
448448_012345678901234567890123456789012345678901234567890123456789=nil
449449end
450450a={}
451−t=pack(T.testC("\110\101\120\116\59\32\114\101\116\117\114\110\32\42",a,nil))
452−tcheck(t,{["\110"] = 1,a})
453−a={["\97"] = 3}
454−t=pack(T.testC("\110\101\120\116\59\32\114\101\116\117\114\110\32\42",a,nil))
455−tcheck(t,{["\110"] = 3,a,"\97",3})
456−t=pack(T.testC("\110\101\120\116\59\32\112\111\112\32\49\59\32\110\101\120\116\59\32\114\101\116\117\114\110\32\42",a,nil))
457−tcheck(t,{["\110"] = 1,a})
451+t=pack(T.testC("\u{6e}\u{65}\u{78}\u{74}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",a,nil))
452+tcheck(t,{["\u{6e}"] = 1,a})
453+a={["\u{61}"] = 3}
454+t=pack(T.testC("\u{6e}\u{65}\u{78}\u{74}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",a,nil))
455+tcheck(t,{["\u{6e}"] = 3,a,"\u{61}",3})
456+t=pack(T.testC("\u{6e}\u{65}\u{78}\u{74}\u{3b}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{3b}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",a,nil))
457+tcheck(t,{["\u{6e}"] = 1,a})
458458do
459−local A = T.testC("\32\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\110\117\109\32\50\48\59\32\112\117\115\104\99\99\108\111\115\117\114\101\32\50\59\32\114\101\116\117\114\110\32\49")
460−t,b,c=A("\112\117\115\104\118\97\108\117\101\32\85\48\59\32\112\117\115\104\118\97\108\117\101\32\85\49\59\32\112\117\115\104\118\97\108\117\101\32\85\50\59\32\114\101\116\117\114\110\32\51")
461−assert(b == 10 and c == 20 and type(t) == "\116\97\98\108\101")
462−a,b=A("\116\111\115\116\114\105\110\103\32\85\51\59\32\116\111\110\117\109\98\101\114\32\85\52\59\32\114\101\116\117\114\110\32\50")
459+local A = T.testC("\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{63}\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
460+t,b,c=A("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
461+assert(b == 10 and c == 20 and type(t) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
462+a,b=A("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{55}\u{33}\u{3b}\u{20}\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{55}\u{34}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
463463assert(a == nil and b == 0)
464−A("\112\117\115\104\110\117\109\32\49\48\48\59\32\112\117\115\104\110\117\109\32\50\48\48\59\32\114\101\112\108\97\99\101\32\85\50\59\32\114\101\112\108\97\99\101\32\85\49")
465−b,c=A("\112\117\115\104\118\97\108\117\101\32\85\49\59\32\112\117\115\104\118\97\108\117\101\32\85\50\59\32\114\101\116\117\114\110\32\50")
464+A("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{55}\u{31}")
465+b,c=A("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
466466assert(b == 100 and c == 200)
467−A("\114\101\112\108\97\99\101\32\85\50\59\32\114\101\112\108\97\99\101\32\85\49",{["\120"] = 1},{["\120"] = 2})
468−b,c=A("\112\117\115\104\118\97\108\117\101\32\85\49\59\32\112\117\115\104\118\97\108\117\101\32\85\50\59\32\114\101\116\117\114\110\32\50")
467+A("\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{55}\u{31}",{["\u{78}"] = 1},{["\u{78}"] = 2})
468+b,c=A("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
469469assert(b.x == 1 and c.x == 2)
470470T.checkmemory()
471471end
472−assert(T.testC("\105\115\110\117\108\108\32\85\49\59\32\114\101\116\117\114\110\32\49") == true)
473−assert(T.testC("\105\115\110\117\108\108\32\85\49\48\48\59\32\114\101\116\117\114\110\32\49") == true)
474−assert(T.testC("\112\117\115\104\118\97\108\117\101\32\85\49\59\32\114\101\116\117\114\110\32\49") == nil)
475−local f = T.testC("\32\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\110\117\109\32\50\48\59\32\112\117\115\104\99\99\108\111\115\117\114\101\32\50\59\32\114\101\116\117\114\110\32\49")
472+assert(T.testC("\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == true)
473+assert(T.testC("\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{55}\u{31}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == true)
474+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == nil)
475+local f = T.testC("\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{63}\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
476476assert(T.upvalue(f,1) == 10 and T.upvalue(f,2) == 20 and T.upvalue(f,3) == nil)
477−T.upvalue(f,2,"\120\117\120\117")
478−assert(T.upvalue(f,2) == "\120\117\120\117")
477+T.upvalue(f,2,"\u{78}\u{75}\u{78}\u{75}")
478+assert(T.upvalue(f,2) == "\u{78}\u{75}\u{78}\u{75}")
479479do
480−local A = "\99\104\101\99\107\115\116\97\99\107\32\51\48\48\32\109\115\103\59" .. string.rep("\112\117\115\104\110\117\109\32\49\48\59",255) .. "\112\117\115\104\99\99\108\111\115\117\114\101\32\50\53\53\59\32\114\101\116\117\114\110\32\49"
480+local A = "\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{33}\u{30}\u{30}\u{20}\u{6d}\u{73}\u{67}\u{3b}" .. string.rep("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}",255) .. "\u{70}\u{75}\u{73}\u{68}\u{63}\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{32}\u{35}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"
481481A=T.testC(A)
482482for i = 1, 255
483483do
484−assert(A(("\112\117\115\104\118\97\108\117\101\32\85\37\100\59\32\114\101\116\117\114\110\32\49"):format(i)) == 10)
484+assert(A(("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{25}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"):format(i)) == 10)
485485end
486−assert(A("\105\115\110\117\108\108\32\85\50\53\54\59\32\114\101\116\117\114\110\32\49"))
487−assert(not A("\105\115\110\105\108\32\85\50\53\54\59\32\114\101\116\117\114\110\32\49"))
486+assert(A("\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{55}\u{32}\u{35}\u{36}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
487+assert(not A("\u{69}\u{73}\u{6e}\u{69}\u{6c}\u{20}\u{55}\u{32}\u{35}\u{36}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
488488end
489−checkerr("\103\111\116\32\110\117\109\98\101\114",debug.setuservalue,3,{})
490−checkerr("\103\111\116\32\110\105\108",debug.setuservalue,nil,{})
491−checkerr("\103\111\116\32\108\105\103\104\116\32\117\115\101\114\100\97\116\97",debug.setuservalue,T.pushuserdata(1),{})
489+checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",debug.setuservalue,3,{})
490+checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{69}\u{6c}",debug.setuservalue,nil,{})
491+checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6c}\u{69}\u{67}\u{68}\u{74}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}",debug.setuservalue,T.pushuserdata(1),{})
492492local b = T.newuserdata(0,10)
493493for i = 1, 10
494494do
@@ -501,7 +501,7 @@ assert(v == nil and not p)
501501local v,p = debug.getuservalue(b,11)
502502assert(v == nil and not p)
503503end
504−local t = {true,false,4.56,print,{},b,"\88\89\90"}
504+local t = {true,false,4.56,print,{},b,"\u{58}\u{59}\u{5a}"}
505505for k,v in ipairs(t)
506506do
507507debug.setuservalue(b,v,k)
@@ -521,11 +521,11 @@ debug.setuservalue(b,134)
521521collectgarbage()
522522assert(debug.getuservalue(b) == 134)
523523do
524−local oldmode = collectgarbage("\105\110\99\114\101\109\101\110\116\97\108")
525−T.gcstate("\97\116\111\109\105\99")
526−assert(T.gccolor(b) == "\98\108\97\99\107")
527−debug.setuservalue(b,{["\120"] = 100})
528−T.gcstate("\112\97\117\115\101")
524+local oldmode = collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
525+T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
526+assert(T.gccolor(b) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}")
527+debug.setuservalue(b,{["\u{78}"] = 100})
528+T.gcstate("\u{70}\u{61}\u{75}\u{73}\u{65}")
529529assert(debug.getuservalue(b).x == 100)
530530collectgarbage(oldmode)
531531end
@@ -561,9 +561,9 @@ T.unref(Arr[i])
561561end
562562local function printlocks
563563()
564−local f = T.makeCfunc("\103\101\116\116\97\98\108\101\32\82\59\32\114\101\116\117\114\110\32\49")
565−local n = f("\110")
566−print("\110",n)
564+local f = T.makeCfunc("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{52}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
565+local n = f("\u{6e}")
566+print("\u{6e}",n)
567567for i = 0, n
568568do
569569print(i,f(i))
@@ -577,13 +577,13 @@ for i = 1, Lim, 2
577577do
578578T.unref(Arr[i])
579579end
580−assert(type(T.getref(Arr[2])) == "\116\97\98\108\101")
580+assert(type(T.getref(Arr[2])) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
581581assert(T.getref(- 1) == nil)
582582a=T.ref({})
583583collectgarbage()
584−assert(type(T.getref(a)) == "\116\97\98\108\101")
584+assert(type(T.getref(a)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
585585local tt = {}
586−local cl = {["\110"] = 0}
586+local cl = {["\u{6e}"] = 0}
587587A=nil
588588;
589589B=nil
@@ -594,11 +594,11 @@ table.insert(cl,udval)
594594local d = T.newuserdata(100)
595595d=nil
596596assert(debug.getmetatable(x).__gc == F)
597−assert(load("\116\97\98\108\101\46\105\110\115\101\114\116\40\123\125\44\32\123\125\41"))()
597+assert(load("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2e}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{7d}\u{29}"))()
598598assert(not collectgarbage())
599599local dummy = {}
600600if A ~= nil then
601−assert(type(A) == "\117\115\101\114\100\97\116\97")
601+assert(type(A) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
602602assert(T.udataval(A) == B)
603603debug.getmetatable(A)
604604end
@@ -612,42 +612,42 @@ collectgarbage()
612612;
613613collectgarbage()
614614;
615−local x = collectgarbage("\99\111\117\110\116")
615+local x = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
616616;
617617local a = T.newuserdata(5001)
618−assert(T.testC("\111\98\106\115\105\122\101\32\50\59\32\114\101\116\117\114\110\32\49",a) == 5001)
619−assert(collectgarbage("\99\111\117\110\116") >= x + 4)
618+assert(T.testC("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a) == 5001)
619+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 4)
620620a=nil
621621collectgarbage()
622622;
623−assert(collectgarbage("\99\111\117\110\116") <= x + 1)
624−x=collectgarbage("\99\111\117\110\116")
625−collectgarbage("\115\116\111\112")
623+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 1)
624+x=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
625+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
626626for i = 1, 1000
627627do
628628T.newuserdata(0)
629629end
630−assert(collectgarbage("\99\111\117\110\116") > x + 10)
630+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > x + 10)
631631collectgarbage()
632−assert(collectgarbage("\99\111\117\110\116") <= x + 1)
632+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 1)
633633collectgarbage()
634−x=collectgarbage("\99\111\117\110\116")
635−collectgarbage("\115\116\111\112")
636−a={["\95\95\103\99"] = function ()
634+x=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
635+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
636+a={["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
637637
638638end}
639639for i = 1, 1000
640640do
641641debug.setmetatable(T.newuserdata(0),a)
642642end
643−assert(collectgarbage("\99\111\117\110\116") >= x + 10)
643+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 10)
644644collectgarbage()
645−assert(collectgarbage("\99\111\117\110\116") >= x + 10)
645+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 10)
646646collectgarbage()
647−assert(collectgarbage("\99\111\117\110\116") <= x + 1)
648−collectgarbage("\114\101\115\116\97\114\116")
647+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 1)
648+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
649649end
650−collectgarbage("\115\116\111\112")
650+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
651651a=T.newuserdata(0)
652652;
653653debug.setmetatable(a,tt)
@@ -665,8 +665,8 @@ debug.setmetatable(c,tt)
665665local nc = T.udataval(c)
666666x=T.newuserdata(4)
667667y=T.newuserdata(0)
668−checkerr("\70\73\76\69\37\42\32\101\120\112\101\99\116\101\100\44\32\103\111\116\32\117\115\101\114\100\97\116\97",io.input,a)
669−checkerr("\70\73\76\69\37\42\32\101\120\112\101\99\116\101\100\44\32\103\111\116\32\117\115\101\114\100\97\116\97",io.input,x)
668+checkerr("\u{46}\u{49}\u{4c}\u{45}\u{25}\u{2a}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}",io.input,a)
669+checkerr("\u{46}\u{49}\u{4c}\u{45}\u{25}\u{2a}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}",io.input,x)
670670assert(debug.getmetatable(x) == nil and debug.getmetatable(y) == nil)
671671local d = T.ref(a)
672672;
@@ -688,7 +688,7 @@ T.unref(f)
688688collectgarbage()
689689assert(# cl == 1 and cl[1] == nc)
690690x=T.getref(d)
691−assert(type(x) == "\117\115\101\114\100\97\116\97" and debug.getmetatable(x) == tt)
691+assert(type(x) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}" and debug.getmetatable(x) == tt)
692692x=nil
693693tt.b=b
694694tt=nil
@@ -697,17 +697,17 @@ b=nil
697697T.unref(d)
698698;
699699local n5 = T.newuserdata(0)
700−debug.setmetatable(n5,{["\95\95\103\99"] = F})
700+debug.setmetatable(n5,{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
701701n5=T.udataval(n5)
702702collectgarbage()
703703assert(# cl == 4)
704704assert(cl[2] == n5 and cl[3] == nb and cl[4] == na)
705−collectgarbage("\114\101\115\116\97\114\116")
705+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
706706a,na={},{}
707707for i = 30, 1, - 1
708708do
709709a[i]=T.newuserdata(0)
710−debug.setmetatable(a[i],{["\95\95\103\99"] = F})
710+debug.setmetatable(a[i],{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
711711na[i]=T.udataval(a[i])
712712end
713713cl={}
@@ -726,8 +726,8 @@ T.unref(Arr[i])
726726end
727727x=T.newuserdata(41)
728728;
729−debug.setmetatable(x,{["\95\95\103\99"] = F})
730−assert(T.testC("\111\98\106\115\105\122\101\32\50\59\32\114\101\116\117\114\110\32\49",x) == 41)
729+debug.setmetatable(x,{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
730+assert(T.testC("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",x) == 41)
731731cl={}
732732a={[x] = 1}
733733x=T.udataval(x)
@@ -739,15 +739,15 @@ a[n]=undef
739739end
740740collectgarbage()
741741assert(# cl == 1 and cl[1] == x)
742−assert(T.testC("\99\111\109\112\97\114\101\32\69\81\32\50\32\52\59\32\114\101\116\117\114\110\32\49",print,1,print,20))
743−assert(T.testC("\99\111\109\112\97\114\101\32\69\81\32\51\32\50\59\32\114\101\116\117\114\110\32\49","\97\108\111","\97\108\111"))
744−assert(T.testC("\99\111\109\112\97\114\101\32\69\81\32\50\32\51\59\32\114\101\116\117\114\110\32\49",nil,nil))
745−assert(not T.testC("\99\111\109\112\97\114\101\32\69\81\32\50\32\51\59\32\114\101\116\117\114\110\32\49",{},{}))
746−assert(not T.testC("\99\111\109\112\97\114\101\32\69\81\32\50\32\51\59\32\114\101\116\117\114\110\32\49"))
747−assert(not T.testC("\99\111\109\112\97\114\101\32\69\81\32\50\32\51\59\32\114\101\116\117\114\110\32\49",3))
742+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{34}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",print,1,print,20))
743+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{33}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{61}\u{6c}\u{6f}","\u{61}\u{6c}\u{6f}"))
744+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",nil,nil))
745+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",{},{}))
746+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
747+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",3))
748748do
749749local map = {}
750−local t = {["\95\95\101\113"] = function (a,b)
750+local t = {["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
751751return map[a] == map[b]
752752end}
753753local function f
@@ -759,14 +759,14 @@ return u
759759end
760760assert(f(10) == f(10))
761761assert(f(10) ~= f(11))
762−assert(T.testC("\99\111\109\112\97\114\101\32\69\81\32\50\32\51\59\32\114\101\116\117\114\110\32\49",f(10),f(10)))
763−assert(not T.testC("\99\111\109\112\97\114\101\32\69\81\32\50\32\51\59\32\114\101\116\117\114\110\32\49",f(10),f(20)))
762+assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",f(10),f(10)))
763+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",f(10),f(20)))
764764t.__eq=nil
765765assert(f(10) ~= f(10))
766766end
767−print("\43")
767+print("\u{2b}")
768768_G.TT={}
769−T.sethook("\32\32\35\32\115\101\116\32\97\32\108\105\110\101\32\104\111\111\107\32\97\102\116\101\114\32\51\32\99\111\117\110\116\32\104\111\111\107\115\10\32\32\115\101\116\104\111\111\107\32\52\32\48\32\39\10\32\32\32\32\103\101\116\103\108\111\98\97\108\32\84\84\59\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\45\51\59\32\97\112\112\101\110\100\32\45\50\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\45\50\59\32\97\112\112\101\110\100\32\45\50\10\32\32\39","\99",3)
769+T.sethook("\u{20}\u{20}\u{23}\u{20}\u{73}\u{65}\u{74}\u{20}\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{68}\u{6f}\u{6f}\u{6b}\u{20}\u{61}\u{66}\u{74}\u{65}\u{72}\u{20}\u{33}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{20}\u{68}\u{6f}\u{6f}\u{6b}\u{73}\u{a}\u{20}\u{20}\u{73}\u{65}\u{74}\u{68}\u{6f}\u{6f}\u{6b}\u{20}\u{34}\u{20}\u{30}\u{20}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{54}\u{54}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{61}\u{70}\u{70}\u{65}\u{6e}\u{64}\u{20}\u{2d}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{61}\u{70}\u{70}\u{65}\u{6e}\u{64}\u{20}\u{2d}\u{32}\u{a}\u{20}\u{20}\u{27}","\u{63}",3)
770770local a = 1
771771a=1
772772a=1
@@ -774,15 +774,15 @@ a=1
774774a=1
775775debug.sethook()
776776local t = _G.TT
777−assert(t[1] == "\108\105\110\101")
777+assert(t[1] == "\u{6c}\u{69}\u{6e}\u{65}")
778778local line = t[2]
779−assert(t[3] == "\108\105\110\101" and t[4] == line + 1)
780−assert(t[5] == "\108\105\110\101" and t[6] == line + 2)
779+assert(t[3] == "\u{6c}\u{69}\u{6e}\u{65}" and t[4] == line + 1)
780+assert(t[5] == "\u{6c}\u{69}\u{6e}\u{65}" and t[6] == line + 2)
781781assert(t[7] == nil)
782782_G.TT=nil
783783do
784−warn("\64\111\102\102")
785−collectgarbage("\115\116\111\112")
784+warn("\u{40}\u{6f}\u{66}\u{66}")
785+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
786786local a = {}
787787for i = 1, 20
788788do
@@ -790,22 +790,22 @@ a[i]=T.newuserdata(i)
790790end
791791for i = 1, 20, 2
792792do
793−debug.setmetatable(a[i],{["\95\95\103\99"] = function (x)
794−error("\64\101\120\112\101\99\116\101\100\32\101\114\114\111\114\32\105\110\32\103\99")
793+debug.setmetatable(a[i],{["\u{5f}\u{5f}\u{67}\u{63}"] = function (x)
794+error("\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{69}\u{6e}\u{20}\u{67}\u{63}")
795795end})
796796end
797797for i = 2, 20, 2
798798do
799−debug.setmetatable(a[i],{["\95\95\103\99"] = function (x)
800−load("\65\61\65\43\49")()
799+debug.setmetatable(a[i],{["\u{5f}\u{5f}\u{67}\u{63}"] = function (x)
800+load("\u{41}\u{3d}\u{41}\u{2b}\u{31}")()
801801end})
802802end
803803a=nil
804804_G.A=0
805805collectgarbage()
806806assert(A == 10)
807−collectgarbage("\114\101\115\116\97\114\116")
808−warn("\64\111\110")
807+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
808+warn("\u{40}\u{6f}\u{6e}")
809809end
810810_G.A=nil
811811do
@@ -832,40 +832,40 @@ for i = 0, lim
832832do
833833a[T.pushuserdata(i)]=i
834834end
835−assert(type(tostring(a[1])) == "\115\116\114\105\110\103")
835+assert(type(tostring(a[1])) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
836836end
837837T.closestate(T.newstate())
838838;
839839L1=T.newstate()
840840assert(L1)
841−assert(T.doremote(L1,"\88\61\39\97\39\59\32\114\101\116\117\114\110\32\39\97\39") == "\97")
842−assert(# pack(T.doremote(L1,"\102\117\110\99\116\105\111\110\32\102\32\40\41\32\114\101\116\117\114\110\32\39\97\108\111\39\44\32\51\32\101\110\100\59\32\102\40\41")) == 0)
843−a,b=T.doremote(L1,"\114\101\116\117\114\110\32\102\40\41")
844−assert(a == "\97\108\111" and b == "\51")
845−T.doremote(L1,"\95\69\82\82\79\82\77\69\83\83\65\71\69\32\61\32\110\105\108")
846−a,b,c=T.doremote(L1,"\114\101\116\117\114\110\32\115\105\110\40\49\41")
841+assert(T.doremote(L1,"\u{58}\u{3d}\u{27}\u{61}\u{27}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{61}\u{27}") == "\u{61}")
842+assert(# pack(T.doremote(L1,"\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{61}\u{6c}\u{6f}\u{27}\u{2c}\u{20}\u{33}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{20}\u{66}\u{28}\u{29}")) == 0)
843+a,b=T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{28}\u{29}")
844+assert(a == "\u{61}\u{6c}\u{6f}" and b == "\u{33}")
845+T.doremote(L1,"\u{5f}\u{45}\u{52}\u{52}\u{4f}\u{52}\u{4d}\u{45}\u{53}\u{53}\u{41}\u{47}\u{45}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}")
846+a,b,c=T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}")
847847assert(a == nil and c == 2)
848−a,b,c=T.doremote(L1,"\114\101\116\117\114\110\32\97\43")
849−assert(a == nil and c == 3 and type(b) == "\115\116\114\105\110\103")
848+a,b,c=T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2b}")
849+assert(a == nil and c == 3 and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
850850T.loadlib(L1)
851−a,b,c=T.doremote(L1,"\32\32\115\116\114\105\110\103\32\61\32\114\101\113\117\105\114\101\39\115\116\114\105\110\103\39\10\32\32\97\32\61\32\114\101\113\117\105\114\101\39\95\71\39\59\32\97\115\115\101\114\116\40\97\32\61\61\32\95\71\32\97\110\100\32\114\101\113\117\105\114\101\40\34\95\71\34\41\32\61\61\32\97\41\10\32\32\105\111\32\61\32\114\101\113\117\105\114\101\39\105\111\39\59\32\97\115\115\101\114\116\40\116\121\112\101\40\105\111\46\114\101\97\100\41\32\61\61\32\34\102\117\110\99\116\105\111\110\34\41\10\32\32\97\115\115\101\114\116\40\114\101\113\117\105\114\101\40\34\105\111\34\41\32\61\61\32\105\111\41\10\32\32\97\32\61\32\114\101\113\117\105\114\101\39\116\97\98\108\101\39\59\32\97\115\115\101\114\116\40\116\121\112\101\40\97\46\105\110\115\101\114\116\41\32\61\61\32\34\102\117\110\99\116\105\111\110\34\41\10\32\32\97\32\61\32\114\101\113\117\105\114\101\39\100\101\98\117\103\39\59\32\97\115\115\101\114\116\40\116\121\112\101\40\97\46\103\101\116\108\111\99\97\108\41\32\61\61\32\34\102\117\110\99\116\105\111\110\34\41\10\32\32\97\32\61\32\114\101\113\117\105\114\101\39\109\97\116\104\39\59\32\97\115\115\101\114\116\40\116\121\112\101\40\97\46\115\105\110\41\32\61\61\32\34\102\117\110\99\116\105\111\110\34\41\10\32\32\114\101\116\117\114\110\32\115\116\114\105\110\103\46\115\117\98\40\39\111\107\105\110\97\109\97\39\44\32\49\44\32\50\41\10")
852−assert(a == "\111\107")
851+a,b,c=T.doremote(L1,"\u{20}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{5f}\u{47}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{20}\u{3d}\u{3d}\u{20}\u{5f}\u{47}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{28}\u{22}\u{5f}\u{47}\u{22}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{61}\u{29}\u{a}\u{20}\u{20}\u{69}\u{6f}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{69}\u{6f}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{79}\u{70}\u{65}\u{28}\u{69}\u{6f}\u{2e}\u{72}\u{65}\u{61}\u{64}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}\u{a}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{28}\u{22}\u{69}\u{6f}\u{22}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{69}\u{6f}\u{29}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{79}\u{70}\u{65}\u{28}\u{61}\u{2e}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{79}\u{70}\u{65}\u{28}\u{61}\u{2e}\u{67}\u{65}\u{74}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{6d}\u{61}\u{74}\u{68}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{79}\u{70}\u{65}\u{28}\u{61}\u{2e}\u{73}\u{69}\u{6e}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{73}\u{75}\u{62}\u{28}\u{27}\u{6f}\u{6b}\u{69}\u{6e}\u{61}\u{6d}\u{61}\u{27}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{32}\u{29}\u{a}")
852+assert(a == "\u{6f}\u{6b}")
853853T.closestate(L1)
854854;
855855L1=T.newstate()
856856T.loadlib(L1)
857−T.doremote(L1,"\97\32\61\32\123\125")
858−T.testC(L1,"\103\101\116\103\108\111\98\97\108\32\34\97\34\59\32\112\117\115\104\115\116\114\105\110\103\32\34\120\34\59\32\112\117\115\104\105\110\116\32\49\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\115\101\116\116\97\98\108\101\32\45\51")
859−assert(T.doremote(L1,"\114\101\116\117\114\110\32\97\46\120") == "\49")
857+T.doremote(L1,"\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}")
858+T.testC(L1,"\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{22}\u{61}\u{22}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{78}\u{22}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{33}")
859+assert(T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2e}\u{78}") == "\u{31}")
860860T.closestate(L1)
861861L1=nil
862−print("\43")
863−print("\116\101\115\116\105\110\103\32\116\111\45\98\101\45\99\108\111\115\101\100\32\118\97\114\105\97\98\108\101\115")
862+print("\u{2b}")
863+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}")
864864do
865865local openresource = {}
866866local function newresource
867867()
868−local x = setmetatable({10},{["\95\95\99\108\111\115\101"] = function (y)
868+local x = setmetatable({10},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function (y)
869869assert(openresource[# openresource] == y)
870870openresource[# openresource]=nil
871871y[1]=y[1] + 1
@@ -873,33 +873,33 @@ end})
873873openresource[# openresource + 1]=x
874874return x
875875end
876−local a,b = T.testC("\32\32\32\32\99\97\108\108\32\48\32\49\32\32\32\35\32\99\114\101\97\116\101\32\114\101\115\111\117\114\99\101\10\32\32\32\32\112\117\115\104\110\105\108\10\32\32\32\32\116\111\99\108\111\115\101\32\45\50\32\32\35\32\109\97\114\107\32\99\97\108\108\32\114\101\115\117\108\116\32\116\111\32\98\101\32\99\108\111\115\101\100\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\32\32\35\32\109\97\114\107\32\110\105\108\32\116\111\32\98\101\32\99\108\111\115\101\100\32\40\119\105\108\108\32\98\101\32\105\103\110\111\114\101\100\41\10\32\32\32\32\114\101\116\117\114\110\32\50\10\32\32",newresource)
876+local a,b = T.testC("\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{69}\u{6c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{32}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{28}\u{77}\u{69}\u{6c}\u{6c}\u{20}\u{62}\u{65}\u{20}\u{69}\u{67}\u{6e}\u{6f}\u{72}\u{65}\u{64}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{a}\u{20}\u{20}",newresource)
877877assert(a[1] == 11 and b == nil)
878878assert(# openresource == 0)
879−local a = {T.testC("\32\32\32\32\99\97\108\108\32\48\32\49\32\32\32\35\32\99\114\101\97\116\101\32\114\101\115\111\117\114\99\101\10\32\32\32\32\116\111\99\108\111\115\101\32\50\32\35\32\109\97\114\107\32\105\116\32\116\111\32\98\101\32\99\108\111\115\101\100\10\32\32\32\32\114\101\116\117\114\110\32\50\10\32\32",newresource)}
880−assert(type(a[1]) == "\115\116\114\105\110\103" and a[2][1] == 11)
879+local a = {T.testC("\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{32}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{a}\u{20}\u{20}",newresource)}
880+assert(type(a[1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and a[2][1] == 11)
881881assert(# openresource == 0)
882−local a,b = pcall(T.makeCfunc("\32\32\32\32\99\97\108\108\32\48\32\49\32\32\32\35\32\99\114\101\97\116\101\32\114\101\115\111\117\114\99\101\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\32\35\32\109\97\114\107\32\105\116\32\116\111\32\98\101\32\99\108\111\115\101\100\10\32\32\32\32\101\114\114\111\114\32\32\32\32\32\32\32\35\32\114\101\115\111\117\114\99\101\32\105\115\32\116\104\101\32\101\114\114\111\114\32\111\98\106\101\99\116\10\32\32"),newresource)
882+local a,b = pcall(T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{20}\u{69}\u{73}\u{20}\u{74}\u{68}\u{65}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{a}\u{20}\u{20}"),newresource)
883883assert(a == false and b[1] == 11)
884884assert(# openresource == 0)
885−local a,b = pcall(T.makeCfunc("\32\32\32\32\110\101\119\116\97\98\108\101\32\32\32\35\32\99\114\101\97\116\101\32\110\111\110\45\99\108\111\115\97\98\108\101\32\111\98\106\101\99\116\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\32\35\32\109\97\114\107\32\105\116\32\116\111\32\98\101\32\99\108\111\115\101\100\32\40\115\104\111\117\108\100\32\114\97\105\115\101\32\97\110\32\101\114\114\111\114\41\10\32\32\32\32\97\98\111\114\116\32\32\35\32\119\105\108\108\32\110\111\116\32\98\101\32\101\120\101\99\117\116\101\100\10\32\32"))
886−assert(a == false and string.find(b,"\110\111\110\37\45\99\108\111\115\97\98\108\101\32\118\97\108\117\101"))
885+local a,b = pcall(T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{28}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{72}\u{61}\u{69}\u{73}\u{65}\u{20}\u{61}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{62}\u{6f}\u{72}\u{74}\u{20}\u{20}\u{23}\u{20}\u{77}\u{69}\u{6c}\u{6c}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{65}\u{78}\u{65}\u{63}\u{75}\u{74}\u{65}\u{64}\u{a}\u{20}\u{20}"))
886+assert(a == false and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}"))
887887local function check
888888(n)
889889assert(# openresource == n)
890890end
891891_ENV.xxx=true
892−local a = T.testC("\32\32\32\32\112\117\115\104\118\97\108\117\101\32\50\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\78\82\10\32\32\32\32\99\97\108\108\32\48\32\49\32\32\32\35\32\99\114\101\97\116\101\32\114\101\115\111\117\114\99\101\59\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\32\35\32\109\97\114\107\32\105\116\32\116\111\32\98\101\32\99\108\111\115\101\100\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\50\32\32\35\32\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\78\82\10\32\32\32\32\99\97\108\108\32\48\32\49\32\32\32\35\32\99\114\101\97\116\101\32\97\110\111\116\104\101\114\32\114\101\115\111\117\114\99\101\59\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\82\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\32\35\32\109\97\114\107\32\105\116\32\116\111\32\98\101\32\99\108\111\115\101\100\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\51\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\82\44\32\67\72\10\32\32\32\32\112\117\115\104\105\110\116\32\50\32\32\32\35\32\116\104\101\114\101\32\115\104\111\117\108\100\32\98\101\32\116\119\111\32\111\112\101\110\32\114\101\115\111\117\114\99\101\115\10\32\32\32\32\99\97\108\108\32\49\32\48\32\32\35\32\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\82\10\32\32\32\32\99\108\111\115\101\115\108\111\116\32\45\49\32\32\32\35\32\99\108\111\115\101\32\115\101\99\111\110\100\32\114\101\115\111\117\114\99\101\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\51\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\82\44\32\67\72\10\32\32\32\32\112\117\115\104\105\110\116\32\49\32\32\32\35\32\116\104\101\114\101\32\115\104\111\117\108\100\32\98\101\32\111\110\101\32\111\112\101\110\32\114\101\115\111\117\114\99\101\10\32\32\32\32\99\97\108\108\32\49\32\48\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\82\10\32\32\32\32\99\108\111\115\101\115\108\111\116\32\52\10\32\32\32\32\115\101\116\103\108\111\98\97\108\32\34\120\120\120\34\32\32\35\32\112\114\101\118\105\111\117\115\32\111\112\46\32\101\114\97\115\101\100\32\116\104\101\32\115\108\111\116\10\32\32\32\32\112\111\112\32\49\32\32\32\32\32\32\32\35\32\112\111\112\32\111\116\104\101\114\32\114\101\115\111\117\114\99\101\32\102\114\111\109\32\116\104\101\32\115\116\97\99\107\10\32\32\32\32\112\117\115\104\105\110\116\32\42\10\32\32\32\32\114\101\116\117\114\110\32\49\32\32\32\32\35\32\114\101\116\117\114\110\32\115\116\97\99\107\32\115\105\122\101\10\32\32",newresource,check)
892+local a = T.testC("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{4e}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{3b}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{23}\u{20}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{4e}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{3b}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{32}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{74}\u{77}\u{6f}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{73}\u{6c}\u{6f}\u{74}\u{20}\u{2d}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{6f}\u{6e}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{73}\u{6c}\u{6f}\u{74}\u{20}\u{34}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{22}\u{78}\u{78}\u{78}\u{22}\u{20}\u{20}\u{23}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{6f}\u{70}\u{2e}\u{20}\u{65}\u{72}\u{61}\u{73}\u{65}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{6c}\u{6f}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{2a}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{a}\u{20}\u{20}",newresource,check)
893893assert(a == 3 and _ENV.xxx == nil)
894−local a = T.testC("\32\32\32\32\112\117\115\104\118\97\108\117\101\32\50\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\78\82\10\32\32\32\32\99\97\108\108\32\48\32\49\32\32\32\35\32\99\114\101\97\116\101\32\114\101\115\111\117\114\99\101\59\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\32\35\32\109\97\114\107\32\105\116\32\116\111\32\98\101\32\99\108\111\115\101\100\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\50\32\32\35\32\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\78\82\10\32\32\32\32\99\97\108\108\32\48\32\49\32\32\32\35\32\99\114\101\97\116\101\32\97\110\111\116\104\101\114\32\114\101\115\111\117\114\99\101\59\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\82\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\32\35\32\109\97\114\107\32\105\116\32\116\111\32\98\101\32\99\108\111\115\101\100\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\51\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\82\44\32\67\72\10\32\32\32\32\112\117\115\104\105\110\116\32\50\32\32\32\35\32\116\104\101\114\101\32\115\104\111\117\108\100\32\98\101\32\116\119\111\32\111\112\101\110\32\114\101\115\111\117\114\99\101\115\10\32\32\32\32\99\97\108\108\32\49\32\48\32\32\35\32\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\82\10\32\32\32\32\112\111\112\32\49\32\32\32\35\32\112\111\112\32\115\101\99\111\110\100\32\114\101\115\111\117\114\99\101\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\51\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\44\32\67\72\10\32\32\32\32\112\117\115\104\105\110\116\32\49\32\32\32\35\32\116\104\101\114\101\32\115\104\111\117\108\100\32\98\101\32\111\110\101\32\111\112\101\110\32\114\101\115\111\117\114\99\101\10\32\32\32\32\99\97\108\108\32\49\32\48\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\82\10\32\32\32\32\112\111\112\32\49\32\32\32\32\32\32\32\35\32\112\111\112\32\111\116\104\101\114\32\114\101\115\111\117\114\99\101\32\102\114\111\109\32\116\104\101\32\115\116\97\99\107\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\51\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\44\32\67\72\10\32\32\32\32\112\117\115\104\105\110\116\32\48\32\32\32\35\32\116\104\101\114\101\32\115\104\111\117\108\100\32\98\101\32\110\111\32\111\112\101\110\32\114\101\115\111\117\114\99\101\115\10\32\32\32\32\99\97\108\108\32\49\32\48\32\32\35\32\115\116\97\99\107\58\32\83\44\32\78\82\44\32\67\72\10\32\32\32\32\112\117\115\104\105\110\116\32\42\10\32\32\32\32\114\101\116\117\114\110\32\49\32\32\32\32\35\32\114\101\116\117\114\110\32\115\116\97\99\107\32\115\105\122\101\10\32\32",newresource,check)
894+local a = T.testC("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{4e}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{3b}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{23}\u{20}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{4e}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{3b}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{32}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{74}\u{77}\u{6f}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{6f}\u{6e}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{30}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{6e}\u{6f}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{2a}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{a}\u{20}\u{20}",newresource,check)
895895assert(a == 3)
896−local a,b = pcall(T.makeCfunc("\32\32\32\32\112\117\115\104\105\110\116\32\51\50\10\32\32\32\32\116\111\99\108\111\115\101\32\45\49\10\32\32"))
897−assert(not a and string.find(b,"\40\67\32\116\101\109\112\111\114\97\114\121\41"))
896+local a,b = pcall(T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{a}\u{20}\u{20}"))
897+assert(not a and string.find(b,"\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}"))
898898end
899−print("\109\101\109\111\114\121\45\97\108\108\111\99\97\116\105\111\110\32\101\114\114\111\114\115")
900−checkerr("\98\108\111\99\107\32\116\111\111\32\98\105\103",T.newuserdata,math.maxinteger)
899+print("\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{2d}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}")
900+checkerr("\u{62}\u{6c}\u{6f}\u{63}\u{6b}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{62}\u{69}\u{67}",T.newuserdata,math.maxinteger)
901901collectgarbage()
902−local f = load("\108\111\99\97\108\32\97\61\123\125\59\32\102\111\114\32\105\61\49\44\49\48\48\48\48\48\32\100\111\32\97\91\105\93\61\105\32\101\110\100")
902+local f = load("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{3d}\u{31}\u{2c}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{61}\u{5b}\u{69}\u{5d}\u{3d}\u{69}\u{20}\u{65}\u{6e}\u{64}")
903903T.alloccount(10)
904904checkerr(MEMERRMSG,f)
905905T.alloccount()
@@ -914,17 +914,17 @@ collectgarbage()
914914;
915915collectgarbage()
916916T.totalmem(M)
917−a,b=T.testC("\112\99\97\108\108\32\48\32\49\32\48\59\32\112\117\115\104\115\116\97\116\117\115\59\32\114\101\116\117\114\110\32\50",f)
917+a,b=T.testC("\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",f)
918918T.totalmem(0)
919−if a and b == "\79\75" then
919+if a and b == "\u{4f}\u{4b}" then
920920break
921921end
922−if b ~= "\79\75" and b ~= MEMERRMSG then
922+if b ~= "\u{4f}\u{4b}" and b ~= MEMERRMSG then
923923error(a,0)
924924end
925925M=M + 7
926926end
927−print(string.format("\109\105\110\105\109\117\109\32\109\101\109\111\114\121\32\102\111\114\32\37\115\58\32\37\100\32\98\121\116\101\115",s,M - oldM))
927+print(string.format("\u{6d}\u{69}\u{6e}\u{69}\u{6d}\u{75}\u{6d}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{25}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{20}\u{62}\u{79}\u{74}\u{65}\u{73}",s,M - oldM))
928928return a
929929end
930930local function testalloc
@@ -937,17 +937,17 @@ collectgarbage()
937937;
938938collectgarbage()
939939T.alloccount(M)
940−a,b=T.testC("\112\99\97\108\108\32\48\32\49\32\48\59\32\112\117\115\104\115\116\97\116\117\115\59\32\114\101\116\117\114\110\32\50",f)
940+a,b=T.testC("\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",f)
941941T.alloccount()
942−if a and b == "\79\75" then
942+if a and b == "\u{4f}\u{4b}" then
943943break
944944end
945−if b ~= "\79\75" and b ~= MEMERRMSG then
945+if b ~= "\u{4f}\u{4b}" and b ~= MEMERRMSG then
946946error(a,0)
947947end
948948M=M + 1
949949end
950−print(string.format("\109\105\110\105\109\117\109\32\97\108\108\111\99\97\116\105\111\110\115\32\102\111\114\32\37\115\58\32\37\100\32\97\108\108\111\99\97\116\105\111\110\115",s,M))
950+print(string.format("\u{6d}\u{69}\u{6e}\u{69}\u{6d}\u{75}\u{6d}\u{20}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{25}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{20}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}",s,M))
951951return a
952952end
953953local function testamem
@@ -955,30 +955,30 @@ local function testamem
955955testalloc(s,f)
956956return testbytes(s,f)
957957end
958−b=testamem("\100\111\105\110\103\32\110\111\116\104\105\110\103",function ()
958+b=testamem("\u{64}\u{6f}\u{69}\u{6e}\u{67}\u{20}\u{6e}\u{6f}\u{74}\u{68}\u{69}\u{6e}\u{67}",function ()
959959return 10
960960end)
961961assert(b == 10)
962−testamem("\115\116\97\116\101\32\99\114\101\97\116\105\111\110",function ()
962+testamem("\u{73}\u{74}\u{61}\u{74}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
963963local st = T.newstate()
964964if st then
965965T.closestate(st)
966966end
967967return st
968968end)
969−testamem("\101\109\112\116\121\45\116\97\98\108\101\32\99\114\101\97\116\105\111\110",function ()
969+testamem("\u{65}\u{6d}\u{70}\u{74}\u{79}\u{2d}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
970970return {}
971971end)
972−testamem("\115\116\114\105\110\103\32\99\114\101\97\116\105\111\110",function ()
973−return "\88\88\88" .. "\89\89\89"
972+testamem("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
973+return "\u{58}\u{58}\u{58}" .. "\u{59}\u{59}\u{59}"
974974end)
975−testamem("\99\111\114\111\117\116\105\110\101\32\99\114\101\97\116\105\111\110",function ()
975+testamem("\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
976976return coroutine.create(print)
977977end)
978−testamem("\116\111\45\98\101\45\99\108\111\115\101\100\32\118\97\114\105\97\98\108\101\115",function ()
978+testamem("\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}",function ()
979979local flag
980980do
981−local x <close> = setmetatable({},{["\95\95\99\108\111\115\101"] = function ()
981+local x <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
982982flag=true
983983end})
984984flag=false
@@ -986,52 +986,52 @@ local x = {}
986986end
987987return flag
988988end)
989−local mt = T.testC("\114\97\119\103\101\116\105\32\82\32\49\59\32\114\101\116\117\114\110\32\49")
990−assert(type(mt) == "\116\104\114\101\97\100" and coroutine.running() == mt)
989+local mt = T.testC("\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
990+assert(type(mt) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}" and coroutine.running() == mt)
991991local function expand
992992(n,s)
993993if n == 0 then
994994return ""
995995end
996−local e = string.rep("\61",n)
997−return string.format("\84\46\100\111\111\110\110\101\119\115\116\97\99\107\40\91\37\115\91\32\37\115\59\10\32\99\111\108\108\101\99\116\103\97\114\98\97\103\101\40\41\59\32\37\115\93\37\115\93\41\10",e,s,expand(n - 1,s),e)
996+local e = string.rep("\u{3d}",n)
997+return string.format("\u{54}\u{2e}\u{64}\u{6f}\u{6f}\u{6e}\u{6e}\u{65}\u{77}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{28}\u{5b}\u{25}\u{73}\u{5b}\u{20}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{28}\u{29}\u{3b}\u{20}\u{25}\u{73}\u{5d}\u{25}\u{73}\u{5d}\u{29}\u{a}",e,s,expand(n - 1,s),e)
998998end
999999G=0
10001000;
10011001collectgarbage()
10021002;
1003−a=collectgarbage("\99\111\117\110\116")
1004−load(expand(20,"\71\61\71\43\49"))()
1003+a=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
1004+load(expand(20,"\u{47}\u{3d}\u{47}\u{2b}\u{31}"))()
10051005assert(G == 20)
10061006;
10071007collectgarbage()
10081008;
10091009G=nil
1010−testamem("\114\117\110\110\105\110\103\32\99\111\100\101\32\111\110\32\110\101\119\32\116\104\114\101\97\100",function ()
1011−return T.doonnewstack("\108\111\99\97\108\32\120\61\49") == 0
1010+testamem("\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{64}\u{65}\u{20}\u{6f}\u{6e}\u{20}\u{6e}\u{65}\u{77}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}",function ()
1011+return T.doonnewstack("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{3d}\u{31}") == 0
10121012end)
1013−testamem("\108\111\97\100\115\116\114\105\110\103",function ()
1014−return load("\120\61\49")
1013+testamem("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",function ()
1014+return load("\u{78}\u{3d}\u{31}")
10151015end)
1016−local testprog = "\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\102\111\111\32\40\41\32\114\101\116\117\114\110\32\101\110\100\10\108\111\99\97\108\32\116\32\61\32\123\34\120\34\125\10\65\65\32\61\32\34\97\97\97\34\10\102\111\114\32\105\32\61\32\49\44\32\35\116\32\100\111\32\65\65\32\61\32\65\65\32\46\46\32\116\91\105\93\32\101\110\100\10\114\101\116\117\114\110\32\116\114\117\101\10"
1016+local testprog = "\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{7b}\u{22}\u{78}\u{22}\u{7d}\u{a}\u{41}\u{41}\u{20}\u{3d}\u{20}\u{22}\u{61}\u{61}\u{61}\u{22}\u{a}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{23}\u{74}\u{20}\u{64}\u{6f}\u{20}\u{41}\u{41}\u{20}\u{3d}\u{20}\u{41}\u{41}\u{20}\u{2e}\u{2e}\u{20}\u{74}\u{5b}\u{69}\u{5d}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{74}\u{72}\u{75}\u{65}\u{a}"
10171017_G.AA=nil
10181018local t = os.tmpname()
1019−local f = assert(io.open(t,"\119"))
1019+local f = assert(io.open(t,"\u{77}"))
10201020f:write(testprog)
10211021f:close()
1022−testamem("\100\111\102\105\108\101",function ()
1022+testamem("\u{64}\u{6f}\u{66}\u{69}\u{6c}\u{65}",function ()
10231023local a = loadfile(t)
10241024return a and a()
10251025end)
10261026assert(os.remove(t))
1027−assert(_G.AA == "\97\97\97\120")
1028−testamem("\103\115\117\98",function ()
1029−local a,b = string.gsub("\97\108\111\32\97\108\111","\40\97\41",function (x)
1030−return x .. "\98"
1027+assert(_G.AA == "\u{61}\u{61}\u{61}\u{78}")
1028+testamem("\u{67}\u{73}\u{75}\u{62}",function ()
1029+local a,b = string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{61}\u{29}",function (x)
1030+return x .. "\u{62}"
10311031end)
1032−return (a == "\97\98\108\111\32\97\98\108\111")
1032+return (a == "\u{61}\u{62}\u{6c}\u{6f}\u{20}\u{61}\u{62}\u{6c}\u{6f}")
10331033end)
1034−testamem("\100\117\109\112\47\117\110\100\117\109\112",function ()
1034+testamem("\u{64}\u{75}\u{6d}\u{70}\u{2f}\u{75}\u{6e}\u{64}\u{75}\u{6d}\u{70}",function ()
10351035local a = load(testprog)
10361036local b = a and string.dump(a)
10371037a=b and load(b)
@@ -1039,31 +1039,31 @@ return a and a()
10391039end)
10401040_G.AA=nil
10411041local t = os.tmpname()
1042−testamem("\102\105\108\101\32\99\114\101\97\116\105\111\110",function ()
1043−local f = assert(io.open(t,"\119"))
1044−assert(not io.open("\110\111\109\101\110\97\111\101\120\105\115\116\101\110\116\101"))
1042+testamem("\u{66}\u{69}\u{6c}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
1043+local f = assert(io.open(t,"\u{77}"))
1044+assert(not io.open("\u{6e}\u{6f}\u{6d}\u{65}\u{6e}\u{61}\u{6f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{65}"))
10451045io.close(f)
10461046;
1047−return not loadfile("\110\111\109\101\110\97\111\101\120\105\115\116\101\110\116\101")
1047+return not loadfile("\u{6e}\u{6f}\u{6d}\u{65}\u{6e}\u{61}\u{6f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{65}")
10481048end)
10491049assert(os.remove(t))
1050−testamem("\116\97\98\108\101\32\99\114\101\97\116\105\111\110",function ()
1050+testamem("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
10511051local a,lim = {},10
10521052for i = 1, lim
10531053do
10541054a[i]=i
10551055;
1056−a[i .. "\97"]={}
1056+a[i .. "\u{61}"]={}
10571057end
1058−return (type(a[lim .. "\97"]) == "\116\97\98\108\101" and a[lim] == lim)
1058+return (type(a[lim .. "\u{61}"]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and a[lim] == lim)
10591059end)
1060−testamem("\99\111\110\115\116\114\117\99\116\111\114\115",function ()
1061−local a = {10,20,30,40,50,["\97"] = 1,["\98"] = 2,["\99"] = 3,["\100"] = 4,["\101"] = 5}
1062−return (type(a) == "\116\97\98\108\101" and a.e == 5)
1060+testamem("\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{6f}\u{72}\u{73}",function ()
1061+local a = {10,20,30,40,50,["\u{61}"] = 1,["\u{62}"] = 2,["\u{63}"] = 3,["\u{64}"] = 4,["\u{65}"] = 5}
1062+return (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and a.e == 5)
10631063end)
10641064local a = 1
10651065local close = nil
1066−testamem("\99\108\111\115\117\114\101\32\99\114\101\97\116\105\111\110",function ()
1066+testamem("\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
10671067function close(b)
10681068return function (x)
10691069return b + x
@@ -1071,9 +1071,9 @@ end
10711071end
10721072return (close(2)(4) == 6)
10731073end)
1074−testamem("\117\115\105\110\103\32\99\111\114\111\117\116\105\110\101\115",function ()
1074+testamem("\u{75}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}",function ()
10751075local a = coroutine.wrap(function ()
1076−coroutine.yield(string.rep("\97",10))
1076+coroutine.yield(string.rep("\u{61}",10))
10771077return {}
10781078end)
10791079assert(string.len(a()) == 10)
@@ -1085,13 +1085,13 @@ local a = {}
10851085;
10861086for i = 1, lim
10871087do
1088−a[i]="\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
1088+a[i]="\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
10891089end
1090−testamem("\97\117\120\105\108\105\97\114\121\32\98\117\102\102\101\114",function ()
1091−return (# table.concat(a,"\44") == 20 * lim + lim - 1)
1090+testamem("\u{61}\u{75}\u{78}\u{69}\u{6c}\u{69}\u{61}\u{72}\u{79}\u{20}\u{62}\u{75}\u{66}\u{66}\u{65}\u{72}",function ()
1091+return (# table.concat(a,"\u{2c}") == 20 * lim + lim - 1)
10921092end)
10931093end
1094−testamem("\103\114\111\119\105\110\103\32\115\116\97\99\107",function ()
1094+testamem("\u{67}\u{72}\u{6f}\u{77}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}",function ()
10951095local function foo
10961096(n)
10971097if n == 0 then
@@ -1103,11 +1103,11 @@ end
11031103return foo(100)
11041104end)
11051105do
1106−local res = T.testC("\114\97\119\99\104\101\99\107\115\116\97\99\107\32\53\48\48\48\48\48\59\32\114\101\116\117\114\110\32\49")
1106+local res = T.testC("\u{72}\u{61}\u{77}\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{35}\u{30}\u{30}\u{30}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
11071107assert(res == false)
11081108local L = T.newstate()
11091109T.alloccount(0)
1110−res=T.testC(L,"\114\97\119\99\104\101\99\107\115\116\97\99\107\32\53\48\48\48\59\32\114\101\116\117\114\110\32\49")
1110+res=T.testC(L,"\u{72}\u{61}\u{77}\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{35}\u{30}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
11111111T.alloccount()
11121112T.closestate(L)
11131113assert(res == false)
@@ -1121,41 +1121,41 @@ end
11211121do
11221122local L = T.newstate()
11231123T.loadlib(L)
1124−local res = (T.doremote(L,"\32\32\32\32\95\69\78\86\32\61\32\114\101\113\117\105\114\101\34\95\71\34\10\32\32\32\32\108\111\99\97\108\32\84\32\61\32\114\101\113\117\105\114\101\34\84\34\10\32\32\32\32\108\111\99\97\108\32\97\32\61\32\123\125\10\32\32\32\32\102\111\114\32\105\32\61\32\49\44\32\49\48\48\48\32\100\111\32\97\91\105\93\32\61\32\39\105\39\32\46\46\32\105\32\101\110\100\32\32\32\32\45\45\32\103\114\111\119\32\115\116\114\105\110\103\32\116\97\98\108\101\10\32\32\32\32\108\111\99\97\108\32\115\116\115\105\122\101\44\32\115\116\117\115\101\32\61\32\84\46\113\117\101\114\121\115\116\114\40\41\10\32\32\32\32\97\115\115\101\114\116\40\115\116\117\115\101\32\62\32\49\48\48\48\41\10\32\32\32\32\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\102\111\111\32\40\110\41\10\32\32\32\32\32\32\105\102\32\110\32\62\32\48\32\116\104\101\110\32\102\111\111\40\110\32\45\32\49\41\32\101\110\100\10\32\32\32\32\101\110\100\10\32\32\32\32\102\111\111\40\49\56\48\41\32\32\32\32\45\45\32\103\114\111\119\32\115\116\97\99\107\10\32\32\32\32\108\111\99\97\108\32\95\44\32\115\116\107\115\105\122\101\32\61\32\84\46\115\116\97\99\107\108\101\118\101\108\40\41\10\32\32\32\32\97\115\115\101\114\116\40\115\116\107\115\105\122\101\32\62\32\49\56\48\41\10\32\32\32\32\97\32\61\32\110\105\108\10\32\32\32\32\84\46\97\108\108\111\99\99\111\117\110\116\40\48\41\10\32\32\32\32\99\111\108\108\101\99\116\103\97\114\98\97\103\101\40\41\10\32\32\32\32\84\46\97\108\108\111\99\99\111\117\110\116\40\41\10\32\32\32\32\45\45\32\115\116\97\99\107\32\97\110\100\32\115\116\114\105\110\103\32\116\97\98\108\101\32\99\111\117\108\100\32\110\111\116\32\98\101\32\114\101\97\108\108\111\99\97\116\101\100\44\10\32\32\32\32\45\45\32\115\111\32\116\104\101\121\32\107\101\112\116\32\116\104\101\105\114\32\115\105\122\101\115\32\40\119\105\116\104\111\117\116\32\101\114\114\111\114\115\41\10\32\32\32\32\97\115\115\101\114\116\40\115\101\108\101\99\116\40\50\44\32\84\46\115\116\97\99\107\108\101\118\101\108\40\41\41\32\61\61\32\115\116\107\115\105\122\101\41\10\32\32\32\32\97\115\115\101\114\116\40\84\46\113\117\101\114\121\115\116\114\40\41\32\61\61\32\115\116\115\105\122\101\41\10\32\32\32\32\114\101\116\117\114\110\32\39\111\107\39\10\32\32"))
1125−assert(res == "\111\107")
1124+local res = (T.doremote(L,"\u{20}\u{20}\u{20}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{5f}\u{47}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{54}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{54}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{a}\u{20}\u{20}\u{20}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{31}\u{30}\u{30}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{61}\u{5b}\u{69}\u{5d}\u{20}\u{3d}\u{20}\u{27}\u{69}\u{27}\u{20}\u{2e}\u{2e}\u{20}\u{69}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{67}\u{72}\u{6f}\u{77}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{73}\u{69}\u{7a}\u{65}\u{2c}\u{20}\u{73}\u{74}\u{75}\u{73}\u{65}\u{20}\u{3d}\u{20}\u{54}\u{2e}\u{71}\u{75}\u{65}\u{72}\u{79}\u{73}\u{74}\u{72}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{75}\u{73}\u{65}\u{20}\u{3e}\u{20}\u{31}\u{30}\u{30}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{6e}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{20}\u{3e}\u{20}\u{30}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{6e}\u{20}\u{2d}\u{20}\u{31}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{31}\u{38}\u{30}\u{29}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{67}\u{72}\u{6f}\u{77}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{5f}\u{2c}\u{20}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{3d}\u{20}\u{54}\u{2e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{3e}\u{20}\u{31}\u{38}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{54}\u{2e}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{28}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{54}\u{2e}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{63}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{65}\u{64}\u{2c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{73}\u{6f}\u{20}\u{74}\u{68}\u{65}\u{79}\u{20}\u{6b}\u{65}\u{70}\u{74}\u{20}\u{74}\u{68}\u{65}\u{69}\u{72}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{73}\u{20}\u{28}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{32}\u{2c}\u{20}\u{54}\u{2e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{28}\u{29}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{54}\u{2e}\u{71}\u{75}\u{65}\u{72}\u{79}\u{73}\u{74}\u{72}\u{28}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{74}\u{73}\u{69}\u{7a}\u{65}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{6f}\u{6b}\u{27}\u{a}\u{20}\u{20}"))
1125+assert(res == "\u{6f}\u{6b}")
11261126T.closestate(L)
11271127end
1128−print("\43")
1128+print("\u{2b}")
11291129local function gsub
11301130(a,b,c)
1131−a,b=T.testC("\103\115\117\98\32\50\32\51\32\52\59\32\103\101\116\116\111\112\59\32\114\101\116\117\114\110\32\50",a,b,c)
1131+a,b=T.testC("\u{67}\u{73}\u{75}\u{62}\u{20}\u{32}\u{20}\u{33}\u{20}\u{34}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a,b,c)
11321132assert(b == 5)
11331133return a
11341134end
1135−assert(gsub("\97\108\111\46\97\108\111\46\117\104\117\104\46","\46","\47\47") == "\97\108\111\47\47\97\108\111\47\47\117\104\117\104\47\47")
1136−assert(gsub("\97\108\111\46\97\108\111\46\117\104\117\104\46","\97\108\111","\47\47") == "\47\47\46\47\47\46\117\104\117\104\46")
1137−assert(gsub("","\97\108\111","\47\47") == "")
1138−assert(gsub("\46\46\46","\46","\47\46") == "\47\46\47\46\47\46")
1139−assert(gsub("\46\46\46","\46\46\46","") == "")
1140−local mt_xuxu,res,top = T.testC("\110\101\119\109\101\116\97\116\97\98\108\101\32\120\117\120\117\59\32\103\101\116\116\111\112\59\32\114\101\116\117\114\110\32\51")
1141−assert(type(mt_xuxu) == "\116\97\98\108\101" and res and top == 3)
1142−local d,res,top = T.testC("\110\101\119\109\101\116\97\116\97\98\108\101\32\120\117\120\117\59\32\103\101\116\116\111\112\59\32\114\101\116\117\114\110\32\51")
1135+assert(gsub("\u{61}\u{6c}\u{6f}\u{2e}\u{61}\u{6c}\u{6f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}","\u{2e}","\u{2f}\u{2f}") == "\u{61}\u{6c}\u{6f}\u{2f}\u{2f}\u{61}\u{6c}\u{6f}\u{2f}\u{2f}\u{75}\u{68}\u{75}\u{68}\u{2f}\u{2f}")
1136+assert(gsub("\u{61}\u{6c}\u{6f}\u{2e}\u{61}\u{6c}\u{6f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}","\u{61}\u{6c}\u{6f}","\u{2f}\u{2f}") == "\u{2f}\u{2f}\u{2e}\u{2f}\u{2f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}")
1137+assert(gsub("","\u{61}\u{6c}\u{6f}","\u{2f}\u{2f}") == "")
1138+assert(gsub("\u{2e}\u{2e}\u{2e}","\u{2e}","\u{2f}\u{2e}") == "\u{2f}\u{2e}\u{2f}\u{2e}\u{2f}\u{2e}")
1139+assert(gsub("\u{2e}\u{2e}\u{2e}","\u{2e}\u{2e}\u{2e}","") == "")
1140+local mt_xuxu,res,top = T.testC("\u{6e}\u{65}\u{77}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{78}\u{75}\u{78}\u{75}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
1141+assert(type(mt_xuxu) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and res and top == 3)
1142+local d,res,top = T.testC("\u{6e}\u{65}\u{77}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{78}\u{75}\u{78}\u{75}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
11431143assert(mt_xuxu == d and not res and top == 3)
1144−d,res,top=T.testC("\110\101\119\109\101\116\97\116\97\98\108\101\32\120\117\120\117\49\59\32\103\101\116\116\111\112\59\32\114\101\116\117\114\110\32\51")
1144+d,res,top=T.testC("\u{6e}\u{65}\u{77}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{78}\u{75}\u{78}\u{75}\u{31}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
11451145assert(mt_xuxu ~= d and res and top == 3)
11461146x=T.newuserdata(0)
11471147;
11481148y=T.newuserdata(0)
11491149;
1150−T.testC("\112\117\115\104\115\116\114\105\110\103\32\120\117\120\117\59\32\103\101\116\116\97\98\108\101\32\82\59\32\115\101\116\109\101\116\97\116\97\98\108\101\32\50",x)
1150+T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{78}\u{75}\u{78}\u{75}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{52}\u{3b}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",x)
11511151assert(getmetatable(x) == mt_xuxu)
1152−local res1,res2,top = T.testC("\116\101\115\116\117\100\97\116\97\32\45\49\32\120\117\120\117\10\32\32\32\9\32\9\9\9\32\32\116\101\115\116\117\100\97\116\97\32\50\32\120\117\120\117\10\9\9\9\9\32\32\103\101\116\116\111\112\10\9\9\9\9\32\32\114\101\116\117\114\110\32\51",x)
1152+local res1,res2,top = T.testC("\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{2d}\u{31}\u{20}\u{78}\u{75}\u{78}\u{75}\u{a}\u{20}\u{20}\u{20}\u{9}\u{20}\u{9}\u{9}\u{9}\u{20}\u{20}\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{20}\u{78}\u{75}\u{78}\u{75}\u{a}\u{9}\u{9}\u{9}\u{9}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{9}\u{9}\u{9}\u{9}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",x)
11531153assert(res1 and res2 and top == 4)
1154−res1,res2,top=T.testC("\116\101\115\116\117\100\97\116\97\32\45\49\32\120\117\120\117\49\10\9\9\9\32\32\32\32\116\101\115\116\117\100\97\116\97\32\50\32\120\117\120\117\49\10\9\9\9\32\32\32\32\103\101\116\116\111\112\10\9\9\9\32\32\32\32\114\101\116\117\114\110\32\51",x)
1154+res1,res2,top=T.testC("\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{2d}\u{31}\u{20}\u{78}\u{75}\u{78}\u{75}\u{31}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{20}\u{78}\u{75}\u{78}\u{75}\u{31}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",x)
11551155assert(not res1 and not res2 and top == 4)
1156−res1,res2,top=T.testC("\116\101\115\116\117\100\97\116\97\32\45\49\32\120\117\120\117\50\10\9\9\9\32\32\32\32\116\101\115\116\117\100\97\116\97\32\50\32\120\117\120\117\50\10\9\9\9\32\32\32\32\103\101\116\116\111\112\10\9\9\9\32\32\32\32\114\101\116\117\114\110\32\51",x)
1156+res1,res2,top=T.testC("\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{2d}\u{31}\u{20}\u{78}\u{75}\u{78}\u{75}\u{32}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{20}\u{78}\u{75}\u{78}\u{75}\u{32}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",x)
11571157assert(not res1 and not res2 and top == 4)
1158−res1,res2,top=T.testC("\116\101\115\116\117\100\97\116\97\32\45\49\32\120\117\120\117\10\9\9\9\32\32\32\32\116\101\115\116\117\100\97\116\97\32\50\32\120\117\120\117\10\9\9\9\32\32\32\32\103\101\116\116\111\112\10\9\9\9\32\32\32\32\114\101\116\117\114\110\32\51",y)
1158+res1,res2,top=T.testC("\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{2d}\u{31}\u{20}\u{78}\u{75}\u{78}\u{75}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{20}\u{78}\u{75}\u{78}\u{75}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",y)
11591159assert(not res1 and not res2 and top == 4)
11601160do
11611161local r = debug.getregistry()
@@ -1164,4 +1164,4 @@ r.xuxu=nil
11641164;
11651165r.xuxu1=nil
11661166end
1167−print("\79\75")
1167+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/attrib.lua+130−130
@@ -1,62 +1,62 @@
1−print("\116\101\115\116\105\110\103\32\114\101\113\117\105\114\101")
2−assert(require("\115\116\114\105\110\103") == string)
3−assert(require("\109\97\116\104") == math)
4−assert(require("\116\97\98\108\101") == table)
5−assert(require("\105\111") == io)
6−assert(require("\111\115") == os)
7−assert(require("\99\111\114\111\117\116\105\110\101") == coroutine)
8−assert(type(package.path) == "\115\116\114\105\110\103")
9−assert(type(package.cpath) == "\115\116\114\105\110\103")
10−assert(type(package.loaded) == "\116\97\98\108\101")
11−assert(type(package.preload) == "\116\97\98\108\101")
12−assert(type(package.config) == "\115\116\114\105\110\103")
13−print("\112\97\99\107\97\103\101\32\99\111\110\102\105\103\58\32" .. string.gsub(package.config,"\10","\124"))
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}")
2+assert(require("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") == string)
3+assert(require("\u{6d}\u{61}\u{74}\u{68}") == math)
4+assert(require("\u{74}\u{61}\u{62}\u{6c}\u{65}") == table)
5+assert(require("\u{69}\u{6f}") == io)
6+assert(require("\u{6f}\u{73}") == os)
7+assert(require("\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}") == coroutine)
8+assert(type(package.path) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
9+assert(type(package.cpath) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
10+assert(type(package.loaded) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
11+assert(type(package.preload) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
12+assert(type(package.config) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
13+print("\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{20}\u{63}\u{6f}\u{6e}\u{66}\u{69}\u{67}\u{3a}\u{20}" .. string.gsub(package.config,"\u{a}","\u{7c}"))
1414do
1515local max = _soft and 100 or 2000
1616local t = {}
1717for i = 1, max
1818do
19−t[i]=string.rep("\63",i % 10 + 1)
19+t[i]=string.rep("\u{3f}",i % 10 + 1)
2020end
21−t[# t + 1]="\59"
22−local path = table.concat(t,"\59")
23−local s,err = package.searchpath("\120\117\120\117",path)
24−assert(not s and string.find(err,string.rep("\120\117\120\117",10)) and # string.gsub(err,"\91\94\10\93","") >= max)
25−local path = string.rep("\63",max)
26−local s,err = package.searchpath("\120\117\120\117",path)
27−assert(not s and string.find(err,string.rep("\120\117\120\117",max)))
21+t[# t + 1]="\u{3b}"
22+local path = table.concat(t,"\u{3b}")
23+local s,err = package.searchpath("\u{78}\u{75}\u{78}\u{75}",path)
24+assert(not s and string.find(err,string.rep("\u{78}\u{75}\u{78}\u{75}",10)) and # string.gsub(err,"\u{5b}\u{5e}\u{a}\u{5d}","") >= max)
25+local path = string.rep("\u{3f}",max)
26+local s,err = package.searchpath("\u{78}\u{75}\u{78}\u{75}",path)
27+assert(not s and string.find(err,string.rep("\u{78}\u{75}\u{78}\u{75}",max)))
2828end
2929do
3030local oldpath = package.path
3131package.path={}
32−local s,err = pcall(require,"\110\111\45\115\117\99\104\45\102\105\108\101")
33−assert(not s and string.find(err,"\112\97\99\107\97\103\101\46\112\97\116\104"))
32+local s,err = pcall(require,"\u{6e}\u{6f}\u{2d}\u{73}\u{75}\u{63}\u{68}\u{2d}\u{66}\u{69}\u{6c}\u{65}")
33+assert(not s and string.find(err,"\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{61}\u{74}\u{68}"))
3434package.path=oldpath
3535end
3636do
37−print("\116\101\115\116\105\110\103\32\39\114\101\113\117\105\114\101\39\32\109\101\115\115\97\103\101")
37+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}")
3838local oldpath = package.path
3939local oldcpath = package.cpath
40−package.path="\63\46\108\117\97\59\63\47\63"
41−package.cpath="\63\46\115\111\59\63\47\105\110\105\116"
42−local st,msg = pcall(require,"\88\88\88")
43−local expected = "\109\111\100\117\108\101\32\39\88\88\88\39\32\110\111\116\32\102\111\117\110\100\58\10\9\110\111\32\102\105\101\108\100\32\112\97\99\107\97\103\101\46\112\114\101\108\111\97\100\91\39\88\88\88\39\93\10\9\110\111\32\102\105\108\101\32\39\88\88\88\46\108\117\97\39\10\9\110\111\32\102\105\108\101\32\39\88\88\88\47\88\88\88\39\10\9\110\111\32\102\105\108\101\32\39\88\88\88\46\115\111\39\10\9\110\111\32\102\105\108\101\32\39\88\88\88\47\105\110\105\116\39"
40+package.path="\u{3f}\u{2e}\u{6c}\u{75}\u{61}\u{3b}\u{3f}\u{2f}\u{3f}"
41+package.cpath="\u{3f}\u{2e}\u{73}\u{6f}\u{3b}\u{3f}\u{2f}\u{69}\u{6e}\u{69}\u{74}"
42+local st,msg = pcall(require,"\u{58}\u{58}\u{58}")
43+local expected = "\u{6d}\u{6f}\u{64}\u{75}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{27}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{6f}\u{75}\u{6e}\u{64}\u{3a}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{72}\u{65}\u{6c}\u{6f}\u{61}\u{64}\u{5b}\u{27}\u{58}\u{58}\u{58}\u{27}\u{5d}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{2e}\u{6c}\u{75}\u{61}\u{27}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{2f}\u{58}\u{58}\u{58}\u{27}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{2e}\u{73}\u{6f}\u{27}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{2f}\u{69}\u{6e}\u{69}\u{74}\u{27}"
4444assert(msg == expected)
4545package.path=oldpath
4646package.cpath=oldcpath
4747end
48−print("\43")
48+print("\u{2b}")
4949if not _port then
50−local dirsep = string.match(package.config,"\94\40\91\94\10\93\43\41\10")
51−local DIR = "\108\105\98\115" .. dirsep
50+local dirsep = string.match(package.config,"\u{5e}\u{28}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}\u{29}\u{a}")
51+local DIR = "\u{6c}\u{69}\u{62}\u{73}" .. dirsep
5252local function D
5353(x)
54−local x = string.gsub(x,"\47",dirsep)
54+local x = string.gsub(x,"\u{2f}",dirsep)
5555return DIR .. x
5656end
5757local function DC
5858(x)
59−local ext = (dirsep == "\92") and "\46\100\108\108" or "\46\115\111"
59+local ext = (dirsep == "\u{5c}") and "\u{2e}\u{64}\u{6c}\u{6c}" or "\u{2e}\u{73}\u{6f}"
6060return D(x .. ext)
6161end
6262local function createfiles
@@ -77,18 +77,18 @@ do
7777os.remove(D(n))
7878end
7979end
80−local files = {["\110\97\109\101\115\46\108\117\97"] = "\100\111\32\114\101\116\117\114\110\32\123\46\46\46\125\32\101\110\100\10",["\101\114\114\46\108\117\97"] = "\66\32\61\32\49\53\59\32\97\32\61\32\97\32\43\32\49\59",["\115\121\110\101\114\114\46\108\117\97"] = "\66\32\61",["\65\46\108\117\97"] = "",["\66\46\108\117\97"] = "\97\115\115\101\114\116\40\46\46\46\61\61\39\66\39\41\59\114\101\113\117\105\114\101\32\39\65\39",["\65\46\108\99"] = "",["\65"] = "",["\76"] = "",["\88\88\120\88"] = "",["\67\46\108\117\97"] = "\112\97\99\107\97\103\101\46\108\111\97\100\101\100\91\46\46\46\93\32\61\32\50\53\59\32\114\101\113\117\105\114\101\39\67\39"}
80+local files = {["\u{6e}\u{61}\u{6d}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}"] = "\u{64}\u{6f}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{2e}\u{2e}\u{2e}\u{7d}\u{20}\u{65}\u{6e}\u{64}\u{a}",["\u{65}\u{72}\u{72}\u{2e}\u{6c}\u{75}\u{61}"] = "\u{42}\u{20}\u{3d}\u{20}\u{31}\u{35}\u{3b}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{3b}",["\u{73}\u{79}\u{6e}\u{65}\u{72}\u{72}\u{2e}\u{6c}\u{75}\u{61}"] = "\u{42}\u{20}\u{3d}",["\u{41}\u{2e}\u{6c}\u{75}\u{61}"] = "",["\u{42}\u{2e}\u{6c}\u{75}\u{61}"] = "\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{2e}\u{2e}\u{2e}\u{3d}\u{3d}\u{27}\u{42}\u{27}\u{29}\u{3b}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{20}\u{27}\u{41}\u{27}",["\u{41}\u{2e}\u{6c}\u{63}"] = "",["\u{41}"] = "",["\u{4c}"] = "",["\u{58}\u{58}\u{78}\u{58}"] = "",["\u{43}\u{2e}\u{6c}\u{75}\u{61}"] = "\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{6c}\u{6f}\u{61}\u{64}\u{65}\u{64}\u{5b}\u{2e}\u{2e}\u{2e}\u{5d}\u{20}\u{3d}\u{20}\u{32}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{43}\u{27}"}
8181AA=nil
82−local extras = "\78\65\77\69\32\61\32\39\37\115\39\10\82\69\81\85\73\82\69\68\32\61\32\46\46\46\10\114\101\116\117\114\110\32\65\65"
82+local extras = "\u{4e}\u{41}\u{4d}\u{45}\u{20}\u{3d}\u{20}\u{27}\u{25}\u{73}\u{27}\u{a}\u{52}\u{45}\u{51}\u{55}\u{49}\u{52}\u{45}\u{44}\u{20}\u{3d}\u{20}\u{2e}\u{2e}\u{2e}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{41}\u{41}"
8383createfiles(files,"",extras)
84−assert(package.searchpath("\67\46\108\117\97",D("\63"),"","") == D("\67\46\108\117\97"))
85−assert(package.searchpath("\67\46\108\117\97",D("\63"),"\46","\46") == D("\67\46\108\117\97"))
86−assert(package.searchpath("\45\45\120\45",D("\63"),"\45","\88") == D("\88\88\120\88"))
87−assert(package.searchpath("\45\45\45\120\88",D("\63"),"\45\45\45","\88\88") == D("\88\88\120\88"))
88−assert(package.searchpath(D("\67\46\108\117\97"),"\63",dirsep) == D("\67\46\108\117\97"))
89−assert(package.searchpath("\46\92\67\46\108\117\97",D("\63"),"\92") == D("\46\47\67\46\108\117\97"))
84+assert(package.searchpath("\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"","") == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
85+assert(package.searchpath("\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"\u{2e}","\u{2e}") == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
86+assert(package.searchpath("\u{2d}\u{2d}\u{78}\u{2d}",D("\u{3f}"),"\u{2d}","\u{58}") == D("\u{58}\u{58}\u{78}\u{58}"))
87+assert(package.searchpath("\u{2d}\u{2d}\u{2d}\u{78}\u{58}",D("\u{3f}"),"\u{2d}\u{2d}\u{2d}","\u{58}\u{58}") == D("\u{58}\u{58}\u{78}\u{58}"))
88+assert(package.searchpath(D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"),"\u{3f}",dirsep) == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
89+assert(package.searchpath("\u{2e}\u{5c}\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"\u{5c}") == D("\u{2e}\u{2f}\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
9090local oldpath = package.path
91−package.path=string.gsub("\68\47\63\46\108\117\97\59\68\47\63\46\108\99\59\68\47\63\59\68\47\63\63\120\63\59\68\47\76","\68\47",DIR)
91+package.path=string.gsub("\u{44}\u{2f}\u{3f}\u{2e}\u{6c}\u{75}\u{61}\u{3b}\u{44}\u{2f}\u{3f}\u{2e}\u{6c}\u{63}\u{3b}\u{44}\u{2f}\u{3f}\u{3b}\u{44}\u{2f}\u{3f}\u{3f}\u{78}\u{3f}\u{3b}\u{44}\u{2f}\u{4c}","\u{44}\u{2f}",DIR)
9292local try = function (p,n,r,ext)
9393NAME=nil
9494local rr,x = require(p)
@@ -97,74 +97,74 @@ assert(REQUIRED == p)
9797assert(rr == r)
9898assert(ext == x)
9999end
100−local a = require("\110\97\109\101\115")
101−assert(a[1] == "\110\97\109\101\115" and a[2] == D("\110\97\109\101\115\46\108\117\97"))
102−local st,msg = pcall(require,"\101\114\114")
103−assert(not st and string.find(msg,"\97\114\105\116\104\109\101\116\105\99") and B == 15)
104−st,msg=pcall(require,"\115\121\110\101\114\114")
105−assert(not st and string.find(msg,"\101\114\114\111\114\32\108\111\97\100\105\110\103\32\109\111\100\117\108\101"))
106−assert(package.searchpath("\67",package.path) == D("\67\46\108\117\97"))
107−assert(require("\67") == 25)
108−assert(require("\67") == 25)
100+local a = require("\u{6e}\u{61}\u{6d}\u{65}\u{73}")
101+assert(a[1] == "\u{6e}\u{61}\u{6d}\u{65}\u{73}" and a[2] == D("\u{6e}\u{61}\u{6d}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}"))
102+local st,msg = pcall(require,"\u{65}\u{72}\u{72}")
103+assert(not st and string.find(msg,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{6d}\u{65}\u{74}\u{69}\u{63}") and B == 15)
104+st,msg=pcall(require,"\u{73}\u{79}\u{6e}\u{65}\u{72}\u{72}")
105+assert(not st and string.find(msg,"\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{6d}\u{6f}\u{64}\u{75}\u{6c}\u{65}"))
106+assert(package.searchpath("\u{43}",package.path) == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
107+assert(require("\u{43}") == 25)
108+assert(require("\u{43}") == 25)
109109AA=nil
110−try("\66","\66\46\108\117\97",true,"\108\105\98\115\47\66\46\108\117\97")
110+try("\u{42}","\u{42}\u{2e}\u{6c}\u{75}\u{61}",true,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{42}\u{2e}\u{6c}\u{75}\u{61}")
111111assert(package.loaded.B)
112−assert(require("\66") == true)
112+assert(require("\u{42}") == true)
113113assert(package.loaded.A)
114−assert(require("\67") == 25)
114+assert(require("\u{43}") == 25)
115115package.loaded.A=nil
116−try("\66",nil,true,nil)
117−try("\65","\65\46\108\117\97",true,"\108\105\98\115\47\65\46\108\117\97")
116+try("\u{42}",nil,true,nil)
117+try("\u{41}","\u{41}\u{2e}\u{6c}\u{75}\u{61}",true,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{41}\u{2e}\u{6c}\u{75}\u{61}")
118118package.loaded.A=nil
119−os.remove(D("\65\46\108\117\97"))
119+os.remove(D("\u{41}\u{2e}\u{6c}\u{75}\u{61}"))
120120AA={}
121−try("\65","\65\46\108\99",AA,"\108\105\98\115\47\65\46\108\99")
122−assert(package.searchpath("\65",package.path) == D("\65\46\108\99"))
123−assert(require("\65") == AA)
121+try("\u{41}","\u{41}\u{2e}\u{6c}\u{63}",AA,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{41}\u{2e}\u{6c}\u{63}")
122+assert(package.searchpath("\u{41}",package.path) == D("\u{41}\u{2e}\u{6c}\u{63}"))
123+assert(require("\u{41}") == AA)
124124AA=false
125−try("\75","\76",false,"\108\105\98\115\47\76")
126−try("\75","\76",false,"\108\105\98\115\47\76")
127−assert(rawget(_G,"\95\82\69\81\85\73\82\69\68\78\65\77\69") == nil)
128−AA="\120"
129−try("\88","\88\88\120\88",AA,"\108\105\98\115\47\88\88\120\88")
125+try("\u{4b}","\u{4c}",false,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{4c}")
126+try("\u{4b}","\u{4c}",false,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{4c}")
127+assert(rawget(_G,"\u{5f}\u{52}\u{45}\u{51}\u{55}\u{49}\u{52}\u{45}\u{44}\u{4e}\u{41}\u{4d}\u{45}") == nil)
128+AA="\u{78}"
129+try("\u{58}","\u{58}\u{58}\u{78}\u{58}",AA,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{58}\u{58}\u{78}\u{58}")
130130removefiles(files)
131131NAME,REQUIRED,AA,B=nil
132132local _G = _G
133−package.path=string.gsub("\68\47\63\46\108\117\97\59\68\47\63\47\105\110\105\116\46\108\117\97","\68\47",DIR)
134−files={["\80\49\47\105\110\105\116\46\108\117\97"] = "\65\65\32\61\32\49\48",["\80\49\47\120\117\120\117\46\108\117\97"] = "\65\65\32\61\32\50\48"}
135−createfiles(files,"\95\69\78\86\32\61\32\123\125\10","\10\114\101\116\117\114\110\32\95\69\78\86\10")
133+package.path=string.gsub("\u{44}\u{2f}\u{3f}\u{2e}\u{6c}\u{75}\u{61}\u{3b}\u{44}\u{2f}\u{3f}\u{2f}\u{69}\u{6e}\u{69}\u{74}\u{2e}\u{6c}\u{75}\u{61}","\u{44}\u{2f}",DIR)
134+files={["\u{50}\u{31}\u{2f}\u{69}\u{6e}\u{69}\u{74}\u{2e}\u{6c}\u{75}\u{61}"] = "\u{41}\u{41}\u{20}\u{3d}\u{20}\u{31}\u{30}",["\u{50}\u{31}\u{2f}\u{78}\u{75}\u{78}\u{75}\u{2e}\u{6c}\u{75}\u{61}"] = "\u{41}\u{41}\u{20}\u{3d}\u{20}\u{32}\u{30}"}
135+createfiles(files,"\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{a}","\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{a}")
136136AA=0
137−local m,ext = assert(require("\80\49"))
138−assert(ext == "\108\105\98\115\47\80\49\47\105\110\105\116\46\108\117\97")
137+local m,ext = assert(require("\u{50}\u{31}"))
138+assert(ext == "\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{50}\u{31}\u{2f}\u{69}\u{6e}\u{69}\u{74}\u{2e}\u{6c}\u{75}\u{61}")
139139assert(AA == 0 and m.AA == 10)
140−assert(require("\80\49") == m)
141−assert(require("\80\49") == m)
142−assert(package.searchpath("\80\49\46\120\117\120\117",package.path) == D("\80\49\47\120\117\120\117\46\108\117\97"))
143−m.xuxu,ext=assert(require("\80\49\46\120\117\120\117"))
140+assert(require("\u{50}\u{31}") == m)
141+assert(require("\u{50}\u{31}") == m)
142+assert(package.searchpath("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}",package.path) == D("\u{50}\u{31}\u{2f}\u{78}\u{75}\u{78}\u{75}\u{2e}\u{6c}\u{75}\u{61}"))
143+m.xuxu,ext=assert(require("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}"))
144144assert(AA == 0 and m.xuxu.AA == 20)
145−assert(ext == "\108\105\98\115\47\80\49\47\120\117\120\117\46\108\117\97")
146−assert(require("\80\49\46\120\117\120\117") == m.xuxu)
147−assert(require("\80\49\46\120\117\120\117") == m.xuxu)
148−assert(require("\80\49") == m and m.AA == 10)
145+assert(ext == "\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{50}\u{31}\u{2f}\u{78}\u{75}\u{78}\u{75}\u{2e}\u{6c}\u{75}\u{61}")
146+assert(require("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}") == m.xuxu)
147+assert(require("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}") == m.xuxu)
148+assert(require("\u{50}\u{31}") == m and m.AA == 10)
149149removefiles(files)
150150AA=nil
151151package.path=""
152−assert(not pcall(require,"\102\105\108\101\95\100\111\101\115\95\110\111\116\95\101\120\105\115\116"))
153−package.path="\63\63\63"
154−assert(not pcall(require,"\102\105\108\101\95\100\111\101\115\95\110\111\116\95\101\120\105\115\116\49"))
152+assert(not pcall(require,"\u{66}\u{69}\u{6c}\u{65}\u{5f}\u{64}\u{6f}\u{65}\u{73}\u{5f}\u{6e}\u{6f}\u{74}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}"))
153+package.path="\u{3f}\u{3f}\u{0}\u{3f}"
154+assert(not pcall(require,"\u{66}\u{69}\u{6c}\u{65}\u{5f}\u{64}\u{6f}\u{65}\u{73}\u{5f}\u{6e}\u{6f}\u{74}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{31}"))
155155package.path=oldpath
156−local fname = "\102\105\108\101\95\100\111\101\115\95\110\111\116\95\101\120\105\115\116\50"
156+local fname = "\u{66}\u{69}\u{6c}\u{65}\u{5f}\u{64}\u{6f}\u{65}\u{73}\u{5f}\u{6e}\u{6f}\u{74}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{32}"
157157local m,err = pcall(require,fname)
158−for t in string.gmatch(package.path .. "\59" .. package.cpath,"\91\94\59\93\43")
158+for t in string.gmatch(package.path .. "\u{3b}" .. package.cpath,"\u{5b}\u{5e}\u{3b}\u{5d}\u{2b}")
159159do
160−t=string.gsub(t,"\63",fname)
160+t=string.gsub(t,"\u{3f}",fname)
161161assert(string.find(err,t,1,true))
162162end
163163do
164164local searchers = package.searchers
165165package.searchers=3
166−local st,msg = pcall(require,"\97")
167−assert(not st and string.find(msg,"\109\117\115\116\32\98\101\32\97\32\116\97\98\108\101"))
166+local st,msg = pcall(require,"\u{61}")
167+assert(not st and string.find(msg,"\u{6d}\u{75}\u{73}\u{74}\u{20}\u{62}\u{65}\u{20}\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}"))
168168package.searchers=searchers
169169end
170170local function import
@@ -177,35 +177,35 @@ m[f[i]]=_G[f[i]]
177177end
178178end
179179end
180−assert(not pcall(module,"\88\85\88\85"))
180+assert(not pcall(module,"\u{58}\u{55}\u{58}\u{55}"))
181181local p = ""
182−local st,err,when = package.loadlib(DC("\108\105\98\49"),"\42")
182+local st,err,when = package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),"\u{2a}")
183183if not st then
184−local f,err,when = package.loadlib("\100\111\110\111\116\101\120\105\115\116",p .. "\120\117\120\117")
185−assert(not f and type(err) == "\115\116\114\105\110\103" and when == "\97\98\115\101\110\116")
184+local f,err,when = package.loadlib("\u{64}\u{6f}\u{6e}\u{6f}\u{74}\u{65}\u{78}\u{69}\u{73}\u{74}",p .. "\u{78}\u{75}\u{78}\u{75}")
185+assert(not f and type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and when == "\u{61}\u{62}\u{73}\u{65}\u{6e}\u{74}")
186186;
187−(Message or print)("\10\32\62\62\62\32\99\97\110\110\111\116\32\108\111\97\100\32\100\121\110\97\109\105\99\32\108\105\98\114\97\114\121\32\60\60\60\10")
187+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{64}\u{79}\u{6e}\u{61}\u{6d}\u{69}\u{63}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
188188print(err,when)
189189else
190−local f = assert(package.loadlib(DC("\108\105\98\49"),p .. "\111\110\101\102\117\110\99\116\105\111\110"))
190+local f = assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),p .. "\u{6f}\u{6e}\u{65}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
191191local a,b = f(15,25)
192192assert(a == 25 and b == 15)
193−f=assert(package.loadlib(DC("\108\105\98\49"),p .. "\97\110\111\116\104\101\114\102\117\110\99"))
194−assert(f(10,20) == "\49\48\37\50\48\10")
195−local f,err,when = package.loadlib(DC("\108\105\98\49"),p .. "\120\117\120\117")
196−assert(not f and type(err) == "\115\116\114\105\110\103" and when == "\105\110\105\116")
197−f,err,when=package.loadlib("\100\111\110\111\116\101\120\105\115\116",p .. "\120\117\120\117")
198−assert(not f and type(err) == "\115\116\114\105\110\103" and when == "\111\112\101\110")
199−f=assert(package.loadlib(DC("\108\105\98\49\49"),p .. "\108\117\97\111\112\101\110\95\108\105\98\49\49"))
200−assert(f() == "\101\120\112\111\114\116\101\100")
201−package.cpath=DC("\63")
202−local lib2,ext = require("\108\105\98\50\45\118\50")
203−assert(string.find(ext,"\108\105\98\115\47\108\105\98\50\45\118\50",1,true))
204−assert(_ENV.x == "\108\105\98\50\45\118\50" and _ENV.y == DC("\108\105\98\50\45\118\50"))
205−assert(lib2.id("\120") == true)
206−local fs,ext = require("\108\105\98\49\46\115\117\98")
207−assert(_ENV.x == "\108\105\98\49\46\115\117\98" and _ENV.y == DC("\108\105\98\49"))
208−assert(string.find(ext,"\108\105\98\115\47\108\105\98\49",1,true))
193+f=assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),p .. "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{66}\u{75}\u{6e}\u{63}"))
194+assert(f(10,20) == "\u{31}\u{30}\u{25}\u{32}\u{30}\u{a}")
195+local f,err,when = package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),p .. "\u{78}\u{75}\u{78}\u{75}")
196+assert(not f and type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and when == "\u{69}\u{6e}\u{69}\u{74}")
197+f,err,when=package.loadlib("\u{64}\u{6f}\u{6e}\u{6f}\u{74}\u{65}\u{78}\u{69}\u{73}\u{74}",p .. "\u{78}\u{75}\u{78}\u{75}")
198+assert(not f and type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and when == "\u{6f}\u{70}\u{65}\u{6e}")
199+f=assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}\u{31}"),p .. "\u{6c}\u{75}\u{61}\u{6f}\u{70}\u{65}\u{6e}\u{5f}\u{6c}\u{69}\u{62}\u{31}\u{31}"))
200+assert(f() == "\u{65}\u{78}\u{70}\u{6f}\u{72}\u{74}\u{65}\u{64}")
201+package.cpath=DC("\u{3f}")
202+local lib2,ext = require("\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}")
203+assert(string.find(ext,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}",1,true))
204+assert(_ENV.x == "\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}" and _ENV.y == DC("\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}"))
205+assert(lib2.id("\u{78}") == true)
206+local fs,ext = require("\u{6c}\u{69}\u{62}\u{31}\u{2e}\u{73}\u{75}\u{62}")
207+assert(_ENV.x == "\u{6c}\u{69}\u{62}\u{31}\u{2e}\u{73}\u{75}\u{62}" and _ENV.y == DC("\u{6c}\u{69}\u{62}\u{31}"))
208+assert(string.find(ext,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{6c}\u{69}\u{62}\u{31}",1,true))
209209assert(fs.id(45) == 45)
210210_ENV.x,_ENV.y=nil
211211end
@@ -220,16 +220,16 @@ return x + 20
220220end
221221return _ENV
222222end
223−local pl,ext = require("\112\108")
224−assert(require("\112\108") == pl)
223+local pl,ext = require("\u{70}\u{6c}")
224+assert(require("\u{70}\u{6c}") == pl)
225225assert(pl.xuxu(10) == 30)
226−assert(pl[1] == "\112\108" and pl[2] == "\58\112\114\101\108\111\97\100\58" and ext == "\58\112\114\101\108\111\97\100\58")
226+assert(pl[1] == "\u{70}\u{6c}" and pl[2] == "\u{3a}\u{70}\u{72}\u{65}\u{6c}\u{6f}\u{61}\u{64}\u{3a}" and ext == "\u{3a}\u{70}\u{72}\u{65}\u{6c}\u{6f}\u{61}\u{64}\u{3a}")
227227package=p
228−assert(type(package.path) == "\115\116\114\105\110\103")
228+assert(type(package.path) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
229229end
230−print("\43")
230+print("\u{2b}")
231231end
232−print("\116\101\115\116\105\110\103\32\97\115\115\105\103\110\109\101\110\116\115\44\32\108\111\103\105\99\97\108\32\111\112\101\114\97\116\111\114\115\44\32\97\110\100\32\99\111\110\115\116\114\117\99\116\111\114\115")
232+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{73}\u{73}\u{69}\u{67}\u{6e}\u{6d}\u{65}\u{6e}\u{74}\u{73}\u{2c}\u{20}\u{6c}\u{6f}\u{67}\u{69}\u{63}\u{61}\u{6c}\u{20}\u{6f}\u{70}\u{65}\u{72}\u{61}\u{74}\u{6f}\u{72}\u{73}\u{2c}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{6f}\u{72}\u{73}")
233233local res,res2 = 27
234234local a,b = 1,2 + 3
235235assert(a == 1 and b == 5)
@@ -240,8 +240,8 @@ return 10,11,12
240240end
241241a.x,b,a[1]=1,2,f()
242242assert(a.x == 1 and b == 2 and a[1] == 10)
243−a[f()],b,a[f() + 3]=f(),a,"\120"
244−assert(a[10] == 10 and b == a and a[13] == "\120")
243+a[f()],b,a[f() + 3]=f(),a,"\u{78}"
244+assert(a[10] == 10 and b == a and a[13] == "\u{78}")
245245do
246246local f = function (n)
247247local x = {}
@@ -276,7 +276,7 @@ assert((10 and 2) == 2)
276276assert((10 or 2) == 10)
277277assert((10 or assert(nil)) == 10)
278278assert(not (nil and assert(nil)))
279−assert((nil or "\97\108\111") == "\97\108\111")
279+assert((nil or "\u{61}\u{6c}\u{6f}") == "\u{61}\u{6c}\u{6f}")
280280assert((nil and 10) == nil)
281281assert((false and 10) == false)
282282assert((true or 10) == true)
@@ -293,9 +293,9 @@ assert(not not (nil and true) == false)
293293assert(not 10 == false)
294294assert(not {} == false)
295295assert(not 0.5 == false)
296−assert(not "\120" == false)
296+assert(not "\u{78}" == false)
297297assert({} ~= {})
298−print("\43")
298+print("\u{2b}")
299299a={}
300300a[true]=20
301301a[false]=10
@@ -309,12 +309,12 @@ do
309309a[i + 0.0]=i
310310;
311311end
312−a[1e31]="\97\108\111"
312+a[1e31]="\u{61}\u{6c}\u{6f}"
313313;
314314a[true]=10
315315;
316316a[false]=20
317−assert(a[1e31] == "\97\108\111" and a[not 1] == 20 and a[10 < 20] == 10)
317+assert(a[1e31] == "\u{61}\u{6c}\u{6f}" and a[not 1] == 20 and a[10 < 20] == 10)
318318for i = 3000, - 3000, - 1
319319do
320320assert(a[i] == i)
@@ -336,10 +336,10 @@ end))
336336assert(a[nil] == undef)
337337a=nil
338338local a,b,c
339−a={10,9,8,7,6,5,4,3,2,[- 3] = "\97",[f] = print,["\97"] = "\97",["\98"] = "\97\98"}
339+a={10,9,8,7,6,5,4,3,2,[- 3] = "\u{61}",[f] = print,["\u{61}"] = "\u{61}",["\u{62}"] = "\u{61}\u{62}"}
340340a,a.x,a.y=a,a[- 3]
341−assert(a[1] == 10 and a[- 3] == a.a and a[f] == print and a.x == "\97" and not a.y)
342−a[1],f(a)[2],b,c={["\97\108\111"] = assert},10,a[1],a[f],6,10,23,f(a),2
341+assert(a[1] == 10 and a[- 3] == a.a and a[f] == print and a.x == "\u{61}" and not a.y)
342+a[1],f(a)[2],b,c={["\u{61}\u{6c}\u{6f}"] = assert},10,a[1],a[f],6,10,23,f(a),2
343343a[1].alo(a[2] == 10 and b == 10 and c == print)
344344a.aVeryLongName012345678901234567890123456789012345678901234567890123456789=10
345345local function foo
@@ -351,17 +351,17 @@ do
351351local function foo
352352()
353353local _ENV <const> = 11
354−X="\104\105"
354+X="\u{68}\u{69}"
355355end
356356local st,msg = pcall(foo)
357−assert(not st and string.find(msg,"\110\117\109\98\101\114"))
357+assert(not st and string.find(msg,"\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))
358358end
359359local maxint = math.maxinteger
360360while maxint ~= (maxint + 0.0) or (maxint - 1) ~= (maxint - 1.0) do
361361maxint=maxint // 2
362362end
363363local maxintF = maxint + 0.0
364−assert(maxintF == maxint and math.type(maxintF) == "\102\108\111\97\116" and maxintF >= 2.0 ^ 14)
364+assert(maxintF == maxint and math.type(maxintF) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}" and maxintF >= 2.0 ^ 14)
365365a[maxintF]=10
366366;
367367a[maxintF - 1.0]=11
@@ -377,7 +377,7 @@ assert(a[maxintF] == 20 and a[maxintF - 1.0] == 11 and a[- maxintF] == 22 and a[
377377a=nil
378378do
379379local a,i,j,b
380−a={"\97","\98"}
380+a={"\u{61}","\u{62}"}
381381;
382382i=1
383383;
@@ -396,7 +396,7 @@ assert(a == 20 and b.x == 10)
396396end
397397do
398398local a,i,j,b
399−a={"\97","\98"}
399+a={"\u{61}","\u{62}"}
400400;
401401i=1
402402;
@@ -427,5 +427,5 @@ end
427427end
428428local a,b = foo()()
429429assert(a == 3 and b == 14)
430−print("\79\75")
430+print("\u{4f}\u{4b}")
431431return res
zod/luau/res/lua/cycled/big.lua+27−27
@@ -1,20 +1,20 @@
11if _soft then
2−return "\97"
2+return "\u{61}"
33end
4−print("\116\101\115\116\105\110\103\32\108\97\114\103\101\32\116\97\98\108\101\115")
5−local debug = require("\100\101\98\117\103")
4+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
5+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
66local lim = 2 ^ 18 + 1000
7−local prog = {"\108\111\99\97\108\32\121\32\61\32\123\48"}
7+local prog = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{79}\u{20}\u{3d}\u{20}\u{7b}\u{30}"}
88for i = 1, lim
99do
1010prog[# prog + 1]=i
1111end
12−prog[# prog + 1]="\125\10"
13−prog[# prog + 1]="\88\32\61\32\121\10"
14−prog[# prog + 1]=("\97\115\115\101\114\116\40\88\91\37\100\93\32\61\61\32\37\100\41"):format(lim - 1,lim - 2)
15−prog[# prog + 1]="\114\101\116\117\114\110\32\48"
16−prog=table.concat(prog,"\59")
17−local env = {["\115\116\114\105\110\103"] = string,["\97\115\115\101\114\116"] = assert}
12+prog[# prog + 1]="\u{7d}\u{a}"
13+prog[# prog + 1]="\u{58}\u{20}\u{3d}\u{20}\u{79}\u{a}"
14+prog[# prog + 1]=("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{58}\u{5b}\u{25}\u{64}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{25}\u{64}\u{29}"):format(lim - 1,lim - 2)
15+prog[# prog + 1]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{30}"
16+prog=table.concat(prog,"\u{3b}")
17+local env = {["\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = string,["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert}
1818local f = assert(load(prog,nil,nil,env))
1919f()
2020assert(env.X[lim] == lim - 1 and env.X[lim + 1] == lim)
@@ -22,20 +22,20 @@ for k in pairs(env)
2222do
2323env[k]=undef
2424end
25−setmetatable(env,{["\95\95\105\110\100\101\120"] = function (t,n)
26−coroutine.yield("\103")
25+setmetatable(env,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,n)
26+coroutine.yield("\u{67}")
2727;
2828return _G[n]
29−end,["\95\95\110\101\119\105\110\100\101\120"] = function (t,n,v)
30−coroutine.yield("\115")
29+end,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,n,v)
30+coroutine.yield("\u{73}")
3131;
3232_G[n]=v
3333end})
3434X=nil
3535local co = coroutine.wrap(f)
36−assert(co() == "\115")
37−assert(co() == "\103")
38−assert(co() == "\103")
36+assert(co() == "\u{73}")
37+assert(co() == "\u{67}")
38+assert(co() == "\u{67}")
3939assert(co() == 0)
4040assert(X[lim] == lim - 1 and X[lim + 1] == lim)
4141getmetatable(env).__index=function ()
@@ -45,23 +45,23 @@ getmetatable(env).__newindex=function ()
4545
4646end
4747local e,m = pcall(f)
48−assert(not e and m:find("\103\108\111\98\97\108\32\39\88\39"))
48+assert(not e and m:find("\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{58}\u{27}"))
4949getmetatable(env).__newindex=function ()
50−error("\104\105")
50+error("\u{68}\u{69}")
5151end
5252local e,m = xpcall(f,debug.traceback)
53−assert(not e and m:find("\39\110\101\119\105\110\100\101\120\39"))
53+assert(not e and m:find("\u{27}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{27}"))
5454f,X=nil
55−coroutine.yield("\98")
55+coroutine.yield("\u{62}")
5656if 2 ^ 32 == 0 then
57−print("\116\101\115\116\105\110\103\32\115\116\114\105\110\103\32\108\101\110\103\116\104\32\111\118\101\114\102\108\111\119")
57+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")
5858local repstrings = 192
5959local ssize = math.ceil(2.0 ^ 32 / repstrings) + 1
6060assert(repstrings * ssize > 2.0 ^ 32)
61−local longs = string.rep("",ssize)
62−local rep = assert(load("\108\111\99\97\108\32\97\32\61\32\46\46\46\59\32\114\101\116\117\114\110\32" .. string.rep("\97",repstrings,"\46\46")))
61+local longs = string.rep("\u{0}",ssize)
62+local rep = assert(load("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{2e}\u{2e}\u{2e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. string.rep("\u{61}",repstrings,"\u{2e}\u{2e}")))
6363local a,b = pcall(rep,longs)
64−assert(not a and string.find(b,"\111\118\101\114\102\108\111\119"))
64+assert(not a and string.find(b,"\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
6565end
66−print("\79\75")
67−return "\97"
66+print("\u{4f}\u{4b}")
67+return "\u{61}"
zod/luau/res/lua/cycled/bitwise.lua+35−35
@@ -1,6 +1,6 @@
1−print("\116\101\115\116\105\110\103\32\98\105\116\119\105\115\101\32\111\112\101\114\97\116\105\111\110\115")
2−require("\98\119\99\111\101\114\99\105\111\110")
3−local numbits = string.packsize("\106") * 8
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{62}\u{69}\u{74}\u{77}\u{69}\u{73}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}")
2+require("\u{62}\u{77}\u{63}\u{6f}\u{65}\u{72}\u{63}\u{69}\u{6f}\u{6e}")
3+local numbits = string.packsize("\u{6a}") * 8
44assert(~ 0 == - 1)
55assert((1 << (numbits - 1)) == math.mininteger)
66local a,b,c,d
@@ -22,9 +22,9 @@ a=240.0
2222;
2323b=204.0
2424;
25−c="\48\120\65\65\46\48"
25+c="\u{30}\u{78}\u{41}\u{41}\u{2e}\u{30}"
2626;
27−d="\48\120\70\68\46\48"
27+d="\u{30}\u{78}\u{46}\u{44}\u{2e}\u{30}"
2828assert(a | b ~ c & d == 244)
2929a=4026531840
3030;
@@ -42,13 +42,13 @@ d=d << 32
4242assert(a | b ~ c & d == 4093640704 << 32)
4343assert(~ ~ a == a and ~ a == - 1 ~ a and - d == ~ d + 1)
4444do
45−local code = string.format("\114\101\116\117\114\110\32\45\49\32\62\62\32\37\100",math.maxinteger)
45+local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2d}\u{31}\u{20}\u{3e}\u{3e}\u{20}\u{25}\u{64}",math.maxinteger)
4646assert(load(code)() == 0)
47−local code = string.format("\114\101\116\117\114\110\32\45\49\32\62\62\32\37\100",math.mininteger)
47+local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2d}\u{31}\u{20}\u{3e}\u{3e}\u{20}\u{25}\u{64}",math.mininteger)
4848assert(load(code)() == 0)
49−local code = string.format("\114\101\116\117\114\110\32\45\49\32\60\60\32\37\100",math.maxinteger)
49+local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2d}\u{31}\u{20}\u{3c}\u{3c}\u{20}\u{25}\u{64}",math.maxinteger)
5050assert(load(code)() == 0)
51−local code = string.format("\114\101\116\117\114\110\32\45\49\32\60\60\32\37\100",math.mininteger)
51+local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2d}\u{31}\u{20}\u{3c}\u{3c}\u{20}\u{25}\u{64}",math.mininteger)
5252assert(load(code)() == 0)
5353end
5454assert(- 1 >> 1 == (1 << (numbits - 1)) - 1 and 1 << 31 == 2147483648)
@@ -61,33 +61,33 @@ assert(1 << math.maxinteger == 0)
6161assert((2 ^ 30 - 1) << 2 ^ 30 == 0)
6262assert((2 ^ 30 - 1) >> 2 ^ 30 == 0)
6363assert(1 >> - 3 == 1 << 3 and 1000 >> 5 == 1000 << - 5)
64−assert("\48\120\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102" | 0 == - 1)
65−assert("\48\120\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\101" & "\45\49" == - 2)
66−assert("\32\9\45\48\120\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\101\10\9" & "\45\49" == 2)
67−assert("\32\32\32\10\32\32\45\52\53\32\32\9\32" >> "\32\32\45\50\32\32" == - 45 * 4)
68−assert("\49\50\51\52\46\48" << "\53\46\48" == 1234 * 32)
69−assert("\48\120\102\102\102\102\46\48" ~ "\48\120\65\65\65\65" == 21845)
70−assert(~ "\48\120\48\46\48\48\48\112\52" == - 1)
71−assert(("\55" .. 3) << 1 == 146)
72−assert(4294967295 >> (1 .. "\57") == 8191)
73−assert(10 | (1 .. "\57") == 27)
64+assert("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}" | 0 == - 1)
65+assert("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{65}" & "\u{2d}\u{31}" == - 2)
66+assert("\u{20}\u{9}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{65}\u{a}\u{9}" & "\u{2d}\u{31}" == 2)
67+assert("\u{20}\u{20}\u{20}\u{a}\u{20}\u{20}\u{2d}\u{34}\u{35}\u{20}\u{20}\u{9}\u{20}" >> "\u{20}\u{20}\u{2d}\u{32}\u{20}\u{20}" == - 45 * 4)
68+assert("\u{31}\u{32}\u{33}\u{34}\u{2e}\u{30}" << "\u{35}\u{2e}\u{30}" == 1234 * 32)
69+assert("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{2e}\u{30}" ~ "\u{30}\u{78}\u{41}\u{41}\u{41}\u{41}" == 21845)
70+assert(~ "\u{30}\u{78}\u{30}\u{2e}\u{30}\u{30}\u{30}\u{70}\u{34}" == - 1)
71+assert(("\u{37}" .. 3) << 1 == 146)
72+assert(4294967295 >> (1 .. "\u{39}") == 8191)
73+assert(10 | (1 .. "\u{39}") == 27)
7474do
7575local st,msg = pcall(function ()
76−return 4 & "\97"
76+return 4 & "\u{61}"
7777end)
78−assert(string.find(msg,"\39\98\97\110\100\39"))
78+assert(string.find(msg,"\u{27}\u{62}\u{61}\u{6e}\u{64}\u{27}"))
7979local st,msg = pcall(function ()
80−return ~ "\97"
80+return ~ "\u{61}"
8181end)
82−assert(string.find(msg,"\39\98\110\111\116\39"))
82+assert(string.find(msg,"\u{27}\u{62}\u{6e}\u{6f}\u{74}\u{27}"))
8383end
8484assert(not pcall(function ()
85−return "\48\120\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\46\48" | 0
85+return "\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2e}\u{30}" | 0
8686end))
8787assert(not pcall(function ()
88−return "\48\120\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102" | 0
88+return "\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{0}" | 0
8989end))
90−print("\43")
90+print("\u{2b}")
9191package.preload.bit32=function ()
9292local bit = {}
9393function bit.bnot(a)
@@ -161,9 +161,9 @@ end
161161local function checkfield
162162(f,w)
163163w=w or 1
164−assert(f >= 0,"\102\105\101\108\100\32\99\97\110\110\111\116\32\98\101\32\110\101\103\97\116\105\118\101")
165−assert(w > 0,"\119\105\100\116\104\32\109\117\115\116\32\98\101\32\112\111\115\105\116\105\118\101")
166−assert(f + w <= 32,"\116\114\121\105\110\103\32\116\111\32\97\99\99\101\115\115\32\110\111\110\45\101\120\105\115\116\101\110\116\32\98\105\116\115")
164+assert(f >= 0,"\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{6e}\u{65}\u{67}\u{61}\u{74}\u{69}\u{76}\u{65}")
165+assert(w > 0,"\u{77}\u{69}\u{64}\u{74}\u{68}\u{20}\u{6d}\u{75}\u{73}\u{74}\u{20}\u{62}\u{65}\u{20}\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{76}\u{65}")
166+assert(f + w <= 32,"\u{74}\u{72}\u{79}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{20}\u{61}\u{63}\u{63}\u{65}\u{73}\u{73}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{20}\u{62}\u{69}\u{74}\u{73}")
167167return f,~ (- 1 << w)
168168end
169169function bit.extract(a,f,w)
@@ -178,8 +178,8 @@ return a & 4294967295
178178end
179179return bit
180180end
181−print("\116\101\115\116\105\110\103\32\98\105\116\119\105\115\101\32\108\105\98\114\97\114\121")
182−local bit32 = require("\98\105\116\51\50")
181+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{62}\u{69}\u{74}\u{77}\u{69}\u{73}\u{65}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}")
182+local bit32 = require("\u{62}\u{69}\u{74}\u{33}\u{32}")
183183assert(bit32.band() == bit32.bnot(0))
184184assert(bit32.btest() == true)
185185assert(bit32.bor() == 0)
@@ -236,7 +236,7 @@ assert(305419896 >> 4 == 19088743)
236236assert(305419896 >> 8 == 1193046)
237237assert(305419896 >> 32 == 0)
238238assert(305419896 >> - 32 == 1311768464867721216)
239−print("\43")
239+print("\u{2b}")
240240local c = {0,1,2,3,10,2147483648,2863311530,1431655765,4294967295,2147483647}
241241for _,b in pairs(c)
242242do
@@ -277,11 +277,11 @@ assert(math.fmod(x - y,2.0 ^ 32) == 0)
277277end
278278end
279279assert(not pcall(bit32.band,{}))
280−assert(not pcall(bit32.bnot,"\97"))
280+assert(not pcall(bit32.bnot,"\u{61}"))
281281assert(not pcall(bit32.lshift,45))
282282assert(not pcall(bit32.lshift,45,print))
283283assert(not pcall(bit32.rshift,45,print))
284−print("\43")
284+print("\u{2b}")
285285assert(bit32.extract(305419896,0,4) == 8)
286286assert(bit32.extract(305419896,4,4) == 7)
287287assert(bit32.extract(2684358929,28,4) == 10)
@@ -306,4 +306,4 @@ assert(bit32.bor(- 2.0 ^ 32 - 6.0) == 4294967290)
306306assert(bit32.bor(2.0 ^ 48 - 5.0) == 4294967291)
307307assert(bit32.bor(- 2.0 ^ 48 - 6.0) == 4294967290)
308308end
309−print("\79\75")
309+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/bwcoercion.lua+8−8
@@ -13,14 +13,14 @@ return tointeger(x)
1313end
1414local function trymt
1515(x,y,mtname)
16−if type(y) ~= "\115\116\114\105\110\103" then
16+if type(y) ~= "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" then
1717local mt = getmetatable(y)
1818local mm = mt and rawget(mt,mtname)
1919if mm then
2020return mm(x,y)
2121end
2222end
23−error("\97\116\116\101\109\112\116\32\116\111\32\39" .. strsub(mtname,3) .. "\39\32\97\32" .. type(x) .. "\32\119\105\116\104\32\97\32" .. type(y),4)
23+error("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{27}" .. strsub(mtname,3) .. "\u{27}\u{20}\u{61}\u{20}" .. type(x) .. "\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{61}\u{20}" .. type(y),4)
2424end
2525local function checkargs
2626(x,y,mtname)
@@ -34,26 +34,26 @@ end
3434end
3535local smt = getmetatable("")
3636smt.__band=function (x,y)
37−local x,y = checkargs(x,y,"\95\95\98\97\110\100")
37+local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}")
3838return y and x & y or x
3939end
4040smt.__bor=function (x,y)
41−local x,y = checkargs(x,y,"\95\95\98\111\114")
41+local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{6f}\u{72}")
4242return y and x | y or x
4343end
4444smt.__bxor=function (x,y)
45−local x,y = checkargs(x,y,"\95\95\98\120\111\114")
45+local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}")
4646return y and x ~ y or x
4747end
4848smt.__shl=function (x,y)
49−local x,y = checkargs(x,y,"\95\95\115\104\108")
49+local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{73}\u{68}\u{6c}")
5050return y and x << y or x
5151end
5252smt.__shr=function (x,y)
53−local x,y = checkargs(x,y,"\95\95\115\104\114")
53+local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{73}\u{68}\u{72}")
5454return y and x >> y or x
5555end
5656smt.__bnot=function (x)
57−local x,y = checkargs(x,x,"\95\95\98\110\111\116")
57+local x,y = checkargs(x,x,"\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}")
5858return y and ~ x or x
5959end
zod/luau/res/lua/cycled/calls.lua+83−83
@@ -1,14 +1,14 @@
1−print("\116\101\115\116\105\110\103\32\102\117\110\99\116\105\111\110\115\32\97\110\100\32\99\97\108\108\115")
2−local debug = require("\100\101\98\117\103")
3−assert(type(1 < 2) == "\98\111\111\108\101\97\110")
4−assert(type(true) == "\98\111\111\108\101\97\110" and type(false) == "\98\111\111\108\101\97\110")
5−assert(type(nil) == "\110\105\108" and type(- 3) == "\110\117\109\98\101\114" and type("\120") == "\115\116\114\105\110\103" and type({}) == "\116\97\98\108\101" and type(type) == "\102\117\110\99\116\105\111\110")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}")
2+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3+assert(type(1 < 2) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")
4+assert(type(true) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}" and type(false) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")
5+assert(type(nil) == "\u{6e}\u{69}\u{6c}" and type(- 3) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" and type("\u{78}") == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type({}) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and type(type) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
66assert(type(assert) == type(print))
77local function f
88(x)
99return a:x(x)
1010end
11−assert(type(f) == "\102\117\110\99\116\105\111\110")
11+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
1212assert(not pcall(type))
1313fact=false
1414do
@@ -25,7 +25,7 @@ assert(fact(5) == 120)
2525end
2626assert(fact == false)
2727fact=nil
28−local a = {["\105"] = 10}
28+local a = {["\u{69}"] = 10}
2929local self = 20
3030function a:x(x)
3131return x + self.i
@@ -34,13 +34,13 @@ function a.y(x)
3434return x + self
3535end
3636assert(a:x(1) + 10 == a.y(1))
37−a.t={["\105"] = - 100}
38−a["\116"].x=function (self,a,b)
37+a.t={["\u{69}"] = - 100}
38+a["\u{74}"].x=function (self,a,b)
3939return self.i + a + b
4040end
4141assert(a.t:x(2,3) == - 95)
4242do
43−local a = {["\120"] = 0}
43+local a = {["\u{78}"] = 0}
4444function a:add(x)
4545self.x,a.y=self.x + x,20
4646;
@@ -48,7 +48,7 @@ return self
4848end
4949assert(a:add(10):add(20):add(30).x == 60 and a.y == 20)
5050end
51−local a = {["\98"] = {["\99"] = {}}}
51+local a = {["\u{62}"] = {["\u{63}"] = {}}}
5252function a.b.c.f1(x)
5353return x + 1
5454end
@@ -56,34 +56,34 @@ function a.b.c:f2(x,y)
5656self[x]=y
5757end
5858assert(a.b.c.f1(4) == 5)
59−a.b.c:f2("\107",12)
59+a.b.c:f2("\u{6b}",12)
6060;
6161assert(a.b.c.k == 12)
62−print("\43")
62+print("\u{2b}")
6363t=nil
6464function f(a,b,c)
65−local d = "\97"
65+local d = "\u{61}"
6666;
6767t={a,b,c,d}
6868end
6969f(1,2)
70−assert(t[1] == 1 and t[2] == 2 and t[3] == nil and t[4] == "\97")
70+assert(t[1] == 1 and t[2] == 2 and t[3] == nil and t[4] == "\u{61}")
7171f(1,2,3,4)
72−assert(t[1] == 1 and t[2] == 2 and t[3] == 3 and t[4] == "\97")
72+assert(t[1] == 1 and t[2] == 2 and t[3] == 3 and t[4] == "\u{61}")
7373t=nil
7474function fat(x)
7575if x <= 1 then
7676return 1
7777else
78−return x * load("\114\101\116\117\114\110\32\102\97\116\40" .. x - 1 .. "\41","")()
78+return x * load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{61}\u{74}\u{28}" .. x - 1 .. "\u{29}","")()
7979end
8080end
81−assert(load("\108\111\97\100\32\39\97\115\115\101\114\116\40\102\97\116\40\54\41\61\61\55\50\48\41\39\32\40\41\32"))()
82−a=load("\114\101\116\117\114\110\32\102\97\116\40\53\41\44\32\51")
81+assert(load("\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{27}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{66}\u{61}\u{74}\u{28}\u{36}\u{29}\u{3d}\u{3d}\u{37}\u{32}\u{30}\u{29}\u{27}\u{20}\u{28}\u{29}\u{20}"))()
82+a=load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{61}\u{74}\u{28}\u{35}\u{29}\u{2c}\u{20}\u{33}")
8383local a,b = a()
8484assert(a == 120 and b == 3)
8585fat=nil
86−print("\43")
86+print("\u{2b}")
8787local function err_on_n
8888(n)
8989if n == 0 then
@@ -116,7 +116,7 @@ end
116116end
117117deep(10)
118118deep(180)
119−print("\116\101\115\116\105\110\103\32\116\97\105\108\32\99\97\108\108\115")
119+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}")
120120function deep(n)
121121if n > 0 then
122122return deep(n - 1)
@@ -147,7 +147,7 @@ return foo(10,x,x + 1)
147147end
148148local a,b,c = foo1(- 2)
149149assert(a == 10 and b == - 2 and c == - 1)
150−local t = setmetatable({},{["\95\95\99\97\108\108"] = foo})
150+local t = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = foo})
151151local function foo2
152152(x)
153153return t(10,x)
@@ -186,7 +186,7 @@ local function loop
186186assert(pcall(loop))
187187end
188188local err,msg = xpcall(loop,loop)
189−assert(not err and string.find(msg,"\101\114\114\111\114"))
189+assert(not err and string.find(msg,"\u{65}\u{72}\u{72}\u{6f}\u{72}"))
190190end
191191do
192192local n = 10000
@@ -202,27 +202,27 @@ end
202202end
203203for i = 1, 100
204204do
205−foo=setmetatable({},{["\95\95\99\97\108\108"] = foo})
205+foo=setmetatable({},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = foo})
206206end
207207assert(coroutine.wrap(function ()
208208return foo()
209209end)() == 1023)
210210end
211−print("\43")
211+print("\u{2b}")
212212do
213213local N = 20
214214local u = table.pack
215215for i = 1, N
216216do
217−u=setmetatable({i},{["\95\95\99\97\108\108"] = u})
217+u=setmetatable({i},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = u})
218218end
219−local Res = u("\97","\98","\99")
219+local Res = u("\u{61}","\u{62}","\u{63}")
220220assert(Res.n == N + 3)
221221for i = 1, N
222222do
223223assert(Res[i][1] == i)
224224end
225−assert(Res[N + 1] == "\97" and Res[N + 2] == "\98" and Res[N + 3] == "\99")
225+assert(Res[N + 1] == "\u{61}" and Res[N + 2] == "\u{62}" and Res[N + 3] == "\u{63}")
226226end
227227a=nil
228228(function (x)
@@ -263,7 +263,7 @@ return f(z,z + 1,z + 2,z + 3)
263263end
264264local f = g(10)
265265assert(f(9,16) == 10 + 11 + 12 + 13 + 10 + 9 + 16 + 10)
266−print("\43")
266+print("\u{2b}")
267267local function unlpack
268268(t,i)
269269i=i or 1
@@ -292,7 +292,7 @@ return a,b
292292end
293293local a,b,c,d = unlpack({1,2,3})
294294assert(a == 1 and b == 2 and c == 3 and d == nil)
295−a={1,2,3,4,false,10,"\97\108\111",false,assert}
295+a={1,2,3,4,false,10,"\u{61}\u{6c}\u{6f}",false,assert}
296296equaltab(pack(unlpack(a)),a)
297297equaltab(pack(unlpack(a),- 1),{1,- 1})
298298a,b,c,d=ret2(f()),ret2(f())
@@ -301,15 +301,15 @@ a,b,c,d=unlpack(pack(ret2(f()),ret2(f())))
301301assert(a == 1 and b == 1 and c == 2 and d == nil)
302302a,b,c,d=unlpack(pack(ret2(f()),(ret2(f()))))
303303assert(a == 1 and b == 1 and c == nil and d == nil)
304−a=ret2({unlpack({1,2,3}),unlpack({3,2,1}),unlpack({"\97","\98"})})
305−assert(a[1] == 1 and a[2] == 3 and a[3] == "\97" and a[4] == "\98")
306−rawget({},"\120",1)
307−rawset({},"\120",1,2)
304+a=ret2({unlpack({1,2,3}),unlpack({3,2,1}),unlpack({"\u{61}","\u{62}"})})
305+assert(a[1] == 1 and a[2] == 3 and a[3] == "\u{61}" and a[4] == "\u{62}")
306+rawget({},"\u{78}",1)
307+rawset({},"\u{78}",1,2)
308308assert(math.sin(1,2) == math.sin(1))
309309table.sort({10,9,8,4,19,23,0,0},function (a,b)
310310return a < b
311−end,"\101\120\116\114\97\32\97\114\103")
312−local x = "\45\45\32\97\32\99\111\109\109\101\110\116\10\32\32\120\32\61\32\49\48\32\43\32\10\50\51\59\32\10\32\32\32\32\32\108\111\99\97\108\32\97\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\120\32\61\32\39\104\105\39\32\101\110\100\59\32\10\32\32\32\32\32\114\101\116\117\114\110\32\39\39"
311+end,"\u{65}\u{78}\u{74}\u{72}\u{61}\u{20}\u{61}\u{72}\u{67}")
312+local x = "\u{2d}\u{2d}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{0}\u{0}\u{0}\u{a}\u{20}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{20}\u{2b}\u{20}\u{a}\u{32}\u{33}\u{3b}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{27}\u{68}\u{69}\u{27}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{0}\u{27}"
313313local function read1
314314(x)
315315local i = 0
@@ -323,11 +323,11 @@ local function cannotload
323323(msg,a,b)
324324assert(not a and string.find(b,msg))
325325end
326−a=assert(load(read1(x),"\109\111\100\110\97\109\101","\116",_G))
327−assert(a() == "" and _G.x == 33)
328−assert(debug.getinfo(a).source == "\109\111\100\110\97\109\101")
329−cannotload("\97\116\116\101\109\112\116\32\116\111\32\108\111\97\100\32\97\32\116\101\120\116\32\99\104\117\110\107",load(read1(x),"\109\111\100\110\97\109\101","\98",{}))
330−cannotload("\97\116\116\101\109\112\116\32\116\111\32\108\111\97\100\32\97\32\116\101\120\116\32\99\104\117\110\107",load(x,"\109\111\100\110\97\109\101","\98"))
326+a=assert(load(read1(x),"\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}","\u{74}",_G))
327+assert(a() == "\u{0}" and _G.x == 33)
328+assert(debug.getinfo(a).source == "\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}")
329+cannotload("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{74}\u{65}\u{78}\u{74}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}",load(read1(x),"\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}","\u{62}",{}))
330+cannotload("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{74}\u{65}\u{78}\u{74}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}",load(x,"\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}","\u{62}"))
331331a=assert(load(function ()
332332return nil
333333end))
@@ -335,35 +335,35 @@ a()
335335assert(not load(function ()
336336return true
337337end))
338−local t = {nil,"\114\101\116\117\114\110\32","\51"}
338+local t = {nil,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{33}"}
339339f,msg=load(function ()
340340return table.remove(t,1)
341341end)
342342assert(f() == nil)
343343f=load(string.dump(function ()
344344return 1
345−end),nil,"\98",{})
346−assert(type(f) == "\102\117\110\99\116\105\111\110" and f() == 1)
345+end),nil,"\u{62}",{})
346+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and f() == 1)
347347do
348348local f = string.dump(function ()
349−return "\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
349+return "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
350350end)
351351f=load(read1(f))
352−assert(f() == "\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57")
352+assert(f() == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
353353end
354−x=string.dump(load("\120\32\61\32\49\59\32\114\101\116\117\114\110\32\120"))
355−a=assert(load(read1(x),nil,"\98"))
354+x=string.dump(load("\u{78}\u{20}\u{3d}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}"))
355+a=assert(load(read1(x),nil,"\u{62}"))
356356assert(a() == 1 and _G.x == 1)
357−cannotload("\97\116\116\101\109\112\116\32\116\111\32\108\111\97\100\32\97\32\98\105\110\97\114\121\32\99\104\117\110\107",load(read1(x),nil,"\116"))
358−cannotload("\97\116\116\101\109\112\116\32\116\111\32\108\111\97\100\32\97\32\98\105\110\97\114\121\32\99\104\117\110\107",load(x,nil,"\116"))
357+cannotload("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}",load(read1(x),nil,"\u{74}"))
358+cannotload("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}",load(x,nil,"\u{74}"))
359359_G.x=nil
360360assert(not pcall(string.dump,print))
361−cannotload("\117\110\101\120\112\101\99\116\101\100\32\115\121\109\98\111\108",load(read1("\42\97\32\61\32\49\50\51")))
362−cannotload("\117\110\101\120\112\101\99\116\101\100\32\115\121\109\98\111\108",load("\42\97\32\61\32\49\50\51"))
363−cannotload("\104\104\105",load(function ()
364−error("\104\104\105")
361+cannotload("\u{75}\u{6e}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{79}\u{6d}\u{62}\u{6f}\u{6c}",load(read1("\u{2a}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{32}\u{33}")))
362+cannotload("\u{75}\u{6e}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{79}\u{6d}\u{62}\u{6f}\u{6c}",load("\u{2a}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{32}\u{33}"))
363+cannotload("\u{68}\u{68}\u{69}",load(function ()
364+error("\u{68}\u{68}\u{69}")
365365end))
366−assert(load("\114\101\116\117\114\110\32\95\69\78\86",nil,nil,123)() == 123)
366+assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5f}\u{45}\u{4e}\u{56}",nil,nil,123)() == 123)
367367local x
368368;
369369XX=123
@@ -373,58 +373,58 @@ local y = x
373373return XX
374374end
375375local d = string.dump(h)
376−x=load(d,"","\98")
377−assert(debug.getupvalue(x,2) == "\95\69\78\86")
376+x=load(d,"","\u{62}")
377+assert(debug.getupvalue(x,2) == "\u{5f}\u{45}\u{4e}\u{56}")
378378debug.setupvalue(x,2,_G)
379379assert(x() == 123)
380−assert(assert(load("\114\101\116\117\114\110\32\88\88\32\43\32\46\46\46",nil,nil,{["\88\88"] = 13}))(4) == 17)
380+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{2b}\u{20}\u{2e}\u{2e}\u{2e}",nil,nil,{["\u{58}\u{58}"] = 13}))(4) == 17)
381381XX=nil
382−x="\32\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\120\41\10\32\32\32\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\121\41\10\32\32\32\32\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\122\41\10\32\32\32\32\32\32\32\114\101\116\117\114\110\32\120\43\121\43\122\10\32\32\32\32\32\101\110\100\10\32\32\32\101\110\100\10\32\32\101\110\100\10"
383−a=assert(load(read1(x),"\114\101\97\100","\116"))
382+x="\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{78}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{79}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{7a}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{2b}\u{79}\u{2b}\u{7a}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}"
383+a=assert(load(read1(x),"\u{72}\u{65}\u{61}\u{64}","\u{74}"))
384384assert(a()(2)(3)(10) == 15)
385385x=string.dump(a)
386−a=assert(load(read1(x),"\114\101\97\100","\98"))
386+a=assert(load(read1(x),"\u{72}\u{65}\u{61}\u{64}","\u{62}"))
387387assert(a()(2)(3)(10) == 15)
388388local a,b = 20,30
389389x=load(string.dump(function (x)
390−if x == "\115\101\116" then
390+if x == "\u{73}\u{65}\u{74}" then
391391a=10 + b
392392;
393393b=b + 1
394394else
395395return a
396396end
397−end),"","\98",nil)
397+end),"","\u{62}",nil)
398398assert(x() == nil)
399−assert(debug.setupvalue(x,1,"\104\105") == "\97")
400−assert(x() == "\104\105")
401−assert(debug.setupvalue(x,2,13) == "\98")
399+assert(debug.setupvalue(x,1,"\u{68}\u{69}") == "\u{61}")
400+assert(x() == "\u{68}\u{69}")
401+assert(debug.setupvalue(x,2,13) == "\u{62}")
402402assert(not debug.setupvalue(x,3,10))
403−x("\115\101\116")
403+x("\u{73}\u{65}\u{74}")
404404assert(x() == 23)
405−x("\115\101\116")
405+x("\u{73}\u{65}\u{74}")
406406assert(x() == 24)
407407do
408408local nup = 200
409−local prog = {"\108\111\99\97\108\32\97\49"}
409+local prog = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{31}"}
410410for i = 2, nup
411411do
412−prog[# prog + 1]="\44\32\97" .. i
412+prog[# prog + 1]="\u{2c}\u{20}\u{61}" .. i
413413end
414−prog[# prog + 1]="\32\61\32\49"
414+prog[# prog + 1]="\u{20}\u{3d}\u{20}\u{31}"
415415for i = 2, nup
416416do
417−prog[# prog + 1]="\44\32" .. i
417+prog[# prog + 1]="\u{2c}\u{20}" .. i
418418end
419419local sum = 1
420−prog[# prog + 1]="\59\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\41\32\114\101\116\117\114\110\32\97\49"
420+prog[# prog + 1]="\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{31}"
421421for i = 2, nup
422422do
423−prog[# prog + 1]="\32\43\32\97" .. i
423+prog[# prog + 1]="\u{20}\u{2b}\u{20}\u{61}" .. i
424424;
425425sum=sum + i
426426end
427−prog[# prog + 1]="\32\101\110\100"
427+prog[# prog + 1]="\u{20}\u{65}\u{6e}\u{64}"
428428prog=table.concat(prog)
429429local f = assert(load(prog))()
430430assert(f() == sum)
@@ -440,7 +440,7 @@ end
440440assert(f() == 10 * nup)
441441end
442442do
443−local t = {["\120"] = 1}
443+local t = {["\u{78}"] = 1}
444444function t:_012345678901234567890123456789012345678901234567890123456789()
445445return self.x
446446end
@@ -457,9 +457,9 @@ end)(4) == nil)
457457assert((function (a)
458458return a
459459end)() == nil)
460−print("\116\101\115\116\105\110\103\32\98\105\110\97\114\121\32\99\104\117\110\107\115")
460+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{73}")
461461do
462−local header = string.pack("\99\52\66\66\99\54\66\66\66","\27\76\117\97",84,0,"\25\147\13\10\26\10",4,string.packsize("\106"),string.packsize("\110"))
462+local header = string.pack("\u{63}\u{34}\u{42}\u{42}\u{63}\u{36}\u{42}\u{42}\u{42}","\u{1b}\u{4c}\u{75}\u{61}",84,0,"\u{19}\u{93}\u{d}\u{a}\u{1a}\u{a}",4,string.packsize("\u{6a}"),string.packsize("\u{6e}"))
463463local c = string.dump(function ()
464464local a = 1
465465;
@@ -468,13 +468,13 @@ local b = 3
468468local f = function ()
469469return a + b + _ENV.c
470470end
471−local s1 = "\97\32\99\111\110\115\116\97\110\116"
472−local s2 = "\97\110\111\116\104\101\114\32\99\111\110\115\116\97\110\116"
471+local s1 = "\u{61}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}"
472+local s2 = "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}"
473473return a + b * 3
474474end)
475475assert(assert(load(c))() == 10)
476476assert(string.sub(c,1,# header) == header)
477−local ci,cn = string.unpack("\106\110",c,# header + 1)
477+local ci,cn = string.unpack("\u{6a}\u{6e}",c,# header + 1)
478478assert(ci == 22136 and cn == 370.5)
479479for i = 1, # header
480480do
@@ -485,8 +485,8 @@ end
485485for i = 1, # c - 1
486486do
487487local st,msg = load(string.sub(c,1,i))
488−assert(not st and string.find(msg,"\116\114\117\110\99\97\116\101\100"))
488+assert(not st and string.find(msg,"\u{74}\u{72}\u{75}\u{6e}\u{63}\u{61}\u{74}\u{65}\u{64}"))
489489end
490490end
491−print("\79\75")
491+print("\u{4f}\u{4b}")
492492return deep
zod/luau/res/lua/cycled/closure.lua+32−32
@@ -1,5 +1,5 @@
1−print("\116\101\115\116\105\110\103\32\99\108\111\115\117\114\101\115")
2−local A,B = 0,{["\103"] = 10}
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{73}")
2+local A,B = 0,{["\u{67}"] = 10}
33local function f
44(x)
55local a = {}
@@ -34,7 +34,7 @@ return a
3434end
3535local a = f(10)
3636local x = {[1] = {}}
37−setmetatable(x,{["\95\95\109\111\100\101"] = "\107\118"})
37+setmetatable(x,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
3838while x[1] do
3939local a = A .. A .. A .. A
4040A=A + 1
@@ -47,7 +47,7 @@ assert(a[2]() == 20 + A)
4747assert(a[2]() == 30 + A)
4848assert(a[3]() == 20 + A)
4949assert(a[8]() == 10 + A)
50−assert(getmetatable(x).__mode == "\107\118")
50+assert(getmetatable(x).__mode == "\u{6b}\u{76}")
5151assert(B.g == 19)
5252a={}
5353for i = 1, 5
@@ -70,9 +70,9 @@ end
7070a={}
7171for i = 1, 10
7272do
73−a[i]={["\115\101\116"] = function (x)
73+a[i]={["\u{73}\u{65}\u{74}"] = function (x)
7474i=x
75−end,["\103\101\116"] = function ()
75+end,["\u{67}\u{65}\u{74}"] = function ()
7676return i
7777end}
7878if i == 3 then
@@ -82,19 +82,19 @@ end
8282assert(a[4] == undef)
8383a[1].set(10)
8484assert(a[2].get() == 2)
85−a[2].set("\97")
85+a[2].set("\u{61}")
8686assert(a[3].get() == 3)
87−assert(a[2].get() == "\97")
87+assert(a[2].get() == "\u{61}")
8888a={}
89−local t = {"\97","\98"}
89+local t = {"\u{61}","\u{62}"}
9090for i = 1, # t
9191do
9292local k = t[i]
93−a[i]={["\115\101\116"] = function (x,y)
93+a[i]={["\u{73}\u{65}\u{74}"] = function (x,y)
9494i=x
9595;
9696k=y
97−end,["\103\101\116"] = function ()
97+end,["\u{67}\u{65}\u{74}"] = function ()
9898return i,k
9999end}
100100if i == 2 then
@@ -103,12 +103,12 @@ end
103103end
104104a[1].set(10,20)
105105local r,s = a[2].get()
106−assert(r == 2 and s == "\98")
106+assert(r == 2 and s == "\u{62}")
107107r,s=a[1].get()
108108assert(r == 10 and s == 20)
109−a[2].set("\97","\98")
109+a[2].set("\u{61}","\u{62}")
110110r,s=a[2].get()
111−assert(r == "\97" and s == "\98")
111+assert(r == "\u{61}" and s == "\u{62}")
112112local f
113113for i = 1, 3
114114do
@@ -127,7 +127,7 @@ end
127127break
128128end
129129assert(({f()})[1] == 1)
130−assert(({f()})[2] == "\97")
130+assert(({f()})[2] == "\u{61}")
131131local b
132132function f(x)
133133local first = 1
@@ -135,9 +135,9 @@ while 1 do
135135if x == 3 and not first then
136136return
137137end
138−local a = "\120\117\120\117"
138+local a = "\u{78}\u{75}\u{78}\u{75}"
139139b=function (op,y)
140−if op == "\115\101\116" then
140+if op == "\u{73}\u{65}\u{74}" then
141141a=x + y
142142else
143143return a
@@ -160,18 +160,18 @@ end
160160for i = 1, 3
161161do
162162f(i)
163−assert(b("\103\101\116") == "\120\117\120\117")
164−b("\115\101\116",10)
163+assert(b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}")
164+b("\u{73}\u{65}\u{74}",10)
165165;
166−assert(b("\103\101\116") == 10 + i)
166+assert(b("\u{67}\u{65}\u{74}") == 10 + i)
167167b=nil
168168end
169169pcall(f,4)
170170;
171−assert(b("\103\101\116") == "\120\117\120\117")
172−b("\115\101\116",10)
171+assert(b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}")
172+b("\u{73}\u{65}\u{74}",10)
173173;
174−assert(b("\103\101\116") == 14)
174+assert(b("\u{67}\u{65}\u{74}") == 14)
175175local y,w
176176function f(x)
177177return function (y)
@@ -228,7 +228,7 @@ return t
228228end
229229elseif i % 3 == 1 then
230230goto L1
231−error("\110\111\116\32\104\101\114\101")
231+error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
232232::L1::
233233local y = 1
234234a[i]=function (x)
@@ -245,7 +245,7 @@ goto l4
245245a[i]=t
246246;
247247goto l4b
248−error("\115\104\111\117\108\100\32\110\101\118\101\114\32\98\101\32\104\101\114\101\33")
248+error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
249249::l4::
250250local y = 2
251251t=function (x)
@@ -256,7 +256,7 @@ y=x
256256return t
257257end
258258goto l4a
259−error("\115\104\111\117\108\100\32\110\101\118\101\114\32\98\101\32\104\101\114\101\33")
259+error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
260260::l4b::
261261end
262262end
@@ -264,16 +264,16 @@ for i = 1, 10
264264do
265265assert(a[i](i * 10) == i % 3 and a[i]() == i * 10)
266266end
267−print("\43")
267+print("\u{2b}")
268268local function t
269269()
270270local function c
271271(a,b)
272−assert(a == "\116\101\115\116" and b == "\79\75")
272+assert(a == "\u{74}\u{65}\u{73}\u{74}" and b == "\u{4f}\u{4b}")
273273end
274274local function v
275275(f, ...)
276−c("\116\101\115\116",f() ~= 1 and "\70\65\73\76\69\68" or "\79\75")
276+c("\u{74}\u{65}\u{73}\u{74}",f() ~= 1 and "\u{46}\u{41}\u{49}\u{4c}\u{45}\u{44}" or "\u{4f}\u{4b}")
277277end
278278local x = 1
279279return v(function ()
@@ -281,7 +281,7 @@ return x
281281end)
282282end
283283t()
284−local debug = require("\100\101\98\117\103")
284+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
285285local foo1,foo2,foo3
286286do
287287local a,b,c = 3,5,7
@@ -309,7 +309,7 @@ assert(debug.upvalueid(foo1,2) == debug.upvalueid(foo2,1))
309309assert(debug.upvalueid(foo3,1))
310310assert(debug.upvalueid(foo1,1) ~= debug.upvalueid(foo3,1))
311311assert(debug.upvalueid(foo1,2) == debug.upvalueid(foo3,2))
312−assert(debug.upvalueid(string.gmatch("\120","\120"),1) ~= nil)
312+assert(debug.upvalueid(string.gmatch("\u{78}","\u{78}"),1) ~= nil)
313313assert(foo1() == 3 + 5 and foo2() == 5 + 3)
314314debug.upvaluejoin(foo1,2,foo2,2)
315315assert(foo1() == 3 + 3 and foo2() == 5 + 3)
@@ -324,4 +324,4 @@ assert(not pcall(debug.upvaluejoin,foo1,0,foo2,1))
324324assert(not pcall(debug.upvaluejoin,print,1,foo2,1))
325325assert(not pcall(debug.upvaluejoin,{},1,foo2,1))
326326assert(not pcall(debug.upvaluejoin,foo1,1,print,1))
327−print("\79\75")
327+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/code.lua+81−81
@@ -1,8 +1,8 @@
11if T == nil then
2−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\111\112\99\111\100\101\32\116\101\115\116\115\32\60\60\60\10")
2+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{70}\u{63}\u{6f}\u{64}\u{65}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
33return
44end
5−print("\116\101\115\116\105\110\103\32\99\111\100\101\32\103\101\110\101\114\97\116\105\111\110\32\97\110\100\32\111\112\116\105\109\105\122\97\116\105\111\110\115")
5+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{64}\u{65}\u{20}\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6d}\u{69}\u{7a}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}")
66local k0aux <const> = 0
77local k0 <const> = k0aux
88local k1 <const> = 1
@@ -12,7 +12,7 @@ local kFF0 <const> = 4080
1212local k3_78 <const> = 3.78
1313local x,k3_78_4 <const> = 10,k3_78 / 4
1414assert(x == 10)
15−local kx <const> = "\120"
15+local kx <const> = "\u{78}"
1616local kTrue <const> = true
1717local kFalse <const> = false
1818local kNil <const> = nil
@@ -108,7 +108,7 @@ local arg = {...}
108108local c = T.listcode(f)
109109for i = 1, # arg
110110do
111−local opcode = string.match(c[i],"\37\117\37\119\43")
111+local opcode = string.match(c[i],"\u{25}\u{75}\u{25}\u{77}\u{2b}")
112112assert(arg[i] == opcode)
113113end
114114assert(c[# arg + 2] == undef)
@@ -126,8 +126,8 @@ b=T.listcode(b)
126126assert(# a == # b)
127127for i = 1, # a
128128do
129−a[i]=string.gsub(a[i],"\37\98\40\41","")
130−b[i]=string.gsub(b[i],"\37\98\40\41","")
129+a[i]=string.gsub(a[i],"\u{25}\u{62}\u{28}\u{29}","")
130+b[i]=string.gsub(b[i],"\u{25}\u{62}\u{28}\u{29}","")
131131assert(a[i] == b[i])
132132end
133133end
@@ -135,12 +135,12 @@ check(function ()
135135(function ()
136136
137137end)({f()})
138−end,"\67\76\79\83\85\82\69","\78\69\87\84\65\66\76\69","\69\88\84\82\65\65\82\71","\71\69\84\84\65\66\85\80","\67\65\76\76","\83\69\84\76\73\83\84","\67\65\76\76","\82\69\84\85\82\78\48")
138+end,"\u{43}\u{4c}\u{4f}\u{53}\u{55}\u{52}\u{45}","\u{4e}\u{45}\u{57}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{45}\u{58}\u{54}\u{52}\u{41}\u{41}\u{52}\u{47}","\u{47}\u{45}\u{54}\u{54}\u{41}\u{42}\u{55}\u{50}","\u{43}\u{41}\u{4c}\u{4c}","\u{53}\u{45}\u{54}\u{4c}\u{49}\u{53}\u{54}","\u{43}\u{41}\u{4c}\u{4c}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
139139check(function (x)
140140(function ()
141141return x
142142end)({f()})
143−end,"\67\76\79\83\85\82\69","\78\69\87\84\65\66\76\69","\69\88\84\82\65\65\82\71","\71\69\84\84\65\66\85\80","\67\65\76\76","\83\69\84\76\73\83\84","\67\65\76\76","\82\69\84\85\82\78")
143+end,"\u{43}\u{4c}\u{4f}\u{53}\u{55}\u{52}\u{45}","\u{4e}\u{45}\u{57}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{45}\u{58}\u{54}\u{52}\u{41}\u{41}\u{52}\u{47}","\u{47}\u{45}\u{54}\u{54}\u{41}\u{42}\u{55}\u{50}","\u{43}\u{41}\u{4c}\u{4c}","\u{53}\u{45}\u{54}\u{4c}\u{49}\u{53}\u{54}","\u{43}\u{41}\u{4c}\u{4c}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}")
144144check(function ()
145145local kNil <const> = nil
146146local a,b,c
@@ -160,7 +160,7 @@ a=kNil
160160;
161161c=nil
162162;
163−end,"\76\79\65\68\78\73\76","\82\69\84\85\82\78\48")
163+end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
164164check(function ()
165165local a,b,c,d = 1,1,1,1
166166d=nil
@@ -170,7 +170,7 @@ c=nil
170170b=nil
171171;
172172a=nil
173−end,"\76\79\65\68\73","\76\79\65\68\73","\76\79\65\68\73","\76\79\65\68\73","\76\79\65\68\78\73\76","\82\69\84\85\82\78\48")
173+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
174174do
175175local a,b,c,d = 1,1,1,1
176176d=nil
@@ -184,145 +184,145 @@ assert(a == nil and b == nil and c == nil and d == nil)
184184end
185185check(function (a,b,c)
186186return a
187−end,"\82\69\84\85\82\78\49")
187+end,"\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
188188check(function ()
189189while kTrue do
190190local a = - 1
191191end
192−end,"\76\79\65\68\73","\74\77\80","\82\69\84\85\82\78\48")
192+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4a}\u{4d}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
193193check(function ()
194194while 1 do
195195local a = - 1
196196end
197−end,"\76\79\65\68\73","\74\77\80","\82\69\84\85\82\78\48")
197+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4a}\u{4d}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
198198check(function ()
199199repeat
200200local x = 1
201201until true
202−end,"\76\79\65\68\73","\82\69\84\85\82\78\48")
202+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
203203check(function (a,b,c,d)
204204return a .. b .. c .. d
205−end,"\77\79\86\69","\77\79\86\69","\77\79\86\69","\77\79\86\69","\67\79\78\67\65\84","\82\69\84\85\82\78\49")
205+end,"\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{43}\u{4f}\u{4e}\u{43}\u{41}\u{54}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
206206check(function ()
207207return not not nil
208−end,"\76\79\65\68\70\65\76\83\69","\82\69\84\85\82\78\49")
208+end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}\u{41}\u{4c}\u{53}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
209209check(function ()
210210return not not kFalse
211−end,"\76\79\65\68\70\65\76\83\69","\82\69\84\85\82\78\49")
211+end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}\u{41}\u{4c}\u{53}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
212212check(function ()
213213return not not true
214−end,"\76\79\65\68\84\82\85\69","\82\69\84\85\82\78\49")
214+end,"\u{4c}\u{4f}\u{41}\u{44}\u{54}\u{52}\u{55}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
215215check(function ()
216216return not not k3
217−end,"\76\79\65\68\84\82\85\69","\82\69\84\85\82\78\49")
217+end,"\u{4c}\u{4f}\u{41}\u{44}\u{54}\u{52}\u{55}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
218218check(function ()
219219local a,b,c,d
220220a=b * a
221221c.x,a[b]=- ((a + d / b - a[b]) ^ a.x),b
222−end,"\76\79\65\68\78\73\76","\77\85\76","\77\77\66\73\78","\68\73\86","\77\77\66\73\78","\65\68\68","\77\77\66\73\78","\71\69\84\84\65\66\76\69","\83\85\66","\77\77\66\73\78","\71\69\84\70\73\69\76\68","\80\79\87","\77\77\66\73\78","\85\78\77","\83\69\84\84\65\66\76\69","\83\69\84\70\73\69\76\68","\82\69\84\85\82\78\48")
222+end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{4d}\u{55}\u{4c}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{44}\u{49}\u{56}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{41}\u{44}\u{44}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{47}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{53}\u{55}\u{42}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{47}\u{45}\u{54}\u{46}\u{49}\u{45}\u{4c}\u{44}","\u{50}\u{4f}\u{57}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{55}\u{4e}\u{4d}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{53}\u{45}\u{54}\u{46}\u{49}\u{45}\u{4c}\u{44}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
223223check(function ()
224224local a,b
225225local c = kNil
226226a[kx]=3.2
227227a.x=b
228−a[b]="\120"
229−end,"\76\79\65\68\78\73\76","\83\69\84\70\73\69\76\68","\83\69\84\70\73\69\76\68","\83\69\84\84\65\66\76\69","\82\69\84\85\82\78\48")
228+a[b]="\u{78}"
229+end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{53}\u{45}\u{54}\u{46}\u{49}\u{45}\u{4c}\u{44}","\u{53}\u{45}\u{54}\u{46}\u{49}\u{45}\u{4c}\u{44}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
230230check(function (a)
231231local k255 <const> = 255
232232a[1]=a[100]
233233a[k255]=a[256]
234234a[256]=5
235−end,"\71\69\84\73","\83\69\84\73","\76\79\65\68\73","\71\69\84\84\65\66\76\69","\83\69\84\73","\76\79\65\68\73","\83\69\84\84\65\66\76\69","\82\69\84\85\82\78\48")
235+end,"\u{47}\u{45}\u{54}\u{49}","\u{53}\u{45}\u{54}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{47}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{53}\u{45}\u{54}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
236236check(function ()
237237local a,b
238238a=a - a
239239b=a / a
240240b=5 - 4
241−end,"\76\79\65\68\78\73\76","\83\85\66","\77\77\66\73\78","\68\73\86","\77\77\66\73\78","\76\79\65\68\73","\82\69\84\85\82\78\48")
241+end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{53}\u{55}\u{42}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{44}\u{49}\u{56}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
242242check(function ()
243243local a,b
244244a[kTrue]=false
245−end,"\76\79\65\68\78\73\76","\76\79\65\68\84\82\85\69","\83\69\84\84\65\66\76\69","\82\69\84\85\82\78\48")
245+end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{4c}\u{4f}\u{41}\u{44}\u{54}\u{52}\u{55}\u{45}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
246246checkR(function (a)
247247if a == 1 then
248248return 2
249249end
250−end,1,2,"\69\81\73","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
250+end,1,2,"\u{45}\u{51}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
251251checkR(function (a)
252252if - 4.0 == a then
253253return 2
254254end
255−end,- 4,2,"\69\81\73","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
255+end,- 4,2,"\u{45}\u{51}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
256256checkR(function (a)
257−if a == "\104\105" then
257+if a == "\u{68}\u{69}" then
258258return 2
259259end
260−end,10,nil,"\69\81\75","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
260+end,10,nil,"\u{45}\u{51}\u{4b}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
261261checkR(function (a)
262262if a == 10000 then
263263return 2
264264end
265−end,1,nil,"\69\81\75","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
265+end,1,nil,"\u{45}\u{51}\u{4b}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
266266checkR(function (a)
267267if - 10000 == a then
268268return 2
269269end
270−end,- 10000,2,"\69\81\75","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
270+end,- 10000,2,"\u{45}\u{51}\u{4b}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
271271checkR(function (a)
272272if - 10 <= a then
273273return 2
274274end
275−end,- 10,2,"\71\69\73","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
275+end,- 10,2,"\u{47}\u{45}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
276276checkR(function (a)
277277if 128.0 > a then
278278return 2
279279end
280−end,129,nil,"\76\84\73","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
280+end,129,nil,"\u{4c}\u{54}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
281281checkR(function (a)
282282if - 127.0 < a then
283283return 2
284284end
285−end,- 127,nil,"\71\84\73","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
285+end,- 127,nil,"\u{47}\u{54}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
286286checkR(function (a)
287287if 10 < a then
288288return 2
289289end
290−end,11,2,"\71\84\73","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
290+end,11,2,"\u{47}\u{54}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
291291checkR(function (a)
292292if 129 < a then
293293return 2
294294end
295−end,130,2,"\76\79\65\68\73","\76\84","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
295+end,130,2,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4c}\u{54}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
296296checkR(function (a)
297297if a >= 23.0 then
298298return 2
299299end
300−end,25,2,"\71\69\73","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
300+end,25,2,"\u{47}\u{45}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
301301checkR(function (a)
302302if a >= 23.1 then
303303return 2
304304end
305−end,0,nil,"\76\79\65\68\75","\76\69","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
305+end,0,nil,"\u{4c}\u{4f}\u{41}\u{44}\u{4b}","\u{4c}\u{45}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
306306checkR(function (a)
307307if a > 2300.0 then
308308return 2
309309end
310−end,0,nil,"\76\79\65\68\70","\76\84","\74\77\80","\76\79\65\68\73","\82\69\84\85\82\78\49")
310+end,0,nil,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{4c}\u{54}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
311311local function checkK
312312(func,val)
313−check(func,"\76\79\65\68\75","\82\69\84\85\82\78\49")
313+check(func,"\u{4c}\u{4f}\u{41}\u{44}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
314314checkKlist(func,{val})
315315assert(func() == val)
316316end
317317local function checkI
318318(func,val)
319−check(func,"\76\79\65\68\73","\82\69\84\85\82\78\49")
319+check(func,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
320320checkKlist(func,{})
321321assert(func() == val)
322322end
323323local function checkF
324324(func,val)
325−check(func,"\76\79\65\68\70","\82\69\84\85\82\78\49")
325+check(func,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
326326checkKlist(func,{})
327327assert(func() == val)
328328end
@@ -405,124 +405,124 @@ return - (border + 1)
405405end,- (sbx + 1.0))
406406checkR(function (x)
407407return x + k1
408−end,10,11,"\65\68\68\73","\77\77\66\73\78\73","\82\69\84\85\82\78\49")
408+end,10,11,"\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
409409checkR(function (x)
410410return x - 127
411−end,10,- 117,"\65\68\68\73","\77\77\66\73\78\73","\82\69\84\85\82\78\49")
411+end,10,- 117,"\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
412412checkR(function (x)
413413return 128 + x
414−end,0.0,128.0,"\65\68\68\73","\77\77\66\73\78\73","\82\69\84\85\82\78\49")
414+end,0.0,128.0,"\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
415415checkR(function (x)
416416return x * - 127
417−end,- 1.0,127.0,"\77\85\76\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
417+end,- 1.0,127.0,"\u{4d}\u{55}\u{4c}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
418418checkR(function (x)
419419return 20 * x
420−end,2,40,"\77\85\76\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
420+end,2,40,"\u{4d}\u{55}\u{4c}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
421421checkR(function (x)
422422return x ^ - 2
423−end,2,0.25,"\80\79\87\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
423+end,2,0.25,"\u{50}\u{4f}\u{57}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
424424checkR(function (x)
425425return x / 40
426−end,40,1.0,"\68\73\86\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
426+end,40,1.0,"\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
427427checkR(function (x)
428428return x // 1
429−end,10.0,10.0,"\73\68\73\86\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
429+end,10.0,10.0,"\u{49}\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
430430checkR(function (x)
431431return x % (100 - 10)
432−end,91,1,"\77\79\68\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
432+end,91,1,"\u{4d}\u{4f}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
433433checkR(function (x)
434434return k1 << x
435−end,3,8,"\83\72\76\73","\77\77\66\73\78\73","\82\69\84\85\82\78\49")
435+end,3,8,"\u{53}\u{48}\u{4c}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
436436checkR(function (x)
437437return x << 127
438−end,10,0,"\83\72\82\73","\77\77\66\73\78\73","\82\69\84\85\82\78\49")
438+end,10,0,"\u{53}\u{48}\u{52}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
439439checkR(function (x)
440440return x << - 127
441−end,10,0,"\83\72\82\73","\77\77\66\73\78\73","\82\69\84\85\82\78\49")
441+end,10,0,"\u{53}\u{48}\u{52}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
442442checkR(function (x)
443443return x >> 128
444−end,8,0,"\83\72\82\73","\77\77\66\73\78\73","\82\69\84\85\82\78\49")
444+end,8,0,"\u{53}\u{48}\u{52}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
445445checkR(function (x)
446446return x >> - 127
447−end,8,0,"\83\72\82\73","\77\77\66\73\78\73","\82\69\84\85\82\78\49")
447+end,8,0,"\u{53}\u{48}\u{52}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
448448checkR(function (x)
449449return x & 1
450−end,9,1,"\66\65\78\68\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
450+end,9,1,"\u{42}\u{41}\u{4e}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
451451checkR(function (x)
452452return 10 | x
453−end,1,11,"\66\79\82\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
453+end,1,11,"\u{42}\u{4f}\u{52}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
454454checkR(function (x)
455455return - 10 ~ x
456−end,- 1,9,"\66\88\79\82\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
456+end,- 1,9,"\u{42}\u{58}\u{4f}\u{52}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
457457checkR(function (x)
458458return x + 0.0
459−end,1,1.0,"\65\68\68\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
459+end,1,1.0,"\u{41}\u{44}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
460460checkR(function (x)
461461return x * - 10000
462−end,2,- 20000,"\77\85\76\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
462+end,2,- 20000,"\u{4d}\u{55}\u{4c}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
463463checkR(function (x)
464464return x ^ 0.5
465−end,4,2.0,"\80\79\87\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
465+end,4,2.0,"\u{50}\u{4f}\u{57}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
466466checkR(function (x)
467467return x / 2.0
468−end,4,2.0,"\68\73\86\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
468+end,4,2.0,"\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
469469checkR(function (x)
470470return x // 10000
471−end,10000,1,"\73\68\73\86\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
471+end,10000,1,"\u{49}\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
472472checkR(function (x)
473473return x % (100.0 - 10)
474−end,91,1.0,"\77\79\68\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
474+end,91,1.0,"\u{4d}\u{4f}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
475475check(function ()
476476return - 0.0
477−end,"\76\79\65\68\70","\85\78\77","\82\69\84\85\82\78\49")
477+end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{55}\u{4e}\u{4d}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
478478check(function ()
479479return k3 / 0
480−end,"\76\79\65\68\73","\68\73\86\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
480+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
481481check(function ()
482482return 0 % 0
483−end,"\76\79\65\68\73","\77\79\68\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
483+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4d}\u{4f}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
484484check(function ()
485485return - 4 // 0
486−end,"\76\79\65\68\73","\73\68\73\86\75","\77\77\66\73\78\75","\82\69\84\85\82\78\49")
486+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{49}\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
487487check(function (x)
488488return x >> 2.0
489−end,"\76\79\65\68\70","\83\72\82","\77\77\66\73\78","\82\69\84\85\82\78\49")
489+end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{53}\u{48}\u{52}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
490490check(function (x)
491491return x << 128
492−end,"\76\79\65\68\73","\83\72\76","\77\77\66\73\78","\82\69\84\85\82\78\49")
492+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{53}\u{48}\u{4c}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
493493check(function (x)
494494return x & 2.0
495−end,"\76\79\65\68\70","\66\65\78\68","\77\77\66\73\78","\82\69\84\85\82\78\49")
495+end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{42}\u{41}\u{4e}\u{44}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
496496check(function ()
497497for i = - 10, 10.5
498498do
499499
500500end
501−end,"\76\79\65\68\73","\76\79\65\68\75","\76\79\65\68\73","\70\79\82\80\82\69\80","\70\79\82\76\79\79\80","\82\69\84\85\82\78\48")
501+end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{4b}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{46}\u{4f}\u{52}\u{50}\u{52}\u{45}\u{50}","\u{46}\u{4f}\u{52}\u{4c}\u{4f}\u{4f}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
502502check(function ()
503503for i = 268435455, 10.0, 1
504504do
505505
506506end
507−end,"\76\79\65\68\75","\76\79\65\68\70","\76\79\65\68\73","\70\79\82\80\82\69\80","\70\79\82\76\79\79\80","\82\69\84\85\82\78\48")
507+end,"\u{4c}\u{4f}\u{41}\u{44}\u{4b}","\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{46}\u{4f}\u{52}\u{50}\u{52}\u{45}\u{50}","\u{46}\u{4f}\u{52}\u{4c}\u{4f}\u{4f}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
508508check(function ()
509509return - nil
510−end,"\76\79\65\68\78\73\76","\85\78\77","\82\69\84\85\82\78\49")
510+end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{55}\u{4e}\u{4d}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
511511check(function ()
512512local a,b,c
513513b[c],a=c,b
514514b[a],a=c,b
515515a,b=c,a
516516a=a
517−end,"\76\79\65\68\78\73\76","\77\79\86\69","\77\79\86\69","\83\69\84\84\65\66\76\69","\77\79\86\69","\77\79\86\69","\77\79\86\69","\83\69\84\84\65\66\76\69","\77\79\86\69","\77\79\86\69","\77\79\86\69","\82\69\84\85\82\78\48")
517+end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
518518do
519519local t
520520check(function ()
521521t[kx]=t.y
522−end,"\71\69\84\84\65\66\85\80","\83\69\84\84\65\66\85\80")
522+end,"\u{47}\u{45}\u{54}\u{54}\u{41}\u{42}\u{55}\u{50}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{55}\u{50}")
523523check(function (a)
524524t[a()]=t[a()]
525−end,"\77\79\86\69","\67\65\76\76","\71\69\84\85\80\86\65\76","\77\79\86\69","\67\65\76\76","\71\69\84\85\80\86\65\76","\71\69\84\84\65\66\76\69","\83\69\84\84\65\66\76\69")
525+end,"\u{4d}\u{4f}\u{56}\u{45}","\u{43}\u{41}\u{4c}\u{4c}","\u{47}\u{45}\u{54}\u{55}\u{50}\u{56}\u{41}\u{4c}","\u{4d}\u{4f}\u{56}\u{45}","\u{43}\u{41}\u{4c}\u{4c}","\u{47}\u{45}\u{54}\u{55}\u{50}\u{56}\u{41}\u{4c}","\u{47}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}")
526526end
527527checkequal(function ()
528528local a
@@ -554,7 +554,7 @@ else
554554a=a + 1
555555end
556556end
557−end,"\84\69\83\84","\74\77\80","\84\69\83\84","\74\77\80","\65\68\68\73","\77\77\66\73\78\73","\74\77\80","\82\69\84\85\82\78\48")
557+end,"\u{54}\u{45}\u{53}\u{54}","\u{4a}\u{4d}\u{50}","\u{54}\u{45}\u{53}\u{54}","\u{4a}\u{4d}\u{50}","\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{4a}\u{4d}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
558558checkequal(function ()
559559return 6 or true or nil
560560end,function ()
@@ -566,7 +566,7 @@ end,function ()
566566return k6 and kTrue or kNil
567567end)
568568do
569−local k0 <const> = "\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48"
569+local k0 <const> = "\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}"
570570local function f1
571571()
572572local k <const> = k0
@@ -583,4 +583,4 @@ checkK(f3,k0)
583583assert(T.listk(f1)[1] == nil)
584584assert(T.listk(f2)[1] == nil)
585585end
586−print("\79\75")
586+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/constructs.lua+69−69
@@ -1,9 +1,9 @@
11;
22;
3−print("\116\101\115\116\105\110\103\32\115\121\110\116\97\120")
3+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{79}\u{6e}\u{74}\u{61}\u{78}")
44;
55;
6−local debug = require("\100\101\98\117\103")
6+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
77local function checkload
88(s,msg)
99assert(string.find(select(2,load(s)),msg))
@@ -41,9 +41,9 @@ assert(- 3 - 1 - 5 == 0 + 0 - 9)
4141assert(- 2 ^ 2 == - 4 and (- 2) ^ 2 == 4 and 2 * 2 - 3 - 1 == 0)
4242;
4343assert(- 3 % 5 == 2 and - 3 + 5 == 2)
44−assert(2 * 1 + 3 / 3 == 3 and 1 + 2 .. 3 * 1 == "\51\51")
44+assert(2 * 1 + 3 / 3 == 3 and 1 + 2 .. 3 * 1 == "\u{33}\u{33}")
4545;
46−assert(not (2 + 1 > 3 * 1) and "\97" .. "\98" > "\97")
46+assert(not (2 + 1 > 3 * 1) and "\u{61}" .. "\u{62}" > "\u{61}")
4747;
4848assert(240 | 204 ~ 170 & 253 == 244)
4949assert(253 & 170 ~ 204 | 240 == 244)
@@ -74,13 +74,13 @@ x,y=2,1
7474;
7575assert((x > y) and x or y == 2)
7676;
77−assert(1234567890 == tonumber("\49\50\51\52\53\54\55\56\57\48") and 1234567890 + 1 == 1234567891)
77+assert(1234567890 == tonumber("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}") and 1234567890 + 1 == 1234567891)
7878do
7979local operand = {3,100,5.0,- 10,- 5.0,10000,- 10000}
80−local operator = {"\43","\45","\42","\47","\47\47","\37","\94","\38","\124","\94","\60\60","\62\62","\61\61","\126\61","\60","\62","\60\61","\62\61"}
80+local operator = {"\u{2b}","\u{2d}","\u{2a}","\u{2f}","\u{2f}\u{2f}","\u{25}","\u{5e}","\u{26}","\u{7c}","\u{5e}","\u{3c}\u{3c}","\u{3e}\u{3e}","\u{3d}\u{3d}","\u{7e}\u{3d}","\u{3c}","\u{3e}","\u{3c}\u{3d}","\u{3e}\u{3d}"}
8181for _,op in ipairs(operator)
8282do
83−local f = assert(load(string.format("\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\120\44\121\41\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\114\101\116\117\114\110\32\120\32\37\115\32\121\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\101\110\100",op)))()
83+local f = assert(load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{78}\u{2c}\u{79}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{20}\u{25}\u{73}\u{20}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}",op)))()
8484;
8585for _,o1 in ipairs(operand)
8686do
@@ -88,14 +88,14 @@ for _,o2 in ipairs(operand)
8888do
8989local gab = f(o1,o2)
9090_ENV.XX=o1
91−local code = string.format("\114\101\116\117\114\110\32\88\88\32\37\115\32\37\115",op,o2)
91+local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{25}\u{73}\u{20}\u{25}\u{73}",op,o2)
9292local res = assert(load(code))()
9393assert(res == gab)
9494_ENV.XX=o2
95−code=string.format("\114\101\116\117\114\110\32\40\37\115\41\32\37\115\32\88\88",o1,op)
95+code=string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{25}\u{73}\u{29}\u{20}\u{25}\u{73}\u{20}\u{58}\u{58}",o1,op)
9696res=assert(load(code))()
9797assert(res == gab)
98−code=string.format("\114\101\116\117\114\110\32\40\37\115\41\32\37\115\32\37\115",o1,op,o2)
98+code=string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{25}\u{73}\u{29}\u{20}\u{25}\u{73}\u{20}\u{25}\u{73}",o1,op,o2)
9999res=assert(load(code))()
100100assert(res == gab)
101101end
@@ -124,20 +124,20 @@ local a
124124;
125125local function f
126126(x)
127−x={["\97"] = 1}
127+x={["\u{61}"] = 1}
128128;
129−x={["\120"] = 1}
129+x={["\u{78}"] = 1}
130130;
131−x={["\71"] = 1}
131+x={["\u{47}"] = 1}
132132end
133133end
134134do
135−local code = {"\108\111\99\97\108\32\120\32\61\32\123"}
135+local code = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{7b}"}
136136for i = 1, 257
137137do
138−code[# code + 1]=i .. "\46\49\44"
138+code[# code + 1]=i .. "\u{2e}\u{31}\u{2c}"
139139end
140−code[# code + 1]="\125\59"
140+code[# code + 1]="\u{7d}\u{3b}"
141141code=table.concat(code)
142142local function check
143143(ret,val)
@@ -145,15 +145,15 @@ local code = code .. ret
145145code=load(code)
146146assert(code() == val)
147147end
148−check("\114\101\116\117\114\110\32\40\49\32\126\32\40\50\32\111\114\32\51\41\41",1 ~ 2)
149−check("\114\101\116\117\114\110\32\40\49\32\124\32\40\50\32\111\114\32\51\41\41",1 | 2)
150−check("\114\101\116\117\114\110\32\40\49\32\43\32\40\50\32\111\114\32\51\41\41",1 + 2)
151−check("\114\101\116\117\114\110\32\40\49\32\60\60\32\40\50\32\111\114\32\51\41\41",1 << 2)
148+check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{7e}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",1 ~ 2)
149+check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{7c}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",1 | 2)
150+check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{2b}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",1 + 2)
151+check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{3c}\u{3c}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",1 << 2)
152152end
153153local function f
154154(i)
155−if type(i) ~= "\110\117\109\98\101\114" then
156−return i,"\106\111\106\111"
155+if type(i) ~= "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" then
156+return i,"\u{6a}\u{6f}\u{6a}\u{6f}"
157157end
158158;
159159if i > 0 then
@@ -166,26 +166,26 @@ x={f(3),f(5),f(10)}
166166assert(x[1] == 3 and x[2] == 5 and x[3] == 10 and x[4] == 9 and x[12] == 1)
167167;
168168assert(x[nil] == nil)
169−x={f("\97\108\111"),f("\120\105\120\105"),nil}
169+x={f("\u{61}\u{6c}\u{6f}"),f("\u{78}\u{69}\u{78}\u{69}"),nil}
170170;
171−assert(x[1] == "\97\108\111" and x[2] == "\120\105\120\105" and x[3] == nil)
171+assert(x[1] == "\u{61}\u{6c}\u{6f}" and x[2] == "\u{78}\u{69}\u{78}\u{69}" and x[3] == nil)
172172;
173−x={f("\97\108\111") .. "\120\105\120\105"}
173+x={f("\u{61}\u{6c}\u{6f}") .. "\u{78}\u{69}\u{78}\u{69}"}
174174;
175−assert(x[1] == "\97\108\111\120\105\120\105")
175+assert(x[1] == "\u{61}\u{6c}\u{6f}\u{78}\u{69}\u{78}\u{69}")
176176x={f({})}
177−assert(x[2] == "\106\111\106\111" and type(x[1]) == "\116\97\98\108\101")
177+assert(x[2] == "\u{6a}\u{6f}\u{6a}\u{6f}" and type(x[1]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
178178local f = function (i)
179179if i < 10 then
180−return "\97"
180+return "\u{61}"
181181elseif i < 20 then
182−return "\98"
182+return "\u{62}"
183183elseif i < 30 then
184−return "\99"
184+return "\u{63}"
185185end
186186;
187187end
188−assert(f(3) == "\97" and f(12) == "\98" and f(26) == "\99" and f(100) == nil)
188+assert(f(3) == "\u{61}" and f(12) == "\u{62}" and f(26) == "\u{63}" and f(100) == nil)
189189for i = 1, 1000
190190do
191191break
@@ -252,22 +252,22 @@ end
252252assert(f(1) == 10 and f(2) == 20 and f(3) == 30 and f(4) == 12)
253253local f = function (i)
254254if i < 10 then
255−return "\97"
255+return "\u{61}"
256256elseif i < 20 then
257−return "\98"
257+return "\u{62}"
258258elseif i < 30 then
259−return "\99"
259+return "\u{63}"
260260else
261261return 8
262262end
263263end
264−assert(f(3) == "\97" and f(12) == "\98" and f(26) == "\99" and f(100) == 8)
264+assert(f(3) == "\u{61}" and f(12) == "\u{62}" and f(26) == "\u{63}" and f(100) == 8)
265265local a,b = nil,23
266266x={f(100) * 2 + 3 or a,a or b + 2}
267267assert(x[1] == 19 and x[2] == 25)
268−x={["\102"] = 2 + 3 or a,["\97"] = b + 2}
268+x={["\u{66}"] = 2 + 3 or a,["\u{61}"] = b + 2}
269269assert(x.f == 5 and x.a == 25)
270−a={["\121"] = 1}
270+a={["\u{79}"] = 1}
271271x={a.y}
272272assert(x[1] == 1)
273273local function f
@@ -324,17 +324,17 @@ return nil or f()
324324end
325325a,b=g()
326326assert(a == 1 and b == nil)
327−print("\43")
327+print("\u{2b}")
328328;
329329do
330−local prog <const> = "\108\111\99\97\108\32\120\32\60\88\88\88\62\32\61\32\49\48"
331−checkload(prog,"\117\110\107\110\111\119\110\32\97\116\116\114\105\98\117\116\101\32\39\88\88\88\39")
332−checkload("\108\111\99\97\108\32\120\120\120\32\60\99\111\110\115\116\62\32\61\32\50\48\59\32\120\120\120\32\61\32\49\48","\58\49\58\32\97\116\116\101\109\112\116\32\116\111\32\97\115\115\105\103\110\32\116\111\32\99\111\110\115\116\32\118\97\114\105\97\98\108\101\32\39\120\120\120\39")
333−checkload("\32\32\32\32\108\111\99\97\108\32\120\120\59\10\32\32\32\32\108\111\99\97\108\32\120\120\120\32\60\99\111\110\115\116\62\32\61\32\50\48\59\10\32\32\32\32\108\111\99\97\108\32\121\121\121\59\10\32\32\32\32\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\102\111\111\32\40\41\10\32\32\32\32\32\32\108\111\99\97\108\32\97\98\99\32\61\32\120\120\32\43\32\121\121\121\32\43\32\120\120\120\59\10\32\32\32\32\32\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\41\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\41\32\120\120\120\32\61\32\121\121\121\32\101\110\100\32\101\110\100\10\32\32\32\32\101\110\100\10\32\32","\58\54\58\32\97\116\116\101\109\112\116\32\116\111\32\97\115\115\105\103\110\32\116\111\32\99\111\110\115\116\32\118\97\114\105\97\98\108\101\32\39\120\120\120\39")
334−checkload("\32\32\32\32\108\111\99\97\108\32\120\32\60\99\108\111\115\101\62\32\61\32\110\105\108\10\32\32\32\32\120\32\61\32\105\111\46\111\112\101\110\40\41\10\32\32","\58\50\58\32\97\116\116\101\109\112\116\32\116\111\32\97\115\115\105\103\110\32\116\111\32\99\111\110\115\116\32\118\97\114\105\97\98\108\101\32\39\120\39")
330+local prog <const> = "\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3c}\u{58}\u{58}\u{58}\u{3e}\u{20}\u{3d}\u{20}\u{31}\u{30}"
331+checkload(prog,"\u{75}\u{6e}\u{6b}\u{6e}\u{6f}\u{77}\u{6e}\u{20}\u{61}\u{74}\u{74}\u{72}\u{69}\u{62}\u{75}\u{74}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{27}")
332+checkload("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{78}\u{78}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{78}\u{78}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{30}","\u{3a}\u{31}\u{3a}\u{20}\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{61}\u{73}\u{73}\u{69}\u{67}\u{6e}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{27}\u{78}\u{78}\u{78}\u{27}")
333+checkload("\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{78}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{78}\u{78}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{32}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{79}\u{79}\u{79}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{62}\u{63}\u{20}\u{3d}\u{20}\u{78}\u{78}\u{20}\u{2b}\u{20}\u{79}\u{79}\u{79}\u{20}\u{2b}\u{20}\u{78}\u{78}\u{78}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{78}\u{78}\u{78}\u{20}\u{3d}\u{20}\u{79}\u{79}\u{79}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}","\u{3a}\u{36}\u{3a}\u{20}\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{61}\u{73}\u{73}\u{69}\u{67}\u{6e}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{27}\u{78}\u{78}\u{78}\u{27}")
334+checkload("\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3c}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{3e}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{69}\u{6f}\u{2e}\u{6f}\u{70}\u{65}\u{6e}\u{28}\u{29}\u{a}\u{20}\u{20}","\u{3a}\u{32}\u{3a}\u{20}\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{61}\u{73}\u{73}\u{69}\u{67}\u{6e}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{27}\u{78}\u{27}")
335335end
336−f="\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\32\97\32\44\32\98\32\44\32\99\32\44\32\100\32\44\32\101\32\41\10\32\32\108\111\99\97\108\32\120\32\61\32\97\32\62\61\32\98\32\111\114\32\99\32\111\114\32\40\32\100\32\97\110\100\32\101\32\41\32\111\114\32\110\105\108\10\32\32\114\101\116\117\114\110\32\120\10\101\110\100\32\44\32\123\32\97\32\61\32\49\32\44\32\98\32\61\32\50\32\62\61\32\49\32\44\32\125\32\111\114\32\123\32\49\32\125\59\10"
337−f=string.gsub(f,"\37\115\43","\10")
336+f="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{20}\u{61}\u{20}\u{2c}\u{20}\u{62}\u{20}\u{2c}\u{20}\u{63}\u{20}\u{2c}\u{20}\u{64}\u{20}\u{2c}\u{20}\u{65}\u{20}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{3e}\u{3d}\u{20}\u{62}\u{20}\u{6f}\u{72}\u{20}\u{63}\u{20}\u{6f}\u{72}\u{20}\u{28}\u{20}\u{64}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{65}\u{20}\u{29}\u{20}\u{6f}\u{72}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{a}\u{65}\u{6e}\u{64}\u{20}\u{2c}\u{20}\u{7b}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{20}\u{2c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{32}\u{20}\u{3e}\u{3d}\u{20}\u{31}\u{20}\u{2c}\u{20}\u{7d}\u{20}\u{6f}\u{72}\u{20}\u{7b}\u{20}\u{31}\u{20}\u{7d}\u{3b}\u{a}"
337+f=string.gsub(f,"\u{25}\u{73}\u{2b}","\u{a}")
338338;
339339f,a=load(f)()
340340;
@@ -357,19 +357,19 @@ return 0
357357end
358358;
359359assert(f(2,1) == true and g(2,1) == 1 and h(2,1) == 1)
360−assert(f(1,2,"\97") == "\97" and g(1,2,"\97") == 1 and h(1,2,"\97") == 1)
361−assert(f(1,2,"\97") ~= nil,"")
362−assert(f(1,2,"\97") == "\97" and g(1,2,"\97") == 1 and h(1,2,"\97") == 1)
363−assert(f(1,2,nil,1,"\120") == "\120" and g(1,2,nil,1,"\120") == 1 and h(1,2,nil,1,"\120") == 1)
364−assert(f(1,2,nil,nil,"\120") == nil and g(1,2,nil,nil,"\120") == 0 and h(1,2,nil,nil,"\120") == 0)
360+assert(f(1,2,"\u{61}") == "\u{61}" and g(1,2,"\u{61}") == 1 and h(1,2,"\u{61}") == 1)
361+assert(f(1,2,"\u{61}") ~= nil,"")
362+assert(f(1,2,"\u{61}") == "\u{61}" and g(1,2,"\u{61}") == 1 and h(1,2,"\u{61}") == 1)
363+assert(f(1,2,nil,1,"\u{78}") == "\u{78}" and g(1,2,nil,1,"\u{78}") == 1 and h(1,2,nil,1,"\u{78}") == 1)
364+assert(f(1,2,nil,nil,"\u{78}") == nil and g(1,2,nil,nil,"\u{78}") == 0 and h(1,2,nil,nil,"\u{78}") == 0)
365365assert(f(1,2,nil,1,nil) == nil and g(1,2,nil,1,nil) == 0 and h(1,2,nil,1,nil) == 0)
366−assert(1 and 2 < 3 == true and 2 < 3 and "\97" < "\98" == true)
366+assert(1 and 2 < 3 == true and 2 < 3 and "\u{61}" < "\u{62}" == true)
367367x=2 < 3 and not 3
368368;
369369assert(x == false)
370−x=2 < 1 or (2 > 1 and "\97")
370+x=2 < 1 or (2 > 1 and "\u{61}")
371371;
372−assert(x == "\97")
372+assert(x == "\u{61}")
373373do
374374local a
375375;
@@ -385,7 +385,7 @@ assert(a == 2)
385385end
386386local function F
387387(a)
388−assert(debug.getinfo(1,"\110").name == "\70")
388+assert(debug.getinfo(1,"\u{6e}").name == "\u{46}")
389389return a,2,3
390390end
391391a,b=F(1) ~= nil
@@ -396,23 +396,23 @@ a,b=F(nil) == nil
396396;
397397assert(a == true and b == nil)
398398_ENV.GLOB1=math.random(0,1)
399−local basiccases = {{"\110\105\108",nil},{"\102\97\108\115\101",false},{"\116\114\117\101",true},{"\49\48",10},{"\40\48\61\61\95\69\78\86\46\71\76\79\66\49\41",0 == _ENV.GLOB1}}
399+local basiccases = {{"\u{6e}\u{69}\u{6c}",nil},{"\u{66}\u{61}\u{6c}\u{73}\u{65}",false},{"\u{74}\u{72}\u{75}\u{65}",true},{"\u{31}\u{30}",10},{"\u{28}\u{30}\u{3d}\u{3d}\u{5f}\u{45}\u{4e}\u{56}\u{2e}\u{47}\u{4c}\u{4f}\u{42}\u{31}\u{29}",0 == _ENV.GLOB1}}
400400local prog
401401if _ENV.GLOB1 == 0 then
402−basiccases[2][1]="\70"
403−prog="\32\32\32\32\108\111\99\97\108\32\70\32\60\99\111\110\115\116\62\32\61\32\102\97\108\115\101\10\32\32\32\32\105\102\32\37\115\32\116\104\101\110\32\73\88\32\61\32\116\114\117\101\32\101\110\100\10\32\32\32\32\114\101\116\117\114\110\32\37\115\10"
402+basiccases[2][1]="\u{46}"
403+prog="\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{46}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{66}\u{61}\u{6c}\u{73}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{25}\u{73}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{49}\u{58}\u{20}\u{3d}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{73}\u{a}"
404404else
405−basiccases[4][1]="\107\49\48"
406−prog="\32\32\32\32\108\111\99\97\108\32\107\49\48\32\60\99\111\110\115\116\62\32\61\32\49\48\10\32\32\32\32\105\102\32\37\115\32\116\104\101\110\32\73\88\32\61\32\116\114\117\101\32\101\110\100\10\32\32\32\32\114\101\116\117\114\110\32\37\115\10\32\32"
405+basiccases[4][1]="\u{6b}\u{31}\u{30}"
406+prog="\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{6b}\u{31}\u{30}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{25}\u{73}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{49}\u{58}\u{20}\u{3d}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{73}\u{a}\u{20}\u{20}"
407407end
408−print("\116\101\115\116\105\110\103\32\115\104\111\114\116\45\99\105\114\99\117\105\116\32\111\112\116\105\109\105\122\97\116\105\111\110\115\32\40" .. _ENV.GLOB1 .. "\41")
409−local binops <const> = {{"\32\97\110\100\32",function (a,b)
408+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{2d}\u{63}\u{69}\u{72}\u{63}\u{75}\u{69}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6d}\u{69}\u{7a}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{28}" .. _ENV.GLOB1 .. "\u{29}")
409+local binops <const> = {{"\u{20}\u{61}\u{6e}\u{64}\u{20}",function (a,b)
410410if not a then
411411return a
412412else
413413return b
414414end
415−end},{"\32\111\114\32",function (a,b)
415+end},{"\u{20}\u{6f}\u{72}\u{20}",function (a,b)
416416if a then
417417return a
418418else
@@ -431,9 +431,9 @@ for _,v2 in ipairs(cases[n - i])
431431do
432432for _,op in ipairs(binops)
433433do
434−local t = {"\40" .. v1[1] .. op[1] .. v2[1] .. "\41",op[2](v1[2],v2[2])}
434+local t = {"\u{28}" .. v1[1] .. op[1] .. v2[1] .. "\u{29}",op[2](v1[2],v2[2])}
435435res[# res + 1]=t
436−res[# res + 1]={"\110\111\116" .. t[1],not t[2]}
436+res[# res + 1]={"\u{6e}\u{6f}\u{74}" .. t[1],not t[2]}
437437end
438438end
439439end
@@ -446,7 +446,7 @@ for i = 2, level
446446do
447447cases[i]=createcases(i)
448448end
449−print("\43")
449+print("\u{2b}")
450450local i = 0
451451for n = 1, level
452452do
@@ -458,12 +458,12 @@ IX=false
458458assert(p() == v[2] and IX == not not v[2])
459459i=i + 1
460460if i % 60000 == 0 then
461−print("\43")
461+print("\u{2b}")
462462end
463463end
464464end
465465IX=nil
466466_G.GLOB1=nil
467−checkload("\102\111\114\32\120\32\100\111","\101\120\112\101\99\116\101\100")
468−checkload("\120\58\99\97\108\108","\101\120\112\101\99\116\101\100")
469−print("\79\75")
467+checkload("\u{66}\u{6f}\u{72}\u{20}\u{78}\u{20}\u{64}\u{6f}","\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}")
468+checkload("\u{78}\u{3a}\u{63}\u{61}\u{6c}\u{6c}","\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}")
469+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/coroutine.lua+205−205
@@ -1,8 +1,8 @@
1−print("\116\101\115\116\105\110\103\32\99\111\114\111\117\116\105\110\101\115")
2−local debug = require("\100\101\98\117\103")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}")
2+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
33local f
44local main,ismain = coroutine.running()
5−assert(type(main) == "\116\104\114\101\97\100" and ismain)
5+assert(type(main) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}" and ismain)
66assert(not coroutine.resume(main))
77assert(not coroutine.isyieldable(main) and not coroutine.isyieldable())
88assert(not pcall(coroutine.yield))
@@ -24,7 +24,7 @@ local function foo
2424local x,y = coroutine.running()
2525assert(x == f and y == false)
2626assert(coroutine.resume(f) == false)
27−assert(coroutine.status(f) == "\114\117\110\110\105\110\103")
27+assert(coroutine.status(f) == "\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}")
2828local arg = {...}
2929assert(coroutine.isyieldable(x))
3030for i = 1, # arg
@@ -35,25 +35,25 @@ return table.unpack(a)
3535end
3636f=coroutine.create(foo)
3737assert(coroutine.isyieldable(f))
38−assert(type(f) == "\116\104\114\101\97\100" and coroutine.status(f) == "\115\117\115\112\101\110\100\101\100")
39−assert(string.find(tostring(f),"\116\104\114\101\97\100"))
38+assert(type(f) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}" and coroutine.status(f) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")
39+assert(string.find(tostring(f),"\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}"))
4040local s,a,b,c,d
41−s,a,b,c,d=coroutine.resume(f,{1,2,3},{},{1},{"\97","\98","\99"})
41+s,a,b,c,d=coroutine.resume(f,{1,2,3},{},{1},{"\u{61}","\u{62}","\u{63}"})
4242assert(coroutine.isyieldable(f))
43−assert(s and a == nil and coroutine.status(f) == "\115\117\115\112\101\110\100\101\100")
43+assert(s and a == nil and coroutine.status(f) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")
4444s,a,b,c,d=coroutine.resume(f)
4545eqtab(_G.x,{})
4646assert(s and a == 1 and b == nil)
4747assert(coroutine.isyieldable(f))
4848s,a,b,c,d=coroutine.resume(f,1,2,3)
4949eqtab(_G.x,{1,2,3})
50−assert(s and a == "\97" and b == "\98" and c == "\99" and d == nil)
51−s,a,b,c,d=coroutine.resume(f,"\120\117\120\117")
52−eqtab(_G.x,{"\120\117\120\117"})
50+assert(s and a == "\u{61}" and b == "\u{62}" and c == "\u{63}" and d == nil)
51+s,a,b,c,d=coroutine.resume(f,"\u{78}\u{75}\u{78}\u{75}")
52+eqtab(_G.x,{"\u{78}\u{75}\u{78}\u{75}"})
5353assert(s and a == 1 and b == 2 and c == 3 and d == nil)
54−assert(coroutine.status(f) == "\100\101\97\100")
55−s,a=coroutine.resume(f,"\120\117\120\117")
56−assert(not s and string.find(a,"\100\101\97\100") and coroutine.status(f) == "\100\101\97\100")
54+assert(coroutine.status(f) == "\u{64}\u{65}\u{61}\u{64}")
55+s,a=coroutine.resume(f,"\u{78}\u{75}\u{78}\u{75}")
56+assert(not s and string.find(a,"\u{64}\u{65}\u{61}\u{64}") and coroutine.status(f) == "\u{64}\u{65}\u{61}\u{64}")
5757_G.f=nil
5858local function foo
5959(i)
@@ -64,7 +64,7 @@ for i = 1, 10
6464do
6565assert(foo(i) == _G.x)
6666end
67−return "\97"
67+return "\u{61}"
6868end)
6969for i = 1, 10
7070do
@@ -72,9 +72,9 @@ _G.x=i
7272;
7373assert(f(i) == i)
7474end
75−_G.x="\120\117\120\117"
75+_G.x="\u{78}\u{75}\u{78}\u{75}"
7676;
77−assert(f("\120\117\120\117") == "\97")
77+assert(f("\u{78}\u{75}\u{78}\u{75}") == "\u{61}")
7878_G.x=nil
7979local function pf
8080(n,i)
@@ -123,26 +123,26 @@ x=filter(n,x)
123123end
124124assert(# a == 22 and a[# a] == 79)
125125x,a=nil
126−print("\116\111\45\98\101\45\99\108\111\115\101\100\32\118\97\114\105\97\98\108\101\115\32\105\110\32\99\111\114\111\117\116\105\110\101\115")
126+print("\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}")
127127local function func2close
128128(f)
129−return setmetatable({},{["\95\95\99\108\111\115\101"] = f})
129+return setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = f})
130130end
131131do
132132local co = coroutine.create(print)
133−assert(coroutine.resume(co,"\116\101\115\116\105\110\103\32\39\99\111\114\111\117\116\105\110\101\46\99\108\111\115\101\39"))
134−assert(coroutine.status(co) == "\100\101\97\100")
133+assert(coroutine.resume(co,"\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{27}"))
134+assert(coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")
135135local st,msg = coroutine.close(co)
136136assert(st and msg == nil)
137137st,msg=coroutine.close(co)
138138assert(st and msg == nil)
139139local st,msg = pcall(coroutine.close,coroutine.running())
140−assert(not st and string.find(msg,"\114\117\110\110\105\110\103"))
140+assert(not st and string.find(msg,"\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
141141local main = coroutine.running()
142142;
143143(coroutine.wrap(function ()
144144local st,msg = pcall(coroutine.close,main)
145−assert(not st and string.find(msg,"\110\111\114\109\97\108"))
145+assert(not st and string.find(msg,"\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}"))
146146end))()
147147do
148148local co
@@ -155,7 +155,7 @@ end)
155155local st,msg = coroutine.resume(co)
156156assert(st and msg == 20)
157157st,msg=coroutine.close(co)
158−assert(not st and string.find(msg,"\114\117\110\110\105\110\103\32\99\111\114\111\117\116\105\110\101"))
158+assert(not st and string.find(msg,"\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}"))
159159end
160160local X
161161local co = coroutine.create(error)
@@ -177,7 +177,7 @@ end)
177177coroutine.resume(co)
178178assert(X)
179179assert(coroutine.close(co))
180−assert(not X and coroutine.status(co) == "\100\101\97\100")
180+assert(not X and coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")
181181local x = 0
182182co=coroutine.create(function ()
183183local y <close> = func2close(function (self,err)
@@ -195,7 +195,7 @@ end)
195195coroutine.resume(co)
196196assert(x == 0)
197197local st,msg = coroutine.close(co)
198−assert(st == false and coroutine.status(co) == "\100\101\97\100" and msg == 200)
198+assert(st == false and coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}" and msg == 200)
199199assert(x == 200)
200200st,msg=coroutine.close(co)
201201assert(st and msg == nil)
@@ -216,7 +216,7 @@ return pcall(foo)
216216end)
217217local st1,st2,err = coroutine.resume(co)
218218assert(st1 and not st2 and err == 43)
219−assert(X == 43 and Y.what == "\67")
219+assert(X == 43 and Y.what == "\u{43}")
220220local track = {}
221221local function h
222222(o)
@@ -247,7 +247,7 @@ local co = coroutine.create(pcall)
247247local st,res = coroutine.resume(co,foo)
248248assert(st and res == 1)
249249local st,res1,res2 = coroutine.resume(co)
250−assert(coroutine.status(co) == "\100\101\97\100")
250+assert(coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")
251251assert(st and not res1 and res2 == 20)
252252assert(track[1] == false and track[2] == 2 and track[3] == 10 and track[4] == 10)
253253end
@@ -307,10 +307,10 @@ return c .. c
307307end
308308local co = coroutine.wrap(function (c)
309309assert(coroutine.isyieldable())
310−local s = string.gsub("\97","\46",f)
310+local s = string.gsub("\u{61}","\u{2e}",f)
311311return s
312312end)
313−assert(co() == "\97\97")
313+assert(co() == "\u{61}\u{61}")
314314end
315315do
316316local X
@@ -323,11 +323,11 @@ local function dotrace
323323(event)
324324trace[# trace + 1]=event
325325end
326−debug.sethook(co,dotrace,"\99\108\114")
326+debug.sethook(co,dotrace,"\u{63}\u{6c}\u{72}")
327327repeat
328328
329329until not coroutine.resume(co)
330−local correcttrace = {"\99\97\108\108","\108\105\110\101","\99\97\108\108","\114\101\116\117\114\110","\108\105\110\101","\114\101\116\117\114\110"}
330+local correcttrace = {"\u{63}\u{61}\u{6c}\u{6c}","\u{6c}\u{69}\u{6e}\u{65}","\u{63}\u{61}\u{6c}\u{6c}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}","\u{6c}\u{69}\u{6e}\u{65}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"}
331331assert(# trace == # correcttrace)
332332for k,v in pairs(trace)
333333do
@@ -351,9 +351,9 @@ x=coroutine.create(goo)
351351a,b=coroutine.resume(x)
352352assert(a and b == 3)
353353a,b=coroutine.resume(x)
354−assert(not a and b == foo and coroutine.status(x) == "\100\101\97\100")
354+assert(not a and b == foo and coroutine.status(x) == "\u{64}\u{65}\u{61}\u{64}")
355355a,b=coroutine.resume(x)
356−assert(not a and string.find(b,"\100\101\97\100") and coroutine.status(x) == "\100\101\97\100")
356+assert(not a and string.find(b,"\u{64}\u{65}\u{61}\u{64}") and coroutine.status(x) == "\u{64}\u{65}\u{61}\u{64}")
357357goo=nil
358358local function all
359359(a,n,k)
@@ -377,7 +377,7 @@ end
377377assert(a == 5 ^ 4)
378378local C = {}
379379;
380−setmetatable(C,{["\95\95\109\111\100\101"] = "\107\118"})
380+setmetatable(C,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
381381local x = coroutine.wrap(function ()
382382local a = 10
383383local function f
@@ -432,7 +432,7 @@ end)
432432return pcall(A,1)
433433end)
434434st,res=A()
435−assert(not st and string.find(res,"\110\111\110\37\45\115\117\115\112\101\110\100\101\100") and X == true)
435+assert(not st and string.find(res,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}") and X == true)
436436end
437437do
438438local co
@@ -445,20 +445,20 @@ end)
445445local st,errobj = pcall(co)
446446assert(not st and errobj == 111)
447447st,errobj=pcall(co)
448−assert(not st and string.find(errobj,"\100\101\97\100\32\99\111\114\111\117\116\105\110\101"))
448+assert(not st and string.find(errobj,"\u{64}\u{65}\u{61}\u{64}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}"))
449449end
450450local co1,co2
451451co1=coroutine.create(function ()
452452return co2()
453453end)
454454co2=coroutine.wrap(function ()
455−assert(coroutine.status(co1) == "\110\111\114\109\97\108")
455+assert(coroutine.status(co1) == "\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
456456assert(not coroutine.resume(co1))
457457coroutine.yield(3)
458458end)
459459a,b=coroutine.resume(co1)
460460assert(a and b == 3)
461−assert(coroutine.status(co1) == "\100\101\97\100")
461+assert(coroutine.status(co1) == "\u{64}\u{65}\u{61}\u{64}")
462462a=function (a)
463463coroutine.wrap(a)(a)
464464end
@@ -471,7 +471,7 @@ a=a + 1
471471;
472472return a
473473end
474−error("\120")
474+error("\u{78}")
475475end)
476476assert(not coroutine.resume(x))
477477assert(not coroutine.resume(x,1,1,1,1,1,1,1))
@@ -479,9 +479,9 @@ assert(_G.F() == 11)
479479assert(_G.F() == 12)
480480_G.F=nil
481481if not T then
482−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\99\111\114\111\117\116\105\110\101\32\65\80\73\32\116\101\115\116\115\32\60\60\60\10")
482+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{41}\u{50}\u{49}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
483483else
484−print("\116\101\115\116\105\110\103\32\121\105\101\108\100\115\32\105\110\115\105\100\101\32\104\111\111\107\115")
484+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{68}\u{6f}\u{6f}\u{6b}\u{73}")
485485local turn
486486local function fact
487487(t,x)
@@ -494,21 +494,21 @@ end
494494end
495495local A,B = 0,0
496496local x = coroutine.create(function ()
497−T.sethook("\121\105\101\108\100\32\48","",2)
498−A=fact("\65",6)
497+T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",2)
498+A=fact("\u{41}",6)
499499end)
500500local y = coroutine.create(function ()
501−T.sethook("\121\105\101\108\100\32\48","",3)
502−B=fact("\66",7)
501+T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",3)
502+B=fact("\u{42}",7)
503503end)
504504while A == 0 or B == 0 do
505505if A == 0 then
506−turn="\65"
506+turn="\u{41}"
507507;
508508assert(T.resume(x))
509509end
510510if B == 0 then
511−turn="\66"
511+turn="\u{42}"
512512;
513513assert(T.resume(y))
514514end
@@ -527,7 +527,7 @@ for i = 1, n
527527do
528528a[i]=i
529529end
530−T.sethook("\112\117\115\104\105\110\116\32\49\48\59\32\121\105\101\108\100\32\48","",1)
530+T.sethook("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",1)
531531local a1 = {table.unpack(a)}
532532assert(# a1 == n)
533533for i = 1, n
@@ -558,7 +558,7 @@ while not done do
558558co()
559559end
560560end
561−local line = debug.getinfo(1,"\108").currentline + 2
561+local line = debug.getinfo(1,"\u{6c}").currentline + 2
562562local function foo
563563()
564564local x = 10
@@ -566,7 +566,7 @@ x=x + 10
566566_G.XX=x
567567end
568568local co = coroutine.wrap(function ()
569−T.sethook("\115\101\116\103\108\111\98\97\108\32\88\59\32\121\105\101\108\100\32\48","\108",0)
569+T.sethook("\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{58}\u{3b}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","\u{6c}",0)
570570;
571571foo()
572572;
@@ -597,7 +597,7 @@ assert(_G.X == line + 3 and _G.XX == 20)
597597assert(co() == 10)
598598_G.X=nil
599599co=coroutine.wrap(function ()
600−T.sethook("\121\105\101\108\100\32\48","",1)
600+T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",1)
601601;
602602foo()
603603;
@@ -613,7 +613,7 @@ local a = co()
613613until a == 10
614614assert(_G.XX == 20 and c >= 5)
615615co=coroutine.wrap(function ()
616−T.sethook("\121\105\101\108\100\32\48","",2)
616+T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",2)
617617;
618618foo()
619619;
@@ -633,27 +633,27 @@ _G.X=nil
633633_G.XX=nil
634634do
635635c=coroutine.create(function (a, ...)
636−T.sethook("\121\105\101\108\100\32\48","\108")
636+T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","\u{6c}")
637637local b = a
638638return ...
639639end)
640640assert(coroutine.resume(c,1,2,3))
641641local n,v = debug.getlocal(c,0,1)
642−assert(n == "\97" and v == 1 and debug.getlocal(c,0,2) ~= "\98")
642+assert(n == "\u{61}" and v == 1 and debug.getlocal(c,0,2) ~= "\u{62}")
643643assert(debug.setlocal(c,0,1,10))
644644local t = debug.getinfo(c,0)
645645assert(t.currentline == t.linedefined + 2)
646646assert(not debug.getinfo(c,1))
647647assert(coroutine.resume(c))
648648local n,v = debug.getlocal(c,0,2)
649−assert(n == "\98" and v == 10)
649+assert(n == "\u{62}" and v == 10)
650650v={coroutine.resume(c)}
651651assert(v[1] == true and v[2] == 2 and v[3] == 3 and v[4] == undef)
652652assert(not coroutine.resume(c))
653653end
654654do
655655local c = coroutine.create(function ()
656−T.testC("\121\105\101\108\100\32\49",10,20)
656+T.testC("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{31}",10,20)
657657end)
658658local a,b = coroutine.resume(c)
659659assert(a and b == 20)
@@ -661,32 +661,32 @@ assert(debug.getinfo(c,0).linedefined == - 1)
661661a,b=debug.getlocal(c,0,2)
662662assert(b == 10)
663663end
664−print("\116\101\115\116\105\110\103\32\99\111\114\111\117\116\105\110\101\32\65\80\73")
665−assert(T.testC("\32\32\32\32\110\101\119\116\104\114\101\97\100\32\32\32\32\32\32\35\32\99\114\101\97\116\101\32\116\104\114\101\97\100\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\50\32\32\32\32\35\32\112\117\115\104\32\98\111\100\121\10\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\39\97\32\97\32\97\39\32\32\35\32\112\117\115\104\32\97\114\103\117\109\101\110\116\10\32\32\32\32\120\109\111\118\101\32\48\32\51\32\50\32\32\32\35\32\109\111\118\101\32\118\97\108\117\101\115\32\116\111\32\110\101\119\32\116\104\114\101\97\100\10\32\32\32\32\114\101\115\117\109\101\32\45\49\44\32\49\32\32\32\32\35\32\99\97\108\108\32\105\116\32\102\105\114\115\116\32\116\105\109\101\10\32\32\32\32\112\117\115\104\115\116\97\116\117\115\10\32\32\32\32\120\109\111\118\101\32\51\32\48\32\48\32\32\32\35\32\109\111\118\101\32\114\101\115\117\108\116\115\32\98\97\99\107\32\116\111\32\115\116\97\99\107\10\32\32\32\32\115\101\116\103\108\111\98\97\108\32\88\32\32\32\32\35\32\114\101\115\117\108\116\10\32\32\32\32\115\101\116\103\108\111\98\97\108\32\89\32\32\32\32\35\32\115\116\97\116\117\115\10\32\32\32\32\112\117\115\104\118\97\108\117\101\32\50\32\32\32\32\32\35\32\112\117\115\104\32\98\111\100\121\32\40\116\111\32\99\97\108\108\32\105\116\32\97\103\97\105\110\41\10\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\39\98\32\98\32\98\39\10\32\32\32\32\120\109\111\118\101\32\48\32\51\32\50\10\32\32\32\32\114\101\115\117\109\101\32\45\49\44\32\49\32\32\32\32\35\32\99\97\108\108\32\105\116\32\97\103\97\105\110\10\32\32\32\32\112\117\115\104\115\116\97\116\117\115\10\32\32\32\32\120\109\111\118\101\32\51\32\48\32\48\10\32\32\32\32\114\101\116\117\114\110\32\49\32\32\32\32\32\32\32\32\35\32\114\101\116\117\114\110\32\114\101\115\117\108\116\10\32\32",function (...)
664+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{41}\u{50}\u{49}")
665+assert(T.testC("\u{20}\u{20}\u{20}\u{20}\u{6e}\u{65}\u{77}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{62}\u{6f}\u{64}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{61}\u{20}\u{61}\u{20}\u{61}\u{27}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{30}\u{20}\u{33}\u{20}\u{32}\u{20}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}\u{20}\u{74}\u{6f}\u{20}\u{6e}\u{65}\u{77}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{31}\u{2c}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{20}\u{30}\u{20}\u{30}\u{20}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}\u{20}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{74}\u{6f}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{58}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{62}\u{6f}\u{64}\u{79}\u{20}\u{28}\u{74}\u{6f}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{61}\u{67}\u{61}\u{69}\u{6e}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{62}\u{20}\u{62}\u{20}\u{62}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{30}\u{20}\u{33}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{31}\u{2c}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{61}\u{67}\u{61}\u{69}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{20}\u{30}\u{20}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{a}\u{20}\u{20}",function (...)
666666return ...
667−end) == "\98\32\98\32\98")
668−assert(X == "\97\32\97\32\97" and Y == "\79\75")
667+end) == "\u{62}\u{20}\u{62}\u{20}\u{62}")
668+assert(X == "\u{61}\u{20}\u{61}\u{20}\u{61}" and Y == "\u{4f}\u{4b}")
669669X,Y=nil
670670C=coroutine.create(function ()
671−return T.testC("\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\112\117\115\104\110\117\109\32\49\48\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\112\117\115\104\110\117\109\32\50\48\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\114\101\115\117\109\101\32\45\51\32\50\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\112\117\115\104\115\116\97\116\117\115\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\103\101\116\116\111\112\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\114\101\116\117\114\110\32\51",C)
671+return T.testC("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{33}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",C)
672672end)
673673local a,b,c,d = coroutine.resume(C)
674−assert(a == true and string.find(b,"\110\111\110\37\45\115\117\115\112\101\110\100\101\100") and c == "\69\82\82\82\85\78" and d == 4)
675−a,b,c,d=T.testC("\32\32\32\32\114\97\119\103\101\116\105\32\82\32\49\32\32\32\32\35\32\103\101\116\32\109\97\105\110\32\116\104\114\101\97\100\10\32\32\32\32\112\117\115\104\110\117\109\32\49\48\59\10\32\32\32\32\112\117\115\104\110\117\109\32\50\48\59\10\32\32\32\32\114\101\115\117\109\101\32\45\51\32\50\59\10\32\32\32\32\112\117\115\104\115\116\97\116\117\115\10\32\32\32\32\103\101\116\116\111\112\59\10\32\32\32\32\114\101\116\117\114\110\32\52")
676−assert(a == coroutine.running() and string.find(b,"\110\111\110\37\45\115\117\115\112\101\110\100\101\100") and c == "\69\82\82\82\85\78" and d == 4)
674+assert(a == true and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}") and c == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and d == 4)
675+a,b,c,d=T.testC("\u{20}\u{20}\u{20}\u{20}\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{6d}\u{61}\u{69}\u{6e}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{33}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}")
676+assert(a == coroutine.running() and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}") and c == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and d == 4)
677677local state = T.newstate()
678−assert(T.testC(state,"\110\101\119\116\104\114\101\97\100\59\32\105\115\121\105\101\108\100\97\98\108\101\32\45\49\59\32\114\101\109\111\118\101\32\49\59\32\114\101\116\117\114\110\32\49"))
679−assert(not T.testC(state,"\114\97\119\103\101\116\105\32\82\32\49\59\32\105\115\121\105\101\108\100\97\98\108\101\32\45\49\59\32\114\101\109\111\118\101\32\49\59\32\114\101\116\117\114\110\32\49"))
680−T.testC(state,"\115\101\116\116\111\112\32\48")
678+assert(T.testC(state,"\u{6e}\u{65}\u{77}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{3b}\u{20}\u{69}\u{73}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
679+assert(not T.testC(state,"\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{3b}\u{20}\u{69}\u{73}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
680+T.testC(state,"\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{30}")
681681T.loadlib(state)
682−assert(T.doremote(state,"\32\32\32\32\99\111\114\111\117\116\105\110\101\32\61\32\114\101\113\117\105\114\101\39\99\111\114\111\117\116\105\110\101\39\59\10\32\32\32\32\88\32\61\32\102\117\110\99\116\105\111\110\32\40\120\41\32\99\111\114\111\117\116\105\110\101\46\121\105\101\108\100\40\120\44\32\39\66\66\39\41\59\32\114\101\116\117\114\110\32\39\67\67\39\32\101\110\100\59\10\32\32\32\32\114\101\116\117\114\110\32\39\111\107\39"))
683−local t = table.pack(T.testC(state,"\32\32\32\32\114\97\119\103\101\116\105\32\82\32\49\32\32\32\32\32\35\32\103\101\116\32\109\97\105\110\32\116\104\114\101\97\100\10\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\39\88\88\39\10\32\32\32\32\103\101\116\103\108\111\98\97\108\32\88\32\32\32\32\35\32\103\101\116\32\102\117\110\99\116\105\111\110\32\102\111\114\32\98\111\100\121\10\32\32\32\32\112\117\115\104\115\116\114\105\110\103\32\65\65\32\32\32\32\32\32\35\32\97\114\103\10\32\32\32\32\114\101\115\117\109\101\32\49\32\49\32\32\32\32\32\32\35\32\39\114\101\115\117\109\101\39\32\115\104\97\100\111\119\115\32\112\114\101\118\105\111\117\115\32\115\116\97\99\107\33\10\32\32\32\32\103\101\116\116\111\112\10\32\32\32\32\115\101\116\103\108\111\98\97\108\32\84\32\32\32\32\35\32\116\111\112\10\32\32\32\32\115\101\116\103\108\111\98\97\108\32\66\32\32\32\32\35\32\115\101\99\111\110\100\32\121\105\101\108\100\101\100\32\118\97\108\117\101\10\32\32\32\32\115\101\116\103\108\111\98\97\108\32\65\32\32\32\32\35\32\102\105\115\116\32\121\105\101\108\100\101\100\32\118\97\108\117\101\10\32\32\32\32\114\97\119\103\101\116\105\32\82\32\49\32\32\32\32\32\35\32\103\101\116\32\109\97\105\110\32\116\104\114\101\97\100\10\32\32\32\32\112\117\115\104\110\117\109\32\53\32\32\32\32\32\32\32\35\32\97\114\103\32\40\110\111\105\115\101\41\10\32\32\32\32\114\101\115\117\109\101\32\49\32\49\32\32\32\32\32\32\35\32\97\102\116\101\114\32\99\111\114\111\117\116\105\110\101\32\101\110\100\115\44\32\112\114\101\118\105\111\117\115\32\115\116\97\99\107\32\105\115\32\98\97\99\107\10\32\32\32\32\112\117\115\104\115\116\97\116\117\115\10\32\32\32\32\114\101\116\117\114\110\32\42\10\32\32"))
684−assert(t.n == 4 and t[2] == "\88\88" and t[3] == "\67\67" and t[4] == "\79\75")
685−assert(T.doremote(state,"\114\101\116\117\114\110\32\84") == "\50")
686−assert(T.doremote(state,"\114\101\116\117\114\110\32\65") == "\65\65")
687−assert(T.doremote(state,"\114\101\116\117\114\110\32\66") == "\66\66")
682+assert(T.doremote(state,"\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{27}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{58}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{78}\u{29}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{28}\u{78}\u{2c}\u{20}\u{27}\u{42}\u{42}\u{27}\u{29}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{43}\u{43}\u{27}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{6f}\u{6b}\u{27}"))
683+local t = table.pack(T.testC(state,"\u{20}\u{20}\u{20}\u{20}\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{6d}\u{61}\u{69}\u{6e}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{58}\u{58}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{58}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{62}\u{6f}\u{64}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{41}\u{41}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{61}\u{72}\u{67}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{31}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{27}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{27}\u{20}\u{73}\u{68}\u{61}\u{64}\u{6f}\u{77}\u{73}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{54}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{6f}\u{70}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{42}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{65}\u{64}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{41}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{66}\u{69}\u{73}\u{74}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{65}\u{64}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{6d}\u{61}\u{69}\u{6e}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{35}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{61}\u{72}\u{67}\u{20}\u{28}\u{6e}\u{6f}\u{69}\u{73}\u{65}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{31}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{61}\u{66}\u{74}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{65}\u{6e}\u{64}\u{73}\u{2c}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{69}\u{73}\u{20}\u{62}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{a}\u{20}\u{20}"))
684+assert(t.n == 4 and t[2] == "\u{58}\u{58}" and t[3] == "\u{43}\u{43}" and t[4] == "\u{4f}\u{4b}")
685+assert(T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{54}") == "\u{32}")
686+assert(T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{41}") == "\u{41}\u{41}")
687+assert(T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{42}") == "\u{42}\u{42}")
688688T.closestate(state)
689−print("\43")
689+print("\u{2b}")
690690end
691691_G.TO_SURVIVE=coroutine.wrap(function ()
692692local a = 10
@@ -710,103 +710,103 @@ assert(j < lim or not r)
710710end
711711end
712712assert(coroutine.running() == main)
713−print("\43")
714−print("\116\101\115\116\105\110\103\32\121\105\101\108\100\115\32\105\110\115\105\100\101\32\109\101\116\97\109\101\116\104\111\100\115")
713+print("\u{2b}")
714+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{73}")
715715local function val
716716(x)
717−if type(x) == "\116\97\98\108\101" then
717+if type(x) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
718718return x.x
719719else
720720return x
721721end
722722end
723−local mt = {["\95\95\101\113"] = function (a,b)
724−coroutine.yield(nil,"\101\113")
723+local mt = {["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
724+coroutine.yield(nil,"\u{65}\u{71}")
725725;
726726return val(a) == val(b)
727−end,["\95\95\108\116"] = function (a,b)
728−coroutine.yield(nil,"\108\116")
727+end,["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
728+coroutine.yield(nil,"\u{6c}\u{74}")
729729;
730730return val(a) < val(b)
731−end,["\95\95\108\101"] = function (a,b)
732−coroutine.yield(nil,"\108\101")
731+end,["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
732+coroutine.yield(nil,"\u{6c}\u{65}")
733733;
734734return a - b <= 0
735−end,["\95\95\97\100\100"] = function (a,b)
736−coroutine.yield(nil,"\97\100\100")
735+end,["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = function (a,b)
736+coroutine.yield(nil,"\u{61}\u{64}\u{64}")
737737;
738738return val(a) + val(b)
739−end,["\95\95\115\117\98"] = function (a,b)
740−coroutine.yield(nil,"\115\117\98")
739+end,["\u{5f}\u{5f}\u{73}\u{75}\u{62}"] = function (a,b)
740+coroutine.yield(nil,"\u{73}\u{75}\u{62}")
741741;
742742return val(a) - val(b)
743−end,["\95\95\109\117\108"] = function (a,b)
744−coroutine.yield(nil,"\109\117\108")
743+end,["\u{5f}\u{5f}\u{6d}\u{75}\u{6c}"] = function (a,b)
744+coroutine.yield(nil,"\u{6d}\u{75}\u{6c}")
745745;
746746return val(a) * val(b)
747−end,["\95\95\100\105\118"] = function (a,b)
748−coroutine.yield(nil,"\100\105\118")
747+end,["\u{5f}\u{5f}\u{64}\u{69}\u{76}"] = function (a,b)
748+coroutine.yield(nil,"\u{64}\u{69}\u{76}")
749749;
750750return val(a) / val(b)
751−end,["\95\95\105\100\105\118"] = function (a,b)
752−coroutine.yield(nil,"\105\100\105\118")
751+end,["\u{5f}\u{5f}\u{69}\u{64}\u{69}\u{76}"] = function (a,b)
752+coroutine.yield(nil,"\u{69}\u{64}\u{69}\u{76}")
753753;
754754return val(a) // val(b)
755−end,["\95\95\112\111\119"] = function (a,b)
756−coroutine.yield(nil,"\112\111\119")
755+end,["\u{5f}\u{5f}\u{70}\u{6f}\u{77}"] = function (a,b)
756+coroutine.yield(nil,"\u{70}\u{6f}\u{77}")
757757;
758758return val(a) ^ val(b)
759−end,["\95\95\109\111\100"] = function (a,b)
760−coroutine.yield(nil,"\109\111\100")
759+end,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = function (a,b)
760+coroutine.yield(nil,"\u{6d}\u{6f}\u{64}")
761761;
762762return val(a) % val(b)
763−end,["\95\95\117\110\109"] = function (a,b)
764−coroutine.yield(nil,"\117\110\109")
763+end,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = function (a,b)
764+coroutine.yield(nil,"\u{75}\u{6e}\u{6d}")
765765;
766766return - val(a)
767−end,["\95\95\98\110\111\116"] = function (a,b)
768−coroutine.yield(nil,"\98\110\111\116")
767+end,["\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}"] = function (a,b)
768+coroutine.yield(nil,"\u{62}\u{6e}\u{6f}\u{74}")
769769;
770770return ~ val(a)
771−end,["\95\95\115\104\108"] = function (a,b)
772−coroutine.yield(nil,"\115\104\108")
771+end,["\u{5f}\u{5f}\u{73}\u{68}\u{6c}"] = function (a,b)
772+coroutine.yield(nil,"\u{73}\u{68}\u{6c}")
773773;
774774return val(a) << val(b)
775−end,["\95\95\115\104\114"] = function (a,b)
776−coroutine.yield(nil,"\115\104\114")
775+end,["\u{5f}\u{5f}\u{73}\u{68}\u{72}"] = function (a,b)
776+coroutine.yield(nil,"\u{73}\u{68}\u{72}")
777777;
778778return val(a) >> val(b)
779−end,["\95\95\98\97\110\100"] = function (a,b)
780−coroutine.yield(nil,"\98\97\110\100")
779+end,["\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}"] = function (a,b)
780+coroutine.yield(nil,"\u{62}\u{61}\u{6e}\u{64}")
781781return val(a) & val(b)
782−end,["\95\95\98\111\114"] = function (a,b)
783−coroutine.yield(nil,"\98\111\114")
782+end,["\u{5f}\u{5f}\u{62}\u{6f}\u{72}"] = function (a,b)
783+coroutine.yield(nil,"\u{62}\u{6f}\u{72}")
784784;
785785return val(a) | val(b)
786−end,["\95\95\98\120\111\114"] = function (a,b)
787−coroutine.yield(nil,"\98\120\111\114")
786+end,["\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}"] = function (a,b)
787+coroutine.yield(nil,"\u{62}\u{78}\u{6f}\u{72}")
788788;
789789return val(a) ~ val(b)
790−end,["\95\95\99\111\110\99\97\116"] = function (a,b)
791−coroutine.yield(nil,"\99\111\110\99\97\116")
790+end,["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
791+coroutine.yield(nil,"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")
792792;
793793return val(a) .. val(b)
794−end,["\95\95\105\110\100\101\120"] = function (t,k)
795−coroutine.yield(nil,"\105\100\120")
794+end,["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k)
795+coroutine.yield(nil,"\u{69}\u{64}\u{78}")
796796;
797797return t.k[k]
798−end,["\95\95\110\101\119\105\110\100\101\120"] = function (t,k,v)
799−coroutine.yield(nil,"\110\105\100\120")
798+end,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k,v)
799+coroutine.yield(nil,"\u{6e}\u{69}\u{64}\u{78}")
800800;
801801t.k[k]=v
802802end}
803803local function new
804804(x)
805−return setmetatable({["\120"] = x,["\107"] = {}},mt)
805+return setmetatable({["\u{78}"] = x,["\u{6b}"] = {}},mt)
806806end
807807local a = new(10)
808808local b = new(12)
809−local c = new("\104\101\108\108\111")
809+local c = new("\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
810810local function run
811811(f,t)
812812local i = 1
@@ -824,149 +824,149 @@ end
824824end
825825assert(run(function ()
826826if (a >= b) then
827−return "\62\61"
827+return "\u{3e}\u{3d}"
828828else
829−return "\60"
829+return "\u{3c}"
830830end
831−end,{"\108\101","\115\117\98"}) == "\60")
831+end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}")
832832assert(run(function ()
833833if (a <= b) then
834−return "\60\61"
834+return "\u{3c}\u{3d}"
835835else
836−return "\62"
836+return "\u{3e}"
837837end
838−end,{"\108\101","\115\117\98"}) == "\60\61")
838+end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}\u{3d}")
839839assert(run(function ()
840840if (a == b) then
841−return "\61\61"
841+return "\u{3d}\u{3d}"
842842else
843−return "\126\61"
843+return "\u{7e}\u{3d}"
844844end
845−end,{"\101\113"}) == "\126\61")
845+end,{"\u{65}\u{71}"}) == "\u{7e}\u{3d}")
846846assert(run(function ()
847847return a & b + a
848−end,{"\97\100\100","\98\97\110\100"}) == 2)
848+end,{"\u{61}\u{64}\u{64}","\u{62}\u{61}\u{6e}\u{64}"}) == 2)
849849assert(run(function ()
850850return 1 + a
851−end,{"\97\100\100"}) == 11)
851+end,{"\u{61}\u{64}\u{64}"}) == 11)
852852assert(run(function ()
853853return a - 25
854−end,{"\115\117\98"}) == - 15)
854+end,{"\u{73}\u{75}\u{62}"}) == - 15)
855855assert(run(function ()
856856return 2 * a
857−end,{"\109\117\108"}) == 20)
857+end,{"\u{6d}\u{75}\u{6c}"}) == 20)
858858assert(run(function ()
859859return a ^ 2
860−end,{"\112\111\119"}) == 100)
860+end,{"\u{70}\u{6f}\u{77}"}) == 100)
861861assert(run(function ()
862862return a / 2
863−end,{"\100\105\118"}) == 5)
863+end,{"\u{64}\u{69}\u{76}"}) == 5)
864864assert(run(function ()
865865return a % 6
866−end,{"\109\111\100"}) == 4)
866+end,{"\u{6d}\u{6f}\u{64}"}) == 4)
867867assert(run(function ()
868868return a // 3
869−end,{"\105\100\105\118"}) == 3)
869+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 3)
870870assert(run(function ()
871871return a + b
872−end,{"\97\100\100"}) == 22)
872+end,{"\u{61}\u{64}\u{64}"}) == 22)
873873assert(run(function ()
874874return a - b
875−end,{"\115\117\98"}) == - 2)
875+end,{"\u{73}\u{75}\u{62}"}) == - 2)
876876assert(run(function ()
877877return a * b
878−end,{"\109\117\108"}) == 120)
878+end,{"\u{6d}\u{75}\u{6c}"}) == 120)
879879assert(run(function ()
880880return a ^ b
881−end,{"\112\111\119"}) == 10 ^ 12)
881+end,{"\u{70}\u{6f}\u{77}"}) == 10 ^ 12)
882882assert(run(function ()
883883return a / b
884−end,{"\100\105\118"}) == 10 / 12)
884+end,{"\u{64}\u{69}\u{76}"}) == 10 / 12)
885885assert(run(function ()
886886return a % b
887−end,{"\109\111\100"}) == 10)
887+end,{"\u{6d}\u{6f}\u{64}"}) == 10)
888888assert(run(function ()
889889return a // b
890−end,{"\105\100\105\118"}) == 0)
890+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0)
891891local a1000 = new(1000)
892892assert(run(function ()
893893return a1000 + 1000
894−end,{"\97\100\100"}) == 2000)
894+end,{"\u{61}\u{64}\u{64}"}) == 2000)
895895assert(run(function ()
896896return a1000 - 25000
897−end,{"\115\117\98"}) == - 24000)
897+end,{"\u{73}\u{75}\u{62}"}) == - 24000)
898898assert(run(function ()
899899return 2000 * a
900−end,{"\109\117\108"}) == 20000)
900+end,{"\u{6d}\u{75}\u{6c}"}) == 20000)
901901assert(run(function ()
902902return a1000 / 1000
903−end,{"\100\105\118"}) == 1)
903+end,{"\u{64}\u{69}\u{76}"}) == 1)
904904assert(run(function ()
905905return a1000 % 600
906−end,{"\109\111\100"}) == 400)
906+end,{"\u{6d}\u{6f}\u{64}"}) == 400)
907907assert(run(function ()
908908return a1000 // 500
909−end,{"\105\100\105\118"}) == 2)
909+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 2)
910910assert(run(function ()
911911return a % b
912−end,{"\109\111\100"}) == 10)
912+end,{"\u{6d}\u{6f}\u{64}"}) == 10)
913913assert(run(function ()
914914return ~ a & b
915−end,{"\98\110\111\116","\98\97\110\100"}) == ~ 10 & 12)
915+end,{"\u{62}\u{6e}\u{6f}\u{74}","\u{62}\u{61}\u{6e}\u{64}"}) == ~ 10 & 12)
916916assert(run(function ()
917917return a | b
918−end,{"\98\111\114"}) == 10 | 12)
918+end,{"\u{62}\u{6f}\u{72}"}) == 10 | 12)
919919assert(run(function ()
920920return a ~ b
921−end,{"\98\120\111\114"}) == 10 ~ 12)
921+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 10 ~ 12)
922922assert(run(function ()
923923return a << b
924−end,{"\115\104\108"}) == 10 << 12)
924+end,{"\u{73}\u{68}\u{6c}"}) == 10 << 12)
925925assert(run(function ()
926926return a >> b
927−end,{"\115\104\114"}) == 10 >> 12)
927+end,{"\u{73}\u{68}\u{72}"}) == 10 >> 12)
928928assert(run(function ()
929929return 10 & b
930−end,{"\98\97\110\100"}) == 10 & 12)
930+end,{"\u{62}\u{61}\u{6e}\u{64}"}) == 10 & 12)
931931assert(run(function ()
932932return a | 2
933−end,{"\98\111\114"}) == 10 | 2)
933+end,{"\u{62}\u{6f}\u{72}"}) == 10 | 2)
934934assert(run(function ()
935935return a ~ 2
936−end,{"\98\120\111\114"}) == 10 ~ 2)
936+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 10 ~ 2)
937937assert(run(function ()
938938return a >> 2
939−end,{"\115\104\114"}) == 10 >> 2)
939+end,{"\u{73}\u{68}\u{72}"}) == 10 >> 2)
940940assert(run(function ()
941941return 1 >> a
942−end,{"\115\104\114"}) == 1 >> 10)
942+end,{"\u{73}\u{68}\u{72}"}) == 1 >> 10)
943943assert(run(function ()
944944return a << 2
945−end,{"\115\104\108"}) == 10 << 2)
945+end,{"\u{73}\u{68}\u{6c}"}) == 10 << 2)
946946assert(run(function ()
947947return 1 << a
948−end,{"\115\104\108"}) == 1 << 10)
948+end,{"\u{73}\u{68}\u{6c}"}) == 1 << 10)
949949assert(run(function ()
950950return 2 ~ a
951−end,{"\98\120\111\114"}) == 2 ~ 10)
951+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 2 ~ 10)
952952assert(run(function ()
953953return a .. b
954−end,{"\99\111\110\99\97\116"}) == "\49\48\49\50")
954+end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{31}\u{30}\u{31}\u{32}")
955955assert(run(function ()
956956return a .. b .. c .. a
957−end,{"\99\111\110\99\97\116","\99\111\110\99\97\116","\99\111\110\99\97\116"}) == "\49\48\49\50\104\101\108\108\111\49\48")
957+end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{31}\u{30}\u{31}\u{32}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{31}\u{30}")
958958assert(run(function ()
959−return "\97" .. "\98" .. a .. "\99" .. c .. b .. "\120"
960−end,{"\99\111\110\99\97\116","\99\111\110\99\97\116","\99\111\110\99\97\116"}) == "\97\98\49\48\99\104\101\108\108\111\49\50\120")
959+return "\u{61}" .. "\u{62}" .. a .. "\u{63}" .. c .. b .. "\u{78}"
960+end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{61}\u{62}\u{31}\u{30}\u{63}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{31}\u{32}\u{78}")
961961do
962−local mt1 = {["\95\95\108\101"] = function (a,b)
962+local mt1 = {["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
963963coroutine.yield(10)
964964return (val(a) <= val(b))
965−end,["\95\95\108\116"] = function (a,b)
965+end,["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
966966coroutine.yield(10)
967967return val(a) < val(b)
968968end}
969−local mt2 = {["\95\95\108\116"] = mt1.__lt,["\95\95\108\101"] = mt1.__le}
969+local mt2 = {["\u{5f}\u{5f}\u{6c}\u{74}"] = mt1.__lt,["\u{5f}\u{5f}\u{6c}\u{65}"] = mt1.__le}
970970local function run
971971(f)
972972local co = coroutine.wrap(f)
@@ -978,8 +978,8 @@ return res
978978end
979979local function test
980980()
981−local a1 = setmetatable({["\120"] = 1},mt1)
982−local a2 = setmetatable({["\120"] = 2},mt2)
981+local a1 = setmetatable({["\u{78}"] = 1},mt1)
982+local a2 = setmetatable({["\u{78}"] = 2},mt2)
983983assert(a1 < a2)
984984assert(a1 <= a2)
985985assert(1 < a2)
@@ -993,7 +993,7 @@ end
993993assert(run(function ()
994994a.BB=print
995995return a.BB
996−end,{"\110\105\100\120","\105\100\120"}) == print)
996+end,{"\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == print)
997997do
998998local _ENV = _ENV
999999f=function ()
@@ -1007,13 +1007,13 @@ local g = new(10)
10071007g.k.BBB=10
10081008;
10091009debug.setupvalue(f,1,g)
1010−assert(run(f,{"\105\100\120","\110\105\100\120","\105\100\120"}) == 11)
1010+assert(run(f,{"\u{69}\u{64}\u{78}","\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == 11)
10111011assert(g.k.AAA == 11)
1012−print("\43")
1013−print("\116\101\115\116\105\110\103\32\121\105\101\108\100\115\32\105\110\115\105\100\101\32\39\102\111\114\39\32\105\116\101\114\97\116\111\114\115")
1012+print("\u{2b}")
1013+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{27}\u{66}\u{6f}\u{72}\u{27}\u{20}\u{69}\u{74}\u{65}\u{72}\u{61}\u{74}\u{6f}\u{72}\u{73}")
10141014local f = function (s,i)
10151015if i % 2 == 0 then
1016−coroutine.yield(nil,"\102\111\114")
1016+coroutine.yield(nil,"\u{66}\u{6f}\u{72}")
10171017end
10181018if i < s then
10191019return i + 1
@@ -1026,14 +1026,14 @@ do
10261026s=s + i
10271027end
10281028return s
1029−end,{"\102\111\114","\102\111\114","\102\111\114"}) == 10)
1029+end,{"\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}"}) == 10)
10301030if T == nil then
1031−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\99\111\114\111\117\116\105\110\101\32\65\80\73\32\116\101\115\116\115\32\60\60\60\10")
1032−print("\79\75")
1031+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{41}\u{50}\u{49}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
1032+print("\u{4f}\u{4b}")
10331033;
10341034return
10351035end
1036−print("\116\101\115\116\105\110\103\32\99\111\114\111\117\116\105\110\101\32\65\80\73")
1036+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{41}\u{50}\u{49}")
10371037local function apico
10381038(...)
10391039local x = {...}
@@ -1041,15 +1041,15 @@ return coroutine.wrap(function ()
10411041return T.testC(table.unpack(x))
10421042end)
10431043end
1044−local a = {apico("\32\32\112\117\115\104\115\116\114\105\110\103\32\101\114\114\111\114\99\111\100\101\10\32\32\112\99\97\108\108\107\32\49\32\48\32\50\59\10\32\32\105\110\118\97\108\105\100\32\99\111\109\109\97\110\100\32\40\115\104\111\117\108\100\32\110\111\116\32\97\114\114\105\118\101\32\104\101\114\101\41\10","\114\101\116\117\114\110\32\42","\115\116\97\99\107\109\97\114\107",error)()}
1045−assert(# a == 4 and a[3] == "\115\116\97\99\107\109\97\114\107" and a[4] == "\101\114\114\111\114\99\111\100\101" and _G.status == "\69\82\82\82\85\78" and _G.ctx == 2)
1046−local co = apico("\112\117\115\104\118\97\108\117\101\32\50\59\32\112\117\115\104\110\117\109\32\49\48\59\32\112\99\97\108\108\107\32\49\32\50\32\51\59\32\105\110\118\97\108\105\100\32\99\111\109\109\97\110\100\59",coroutine.yield,"\103\101\116\103\108\111\98\97\108\32\115\116\97\116\117\115\59\32\103\101\116\103\108\111\98\97\108\32\99\116\120\59\32\112\117\115\104\118\97\108\117\101\32\50\59\32\112\117\115\104\115\116\114\105\110\103\32\97\59\32\112\99\97\108\108\107\32\49\32\48\32\52\59\32\105\110\118\97\108\105\100\32\99\111\109\109\97\110\100","\103\101\116\103\108\111\98\97\108\32\115\116\97\116\117\115\59\32\103\101\116\103\108\111\98\97\108\32\99\116\120\59\32\114\101\116\117\114\110\32\42")
1044+local a = {apico("\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{63}\u{6f}\u{64}\u{65}\u{a}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{31}\u{20}\u{30}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}\u{20}\u{28}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{72}\u{72}\u{69}\u{76}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{29}\u{a}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}","\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6d}\u{61}\u{72}\u{6b}",error)()}
1045+assert(# a == 4 and a[3] == "\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6d}\u{61}\u{72}\u{6b}" and a[4] == "\u{65}\u{72}\u{72}\u{6f}\u{72}\u{63}\u{6f}\u{64}\u{65}" and _G.status == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and _G.ctx == 2)
1046+local co = apico("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{31}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}\u{3b}",coroutine.yield,"\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{63}\u{74}\u{78}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{3b}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{31}\u{20}\u{30}\u{20}\u{34}\u{3b}\u{20}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}","\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{63}\u{74}\u{78}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}")
10471047assert(co() == 10)
1048−assert(co(20,30) == "\97")
1048+assert(co(20,30) == "\u{61}")
10491049a={co()}
1050−assert(# a == 10 and a[2] == coroutine.yield and a[5] == 20 and a[6] == 30 and a[7] == "\89\73\69\76\68" and a[8] == 3 and a[9] == "\89\73\69\76\68" and a[10] == 4)
1050+assert(# a == 10 and a[2] == coroutine.yield and a[5] == 20 and a[6] == 30 and a[7] == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and a[8] == 3 and a[9] == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and a[10] == 4)
10511051assert(not pcall(co))
1052−f=T.makeCfunc("\112\117\115\104\110\117\109\32\51\59\32\112\117\115\104\110\117\109\32\53\59\32\121\105\101\108\100\32\49\59")
1052+f=T.makeCfunc("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{35}\u{3b}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{31}\u{3b}")
10531053co=coroutine.wrap(function ()
10541054assert(f() == 23)
10551055;
@@ -1060,15 +1060,15 @@ end)
10601060assert(co(23,16) == 5)
10611061assert(co(23,16) == 5)
10621062assert(co(23,16) == 10)
1063−f=T.makeCfunc("\32\32\32\32\32\32\32\32\112\117\115\104\110\117\109\32\49\48\50\10\9\121\105\101\108\100\107\9\49\32\85\50\10\9\99\97\110\110\111\116\32\98\101\32\104\101\114\101\33\10","\32\32\32\32\32\32\35\32\99\111\110\116\105\110\117\97\116\105\111\110\10\9\112\117\115\104\118\97\108\117\101\32\85\51\32\32\32\35\32\97\99\99\101\115\115\105\110\103\32\117\112\118\97\108\117\101\115\32\105\110\115\105\100\101\32\97\32\99\111\110\116\105\110\117\97\116\105\111\110\10\32\32\32\32\32\32\32\32\112\117\115\104\118\97\108\117\101\32\85\52\10\9\114\101\116\117\114\110\32\42\10",23,"\104\117\117")
1063+f=T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{32}\u{a}\u{9}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{6b}\u{9}\u{31}\u{20}\u{55}\u{32}\u{a}\u{9}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}","\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{9}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{33}\u{20}\u{20}\u{20}\u{23}\u{20}\u{61}\u{63}\u{63}\u{65}\u{73}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{34}\u{a}\u{9}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{a}",23,"\u{68}\u{75}\u{75}")
10641064x=coroutine.wrap(f)
10651065assert(x() == 102)
1066−eqtab({x()},{23,"\104\117\117"})
1067−f=T.makeCfunc("\112\117\115\104\115\116\114\105\110\103\32\39\97\39\59\32\112\117\115\104\110\117\109\32\49\48\50\59\32\121\105\101\108\100\32\50\59\32")
1068−a,b,c,d=T.testC("\110\101\119\116\104\114\101\97\100\59\32\112\117\115\104\118\97\108\117\101\32\50\59\32\120\109\111\118\101\32\48\32\51\32\49\59\32\114\101\115\117\109\101\32\51\32\48\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\112\117\115\104\115\116\97\116\117\115\59\32\120\109\111\118\101\32\51\32\48\32\48\59\32\32\114\101\115\117\109\101\32\51\32\48\59\32\112\117\115\104\115\116\97\116\117\115\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\114\101\116\117\114\110\32\52\59\32",f)
1069−assert(a == "\89\73\69\76\68" and b == "\97" and c == 102 and d == "\79\75")
1066+eqtab({x()},{23,"\u{68}\u{75}\u{75}"})
1067+f=T.makeCfunc("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{61}\u{27}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{32}\u{3b}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{32}\u{3b}\u{20}")
1068+a,b,c,d=T.testC("\u{6e}\u{65}\u{77}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{30}\u{20}\u{33}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{33}\u{20}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{20}\u{30}\u{20}\u{30}\u{3b}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{33}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{3b}\u{20}",f)
1069+assert(a == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and b == "\u{61}" and c == 102 and d == "\u{4f}\u{4b}")
10701070local count = 3
1071−f=T.makeCfunc("\32\32\114\101\109\111\118\101\32\49\59\32\32\32\32\32\32\32\32\32\32\32\32\32\35\32\114\101\109\111\118\101\32\97\114\103\117\109\101\110\116\10\32\32\112\117\115\104\118\97\108\117\101\32\85\51\59\32\32\32\32\32\32\32\32\32\35\32\103\101\116\32\115\101\108\101\99\116\105\111\110\32\102\117\110\99\116\105\111\110\10\32\32\99\97\108\108\32\48\32\49\59\32\32\32\32\32\32\32\32\32\32\32\32\32\35\32\99\97\108\108\32\105\116\32\32\40\114\101\115\117\108\116\32\105\115\32\39\102\39\32\111\114\32\39\121\105\101\108\100\39\41\10\32\32\112\117\115\104\115\116\114\105\110\103\32\104\101\108\108\111\32\32\32\32\32\32\35\32\115\105\110\103\108\101\32\97\114\103\117\109\101\110\116\32\102\111\114\32\115\101\108\101\99\116\101\100\32\102\117\110\99\116\105\111\110\10\32\32\112\117\115\104\117\112\118\97\108\117\101\105\110\100\101\120\32\50\59\32\32\32\35\32\105\110\100\101\120\32\111\102\32\99\111\110\116\105\110\117\97\116\105\111\110\32\112\114\111\103\114\97\109\10\32\32\99\97\108\108\107\32\49\32\45\49\32\46\59\9\9\35\32\99\97\108\108\32\115\101\108\101\99\116\101\100\32\102\117\110\99\116\105\111\110\10\32\32\101\114\114\111\114\101\114\114\111\114\9\9\35\32\115\104\111\117\108\100\32\110\101\118\101\114\32\97\114\114\105\118\101\32\104\101\114\101\10","\32\32\35\32\99\111\110\116\105\110\117\97\116\105\111\110\32\112\114\111\103\114\97\109\10\32\32\112\117\115\104\110\117\109\32\51\52\9\35\32\114\101\116\117\114\110\32\118\97\108\117\101\10\32\32\114\101\116\117\114\110\32\42\32\32\32\32\32\35\32\114\101\116\117\114\110\32\97\108\108\32\114\101\115\117\108\116\115\10",function ()
1071+f=T.makeCfunc("\u{20}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{33}\u{3b}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{3b}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{20}\u{28}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{20}\u{69}\u{73}\u{20}\u{27}\u{66}\u{27}\u{20}\u{6f}\u{72}\u{20}\u{27}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{27}\u{29}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{73}\u{69}\u{6e}\u{67}\u{6c}\u{65}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{32}\u{3b}\u{20}\u{20}\u{20}\u{23}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{6f}\u{66}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{70}\u{72}\u{6f}\u{67}\u{72}\u{61}\u{6d}\u{a}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{31}\u{20}\u{2d}\u{31}\u{20}\u{2e}\u{3b}\u{9}\u{9}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{9}\u{9}\u{23}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{61}\u{72}\u{72}\u{69}\u{76}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{a}","\u{20}\u{20}\u{23}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{70}\u{72}\u{6f}\u{67}\u{72}\u{61}\u{6d}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{34}\u{9}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{6c}\u{6c}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}\u{a}",function ()
10721072count=count - 1
10731073if count == 0 then
10741074return coroutine.yield
@@ -1079,41 +1079,41 @@ end)
10791079co=coroutine.wrap(function ()
10801080return f(nil)
10811081end)
1082−assert(co() == "\104\101\108\108\111")
1082+assert(co() == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
10831083a={co()}
10841084assert(# a == 3 and a[1] == a[2] and a[2] == a[3] and a[3] == 34)
10851085local y
10861086co=coroutine.wrap(function (...)
1087−return T.testC("\32\35\32\105\110\105\116\105\97\108\32\102\117\110\99\116\105\111\110\10\32\32\32\32\32\32\32\32\32\32\121\105\101\108\100\107\32\49\32\50\10\32\32\32\32\32\32\32\32\32\32\99\97\110\110\111\116\32\98\101\32\104\101\114\101\33\10\32\32\32\32\32\32\32","\32\32\35\32\49\115\116\32\99\111\110\116\105\110\117\97\116\105\111\110\10\32\32\32\32\32\32\32\32\32\121\105\101\108\100\107\32\48\32\51\32\10\32\32\32\32\32\32\32\32\32\99\97\110\110\111\116\32\98\101\32\104\101\114\101\33\10\32\32\32\32\32\32\32","\32\32\35\32\50\110\100\32\99\111\110\116\105\110\117\97\116\105\111\110\10\32\32\32\32\32\32\32\32\32\121\105\101\108\100\107\32\48\32\52\32\10\32\32\32\32\32\32\32\32\32\99\97\110\110\111\116\32\98\101\32\104\101\114\101\33\10\32\32\32\32\32\32\32","\32\32\35\32\51\116\104\32\99\111\110\116\105\110\117\97\116\105\111\110\10\32\32\32\32\32\32\32\32\32\32\112\117\115\104\118\97\108\117\101\32\54\32\32\32\35\32\102\117\110\99\116\105\111\110\32\119\104\105\99\104\32\105\115\32\108\97\115\116\32\97\114\103\46\32\116\111\32\39\116\101\115\116\67\39\32\104\101\114\101\10\32\32\32\32\32\32\32\32\32\32\112\117\115\104\110\117\109\32\49\48\59\32\112\117\115\104\110\117\109\32\50\48\59\10\32\32\32\32\32\32\32\32\32\32\112\99\97\108\108\32\50\32\48\32\48\32\32\32\35\32\99\97\108\108\32\115\104\111\117\108\100\32\116\104\114\111\119\32\97\110\32\101\114\114\111\114\32\97\110\100\32\114\101\116\117\114\110\32\116\111\32\110\101\120\116\32\108\105\110\101\10\32\32\32\32\32\32\32\32\32\32\112\111\112\32\49\9\9\35\32\114\101\109\111\118\101\32\101\114\114\111\114\32\109\101\115\115\97\103\101\10\32\32\32\32\32\32\32\32\32\32\112\117\115\104\118\97\108\117\101\32\54\10\32\32\32\32\32\32\32\32\32\32\103\101\116\103\108\111\98\97\108\32\115\116\97\116\117\115\59\32\103\101\116\103\108\111\98\97\108\32\99\116\120\10\32\32\32\32\32\32\32\32\32\32\112\99\97\108\108\107\32\50\32\50\32\53\32\32\35\32\99\97\108\108\32\115\104\111\117\108\100\32\116\104\114\111\119\32\97\110\32\101\114\114\111\114\32\97\110\100\32\106\117\109\112\32\116\111\32\99\111\110\116\105\110\117\97\116\105\111\110\10\32\32\32\32\32\32\32\32\32\32\99\97\110\110\111\116\32\98\101\32\104\101\114\101\33\10\32\32\32\32\32\32\32","\32\32\35\32\52\116\104\32\40\97\110\100\32\108\97\115\116\41\32\99\111\110\116\105\110\117\97\116\105\111\110\10\32\32\32\32\32\32\32\32\32\114\101\116\117\114\110\32\42\10\32\32\32\32\32\32\32",function (a,b)
1087+return T.testC("\u{20}\u{23}\u{20}\u{69}\u{6e}\u{69}\u{74}\u{69}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{6b}\u{20}\u{31}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}","\u{20}\u{20}\u{23}\u{20}\u{31}\u{73}\u{74}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{6b}\u{20}\u{30}\u{20}\u{33}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}","\u{20}\u{20}\u{23}\u{20}\u{32}\u{6e}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{6b}\u{20}\u{30}\u{20}\u{34}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}","\u{20}\u{20}\u{23}\u{20}\u{33}\u{74}\u{68}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{36}\u{20}\u{20}\u{20}\u{23}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{68}\u{69}\u{63}\u{68}\u{20}\u{69}\u{73}\u{20}\u{6c}\u{61}\u{73}\u{74}\u{20}\u{61}\u{72}\u{67}\u{2e}\u{20}\u{74}\u{6f}\u{20}\u{27}\u{74}\u{65}\u{73}\u{74}\u{43}\u{27}\u{20}\u{68}\u{65}\u{72}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{32}\u{20}\u{30}\u{20}\u{30}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{74}\u{68}\u{72}\u{6f}\u{77}\u{20}\u{61}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{74}\u{6f}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{9}\u{9}\u{23}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{36}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{63}\u{74}\u{78}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{32}\u{20}\u{32}\u{20}\u{35}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{74}\u{68}\u{72}\u{6f}\u{77}\u{20}\u{61}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6a}\u{75}\u{6d}\u{70}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}","\u{20}\u{20}\u{23}\u{20}\u{34}\u{74}\u{68}\u{20}\u{28}\u{61}\u{6e}\u{64}\u{20}\u{6c}\u{61}\u{73}\u{74}\u{29}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}",function (a,b)
10881088x=a
10891089;
10901090y=b
10911091;
1092−error("\101\114\114\109\115\103")
1092+error("\u{65}\u{72}\u{72}\u{6d}\u{73}\u{67}")
10931093end,...)
10941094end)
10951095local a = {co(3,4,6)}
10961096assert(a[1] == 6 and a[2] == undef)
10971097a={co()}
10981098;
1099−assert(a[1] == undef and _G.status == "\89\73\69\76\68" and _G.ctx == 2)
1099+assert(a[1] == undef and _G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and _G.ctx == 2)
11001100a={co()}
11011101;
1102−assert(a[1] == undef and _G.status == "\89\73\69\76\68" and _G.ctx == 3)
1102+assert(a[1] == undef and _G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and _G.ctx == 3)
11031103a={co(7,8)}
11041104;
1105−assert(type(a[1]) == "\115\116\114\105\110\103" and type(a[2]) == "\115\116\114\105\110\103" and type(a[3]) == "\115\116\114\105\110\103" and type(a[4]) == "\115\116\114\105\110\103" and type(a[5]) == "\115\116\114\105\110\103" and type(a[6]) == "\102\117\110\99\116\105\111\110")
1105+assert(type(a[1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[2]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[3]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[4]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[5]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[6]) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
11061106assert(a[7] == 3 and a[8] == 4)
11071107assert(a[9] == 7 and a[10] == 8)
1108−assert(a[11]:find("\101\114\114\109\115\103") and # a == 11)
1109−assert(x == "\89\73\69\76\68" and y == 4)
1108+assert(a[11]:find("\u{65}\u{72}\u{72}\u{6d}\u{73}\u{67}") and # a == 11)
1109+assert(x == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and y == 4)
11101110assert(not pcall(co))
11111111_G.ctx=nil
11121112_G.status=nil
11131113local co = coroutine.wrap(function ()
1114−local a = {pcall(pcall,pcall,pcall,pcall,pcall,pcall,pcall,error,"\104\105")}
1114+local a = {pcall(pcall,pcall,pcall,pcall,pcall,pcall,pcall,error,"\u{68}\u{69}")}
11151115return pcall(assert,table.unpack(a))
11161116end)
11171117local a = {co()}
1118−assert(a[10] == "\104\105")
1119−print("\79\75")
1118+assert(a[10] == "\u{68}\u{69}")
1119+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/cstack.lua+36−36
@@ -1,12 +1,12 @@
1−local tracegc = require("\116\114\97\99\101\103\99")
2−print("\116\101\115\116\105\110\103\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119\32\100\101\116\101\99\116\105\111\110")
1+local tracegc = require("\u{74}\u{72}\u{61}\u{63}\u{65}\u{67}\u{63}")
2+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{64}\u{65}\u{74}\u{65}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
33local function checkerror
44(msg,f, ...)
55local s,err = pcall(f,...)
66assert(not s and string.find(err,msg))
77end
88do
9−print("\116\101\115\116\105\110\103\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119\32\105\110\32\109\101\115\115\97\103\101\32\104\97\110\100\108\105\110\103")
9+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{69}\u{6e}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{69}\u{6e}\u{67}")
1010local count = 0
1111local function loop
1212(x,y,z)
@@ -16,43 +16,43 @@ end
1616tracegc.stop()
1717local res,msg = xpcall(loop,loop)
1818tracegc.start()
19−assert(msg == "\101\114\114\111\114\32\105\110\32\101\114\114\111\114\32\104\97\110\100\108\105\110\103")
20−print("\102\105\110\97\108\32\99\111\117\110\116\58\32",count)
19+assert(msg == "\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{69}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{69}\u{6e}\u{67}")
20+print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
2121end
2222do
23−print("\116\101\115\116\105\110\103\32\114\101\99\117\114\115\105\111\110\32\105\110\115\105\100\101\32\112\97\116\116\101\114\110\32\109\97\116\99\104\105\110\103")
23+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{72}\u{65}\u{63}\u{75}\u{72}\u{73}\u{69}\u{6f}\u{6e}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{70}\u{61}\u{74}\u{74}\u{65}\u{72}\u{6e}\u{20}\u{6d}\u{61}\u{74}\u{63}\u{68}\u{69}\u{6e}\u{67}")
2424local function f
2525(size)
26−local s = string.rep("\97",size)
27−local p = string.rep("\46\63",size)
26+local s = string.rep("\u{61}",size)
27+local p = string.rep("\u{2e}\u{3f}",size)
2828return string.match(s,p)
2929end
3030local m = f(80)
3131assert(# m == 80)
32−checkerror("\116\111\111\32\99\111\109\112\108\101\120",f,2000)
32+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{63}\u{6f}\u{6d}\u{70}\u{6c}\u{65}\u{78}",f,2000)
3333end
3434do
35−print("\116\101\115\116\105\110\103\32\115\116\97\99\107\45\111\118\101\114\102\108\111\119\32\105\110\32\114\101\99\117\114\115\105\118\101\32\39\103\115\117\98\39")
35+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{2d}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{69}\u{6e}\u{20}\u{72}\u{65}\u{63}\u{75}\u{72}\u{73}\u{69}\u{76}\u{65}\u{20}\u{27}\u{67}\u{73}\u{75}\u{62}\u{27}")
3636local count = 0
3737local function foo
3838()
3939count=count + 1
40−string.gsub("\97","\46",foo)
40+string.gsub("\u{61}","\u{2e}",foo)
4141end
42−checkerror("\115\116\97\99\107\32\111\118\101\114\102\108\111\119",foo)
43−print("\102\105\110\97\108\32\99\111\117\110\116\58\32",count)
44−print("\116\101\115\116\105\110\103\32\115\116\97\99\107\45\111\118\101\114\102\108\111\119\32\105\110\32\114\101\99\117\114\115\105\118\101\32\39\103\115\117\98\39\32\119\105\116\104\32\109\101\116\97\116\97\98\108\101\115")
42+checkerror("\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",foo)
43+print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
44+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{2d}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{69}\u{6e}\u{20}\u{72}\u{65}\u{63}\u{75}\u{72}\u{73}\u{69}\u{76}\u{65}\u{20}\u{27}\u{67}\u{73}\u{75}\u{62}\u{27}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
4545local count = 0
46−local t = setmetatable({},{["\95\95\105\110\100\101\120"] = foo})
46+local t = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = foo})
4747foo=function ()
4848count=count + 1
49−string.gsub("\97","\46",t)
49+string.gsub("\u{61}","\u{2e}",t)
5050end
51−checkerror("\115\116\97\99\107\32\111\118\101\114\102\108\111\119",foo)
52−print("\102\105\110\97\108\32\99\111\117\110\116\58\32",count)
51+checkerror("\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",foo)
52+print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
5353end
5454do
55−print("\116\101\115\116\105\110\103\32\108\105\109\105\116\115\32\105\110\32\99\111\114\111\117\116\105\110\101\115\32\105\110\115\105\100\101\32\100\101\101\112\32\99\97\108\108\115")
55+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{64}\u{65}\u{65}\u{70}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}")
5656local count = 0
5757local lim = 1000
5858local function stack
@@ -67,20 +67,20 @@ end)()
6767end
6868end
6969local st,msg = xpcall(stack,function ()
70−return "\111\107"
70+return "\u{6f}\u{6b}"
7171end,lim)
72−assert(not st and msg == "\111\107")
73−print("\102\105\110\97\108\32\99\111\117\110\116\58\32",count)
72+assert(not st and msg == "\u{6f}\u{6b}")
73+print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
7474end
7575do
7676local count = 0
77−print("\99\104\97\105\110\32\111\102\32\39\99\111\114\111\117\116\105\110\101\46\99\108\111\115\101\39")
77+print("\u{63}\u{68}\u{61}\u{69}\u{6e}\u{20}\u{6f}\u{66}\u{20}\u{27}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{27}")
7878local coro = false
7979for i = 1, 1000
8080do
8181local previous = coro
8282coro=coroutine.create(function ()
83−local cc <close> = setmetatable({},{["\95\95\99\108\111\115\101"] = function ()
83+local cc <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
8484count=count + 1
8585if previous then
8686assert(coroutine.close(previous))
@@ -91,11 +91,11 @@ end)
9191assert(coroutine.resume(coro))
9292end
9393local st,msg = coroutine.close(coro)
94−assert(not st and string.find(msg,"\67\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119"))
95−print("\102\105\110\97\108\32\99\111\117\110\116\58\32",count)
94+assert(not st and string.find(msg,"\u{43}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
95+print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
9696end
9797do
98−print("\110\101\115\116\105\110\103\32\111\102\32\114\101\115\117\109\105\110\103\32\121\105\101\108\100\101\100\32\99\111\114\111\117\116\105\110\101\115")
98+print("\u{6e}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{69}\u{6e}\u{67}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{65}\u{64}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}")
9999local count = 0
100100local function body
101101()
@@ -109,10 +109,10 @@ end
109109local f = coroutine.wrap(body)
110110f()
111111assert(not pcall(f))
112−print("\102\105\110\97\108\32\99\111\117\110\116\58\32",count)
112+print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
113113end
114114do
115−print("\110\101\115\116\105\110\103\32\99\111\114\111\117\116\105\110\101\115\32\114\117\110\110\105\110\103\32\97\102\116\101\114\32\114\101\99\111\118\101\114\97\98\108\101\32\101\114\114\111\114\115")
115+print("\u{6e}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}\u{20}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{66}\u{74}\u{65}\u{72}\u{20}\u{72}\u{65}\u{63}\u{6f}\u{76}\u{65}\u{72}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}")
116116local count = 0
117117local function foo
118118()
@@ -120,18 +120,18 @@ count=count + 1
120120pcall(1)
121121coroutine.wrap(foo)()
122122end
123−checkerror("\67\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119",foo)
124−print("\102\105\110\97\108\32\99\111\117\110\116\58\32",count)
123+checkerror("\u{43}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",foo)
124+print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
125125end
126126if T then
127−print("\116\101\115\116\105\110\103\32\115\116\97\99\107\32\114\101\99\111\118\101\114\121")
127+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{72}\u{65}\u{63}\u{6f}\u{76}\u{65}\u{72}\u{79}")
128128local N = 0
129129local LIM = - 1
130130local stack1
131131local dummy
132132local function err
133133(msg)
134−assert(string.find(msg,"\115\116\97\99\107\32\111\118\101\114\102\108\111\119"))
134+assert(string.find(msg,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
135135local _,stacknow = T.stacklevel()
136136assert(stacknow == stack1 + 200)
137137end
@@ -155,12 +155,12 @@ xpcall(f,err)
155155tracegc.start()
156156topA,sizeA=T.stacklevel()
157157assert(topA == topB and sizeA < sizeB * 2)
158−print(string.format("\109\97\120\105\109\117\109\32\115\116\97\99\107\32\115\105\122\101\58\32\37\100",stack1))
158+print(string.format("\u{6d}\u{61}\u{78}\u{69}\u{6d}\u{75}\u{6d}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{3a}\u{20}\u{25}\u{64}",stack1))
159159LIM=N
160160N=0
161161tracegc.stop()
162162f()
163163tracegc.start()
164−print("\43")
164+print("\u{2b}")
165165end
166−print("\79\75")
166+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/db.lua+190−190
@@ -1,9 +1,9 @@
1−local debug = require("\100\101\98\117\103")
1+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
22local function dostring
33(s)
44return assert(load(s))()
55end
6−print("\116\101\115\116\105\110\103\32\100\101\98\117\103\32\108\105\98\114\97\114\121\32\97\110\100\32\100\101\98\117\103\32\105\110\102\111\114\109\97\116\105\111\110")
6+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
77do
88local a = 1
99end
@@ -14,14 +14,14 @@ local function test
1414collectgarbage()
1515local function f
1616(event,line)
17−assert(event == "\108\105\110\101")
17+assert(event == "\u{6c}\u{69}\u{6e}\u{65}")
1818local l = table.remove(l,1)
1919if p then
2020print(l,line)
2121end
22−assert(l == line,"\119\114\111\110\103\32\116\114\97\99\101\33\33")
22+assert(l == line,"\u{77}\u{72}\u{6f}\u{6e}\u{67}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{21}\u{21}")
2323end
24−debug.sethook(f,"\108")
24+debug.sethook(f,"\u{6c}")
2525;
2626load(s)()
2727;
@@ -29,72 +29,72 @@ debug.sethook()
2929assert(# l == 0)
3030end
3131do
32−assert(not pcall(debug.getinfo,print,"\88"))
33−assert(not pcall(debug.getinfo,0,"\62"))
32+assert(not pcall(debug.getinfo,print,"\u{58}"))
33+assert(not pcall(debug.getinfo,0,"\u{3e}"))
3434assert(not debug.getinfo(1000))
3535assert(not debug.getinfo(- 1))
3636local a = debug.getinfo(print)
37−assert(a.what == "\67" and a.short_src == "\91\67\93")
38−a=debug.getinfo(print,"\76")
37+assert(a.what == "\u{43}" and a.short_src == "\u{5b}\u{43}\u{5d}")
38+a=debug.getinfo(print,"\u{4c}")
3939assert(a.activelines == nil)
40−local b = debug.getinfo(test,"\83\102\76")
41−assert(b.name == nil and b.what == "\76\117\97" and b.linedefined == testline and b.lastlinedefined == b.linedefined + 10 and b.func == test and not string.find(b.short_src,"\37\91"))
40+local b = debug.getinfo(test,"\u{53}\u{66}\u{4c}")
41+assert(b.name == nil and b.what == "\u{4c}\u{75}\u{61}" and b.linedefined == testline and b.lastlinedefined == b.linedefined + 10 and b.func == test and not string.find(b.short_src,"\u{25}\u{5b}"))
4242assert(b.activelines[b.linedefined + 1] and b.activelines[b.lastlinedefined])
4343assert(not b.activelines[b.linedefined] and not b.activelines[b.lastlinedefined + 1])
4444end
4545do
46−local func = load(string.dump(load("\112\114\105\110\116\40\49\48\41"),true))
47−local actl = debug.getinfo(func,"\76").activelines
46+local func = load(string.dump(load("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{30}\u{29}"),true))
47+local actl = debug.getinfo(func,"\u{4c}").activelines
4848assert(# actl == 0)
4949end
50−local a = "\102\117\110\99\116\105\111\110\32\102\32\40\41\32\101\110\100"
50+local a = "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{20}\u{28}\u{29}\u{20}\u{65}\u{6e}\u{64}"
5151local function dostring
5252(s,x)
5353return load(s,x)()
5454end
5555dostring(a)
56−assert(debug.getinfo(f).short_src == string.format("\91\115\116\114\105\110\103\32\34\37\115\34\93",a))
57−dostring(a .. string.format("\59\32\37\115\10\61\49",string.rep("\112",400)))
58−assert(string.find(debug.getinfo(f).short_src,"\94\37\91\115\116\114\105\110\103\32\91\94\10\93\42\37\46\37\46\37\46\34\37\93\36"))
59−dostring(a .. string.format("\59\32\37\115\61\49",string.rep("\112",400)))
60−assert(string.find(debug.getinfo(f).short_src,"\94\37\91\115\116\114\105\110\103\32\91\94\10\93\42\37\46\37\46\37\46\34\37\93\36"))
61−dostring("\10" .. a)
62−assert(debug.getinfo(f).short_src == "\91\115\116\114\105\110\103\32\34\46\46\46\34\93")
56+assert(debug.getinfo(f).short_src == string.format("\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{25}\u{73}\u{22}\u{5d}",a))
57+dostring(a .. string.format("\u{3b}\u{20}\u{25}\u{73}\u{a}\u{3d}\u{31}",string.rep("\u{70}",400)))
58+assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{25}\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{5b}\u{5e}\u{a}\u{5d}\u{2a}\u{25}\u{2e}\u{25}\u{2e}\u{25}\u{2e}\u{22}\u{25}\u{5d}\u{24}"))
59+dostring(a .. string.format("\u{3b}\u{20}\u{25}\u{73}\u{3d}\u{31}",string.rep("\u{70}",400)))
60+assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{25}\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{5b}\u{5e}\u{a}\u{5d}\u{2a}\u{25}\u{2e}\u{25}\u{2e}\u{25}\u{2e}\u{22}\u{25}\u{5d}\u{24}"))
61+dostring("\u{a}" .. a)
62+assert(debug.getinfo(f).short_src == "\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{2e}\u{2e}\u{2e}\u{22}\u{5d}")
6363dostring(a,"")
64−assert(debug.getinfo(f).short_src == "\91\115\116\114\105\110\103\32\34\34\93")
65−dostring(a,"\64\120\117\120\117")
66−assert(debug.getinfo(f).short_src == "\120\117\120\117")
67−dostring(a,"\64" .. string.rep("\112",1000) .. "\116")
68−assert(string.find(debug.getinfo(f).short_src,"\94\37\46\37\46\37\46\112\42\116\36"))
69−dostring(a,"\61\120\117\120\117")
70−assert(debug.getinfo(f).short_src == "\120\117\120\117")
71−dostring(a,string.format("\61\37\115",string.rep("\120",500)))
72−assert(string.find(debug.getinfo(f).short_src,"\94\120\42\36"))
73−dostring(a,"\61")
64+assert(debug.getinfo(f).short_src == "\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{22}\u{5d}")
65+dostring(a,"\u{40}\u{78}\u{75}\u{78}\u{75}")
66+assert(debug.getinfo(f).short_src == "\u{78}\u{75}\u{78}\u{75}")
67+dostring(a,"\u{40}" .. string.rep("\u{70}",1000) .. "\u{74}")
68+assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{25}\u{2e}\u{25}\u{2e}\u{25}\u{2e}\u{70}\u{2a}\u{74}\u{24}"))
69+dostring(a,"\u{3d}\u{78}\u{75}\u{78}\u{75}")
70+assert(debug.getinfo(f).short_src == "\u{78}\u{75}\u{78}\u{75}")
71+dostring(a,string.format("\u{3d}\u{25}\u{73}",string.rep("\u{78}",500)))
72+assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{78}\u{2a}\u{24}"))
73+dostring(a,"\u{3d}")
7474assert(debug.getinfo(f).short_src == "")
7575_G.a=nil
7676;
7777_G.f=nil
7878;
79−_G[string.rep("\112",400)]=nil
79+_G[string.rep("\u{70}",400)]=nil
8080repeat
81−local g = {["\120"] = function ()
81+local g = {["\u{78}"] = function ()
8282local a = debug.getinfo(2)
83−assert(a.name == "\102" and a.namewhat == "\108\111\99\97\108")
83+assert(a.name == "\u{66}" and a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")
8484a=debug.getinfo(1)
85−assert(a.name == "\120" and a.namewhat == "\102\105\101\108\100")
86−return "\120\105\120\105"
85+assert(a.name == "\u{78}" and a.namewhat == "\u{66}\u{69}\u{65}\u{6c}\u{64}")
86+return "\u{78}\u{69}\u{78}\u{69}"
8787end}
8888local f = function ()
8989return 1 + 1 and (not 1 or g.x())
9090end
91−assert(f() == "\120\105\120\105")
91+assert(f() == "\u{78}\u{69}\u{78}\u{69}")
9292g=debug.getinfo(f)
93−assert(g.what == "\76\117\97" and g.func == f and g.namewhat == "" and not g.name)
93+assert(g.what == "\u{4c}\u{75}\u{61}" and g.func == f and g.namewhat == "" and not g.name)
9494function f(x,name)
95−name=name or "\102"
95+name=name or "\u{66}"
9696local a = debug.getinfo(1)
97−assert(a.name == name and a.namewhat == "\108\111\99\97\108")
97+assert(a.name == name and a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")
9898return x
9999end
100100if 3 > 4 then
@@ -146,32 +146,32 @@ function g(x)
146146if not x then
147147return 3
148148end
149−return (x("\97","\120"))
149+return (x("\u{61}","\u{78}"))
150150end
151−assert(g(f) == "\97")
151+assert(g(f) == "\u{61}")
152152until 1
153−test("\105\102\10\109\97\116\104\46\115\105\110\40\49\41\10\116\104\101\110\10\32\32\97\61\49\10\101\108\115\101\10\32\32\97\61\50\10\101\110\100\10",{2,3,4,7})
154−test("\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\102\111\111\40\41\10\101\110\100\10\102\111\111\40\41\10\65\32\61\32\49\10\65\32\61\32\50\10\65\32\61\32\51\10",{2,3,2,4,5,6})
153+test("\u{69}\u{66}\u{a}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{a}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{31}\u{a}\u{65}\u{6c}\u{73}\u{65}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{32}\u{a}\u{65}\u{6e}\u{64}\u{a}",{2,3,4,7})
154+test("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{29}\u{a}\u{65}\u{6e}\u{64}\u{a}\u{66}\u{6f}\u{6f}\u{28}\u{29}\u{a}\u{41}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{41}\u{20}\u{3d}\u{20}\u{32}\u{a}\u{41}\u{20}\u{3d}\u{20}\u{33}\u{a}",{2,3,2,4,5,6})
155155_G.A=nil
156−test("\45\45\10\105\102\32\110\105\108\32\116\104\101\110\10\32\32\97\61\49\10\101\108\115\101\10\32\32\97\61\50\10\101\110\100\10",{2,5,6})
157−test("\97\61\49\10\114\101\112\101\97\116\10\32\32\97\61\97\43\49\10\117\110\116\105\108\32\97\61\61\51\10",{1,3,4,3,4})
158−test("\32\100\111\10\32\32\114\101\116\117\114\110\10\101\110\100\10",{2})
159−test("\108\111\99\97\108\32\97\10\97\61\49\10\119\104\105\108\101\32\97\60\61\51\32\100\111\10\32\32\97\61\97\43\49\10\101\110\100\10",{1,2,3,4,3,4,3,4,3,5})
160−test("\119\104\105\108\101\32\109\97\116\104\46\115\105\110\40\49\41\32\100\111\10\32\32\105\102\32\109\97\116\104\46\115\105\110\40\49\41\10\32\32\116\104\101\110\32\98\114\101\97\107\10\32\32\101\110\100\10\101\110\100\10\97\61\49",{1,2,3,6})
161−test("\102\111\114\32\105\61\49\44\51\32\100\111\10\32\32\97\61\105\10\101\110\100\10",{1,2,1,2,1,2,1,3})
162−test("\102\111\114\32\105\44\118\32\105\110\32\112\97\105\114\115\123\39\97\39\44\39\98\39\125\32\100\111\10\32\32\97\61\116\111\115\116\114\105\110\103\40\105\41\32\46\46\32\118\10\101\110\100\10",{1,2,1,2,1,3})
163−test("\102\111\114\32\105\61\49\44\52\32\100\111\32\97\61\49\32\101\110\100",{1,1,1,1})
156+test("\u{2d}\u{2d}\u{a}\u{69}\u{66}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{31}\u{a}\u{65}\u{6c}\u{73}\u{65}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{32}\u{a}\u{65}\u{6e}\u{64}\u{a}",{2,5,6})
157+test("\u{61}\u{3d}\u{31}\u{a}\u{72}\u{65}\u{70}\u{65}\u{61}\u{74}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{61}\u{2b}\u{31}\u{a}\u{75}\u{6e}\u{74}\u{69}\u{6c}\u{20}\u{61}\u{3d}\u{3d}\u{33}\u{a}",{1,3,4,3,4})
158+test("\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{a}\u{65}\u{6e}\u{64}\u{a}",{2})
159+test("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{a}\u{61}\u{3d}\u{31}\u{a}\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{61}\u{3c}\u{3d}\u{33}\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{61}\u{2b}\u{31}\u{a}\u{65}\u{6e}\u{64}\u{a}",{1,2,3,4,3,4,3,4,3,5})
160+test("\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{a}\u{20}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{62}\u{72}\u{65}\u{61}\u{6b}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{65}\u{6e}\u{64}\u{a}\u{61}\u{3d}\u{31}",{1,2,3,6})
161+test("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{3d}\u{31}\u{2c}\u{33}\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{69}\u{a}\u{65}\u{6e}\u{64}\u{a}",{1,2,1,2,1,2,1,3})
162+test("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{2c}\u{76}\u{20}\u{69}\u{6e}\u{20}\u{70}\u{61}\u{69}\u{72}\u{73}\u{7b}\u{27}\u{61}\u{27}\u{2c}\u{27}\u{62}\u{27}\u{7d}\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{69}\u{29}\u{20}\u{2e}\u{2e}\u{20}\u{76}\u{a}\u{65}\u{6e}\u{64}\u{a}",{1,2,1,2,1,3})
163+test("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{3d}\u{31}\u{2c}\u{34}\u{20}\u{64}\u{6f}\u{20}\u{61}\u{3d}\u{31}\u{20}\u{65}\u{6e}\u{64}",{1,1,1,1})
164164_G.a=nil
165165do
166166local a = {1,2,3,10,124,125,126,127,128,129,130,255,256,257,500,1000}
167−local s = "\32\32\32\32\32\108\111\99\97\108\32\98\32\61\32\123\49\48\125\10\32\32\32\32\32\97\32\61\32\98\91\49\93\32\88\32\43\32\89\32\98\91\49\93\10\32\32\32\32\32\98\32\61\32\52\10\32\32"
167+local s = "\u{20}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{7b}\u{31}\u{30}\u{7d}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{5b}\u{31}\u{5d}\u{20}\u{58}\u{20}\u{2b}\u{20}\u{59}\u{20}\u{62}\u{5b}\u{31}\u{5d}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{34}\u{a}\u{20}\u{20}"
168168for _,i in ipairs(a)
169169do
170−local subs = {["\88"] = string.rep("\10",i)}
170+local subs = {["\u{58}"] = string.rep("\u{a}",i)}
171171for _,j in ipairs(a)
172172do
173−subs.Y=string.rep("\10",j)
174−local s = string.gsub(s,"\91\88\89\93",subs)
173+subs.Y=string.rep("\u{a}",j)
174+local s = string.gsub(s,"\u{5b}\u{58}\u{59}\u{5d}",subs)
175175test(s,{1,2 + i,2 + i + j,2 + i,2 + i + j,3 + i + j})
176176end
177177end
@@ -180,7 +180,7 @@ _G.a=nil
180180do
181181local function checkactivelines
182182(f,lines)
183−local t = debug.getinfo(f,"\83\76")
183+local t = debug.getinfo(f,"\u{53}\u{4c}")
184184for _,l in pairs(lines)
185185do
186186l=l + t.linedefined
@@ -205,10 +205,10 @@ checkactivelines(function (a,b)
205205end,{1})
206206for _,n in pairs({0,1,2,10,50,100,1000,10000})
207207do
208−checkactivelines(load(string.format("\37\115\32\114\101\116\117\114\110\32\49",string.rep("\10",n))),{n + 1})
208+checkactivelines(load(string.format("\u{25}\u{73}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",string.rep("\u{a}",n))),{n + 1})
209209end
210210end
211−print("\43")
211+print("\u{2b}")
212212assert(not pcall(debug.getlocal,20,1))
213213assert(not pcall(debug.setlocal,- 1,1,10))
214214local function foo
@@ -216,11 +216,11 @@ local function foo
216216local d,e
217217end
218218local co = coroutine.create(foo)
219−assert(debug.getlocal(foo,1) == "\97")
220−assert(debug.getlocal(foo,2) == "\98")
219+assert(debug.getlocal(foo,1) == "\u{61}")
220+assert(debug.getlocal(foo,2) == "\u{62}")
221221assert(not debug.getlocal(foo,3))
222−assert(debug.getlocal(co,foo,1) == "\97")
223−assert(debug.getlocal(co,foo,2) == "\98")
222+assert(debug.getlocal(co,foo,1) == "\u{61}")
223+assert(debug.getlocal(co,foo,2) == "\u{62}")
224224assert(not debug.getlocal(co,foo,3))
225225assert(not debug.getlocal(print,1))
226226local function foo
@@ -234,14 +234,14 @@ local t = table.pack(...)
234234for i = 1, t.n
235235do
236236local n,v = debug.getlocal(1,- i)
237−assert(n == "\40\118\97\114\97\114\103\41" and v == t[i])
237+assert(n == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}" and v == t[i])
238238end
239239assert(not debug.getlocal(1,- (t.n + 1)))
240240assert(not debug.setlocal(1,- (t.n + 1),30))
241241if t.n > 0 then
242242(function (x)
243−assert(debug.setlocal(2,- 1,x) == "\40\118\97\114\97\114\103\41")
244−assert(debug.setlocal(2,- t.n,x) == "\40\118\97\114\97\114\103\41")
243+assert(debug.setlocal(2,- 1,x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}")
244+assert(debug.setlocal(2,- t.n,x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}")
245245end)(430)
246246assert(... == 430)
247247end
@@ -260,12 +260,12 @@ assert(not debug.gethook())
260260local count = 0
261261local function f
262262()
263−assert(debug.getinfo(1).namewhat == "\104\111\111\107")
264−local sndline = string.match(debug.traceback(),"\10\40\46\45\41\10")
265−assert(string.find(sndline,"\104\111\111\107"))
263+assert(debug.getinfo(1).namewhat == "\u{68}\u{6f}\u{6f}\u{6b}")
264+local sndline = string.match(debug.traceback(),"\u{a}\u{28}\u{2e}\u{2d}\u{29}\u{a}")
265+assert(string.find(sndline,"\u{68}\u{6f}\u{6f}\u{6b}"))
266266count=count + 1
267267end
268−debug.sethook(f,"\108")
268+debug.sethook(f,"\u{6c}")
269269local a = 0
270270_ENV.a=a
271271a=1
@@ -273,7 +273,7 @@ debug.sethook()
273273assert(count == 4)
274274end
275275_ENV.a=nil
276−assert(getmetatable(debug.getregistry()._HOOKKEY).__mode == "\107")
276+assert(getmetatable(debug.getregistry()._HOOKKEY).__mode == "\u{6b}")
277277a={}
278278;
279279local L = nil
@@ -282,40 +282,40 @@ local oldglob = glob
282282debug.sethook(function (e,l)
283283collectgarbage()
284284local f,m,c = debug.gethook()
285−assert(m == "\99\114\108" and c == 0)
286−if e == "\108\105\110\101" then
285+assert(m == "\u{63}\u{72}\u{6c}" and c == 0)
286+if e == "\u{6c}\u{69}\u{6e}\u{65}" then
287287if glob ~= oldglob then
288288L=l - 1
289289oldglob=glob
290290end
291−elseif e == "\99\97\108\108" then
292−local f = debug.getinfo(2,"\102").func
291+elseif e == "\u{63}\u{61}\u{6c}\u{6c}" then
292+local f = debug.getinfo(2,"\u{66}").func
293293a[f]=1
294294else
295−assert(e == "\114\101\116\117\114\110")
295+assert(e == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}")
296296end
297−end,"\99\114\108")
297+end,"\u{63}\u{72}\u{6c}")
298298function f(a,b)
299299collectgarbage()
300300local _,x = debug.getlocal(1,1)
301301local _,y = debug.getlocal(1,2)
302302assert(x == a and y == b)
303−assert(debug.setlocal(2,3,"\112\101\114\97") == "\65\65" .. "\65\65")
304−assert(debug.setlocal(2,4,"\109\97\110\103\97") == "\66")
303+assert(debug.setlocal(2,3,"\u{70}\u{65}\u{72}\u{61}") == "\u{41}\u{41}" .. "\u{41}\u{41}")
304+assert(debug.setlocal(2,4,"\u{6d}\u{61}\u{6e}\u{67}\u{61}") == "\u{42}")
305305x=debug.getinfo(2)
306−assert(x.func == g and x.what == "\76\117\97" and x.name == "\103" and x.nups == 2 and string.find(x.source,"\94\64\46\42\100\98\37\46\108\117\97\36"))
306+assert(x.func == g and x.what == "\u{4c}\u{75}\u{61}" and x.name == "\u{67}" and x.nups == 2 and string.find(x.source,"\u{5e}\u{40}\u{2e}\u{2a}\u{64}\u{62}\u{25}\u{2e}\u{6c}\u{75}\u{61}\u{24}"))
307307glob=glob + 1
308−assert(debug.getinfo(1,"\108").currentline == L + 1)
309−assert(debug.getinfo(1,"\108").currentline == L + 2)
308+assert(debug.getinfo(1,"\u{6c}").currentline == L + 1)
309+assert(debug.getinfo(1,"\u{6c}").currentline == L + 2)
310310end
311311function foo()
312312glob=glob + 1
313−assert(debug.getinfo(1,"\108").currentline == L + 1)
313+assert(debug.getinfo(1,"\u{6c}").currentline == L + 1)
314314end
315315;
316316foo()
317−local _ = "\97\108\111\10\97\108\111" .. "\10"
318−assert(debug.getinfo(1,"\108").currentline == L + 11)
317+local _ = "\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}" .. "\u{a}"
318+assert(debug.getinfo(1,"\u{6c}").currentline == L + 11)
319319function g(...)
320320local arg = {...}
321321do
@@ -325,21 +325,21 @@ a=math.sin(40)
325325;
326326end
327327local feijao
328−local AAAA,B = "\120\117\120\117","\97\98\97\99\97\116\101"
328+local AAAA,B = "\u{78}\u{75}\u{78}\u{75}","\u{61}\u{62}\u{61}\u{63}\u{61}\u{74}\u{65}"
329329f(AAAA,B)
330−assert(AAAA == "\112\101\114\97" and B == "\109\97\110\103\97")
330+assert(AAAA == "\u{70}\u{65}\u{72}\u{61}" and B == "\u{6d}\u{61}\u{6e}\u{67}\u{61}")
331331do
332332local B = 13
333333local x,y = debug.getlocal(1,5)
334−assert(x == "\66" and y == 13)
334+assert(x == "\u{42}" and y == 13)
335335end
336336end
337337g()
338338assert(a[f] and a[g] and a[assert] and a[debug.getlocal] and not a[print])
339339local n,v = debug.getlocal(0,1)
340−assert(v == 0 and n == "\40\67\32\116\101\109\112\111\114\97\114\121\41")
340+assert(v == 0 and n == "\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
341341local n,v = debug.getlocal(0,2)
342−assert(v == 2 and n == "\40\67\32\116\101\109\112\111\114\97\114\121\41")
342+assert(v == 2 and n == "\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
343343assert(not debug.getlocal(0,3))
344344assert(not debug.getlocal(0,0))
345345function f()
@@ -388,7 +388,7 @@ local tab = {}
388388for i = 1, math.huge
389389do
390390local n,v = debug.getlocal(level + 1,i)
391−if not (n and string.find(n,"\94\91\97\45\122\65\45\90\48\45\57\95\93\43\36")) then
391+if not (n and string.find(n,"\u{5e}\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{30}\u{2d}\u{39}\u{5f}\u{5d}\u{2b}\u{24}")) then
392392break
393393end
394394tab[n]=v
@@ -403,19 +403,19 @@ local arg = {...}
403403local c = 13
404404end
405405debug.sethook(function (e)
406−assert(e == "\99\97\108\108")
407−dostring("\88\88\32\61\32\49\50")
408−assert(not pcall(load("\97\61\39\106\111\97\111\39\43\49")))
406+assert(e == "\u{63}\u{61}\u{6c}\u{6c}")
407+dostring("\u{58}\u{58}\u{20}\u{3d}\u{20}\u{31}\u{32}")
408+assert(not pcall(load("\u{61}\u{3d}\u{27}\u{6a}\u{6f}\u{61}\u{6f}\u{27}\u{2b}\u{31}")))
409409debug.sethook(function (e,l)
410−assert(debug.getinfo(2,"\108").currentline == l)
410+assert(debug.getinfo(2,"\u{6c}").currentline == l)
411411local f,m,c = debug.gethook()
412−assert(e == "\108\105\110\101")
413−assert(m == "\108" and c == 0)
412+assert(e == "\u{6c}\u{69}\u{6e}\u{65}")
413+assert(m == "\u{6c}" and c == 0)
414414debug.sethook(nil)
415415assert(not X)
416416X=collectlocals(2)
417−end,"\108")
418−end,"\99")
417+end,"\u{6c}")
418+end,"\u{63}")
419419a:f(1,2,3,4,5)
420420assert(X.self == a and X.a == 1 and X.b == 2 and X.c == nil)
421421assert(XX == 12)
@@ -433,9 +433,9 @@ return
433433end
434434local function aux
435435()
436−if debug.getinfo(2).name == "\102\111\111" then
436+if debug.getinfo(2).name == "\u{66}\u{6f}\u{6f}" then
437437X=true
438−local tab = {["\97"] = 100,["\98"] = 200,["\99"] = 10,["\100"] = 20}
438+local tab = {["\u{61}"] = 100,["\u{62}"] = 200,["\u{63}"] = 10,["\u{64}"] = 20}
439439for n,v in pairs(collectlocals(2))
440440do
441441assert(tab[n] == v)
@@ -444,7 +444,7 @@ end
444444assert(next(tab) == nil)
445445end
446446end
447−debug.sethook(aux,"\114")
447+debug.sethook(aux,"\u{72}")
448448;
449449foo(100,200)
450450;
@@ -460,7 +460,7 @@ assert(t1[i] == t2[i])
460460end
461461end
462462do
463−print("\116\101\115\116\105\110\103\32\105\110\115\112\101\99\116\105\111\110\32\111\102\32\112\97\114\97\109\101\116\101\114\115\47\114\101\116\117\114\110\101\100\32\118\97\108\117\101\115")
463+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{73}\u{70}\u{65}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{66}\u{20}\u{70}\u{61}\u{72}\u{61}\u{6d}\u{65}\u{74}\u{65}\u{72}\u{73}\u{2f}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{65}\u{64}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}")
464464local on = false
465465local inp,out
466466local function hook
@@ -468,20 +468,20 @@ local function hook
468468if not on then
469469return
470470end
471−local ar = debug.getinfo(2,"\114\117\83")
471+local ar = debug.getinfo(2,"\u{72}\u{75}\u{53}")
472472local t = {}
473473for i = ar.ftransfer, ar.ftransfer + ar.ntransfer - 1
474474do
475475local _,v = debug.getlocal(2,i)
476476t[# t + 1]=v
477477end
478−if event == "\114\101\116\117\114\110" then
478+if event == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}" then
479479out=t
480480else
481481inp=t
482482end
483483end
484−debug.sethook(hook,"\99\114")
484+debug.sethook(hook,"\u{63}\u{72}")
485485on=true
486486;
487487math.sin(3)
@@ -546,14 +546,14 @@ return c + b
546546end
547547assert(not debug.getupvalue(foo1,3))
548548assert(not debug.getupvalue(foo1,0))
549−assert(not debug.setupvalue(foo1,3,"\120\117\120\117"))
549+assert(not debug.setupvalue(foo1,3,"\u{78}\u{75}\u{78}\u{75}"))
550550local t = getupvalues(foo1)
551551assert(t.a == nil and t.b == 2 and t.c == 3)
552552t=getupvalues(foo2)
553553assert(t.a == 1 and t.b == 2 and t.c == 3)
554−assert(debug.setupvalue(foo1,1,"\120\117\120\117") == "\98")
555−assert(({debug.getupvalue(foo2,3)})[2] == "\120\117\120\117")
556−assert(debug.getupvalue(string.gmatch("\120","\120"),1) == "")
554+assert(debug.setupvalue(foo1,1,"\u{78}\u{75}\u{78}\u{75}") == "\u{62}")
555+assert(({debug.getupvalue(foo2,3)})[2] == "\u{78}\u{75}\u{78}\u{75}")
556+assert(debug.getupvalue(string.gmatch("\u{78}","\u{78}"),1) == "")
557557local a = 0
558558debug.sethook(function (e)
559559a=a + 1
@@ -600,12 +600,12 @@ local g,g1
600600local function f
601601(x)
602602if x then
603−assert(debug.getinfo(1,"\83").what == "\76\117\97")
604−assert(debug.getinfo(1,"\116").istailcall == true)
603+assert(debug.getinfo(1,"\u{53}").what == "\u{4c}\u{75}\u{61}")
604+assert(debug.getinfo(1,"\u{74}").istailcall == true)
605605local tail = debug.getinfo(2)
606606assert(tail.func == g1 and tail.istailcall == true)
607−assert(debug.getinfo(3,"\83").what == "\109\97\105\110")
608−print("\43")
607+assert(debug.getinfo(3,"\u{53}").what == "\u{6d}\u{61}\u{69}\u{6e}")
608+print("\u{2b}")
609609end
610610end
611611function g(x)
@@ -624,23 +624,23 @@ h(true)
624624local b = {}
625625debug.sethook(function (e)
626626table.insert(b,e)
627−end,"\99\114")
627+end,"\u{63}\u{72}")
628628h(false)
629629debug.sethook()
630−local res = {"\114\101\116\117\114\110","\99\97\108\108","\116\97\105\108\32\99\97\108\108","\99\97\108\108","\116\97\105\108\32\99\97\108\108","\114\101\116\117\114\110","\114\101\116\117\114\110","\99\97\108\108"}
630+local res = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}","\u{63}\u{61}\u{6c}\u{6c}","\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}","\u{63}\u{61}\u{6c}\u{6c}","\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}","\u{63}\u{61}\u{6c}\u{6c}"}
631631for i = 1, # res
632632do
633633assert(res[i] == table.remove(b,1))
634634end
635635b=0
636636debug.sethook(function (e)
637−if e == "\116\97\105\108\32\99\97\108\108" then
637+if e == "\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}" then
638638b=b + 1
639−assert(debug.getinfo(2,"\116").istailcall == true)
639+assert(debug.getinfo(2,"\u{74}").istailcall == true)
640640else
641−assert(debug.getinfo(2,"\116").istailcall == false)
641+assert(debug.getinfo(2,"\u{74}").istailcall == false)
642642end
643−end,"\99")
643+end,"\u{63}")
644644h(false)
645645debug.sethook()
646646assert(b == 2)
@@ -648,7 +648,7 @@ local lim = _soft and 3000 or 30000
648648local function foo
649649(x)
650650if x == 0 then
651−assert(debug.getinfo(2).what == "\109\97\105\110")
651+assert(debug.getinfo(2).what == "\u{6d}\u{61}\u{69}\u{6e}")
652652local info = debug.getinfo(1)
653653assert(info.istailcall == true and info.func == foo)
654654else
@@ -656,57 +656,57 @@ return foo(x - 1)
656656end
657657end
658658foo(lim)
659−print("\43")
660−co=load("\32\32\108\111\99\97\108\32\65\32\61\32\102\117\110\99\116\105\111\110\32\40\41\10\32\32\32\32\114\101\116\117\114\110\32\120\10\32\32\101\110\100\10\32\32\114\101\116\117\114\110\10")
659+print("\u{2b}")
660+co=load("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{41}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{a}")
661661local a = 0
662662debug.sethook(function (e,l)
663663if l == 3 then
664664a=a + 1
665665;
666−assert(debug.getlocal(2,1) == "\40\116\101\109\112\111\114\97\114\121\41")
666+assert(debug.getlocal(2,1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
667667elseif l == 4 then
668668a=a + 1
669669;
670−assert(debug.getlocal(2,1) == "\65")
670+assert(debug.getlocal(2,1) == "\u{41}")
671671end
672−end,"\108")
672+end,"\u{6c}")
673673co()
674674debug.sethook()
675675assert(a == 2)
676676assert(debug.traceback(print) == print)
677677assert(debug.traceback(print,4) == print)
678−assert(string.find(debug.traceback("\104\105",4),"\94\104\105\10"))
679−assert(string.find(debug.traceback("\104\105"),"\94\104\105\10"))
680−assert(not string.find(debug.traceback("\104\105"),"\39\100\101\98\117\103\46\116\114\97\99\101\98\97\99\107\39"))
681−assert(string.find(debug.traceback("\104\105",0),"\39\100\101\98\117\103\46\116\114\97\99\101\98\97\99\107\39"))
682−assert(string.find(debug.traceback(),"\94\115\116\97\99\107\32\116\114\97\99\101\98\97\99\107\58\10"))
678+assert(string.find(debug.traceback("\u{68}\u{69}",4),"\u{5e}\u{68}\u{69}\u{a}"))
679+assert(string.find(debug.traceback("\u{68}\u{69}"),"\u{5e}\u{68}\u{69}\u{a}"))
680+assert(not string.find(debug.traceback("\u{68}\u{69}"),"\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{27}"))
681+assert(string.find(debug.traceback("\u{68}\u{69}",0),"\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{27}"))
682+assert(string.find(debug.traceback(),"\u{5e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{3a}\u{a}"))
683683do
684684local st,msg = (function ()
685685return pcall
686686end)()(debug.traceback)
687−assert(st == true and string.find(msg,"\112\99\97\108\108"))
687+assert(st == true and string.find(msg,"\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
688688end
689−local t = debug.getinfo(print,"\117")
689+local t = debug.getinfo(print,"\u{75}")
690690assert(t.isvararg == true and t.nparams == 0 and t.nups == 0)
691691t=debug.getinfo(function (a,b,c)
692692
693−end,"\117")
693+end,"\u{75}")
694694assert(t.isvararg == false and t.nparams == 3 and t.nups == 0)
695695t=debug.getinfo(function (a,b, ...)
696696return t[a]
697−end,"\117")
697+end,"\u{75}")
698698assert(t.isvararg == true and t.nparams == 2 and t.nups == 1)
699699t=debug.getinfo(1)
700−assert(t.isvararg == true and t.nparams == 0 and t.nups == 1 and debug.getupvalue(t.func,1) == "\95\69\78\86")
700+assert(t.isvararg == true and t.nparams == 0 and t.nups == 1 and debug.getupvalue(t.func,1) == "\u{5f}\u{45}\u{4e}\u{56}")
701701t=debug.getinfo(math.sin)
702702assert(t.isvararg == true and t.nparams == 0 and t.nups == 0)
703−t=debug.getinfo(string.gmatch("\97\98\99","\97"))
703+t=debug.getinfo(string.gmatch("\u{61}\u{62}\u{63}","\u{61}"))
704704assert(t.isvararg == true and t.nparams == 0 and t.nups > 0)
705705local function checktraceback
706706(co,p,level)
707707local tb = debug.traceback(co,nil,level)
708708local i = 0
709−for l in string.gmatch(tb,"\91\94\10\93\43\10\63")
709+for l in string.gmatch(tb,"\u{5b}\u{5e}\u{a}\u{5d}\u{2b}\u{a}\u{3f}")
710710do
711711assert(i == 0 or string.find(l,p[i]))
712712i=i + 1
@@ -723,15 +723,15 @@ end
723723end
724724local co = coroutine.create(f)
725725coroutine.resume(co,3)
726−checktraceback(co,{"\121\105\101\108\100","\100\98\46\108\117\97","\100\98\46\108\117\97","\100\98\46\108\117\97","\100\98\46\108\117\97"})
727−checktraceback(co,{"\100\98\46\108\117\97","\100\98\46\108\117\97","\100\98\46\108\117\97","\100\98\46\108\117\97"},1)
728−checktraceback(co,{"\100\98\46\108\117\97","\100\98\46\108\117\97","\100\98\46\108\117\97"},2)
729−checktraceback(co,{"\100\98\46\108\117\97"},4)
726+checktraceback(co,{"\u{79}\u{69}\u{65}\u{6c}\u{64}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}"})
727+checktraceback(co,{"\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}"},1)
728+checktraceback(co,{"\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}","\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}"},2)
729+checktraceback(co,{"\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}"},4)
730730checktraceback(co,{},40)
731731co=coroutine.create(function (x)
732732local a = 1
733−coroutine.yield(debug.getinfo(1,"\108"))
734−coroutine.yield(debug.getinfo(1,"\108").currentline)
733+coroutine.yield(debug.getinfo(1,"\u{6c}"))
734+coroutine.yield(debug.getinfo(1,"\u{6c}").currentline)
735735return a
736736end)
737737local tr = {}
@@ -740,11 +740,11 @@ if l then
740740table.insert(tr,l)
741741end
742742end
743−debug.sethook(co,foo,"\108\99\114")
743+debug.sethook(co,foo,"\u{6c}\u{63}\u{72}")
744744local _,l = coroutine.resume(co,10)
745−local x = debug.getinfo(co,1,"\108\102\76\83")
745+local x = debug.getinfo(co,1,"\u{6c}\u{66}\u{4c}\u{53}")
746746assert(x.currentline == l.currentline and x.activelines[x.currentline])
747−assert(type(x.func) == "\102\117\110\99\116\105\111\110")
747+assert(type(x.func) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
748748for i = x.linedefined + 1, x.lastlinedefined
749749do
750750assert(x.activelines[i])
@@ -753,17 +753,17 @@ end
753753assert(next(x.activelines) == nil)
754754assert(not debug.getinfo(co,2))
755755local a,b = debug.getlocal(co,1,1)
756−assert(a == "\120" and b == 10)
756+assert(a == "\u{78}" and b == 10)
757757a,b=debug.getlocal(co,1,2)
758−assert(a == "\97" and b == 1)
759−debug.setlocal(co,1,2,"\104\105")
758+assert(a == "\u{61}" and b == 1)
759+debug.setlocal(co,1,2,"\u{68}\u{69}")
760760assert(debug.gethook(co) == foo)
761761assert(# tr == 2 and tr[1] == l.currentline - 1 and tr[2] == l.currentline)
762762a,b,c=pcall(coroutine.resume,co)
763763assert(a and b and c == l.currentline + 1)
764−checktraceback(co,{"\121\105\101\108\100","\105\110\32\102\117\110\99\116\105\111\110\32\60"})
764+checktraceback(co,{"\u{79}\u{69}\u{65}\u{6c}\u{64}","\u{69}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{3c}"})
765765a,b=coroutine.resume(co)
766−assert(a and b == "\104\105")
766+assert(a and b == "\u{68}\u{69}")
767767assert(# tr == 4 and tr[4] == l.currentline + 2)
768768assert(debug.gethook(co) == foo)
769769assert(not debug.gethook())
@@ -776,9 +776,9 @@ end)
776776a,b=coroutine.resume(co,10)
777777assert(a and b == 10)
778778a,b=debug.getlocal(co,1,1)
779−assert(a == "\120" and b == 10)
779+assert(a == "\u{78}" and b == 10)
780780assert(not debug.getlocal(co,1,5))
781−assert(debug.setlocal(co,1,1,30) == "\120")
781+assert(debug.setlocal(co,1,1,30) == "\u{78}")
782782assert(not debug.setlocal(co,1,5,40))
783783a,b=coroutine.resume(co,100)
784784assert(a and b == 30)
@@ -795,13 +795,13 @@ co=coroutine.create(function (x)
795795f(x)
796796end)
797797a,b=coroutine.resume(co,3)
798−t={"\39\99\111\114\111\117\116\105\110\101\46\121\105\101\108\100\39","\39\102\39","\105\110\32\102\117\110\99\116\105\111\110\32\60"}
799−while coroutine.status(co) == "\115\117\115\112\101\110\100\101\100" do
798+t={"\u{27}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{27}","\u{27}\u{66}\u{27}","\u{69}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{3c}"}
799+while coroutine.status(co) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}" do
800800checktraceback(co,t)
801801a,b=coroutine.resume(co)
802−table.insert(t,2,"\39\102\39")
802+table.insert(t,2,"\u{27}\u{66}\u{27}")
803803end
804−t[1]="\39\101\114\114\111\114\39"
804+t[1]="\u{27}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{27}"
805805checktraceback(co,t)
806806local function g
807807(x)
@@ -811,7 +811,7 @@ local function f
811811(i)
812812debug.sethook(function ()
813813
814−end,"\108")
814+end,"\u{6c}")
815815for j = 1, 1000
816816do
817817g(i + j)
@@ -821,33 +821,33 @@ local co = coroutine.wrap(f)
821821co(10)
822822pcall(co)
823823pcall(co)
824−assert(type(debug.getregistry()) == "\116\97\98\108\101")
824+assert(type(debug.getregistry()) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
825825local a = {}
826826local function f
827827(t)
828828local info = debug.getinfo(1)
829829;
830−assert(info.namewhat == "\109\101\116\97\109\101\116\104\111\100")
830+assert(info.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}")
831831a.op=info.name
832832return info.name
833833end
834−setmetatable(a,{["\95\95\105\110\100\101\120"] = f,["\95\95\97\100\100"] = f,["\95\95\100\105\118"] = f,["\95\95\109\111\100"] = f,["\95\95\99\111\110\99\97\116"] = f,["\95\95\112\111\119"] = f,["\95\95\109\117\108"] = f,["\95\95\105\100\105\118"] = f,["\95\95\117\110\109"] = f,["\95\95\108\101\110"] = f,["\95\95\115\117\98"] = f,["\95\95\115\104\108"] = f,["\95\95\115\104\114"] = f,["\95\95\98\111\114"] = f,["\95\95\98\120\111\114"] = f,["\95\95\101\113"] = f,["\95\95\108\101"] = f,["\95\95\108\116"] = f,["\95\95\117\110\109"] = f,["\95\95\108\101\110"] = f,["\95\95\98\97\110\100"] = f,["\95\95\98\110\111\116"] = f})
834+setmetatable(a,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = f,["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = f,["\u{5f}\u{5f}\u{64}\u{69}\u{76}"] = f,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = f,["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = f,["\u{5f}\u{5f}\u{70}\u{6f}\u{77}"] = f,["\u{5f}\u{5f}\u{6d}\u{75}\u{6c}"] = f,["\u{5f}\u{5f}\u{69}\u{64}\u{69}\u{76}"] = f,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = f,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = f,["\u{5f}\u{5f}\u{73}\u{75}\u{62}"] = f,["\u{5f}\u{5f}\u{73}\u{68}\u{6c}"] = f,["\u{5f}\u{5f}\u{73}\u{68}\u{72}"] = f,["\u{5f}\u{5f}\u{62}\u{6f}\u{72}"] = f,["\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}"] = f,["\u{5f}\u{5f}\u{65}\u{71}"] = f,["\u{5f}\u{5f}\u{6c}\u{65}"] = f,["\u{5f}\u{5f}\u{6c}\u{74}"] = f,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = f,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = f,["\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}"] = f,["\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}"] = f})
835835local b = setmetatable({},getmetatable(a))
836−assert(a[3] == "\105\110\100\101\120" and a ^ 3 == "\112\111\119" and a .. a == "\99\111\110\99\97\116")
837−assert(a / 3 == "\100\105\118" and 3 % a == "\109\111\100")
838−assert(a + 3 == "\97\100\100" and 3 - a == "\115\117\98" and a * 3 == "\109\117\108" and - a == "\117\110\109" and # a == "\108\101\110" and a & 3 == "\98\97\110\100")
839−assert(a + 30000 == "\97\100\100" and a - 3.0 == "\115\117\98" and a * 3.0 == "\109\117\108" and - a == "\117\110\109" and # a == "\108\101\110" and a & 3 == "\98\97\110\100")
840−assert(a | 3 == "\98\111\114" and 3 ~ a == "\98\120\111\114" and a << 3 == "\115\104\108" and a >> 1 == "\115\104\114")
841−assert(a == b and a.op == "\101\113")
842−assert(a >= b and a.op == "\108\101")
843−assert("\120" >= a and a.op == "\108\101")
844−assert(a > b and a.op == "\108\116")
845−assert(a > 10 and a.op == "\108\116")
846−assert(~ a == "\98\110\111\116")
836+assert(a[3] == "\u{69}\u{6e}\u{64}\u{65}\u{78}" and a ^ 3 == "\u{70}\u{6f}\u{77}" and a .. a == "\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")
837+assert(a / 3 == "\u{64}\u{69}\u{76}" and 3 % a == "\u{6d}\u{6f}\u{64}")
838+assert(a + 3 == "\u{61}\u{64}\u{64}" and 3 - a == "\u{73}\u{75}\u{62}" and a * 3 == "\u{6d}\u{75}\u{6c}" and - a == "\u{75}\u{6e}\u{6d}" and # a == "\u{6c}\u{65}\u{6e}" and a & 3 == "\u{62}\u{61}\u{6e}\u{64}")
839+assert(a + 30000 == "\u{61}\u{64}\u{64}" and a - 3.0 == "\u{73}\u{75}\u{62}" and a * 3.0 == "\u{6d}\u{75}\u{6c}" and - a == "\u{75}\u{6e}\u{6d}" and # a == "\u{6c}\u{65}\u{6e}" and a & 3 == "\u{62}\u{61}\u{6e}\u{64}")
840+assert(a | 3 == "\u{62}\u{6f}\u{72}" and 3 ~ a == "\u{62}\u{78}\u{6f}\u{72}" and a << 3 == "\u{73}\u{68}\u{6c}" and a >> 1 == "\u{73}\u{68}\u{72}")
841+assert(a == b and a.op == "\u{65}\u{71}")
842+assert(a >= b and a.op == "\u{6c}\u{65}")
843+assert("\u{78}" >= a and a.op == "\u{6c}\u{65}")
844+assert(a > b and a.op == "\u{6c}\u{74}")
845+assert(a > 10 and a.op == "\u{6c}\u{74}")
846+assert(~ a == "\u{62}\u{6e}\u{6f}\u{74}")
847847do
848848local function f
849849()
850−assert(debug.getinfo(1).name == "\102\111\114\32\105\116\101\114\97\116\111\114")
850+assert(debug.getinfo(1).name == "\u{66}\u{6f}\u{72}\u{20}\u{69}\u{74}\u{65}\u{72}\u{61}\u{74}\u{6f}\u{72}")
851851end
852852for i in f
853853do
@@ -856,26 +856,26 @@ end
856856end
857857do
858858local name = nil
859−setmetatable({},{["\95\95\103\99"] = function ()
859+setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
860860local t = debug.getinfo(1)
861−assert(t.namewhat == "\109\101\116\97\109\101\116\104\111\100")
861+assert(t.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}")
862862name=t.name
863863end})
864864repeat
865865local a = {}
866866until name
867−assert(name == "\95\95\103\99")
867+assert(name == "\u{5f}\u{5f}\u{67}\u{63}")
868868end
869869do
870−print("\116\101\115\116\105\110\103\32\116\114\97\99\101\98\97\99\107\32\115\105\122\101\115")
870+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{73}")
871871local function countlines
872872(s)
873−return select(2,string.gsub(s,"\10",""))
873+return select(2,string.gsub(s,"\u{a}",""))
874874end
875875local function deep
876876(lvl,n)
877877if lvl == 0 then
878−return (debug.traceback("\109\101\115\115\97\103\101",n))
878+return (debug.traceback("\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}",n))
879879else
880880return (deep(lvl - 1,n))
881881end
@@ -883,10 +883,10 @@ end
883883local function checkdeep
884884(total,start)
885885local s = deep(total,start)
886−local rest = string.match(s,"\94\109\101\115\115\97\103\101\10\115\116\97\99\107\32\116\114\97\99\101\98\97\99\107\58\10\40\46\42\41\36")
886+local rest = string.match(s,"\u{5e}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{a}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{3a}\u{a}\u{28}\u{2e}\u{2a}\u{29}\u{24}")
887887local cl = countlines(rest)
888888assert(cl <= 10 + 11 + 1)
889−local brk = string.find(rest,"\37\46\37\46\37\46\9\37\40\115\107\105\112")
889+local brk = string.find(rest,"\u{25}\u{2e}\u{25}\u{2e}\u{25}\u{2e}\u{9}\u{25}\u{28}\u{73}\u{6b}\u{69}\u{70}")
890890if brk then
891891local rest1 = string.sub(rest,1,brk)
892892local rest2 = string.sub(rest,brk,# rest)
@@ -903,8 +903,8 @@ coroutine.wrap(checkdeep)(d,l)
903903end
904904end
905905end
906−print("\116\101\115\116\105\110\103\32\100\101\98\117\103\32\102\117\110\99\116\105\111\110\115\32\111\110\32\99\104\117\110\107\32\119\105\116\104\111\117\116\32\100\101\98\117\103\32\105\110\102\111")
907−local prog = "\45\45\32\112\114\111\103\114\97\109\32\116\111\32\98\101\32\108\111\97\100\101\100\32\119\105\116\104\111\117\116\32\100\101\98\117\103\32\105\110\102\111\114\109\97\116\105\111\110\32\40\115\116\114\105\112\41\10\108\111\99\97\108\32\100\101\98\117\103\32\61\32\114\101\113\117\105\114\101\39\100\101\98\117\103\39\10\108\111\99\97\108\32\97\32\61\32\49\50\32\32\45\45\32\97\32\108\111\99\97\108\32\118\97\114\105\97\98\108\101\10\10\108\111\99\97\108\32\110\44\32\118\32\61\32\100\101\98\117\103\46\103\101\116\108\111\99\97\108\40\49\44\32\49\41\10\97\115\115\101\114\116\40\110\32\61\61\32\34\40\116\101\109\112\111\114\97\114\121\41\34\32\97\110\100\32\118\32\61\61\32\100\101\98\117\103\41\32\32\32\45\45\32\117\110\107\111\119\110\32\110\97\109\101\32\98\117\116\32\107\110\111\119\110\32\118\97\108\117\101\10\110\44\32\118\32\61\32\100\101\98\117\103\46\103\101\116\108\111\99\97\108\40\49\44\32\50\41\10\97\115\115\101\114\116\40\110\32\61\61\32\34\40\116\101\109\112\111\114\97\114\121\41\34\32\97\110\100\32\118\32\61\61\32\49\50\41\32\32\32\45\45\32\117\110\107\111\119\110\32\110\97\109\101\32\98\117\116\32\107\110\111\119\110\32\118\97\108\117\101\10\10\45\45\32\97\32\102\117\110\99\116\105\111\110\32\119\105\116\104\32\97\110\32\117\112\118\97\108\117\101\10\108\111\99\97\108\32\102\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\108\111\99\97\108\32\120\59\32\114\101\116\117\114\110\32\97\32\101\110\100\10\110\44\32\118\32\61\32\100\101\98\117\103\46\103\101\116\117\112\118\97\108\117\101\40\102\44\32\49\41\10\97\115\115\101\114\116\40\110\32\61\61\32\34\40\110\111\32\110\97\109\101\41\34\32\97\110\100\32\118\32\61\61\32\49\50\41\10\97\115\115\101\114\116\40\100\101\98\117\103\46\115\101\116\117\112\118\97\108\117\101\40\102\44\32\49\44\32\49\51\41\32\61\61\32\34\40\110\111\32\110\97\109\101\41\34\41\10\97\115\115\101\114\116\40\97\32\61\61\32\49\51\41\10\10\108\111\99\97\108\32\116\32\61\32\100\101\98\117\103\46\103\101\116\105\110\102\111\40\102\41\10\97\115\115\101\114\116\40\116\46\110\97\109\101\32\61\61\32\110\105\108\32\97\110\100\32\116\46\108\105\110\101\100\101\102\105\110\101\100\32\62\32\48\32\97\110\100\10\32\32\32\32\32\32\32\116\46\108\97\115\116\108\105\110\101\100\101\102\105\110\101\100\32\61\61\32\116\46\108\105\110\101\100\101\102\105\110\101\100\32\97\110\100\10\32\32\32\32\32\32\32\116\46\115\104\111\114\116\95\115\114\99\32\61\61\32\34\63\34\41\10\97\115\115\101\114\116\40\100\101\98\117\103\46\103\101\116\105\110\102\111\40\49\41\46\99\117\114\114\101\110\116\108\105\110\101\32\61\61\32\45\49\41\10\10\116\32\61\32\100\101\98\117\103\46\103\101\116\105\110\102\111\40\102\44\32\34\76\34\41\46\97\99\116\105\118\101\108\105\110\101\115\10\97\115\115\101\114\116\40\110\101\120\116\40\116\41\32\61\61\32\110\105\108\41\32\32\32\32\45\45\32\97\99\116\105\118\101\32\108\105\110\101\115\32\97\114\101\32\101\109\112\116\121\10\10\45\45\32\100\117\109\112\47\108\111\97\100\32\97\32\102\117\110\99\116\105\111\110\32\119\105\116\104\111\117\116\32\100\101\98\117\103\32\105\110\102\111\10\102\32\61\32\108\111\97\100\40\115\116\114\105\110\103\46\100\117\109\112\40\102\41\41\10\10\116\32\61\32\100\101\98\117\103\46\103\101\116\105\110\102\111\40\102\41\10\97\115\115\101\114\116\40\116\46\110\97\109\101\32\61\61\32\110\105\108\32\97\110\100\32\116\46\108\105\110\101\100\101\102\105\110\101\100\32\62\32\48\32\97\110\100\10\32\32\32\32\32\32\32\116\46\108\97\115\116\108\105\110\101\100\101\102\105\110\101\100\32\61\61\32\116\46\108\105\110\101\100\101\102\105\110\101\100\32\97\110\100\10\32\32\32\32\32\32\32\116\46\115\104\111\114\116\95\115\114\99\32\61\61\32\34\63\34\41\10\97\115\115\101\114\116\40\100\101\98\117\103\46\103\101\116\105\110\102\111\40\49\41\46\99\117\114\114\101\110\116\108\105\110\101\32\61\61\32\45\49\41\10\10\114\101\116\117\114\110\32\97\10"
906+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{6f}\u{6e}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}")
907+local prog = "\u{2d}\u{2d}\u{20}\u{70}\u{72}\u{6f}\u{67}\u{72}\u{61}\u{6d}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{65}\u{64}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{73}\u{74}\u{72}\u{69}\u{70}\u{29}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{27}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{32}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{61}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{6e}\u{2c}\u{20}\u{76}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{28}\u{31}\u{2c}\u{20}\u{31}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{76}\u{20}\u{3d}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{29}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{75}\u{6e}\u{6b}\u{6f}\u{77}\u{6e}\u{20}\u{6e}\u{61}\u{6d}\u{65}\u{20}\u{62}\u{75}\u{74}\u{20}\u{6b}\u{6e}\u{6f}\u{77}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{6e}\u{2c}\u{20}\u{76}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{28}\u{31}\u{2c}\u{20}\u{32}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{76}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{32}\u{29}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{75}\u{6e}\u{6b}\u{6f}\u{77}\u{6e}\u{20}\u{6e}\u{61}\u{6d}\u{65}\u{20}\u{62}\u{75}\u{74}\u{20}\u{6b}\u{6e}\u{6f}\u{77}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{a}\u{2d}\u{2d}\u{20}\u{61}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{61}\u{6e}\u{20}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{6e}\u{2c}\u{20}\u{76}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{28}\u{66}\u{2c}\u{20}\u{31}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{28}\u{6e}\u{6f}\u{20}\u{6e}\u{61}\u{6d}\u{65}\u{29}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{76}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{32}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{73}\u{65}\u{74}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{28}\u{66}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{31}\u{33}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{28}\u{6e}\u{6f}\u{20}\u{6e}\u{61}\u{6d}\u{65}\u{29}\u{22}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{33}\u{29}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{66}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{2e}\u{6e}\u{61}\u{6d}\u{65}\u{20}\u{3d}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{74}\u{2e}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{3e}\u{20}\u{30}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{2e}\u{6c}\u{61}\u{73}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{3d}\u{3d}\u{20}\u{74}\u{2e}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{2e}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{5f}\u{73}\u{72}\u{63}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{3f}\u{22}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{31}\u{29}\u{a}\u{a}\u{74}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{66}\u{2c}\u{20}\u{22}\u{4c}\u{22}\u{29}\u{2e}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{6c}\u{69}\u{6e}\u{65}\u{73}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{65}\u{78}\u{74}\u{28}\u{74}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{29}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}\u{20}\u{61}\u{72}\u{65}\u{20}\u{65}\u{6d}\u{70}\u{74}\u{79}\u{a}\u{a}\u{2d}\u{2d}\u{20}\u{64}\u{75}\u{6d}\u{70}\u{2f}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}\u{a}\u{66}\u{20}\u{3d}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{64}\u{75}\u{6d}\u{70}\u{28}\u{66}\u{29}\u{29}\u{a}\u{a}\u{74}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{66}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{2e}\u{6e}\u{61}\u{6d}\u{65}\u{20}\u{3d}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{74}\u{2e}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{3e}\u{20}\u{30}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{2e}\u{6c}\u{61}\u{73}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{3d}\u{3d}\u{20}\u{74}\u{2e}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{2e}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{5f}\u{73}\u{72}\u{63}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{3f}\u{22}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{31}\u{29}\u{a}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{a}"
908908local f = assert(load(string.dump(load(prog),true)))
909909assert(f() == 13)
910910do
@@ -917,17 +917,17 @@ end
917917local s = load(string.dump(foo,true))
918918local line = true
919919debug.sethook(function (e,l)
920−assert(e == "\108\105\110\101")
920+assert(e == "\u{6c}\u{69}\u{6e}\u{65}")
921921line=l
922−end,"\108")
922+end,"\u{6c}")
923923assert(s() == 2)
924924;
925925debug.sethook(nil)
926926assert(line == nil)
927927end
928928do
929−local prog = "\32\32\32\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\120\41\10\32\32\32\32\32\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\121\41\32\10\32\32\32\32\32\32\32\32\114\101\116\117\114\110\32\120\32\43\32\121\10\32\32\32\32\32\32\101\110\100\10\32\32\32\32\101\110\100\10\32\32"
930−local name = string.rep("\120",1000)
929+local prog = "\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{78}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{79}\u{29}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{20}\u{2b}\u{20}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}"
930+local name = string.rep("\u{78}",1000)
931931local p = assert(load(prog,name))
932932local c = string.dump(p)
933933assert(# c > 1000 and # c < 2000)
@@ -942,6 +942,6 @@ local f = assert(load(c))
942942local g = f()
943943local h = g(30)
944944assert(h(50) == 80)
945−assert(debug.getinfo(f).source == "\61\63" and debug.getinfo(g).source == "\61\63" and debug.getinfo(h).source == "\61\63")
945+assert(debug.getinfo(f).source == "\u{3d}\u{3f}" and debug.getinfo(g).source == "\u{3d}\u{3f}" and debug.getinfo(h).source == "\u{3d}\u{3f}")
946946end
947−print("\79\75")
947+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/errors.lua+237−237
@@ -1,5 +1,5 @@
1−print("\116\101\115\116\105\110\103\32\101\114\114\111\114\115")
2−local debug = require("\100\101\98\117\103")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}")
2+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
33local mt = getmetatable(_G) or {}
44local oldmm = mt.__index
55mt.__index=nil
@@ -28,42 +28,42 @@ end
2828local function checksyntax
2929(prog,extra,token,line)
3030local msg = doit(prog)
31−if not string.find(token,"\94\60\37\97") and not string.find(token,"\94\99\104\97\114\37\40") then
32−token="\39" .. token .. "\39"
31+if not string.find(token,"\u{5e}\u{3c}\u{25}\u{61}") and not string.find(token,"\u{5e}\u{63}\u{68}\u{61}\u{72}\u{25}\u{28}") then
32+token="\u{27}" .. token .. "\u{27}"
3333end
34−token=string.gsub(token,"\40\37\112\41","\37\37\37\49")
35−local pt = string.format("\94\37\37\91\115\116\114\105\110\103\32\34\46\42\34\37\37\93\58\37\100\58\32\46\45\32\110\101\97\114\32\37\115\36",line,token)
34+token=string.gsub(token,"\u{28}\u{25}\u{70}\u{29}","\u{25}\u{25}\u{25}\u{31}")
35+local pt = string.format("\u{5e}\u{25}\u{25}\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{2e}\u{2a}\u{22}\u{25}\u{25}\u{5d}\u{3a}\u{25}\u{64}\u{3a}\u{20}\u{2e}\u{2d}\u{20}\u{6e}\u{65}\u{61}\u{72}\u{20}\u{25}\u{73}\u{24}",line,token)
3636assert(string.find(msg,pt))
3737assert(string.find(msg,msg,1,true))
3838end
39−assert(doit("\101\114\114\111\114\40\39\104\105\39\44\32\48\41") == "\104\105")
40−assert(doit("\101\114\114\111\114\40\41") == nil)
41−assert(doit("\116\97\98\108\101\46\117\110\112\97\99\107\40\123\125\44\32\49\44\32\110\61\50\94\51\48\41"))
42−assert(doit("\97\61\109\97\116\104\46\115\105\110\40\41"))
43−assert(not doit("\116\111\115\116\114\105\110\103\40\49\41") and doit("\116\111\115\116\114\105\110\103\40\41"))
44−assert(doit("\116\111\110\117\109\98\101\114\40\41"))
45−assert(doit("\114\101\112\101\97\116\32\117\110\116\105\108\32\49\59\32\97"))
46−assert(doit("\114\101\116\117\114\110\59\59"))
47−assert(doit("\97\115\115\101\114\116\40\102\97\108\115\101\41"))
48−assert(doit("\97\115\115\101\114\116\40\110\105\108\41"))
49−assert(doit("\102\117\110\99\116\105\111\110\32\97\32\40\46\46\46\32\44\32\46\46\46\41\32\101\110\100"))
50−assert(doit("\102\117\110\99\116\105\111\110\32\97\32\40\44\32\46\46\46\41\32\101\110\100"))
51−assert(doit("\108\111\99\97\108\32\116\61\123\125\59\32\116\32\61\32\116\91\35\116\93\32\43\32\49"))
52−checksyntax("\32\32\108\111\99\97\108\32\97\32\61\32\123\52\10\10","\39\125\39\32\101\120\112\101\99\116\101\100\32\40\116\111\32\99\108\111\115\101\32\39\123\39\32\97\116\32\108\105\110\101\32\49\41","\60\101\111\102\62",3)
39+assert(doit("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{27}\u{68}\u{69}\u{27}\u{2c}\u{20}\u{30}\u{29}") == "\u{68}\u{69}")
40+assert(doit("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{29}") == nil)
41+assert(doit("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2e}\u{75}\u{6e}\u{70}\u{61}\u{63}\u{6b}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{6e}\u{3d}\u{32}\u{5e}\u{33}\u{30}\u{29}"))
42+assert(doit("\u{61}\u{3d}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{29}"))
43+assert(not doit("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{31}\u{29}") and doit("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{29}"))
44+assert(doit("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{28}\u{29}"))
45+assert(doit("\u{72}\u{65}\u{70}\u{65}\u{61}\u{74}\u{20}\u{75}\u{6e}\u{74}\u{69}\u{6c}\u{20}\u{31}\u{3b}\u{20}\u{61}"))
46+assert(doit("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{3b}\u{3b}"))
47+assert(doit("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{66}\u{61}\u{6c}\u{73}\u{65}\u{29}"))
48+assert(doit("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{69}\u{6c}\u{29}"))
49+assert(doit("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{61}\u{20}\u{28}\u{2e}\u{2e}\u{2e}\u{20}\u{2c}\u{20}\u{2e}\u{2e}\u{2e}\u{29}\u{20}\u{65}\u{6e}\u{64}"))
50+assert(doit("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{61}\u{20}\u{28}\u{2c}\u{20}\u{2e}\u{2e}\u{2e}\u{29}\u{20}\u{65}\u{6e}\u{64}"))
51+assert(doit("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{74}\u{5b}\u{23}\u{74}\u{5d}\u{20}\u{2b}\u{20}\u{31}"))
52+checksyntax("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{34}\u{a}\u{a}","\u{27}\u{7d}\u{27}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{28}\u{74}\u{6f}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{27}\u{7b}\u{27}\u{20}\u{61}\u{74}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{31}\u{29}","\u{3c}\u{65}\u{6f}\u{66}\u{3e}",3)
5353do
5454local function checksyntax
5555(prog,msg,line)
5656local st,err = load(prog)
57−assert(string.find(err,"\108\105\110\101\32" .. line))
57+assert(string.find(err,"\u{6c}\u{69}\u{6e}\u{65}\u{20}" .. line))
5858assert(string.find(err,msg,1,true))
5959end
60−checksyntax("\32\32\32\32\58\58\65\58\58\32\97\32\61\32\49\10\32\32\32\32\58\58\65\58\58\10\32\32","\108\97\98\101\108\32\39\65\39\32\97\108\114\101\97\100\121\32\100\101\102\105\110\101\100",1)
61−checksyntax("\32\32\32\32\97\32\61\32\49\10\32\32\32\32\103\111\116\111\32\65\10\32\32\32\32\100\111\32\58\58\65\58\58\32\101\110\100\10\32\32","\110\111\32\118\105\115\105\98\108\101\32\108\97\98\101\108\32\39\65\39",2)
60+checksyntax("\u{20}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{41}\u{3a}\u{3a}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{41}\u{3a}\u{3a}\u{a}\u{20}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{41}\u{27}\u{20}\u{61}\u{6c}\u{72}\u{65}\u{61}\u{64}\u{79}\u{20}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}",1)
61+checksyntax("\u{20}\u{20}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{41}\u{a}\u{20}\u{20}\u{20}\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{41}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}","\u{6e}\u{6f}\u{20}\u{76}\u{69}\u{73}\u{69}\u{62}\u{6c}\u{65}\u{20}\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{41}\u{27}",2)
6262end
6363if not T then
64−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\116\101\115\116\115\32\102\111\114\32\109\101\115\115\97\103\101\115\32\105\110\32\67\32\60\60\60\10")
64+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{43}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
6565else
66−print("\116\101\115\116\105\110\103\32\109\101\109\111\114\121\32\101\114\114\111\114\32\109\101\115\115\97\103\101")
66+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}")
6767local a = {}
6868for i = 1, 10000
6969do
@@ -78,114 +78,114 @@ a[i]=tostring(i)
7878end
7979end)
8080T.totalmem(0)
81−assert(not st and msg == "\110\111\116\32\101\110\111\117\103\104" .. "\32\109\101\109\111\114\121")
82−local res = T.testC("\32\32\32\32\35\32\112\117\115\104\32\49\54\32\101\108\101\109\101\110\116\115\32\111\110\32\116\104\101\32\115\116\97\99\107\10\32\32\32\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\10\32\32\32\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\10\32\32\32\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\32\112\117\115\104\110\117\109\32\49\59\10\32\32\32\32\112\117\115\104\110\117\109\32\49\59\10\32\32\32\32\35\32\116\114\97\99\101\98\97\99\107\32\115\104\111\117\108\100\32\119\111\114\107\32\119\105\116\104\32\52\32\114\101\109\97\105\110\105\110\103\32\115\108\111\116\115\10\32\32\32\32\116\114\97\99\101\98\97\99\107\32\120\117\120\117\32\49\59\10\32\32\32\32\114\101\116\117\114\110\32\49\10\32\32")
83−assert(string.find(res,"\120\117\120\117\46\45\109\97\105\110\32\99\104\117\110\107"))
84−end
85−checkmessage("\97\32\61\32\123\125\32\43\32\49","\97\114\105\116\104\109\101\116\105\99")
86−checkmessage("\97\32\61\32\123\125\32\124\32\49","\98\105\116\119\105\115\101\32\111\112\101\114\97\116\105\111\110")
87−checkmessage("\97\32\61\32\123\125\32\60\32\49","\97\116\116\101\109\112\116\32\116\111\32\99\111\109\112\97\114\101")
88−checkmessage("\97\32\61\32\123\125\32\60\61\32\49","\97\116\116\101\109\112\116\32\116\111\32\99\111\109\112\97\114\101")
89−checkmessage("\97\97\97\61\49\59\32\98\98\98\98\61\50\59\32\97\97\97\61\109\97\116\104\46\115\105\110\40\51\41\43\98\98\98\98\40\51\41","\103\108\111\98\97\108\32\39\98\98\98\98\39")
90−checkmessage("\97\97\97\61\123\125\59\32\100\111\32\108\111\99\97\108\32\97\97\97\61\49\32\101\110\100\32\97\97\97\58\98\98\98\98\40\51\41","\109\101\116\104\111\100\32\39\98\98\98\98\39")
91−checkmessage("\108\111\99\97\108\32\97\61\123\125\59\32\97\46\98\98\98\98\40\51\41","\102\105\101\108\100\32\39\98\98\98\98\39")
92−assert(not string.find(doit("\97\97\97\61\123\49\51\125\59\32\108\111\99\97\108\32\98\98\98\98\61\49\59\32\97\97\97\91\98\98\98\98\93\40\51\41"),"\39\98\98\98\98\39"))
93−checkmessage("\97\97\97\61\123\49\51\125\59\32\108\111\99\97\108\32\98\98\98\98\61\49\59\32\97\97\97\91\98\98\98\98\93\40\51\41","\110\117\109\98\101\114")
94−checkmessage("\97\97\97\61\40\49\41\46\46\123\125","\97\32\116\97\98\108\101\32\118\97\108\117\101")
95−checkmessage("\97\32\61\32\123\95\69\78\86\32\61\32\123\125\125\59\32\112\114\105\110\116\40\97\46\95\69\78\86\46\120\32\43\32\49\41","\102\105\101\108\100\32\39\120\39")
81+assert(not st and msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}" .. "\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
82+local res = T.testC("\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{31}\u{36}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{73}\u{20}\u{6f}\u{6e}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{34}\u{20}\u{72}\u{65}\u{6d}\u{61}\u{69}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{6c}\u{6f}\u{74}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{78}\u{75}\u{78}\u{75}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}\u{20}\u{20}")
83+assert(string.find(res,"\u{78}\u{75}\u{78}\u{75}\u{2e}\u{2d}\u{6d}\u{61}\u{69}\u{6e}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}"))
84+end
85+checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{20}\u{2b}\u{20}\u{31}","\u{61}\u{72}\u{69}\u{74}\u{68}\u{6d}\u{65}\u{74}\u{69}\u{63}")
86+checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{20}\u{7c}\u{20}\u{31}","\u{62}\u{69}\u{74}\u{77}\u{69}\u{73}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
87+checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{20}\u{3c}\u{20}\u{31}","\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}")
88+checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{20}\u{3c}\u{3d}\u{20}\u{31}","\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}")
89+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{31}\u{3b}\u{20}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{32}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{33}\u{29}\u{2b}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
90+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{64}\u{6f}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{61}\u{61}\u{61}\u{3a}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
91+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
92+assert(not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{31}\u{33}\u{7d}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{31}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{5b}\u{62}\u{62}\u{62}\u{62}\u{5d}\u{28}\u{33}\u{29}"),"\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}"))
93+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{31}\u{33}\u{7d}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{31}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{5b}\u{62}\u{62}\u{62}\u{62}\u{5d}\u{28}\u{33}\u{29}","\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
94+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{28}\u{31}\u{29}\u{2e}\u{2e}\u{7b}\u{7d}","\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
95+checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{7d}\u{3b}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{61}\u{2e}\u{5f}\u{45}\u{4e}\u{56}\u{2e}\u{78}\u{20}\u{2b}\u{20}\u{31}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{78}\u{27}")
9696_G.aaa,_G.bbbb=nil
97−checkmessage("\108\111\99\97\108\32\97\59\32\97\40\49\51\41","\108\111\99\97\108\32\39\97\39")
98−checkmessage("\32\32\108\111\99\97\108\32\97\32\61\32\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\97\100\100\32\61\32\51\52\125\41\10\32\32\97\32\61\32\97\32\43\32\49\10","\109\101\116\97\109\101\116\104\111\100\32\39\97\100\100\39")
99−checkmessage("\32\32\108\111\99\97\108\32\97\32\61\32\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\108\116\32\61\32\123\125\125\41\10\32\32\97\32\61\32\97\32\62\32\97\10","\109\101\116\97\109\101\116\104\111\100\32\39\108\116\39")
100−checkmessage("\108\111\99\97\108\32\97\61\123\125\59\32\114\101\116\117\114\110\32\97\46\98\98\98\98\40\51\41","\102\105\101\108\100\32\39\98\98\98\98\39")
101−checkmessage("\97\97\97\61\123\125\59\32\100\111\32\108\111\99\97\108\32\97\97\97\61\49\32\101\110\100\59\32\114\101\116\117\114\110\32\97\97\97\58\98\98\98\98\40\51\41","\109\101\116\104\111\100\32\39\98\98\98\98\39")
102−checkmessage("\97\97\97\32\61\32\35\112\114\105\110\116","\108\101\110\103\116\104\32\111\102\32\97\32\102\117\110\99\116\105\111\110\32\118\97\108\117\101")
103−checkmessage("\97\97\97\32\61\32\35\51","\108\101\110\103\116\104\32\111\102\32\97\32\110\117\109\98\101\114\32\118\97\108\117\101")
97+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3b}\u{20}\u{61}\u{28}\u{31}\u{33}\u{29}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{27}")
98+checkmessage("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{61}\u{64}\u{64}\u{20}\u{3d}\u{20}\u{33}\u{34}\u{7d}\u{29}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}","\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{61}\u{64}\u{64}\u{27}")
99+checkmessage("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{6c}\u{74}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{7d}\u{29}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{3e}\u{20}\u{61}\u{a}","\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{6c}\u{74}\u{27}")
100+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
101+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{64}\u{6f}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{61}\u{61}\u{3a}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
102+checkmessage("\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{23}\u{70}\u{72}\u{69}\u{6e}\u{74}","\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{66}\u{20}\u{61}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
103+checkmessage("\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{23}\u{33}","\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{66}\u{20}\u{61}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
104104_G.aaa=nil
105−checkmessage("\97\97\97\46\98\98\98\58\100\100\100\40\57\41","\103\108\111\98\97\108\32\39\97\97\97\39")
106−checkmessage("\108\111\99\97\108\32\97\97\97\61\123\98\98\98\61\49\125\59\32\97\97\97\46\98\98\98\58\100\100\100\40\57\41","\102\105\101\108\100\32\39\98\98\98\39")
107−checkmessage("\108\111\99\97\108\32\97\97\97\61\123\98\98\98\61\123\125\125\59\32\97\97\97\46\98\98\98\58\100\100\100\40\57\41","\109\101\116\104\111\100\32\39\100\100\100\39")
108−checkmessage("\108\111\99\97\108\32\97\44\98\44\99\59\32\40\102\117\110\99\116\105\111\110\32\40\41\32\97\32\61\32\98\43\49\46\49\32\101\110\100\41\40\41","\117\112\118\97\108\117\101\32\39\98\39")
109−assert(not doit("\108\111\99\97\108\32\97\97\97\61\123\98\98\98\61\123\100\100\100\61\110\101\120\116\125\125\59\32\97\97\97\46\98\98\98\58\100\100\100\40\110\105\108\41"))
110−checkmessage("\108\111\99\97\108\32\97\44\98\44\99\99\59\32\40\102\117\110\99\116\105\111\110\32\40\41\32\97\32\61\32\99\99\91\49\93\32\101\110\100\41\40\41","\117\112\118\97\108\117\101\32\39\99\99\39")
111−checkmessage("\108\111\99\97\108\32\97\44\98\44\99\99\59\32\40\102\117\110\99\116\105\111\110\32\40\41\32\97\46\120\32\61\32\49\32\101\110\100\41\40\41","\117\112\118\97\108\117\101\32\39\97\39")
112−checkmessage("\108\111\99\97\108\32\95\69\78\86\32\61\32\123\120\61\123\125\125\59\32\97\32\61\32\97\32\43\32\49","\103\108\111\98\97\108\32\39\97\39")
113−checkmessage("\66\66\61\49\59\32\108\111\99\97\108\32\97\97\97\61\123\125\59\32\120\61\97\97\97\43\66\66","\108\111\99\97\108\32\39\97\97\97\39")
114−checkmessage("\97\97\97\61\123\125\59\32\120\61\51\46\51\47\97\97\97","\103\108\111\98\97\108\32\39\97\97\97\39")
115−checkmessage("\97\97\97\61\50\59\32\66\66\61\110\105\108\59\120\61\97\97\97\42\66\66","\103\108\111\98\97\108\32\39\66\66\39")
116−checkmessage("\97\97\97\61\123\125\59\32\120\61\45\97\97\97","\103\108\111\98\97\108\32\39\97\97\97\39")
117−checkmessage("\97\97\97\61\49\59\32\108\111\99\97\108\32\97\97\97\44\98\98\98\98\61\50\44\51\59\32\97\97\97\32\61\32\109\97\116\104\46\115\105\110\40\49\41\32\97\110\100\32\98\98\98\98\40\51\41","\108\111\99\97\108\32\39\98\98\98\98\39")
118−checkmessage("\97\97\97\61\49\59\32\108\111\99\97\108\32\97\97\97\44\98\98\98\98\61\50\44\51\59\32\97\97\97\32\61\32\98\98\98\98\40\49\41\32\111\114\32\97\97\97\40\51\41","\108\111\99\97\108\32\39\98\98\98\98\39")
119−checkmessage("\108\111\99\97\108\32\97\44\98\44\99\44\102\32\61\32\49\44\49\44\49\59\32\102\40\40\97\32\97\110\100\32\98\41\32\111\114\32\99\41","\108\111\99\97\108\32\39\102\39")
120−checkmessage("\108\111\99\97\108\32\97\44\98\44\99\32\61\32\49\44\49\44\49\59\32\40\40\97\32\97\110\100\32\98\41\32\111\114\32\99\41\40\41","\99\97\108\108\32\97\32\110\117\109\98\101\114\32\118\97\108\117\101")
121−assert(not string.find(doit("\97\97\97\61\123\125\59\32\120\61\40\97\97\97\32\111\114\32\97\97\97\41\43\40\97\97\97\32\97\110\100\32\97\97\97\41"),"\39\97\97\97\39"))
122−assert(not string.find(doit("\97\97\97\61\123\125\59\32\40\97\97\97\32\111\114\32\97\97\97\41\40\41"),"\39\97\97\97\39"))
123−checkmessage("\112\114\105\110\116\40\112\114\105\110\116\32\60\32\49\48\41","\102\117\110\99\116\105\111\110\32\119\105\116\104\32\110\117\109\98\101\114")
124−checkmessage("\112\114\105\110\116\40\112\114\105\110\116\32\60\32\112\114\105\110\116\41","\116\119\111\32\102\117\110\99\116\105\111\110\32\118\97\108\117\101\115")
125−checkmessage("\112\114\105\110\116\40\39\49\48\39\32\60\32\49\48\41","\115\116\114\105\110\103\32\119\105\116\104\32\110\117\109\98\101\114")
126−checkmessage("\112\114\105\110\116\40\49\48\32\60\32\39\50\51\39\41","\110\117\109\98\101\114\32\119\105\116\104\32\115\116\114\105\110\103")
127−checkmessage("\108\111\99\97\108\32\97\32\61\32\50\46\48\94\49\48\48\59\32\120\32\61\32\97\32\60\60\32\50","\108\111\99\97\108\32\97")
128−checkmessage("\108\111\99\97\108\32\97\32\61\32\49\32\62\62\32\50\46\48\94\49\48\48","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
129−checkmessage("\108\111\99\97\108\32\97\32\61\32\49\48\46\49\32\60\60\32\50\46\48\94\49\48\48","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
130−checkmessage("\108\111\99\97\108\32\97\32\61\32\50\46\48\94\49\48\48\32\38\32\49","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
131−checkmessage("\108\111\99\97\108\32\97\32\61\32\50\46\48\94\49\48\48\32\38\32\49\101\49\48\48","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
132−checkmessage("\108\111\99\97\108\32\97\32\61\32\50\46\48\32\124\32\49\101\52\48","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
133−checkmessage("\108\111\99\97\108\32\97\32\61\32\50\101\49\48\48\32\126\32\49","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
134−checkmessage("\115\116\114\105\110\103\46\115\117\98\40\39\97\39\44\32\50\46\48\94\49\48\48\41","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
135−checkmessage("\115\116\114\105\110\103\46\114\101\112\40\39\97\39\44\32\51\46\51\41","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
136−checkmessage("\114\101\116\117\114\110\32\54\101\52\48\32\38\32\55","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
137−checkmessage("\114\101\116\117\114\110\32\51\52\32\60\60\32\55\101\51\48","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
138−checkmessage("\114\101\116\117\114\110\32\126\45\51\101\52\48","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
139−checkmessage("\114\101\116\117\114\110\32\126\45\51\46\48\48\57","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
140−checkmessage("\114\101\116\117\114\110\32\51\46\48\48\57\32\38\32\49","\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110")
141−checkmessage("\114\101\116\117\114\110\32\51\52\32\62\62\32\123\125","\116\97\98\108\101\32\118\97\108\117\101")
142−checkmessage("\97\97\97\32\61\32\50\52\32\47\47\32\48","\100\105\118\105\100\101\32\98\121\32\122\101\114\111")
143−checkmessage("\97\97\97\32\61\32\49\32\37\32\48","\39\110\37\48\39")
144−checkmessage("\108\111\99\97\108\32\97\32\61\32\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\105\110\100\101\120\32\61\32\49\48\125\41\46\120","\97\116\116\101\109\112\116\32\116\111\32\105\110\100\101\120\32\97\32\110\117\109\98\101\114\32\118\97\108\117\101")
145−checkmessage("\102\111\114\32\105\32\61\32\123\125\44\32\49\48\32\100\111\32\101\110\100","\116\97\98\108\101")
146−checkmessage("\102\111\114\32\105\32\61\32\105\111\46\115\116\100\105\110\44\32\49\48\32\100\111\32\101\110\100","\70\73\76\69")
147−checkmessage("\102\111\114\32\105\32\61\32\123\125\44\32\49\48\32\100\111\32\101\110\100","\105\110\105\116\105\97\108\32\118\97\108\117\101")
148−checkmessage("\102\111\114\32\105\32\61\32\49\44\32\39\120\39\44\32\49\48\32\100\111\32\101\110\100","\115\116\114\105\110\103")
149−checkmessage("\102\111\114\32\105\32\61\32\49\44\32\123\125\44\32\49\48\32\100\111\32\101\110\100","\108\105\109\105\116")
150−checkmessage("\102\111\114\32\105\32\61\32\49\44\32\123\125\32\100\111\32\101\110\100","\108\105\109\105\116")
151−checkmessage("\102\111\114\32\105\32\61\32\49\44\32\49\48\44\32\112\114\105\110\116\32\100\111\32\101\110\100","\115\116\101\112")
152−checkmessage("\102\111\114\32\105\32\61\32\49\44\32\49\48\44\32\112\114\105\110\116\32\100\111\32\101\110\100","\102\117\110\99\116\105\111\110")
105+checkmessage("\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}\u{28}\u{39}\u{29}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{61}\u{61}\u{27}")
106+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{62}\u{62}\u{62}\u{3d}\u{31}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}\u{28}\u{39}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
107+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{62}\u{62}\u{62}\u{3d}\u{7b}\u{7d}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}\u{28}\u{39}\u{29}","\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{64}\u{64}\u{64}\u{27}")
108+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{3b}\u{20}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{2b}\u{31}\u{2e}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{28}\u{29}","\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{27}\u{62}\u{27}")
109+assert(not doit("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{62}\u{62}\u{62}\u{3d}\u{7b}\u{64}\u{64}\u{64}\u{3d}\u{6e}\u{65}\u{78}\u{74}\u{7d}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}\u{28}\u{6e}\u{69}\u{6c}\u{29}"))
110+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{63}\u{3b}\u{20}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{63}\u{63}\u{5b}\u{31}\u{5d}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{28}\u{29}","\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{27}\u{63}\u{63}\u{27}")
111+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{63}\u{3b}\u{20}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{61}\u{2e}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{28}\u{29}","\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{27}\u{61}\u{27}")
112+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{7b}\u{78}\u{3d}\u{7b}\u{7d}\u{7d}\u{3b}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{27}")
113+checkmessage("\u{42}\u{42}\u{3d}\u{31}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{78}\u{3d}\u{61}\u{61}\u{61}\u{2b}\u{42}\u{42}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{61}\u{61}\u{27}")
114+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{78}\u{3d}\u{33}\u{2e}\u{33}\u{2f}\u{61}\u{61}\u{61}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{61}\u{61}\u{27}")
115+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{32}\u{3b}\u{20}\u{42}\u{42}\u{3d}\u{6e}\u{69}\u{6c}\u{3b}\u{78}\u{3d}\u{61}\u{61}\u{61}\u{2a}\u{42}\u{42}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{42}\u{42}\u{27}")
116+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{78}\u{3d}\u{2d}\u{61}\u{61}\u{61}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{61}\u{61}\u{27}")
117+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{31}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{2c}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{32}\u{2c}\u{33}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
118+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{31}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{2c}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{32}\u{2c}\u{33}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{62}\u{62}\u{62}\u{28}\u{31}\u{29}\u{20}\u{6f}\u{72}\u{20}\u{61}\u{61}\u{61}\u{28}\u{33}\u{29}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
119+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{2c}\u{66}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{31}\u{2c}\u{31}\u{3b}\u{20}\u{66}\u{28}\u{28}\u{61}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{29}\u{20}\u{6f}\u{72}\u{20}\u{63}\u{29}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{66}\u{27}")
120+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{31}\u{2c}\u{31}\u{3b}\u{20}\u{28}\u{28}\u{61}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{29}\u{20}\u{6f}\u{72}\u{20}\u{63}\u{29}\u{28}\u{29}","\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{61}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
121+assert(not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{78}\u{3d}\u{28}\u{61}\u{61}\u{61}\u{20}\u{6f}\u{72}\u{20}\u{61}\u{61}\u{61}\u{29}\u{2b}\u{28}\u{61}\u{61}\u{61}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{61}\u{61}\u{29}"),"\u{27}\u{61}\u{61}\u{61}\u{27}"))
122+assert(not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{28}\u{61}\u{61}\u{61}\u{20}\u{6f}\u{72}\u{20}\u{61}\u{61}\u{61}\u{29}\u{28}\u{29}"),"\u{27}\u{61}\u{61}\u{61}\u{27}"))
123+checkmessage("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{20}\u{3c}\u{20}\u{31}\u{30}\u{29}","\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
124+checkmessage("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{20}\u{3c}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{29}","\u{74}\u{77}\u{6f}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}")
125+checkmessage("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{27}\u{31}\u{30}\u{27}\u{20}\u{3c}\u{20}\u{31}\u{30}\u{29}","\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
126+checkmessage("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{30}\u{20}\u{3c}\u{20}\u{27}\u{32}\u{33}\u{27}\u{29}","\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
127+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{31}\u{30}\u{30}\u{3b}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{3c}\u{3c}\u{20}\u{32}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}")
128+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{20}\u{3e}\u{3e}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{31}\u{30}\u{30}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
129+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{2e}\u{31}\u{20}\u{3c}\u{3c}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{31}\u{30}\u{30}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
130+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{31}\u{30}\u{30}\u{20}\u{26}\u{20}\u{31}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
131+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{31}\u{30}\u{30}\u{20}\u{26}\u{20}\u{31}\u{65}\u{31}\u{30}\u{30}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
132+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{2e}\u{30}\u{20}\u{7c}\u{20}\u{31}\u{65}\u{34}\u{30}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
133+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{65}\u{31}\u{30}\u{30}\u{20}\u{7e}\u{20}\u{31}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
134+checkmessage("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{73}\u{75}\u{62}\u{28}\u{27}\u{61}\u{27}\u{2c}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{31}\u{30}\u{30}\u{29}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
135+checkmessage("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{72}\u{65}\u{70}\u{28}\u{27}\u{61}\u{27}\u{2c}\u{20}\u{33}\u{2e}\u{33}\u{29}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
136+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{36}\u{65}\u{34}\u{30}\u{20}\u{26}\u{20}\u{37}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
137+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{34}\u{20}\u{3c}\u{3c}\u{20}\u{37}\u{65}\u{33}\u{30}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
138+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7e}\u{2d}\u{33}\u{65}\u{34}\u{30}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
139+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7e}\u{2d}\u{33}\u{2e}\u{30}\u{30}\u{39}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
140+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{2e}\u{30}\u{30}\u{39}\u{20}\u{26}\u{20}\u{31}","\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
141+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{34}\u{20}\u{3e}\u{3e}\u{20}\u{7b}\u{7d}","\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
142+checkmessage("\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{34}\u{20}\u{2f}\u{2f}\u{20}\u{30}","\u{64}\u{69}\u{76}\u{69}\u{64}\u{65}\u{20}\u{62}\u{79}\u{20}\u{7a}\u{65}\u{72}\u{6f}")
143+checkmessage("\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{20}\u{25}\u{20}\u{30}","\u{27}\u{6e}\u{25}\u{30}\u{27}")
144+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{7d}\u{29}\u{2e}\u{78}","\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{61}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
145+checkmessage("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{2c}\u{20}\u{31}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","\u{74}\u{61}\u{62}\u{6c}\u{65}")
146+checkmessage("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{69}\u{6f}\u{2e}\u{73}\u{74}\u{64}\u{69}\u{6e}\u{2c}\u{20}\u{31}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","\u{46}\u{49}\u{4c}\u{45}")
147+checkmessage("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{2c}\u{20}\u{31}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","\u{69}\u{6e}\u{69}\u{74}\u{69}\u{61}\u{6c}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
148+checkmessage("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{27}\u{78}\u{27}\u{2c}\u{20}\u{31}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
149+checkmessage("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{7b}\u{7d}\u{2c}\u{20}\u{31}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","\u{6c}\u{69}\u{6d}\u{69}\u{74}")
150+checkmessage("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{7b}\u{7d}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","\u{6c}\u{69}\u{6d}\u{69}\u{74}")
151+checkmessage("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{31}\u{30}\u{2c}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","\u{73}\u{74}\u{65}\u{70}")
152+checkmessage("\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{31}\u{30}\u{2c}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
153153_G.D=debug
154−checkmessage("\32\32\45\45\32\99\114\101\97\116\101\32\108\105\103\104\116\32\117\100\97\116\97\10\32\32\108\111\99\97\108\32\120\32\61\32\68\46\117\112\118\97\108\117\101\105\100\40\102\117\110\99\116\105\111\110\32\40\41\32\114\101\116\117\114\110\32\100\101\98\117\103\32\101\110\100\44\32\49\41\10\32\32\68\46\115\101\116\117\115\101\114\118\97\108\117\101\40\120\44\32\123\125\41\10","\108\105\103\104\116\32\117\115\101\114\100\97\116\97")
154+checkmessage("\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{6c}\u{69}\u{67}\u{68}\u{74}\u{20}\u{75}\u{64}\u{61}\u{74}\u{61}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{44}\u{2e}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{69}\u{64}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{65}\u{6e}\u{64}\u{2c}\u{20}\u{31}\u{29}\u{a}\u{20}\u{20}\u{44}\u{2e}\u{73}\u{65}\u{74}\u{75}\u{73}\u{65}\u{72}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{28}\u{78}\u{2c}\u{20}\u{7b}\u{7d}\u{29}\u{a}","\u{6c}\u{69}\u{67}\u{68}\u{74}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
155155_G.D=nil
156156do
157−checkmessage("\109\97\116\104\46\115\105\110\40\105\111\46\105\110\112\117\116\40\41\41","\40\110\117\109\98\101\114\32\101\120\112\101\99\116\101\100\44\32\103\111\116\32\70\73\76\69\42\41")
158−_G.XX=setmetatable({},{["\95\95\110\97\109\101"] = "\77\121\32\84\121\112\101"})
159−assert(string.find(tostring(XX),"\94\77\121\32\84\121\112\101"))
160−checkmessage("\105\111\46\105\110\112\117\116\40\88\88\41","\40\70\73\76\69\42\32\101\120\112\101\99\116\101\100\44\32\103\111\116\32\77\121\32\84\121\112\101\41")
161−checkmessage("\114\101\116\117\114\110\32\88\88\32\43\32\49","\111\110\32\97\32\77\121\32\84\121\112\101\32\118\97\108\117\101")
162−checkmessage("\114\101\116\117\114\110\32\126\105\111\46\115\116\100\105\110","\111\110\32\97\32\70\73\76\69\42\32\118\97\108\117\101")
163−checkmessage("\114\101\116\117\114\110\32\88\88\32\60\32\88\88","\116\119\111\32\77\121\32\84\121\112\101\32\118\97\108\117\101\115")
164−checkmessage("\114\101\116\117\114\110\32\123\125\32\60\32\88\88","\116\97\98\108\101\32\119\105\116\104\32\77\121\32\84\121\112\101")
165−checkmessage("\114\101\116\117\114\110\32\88\88\32\60\32\105\111\46\115\116\100\105\110","\77\121\32\84\121\112\101\32\119\105\116\104\32\70\73\76\69\42")
157+checkmessage("\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{69}\u{6f}\u{2e}\u{69}\u{6e}\u{70}\u{75}\u{74}\u{28}\u{29}\u{29}","\u{28}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{46}\u{49}\u{4c}\u{45}\u{2a}\u{29}")
158+_G.XX=setmetatable({},{["\u{5f}\u{5f}\u{6e}\u{61}\u{6d}\u{65}"] = "\u{4d}\u{79}\u{20}\u{54}\u{79}\u{70}\u{65}"})
159+assert(string.find(tostring(XX),"\u{5e}\u{4d}\u{79}\u{20}\u{54}\u{79}\u{70}\u{65}"))
160+checkmessage("\u{69}\u{6f}\u{2e}\u{69}\u{6e}\u{70}\u{75}\u{74}\u{28}\u{58}\u{58}\u{29}","\u{28}\u{46}\u{49}\u{4c}\u{45}\u{2a}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{4d}\u{79}\u{20}\u{54}\u{79}\u{70}\u{65}\u{29}")
161+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{2b}\u{20}\u{31}","\u{6f}\u{6e}\u{20}\u{61}\u{20}\u{4d}\u{79}\u{20}\u{54}\u{79}\u{70}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
162+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7e}\u{69}\u{6f}\u{2e}\u{73}\u{74}\u{64}\u{69}\u{6e}","\u{6f}\u{6e}\u{20}\u{61}\u{20}\u{46}\u{49}\u{4c}\u{45}\u{2a}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
163+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{3c}\u{20}\u{58}\u{58}","\u{74}\u{77}\u{6f}\u{20}\u{4d}\u{79}\u{20}\u{54}\u{79}\u{70}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}")
164+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{7d}\u{20}\u{3c}\u{20}\u{58}\u{58}","\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{4d}\u{79}\u{20}\u{54}\u{79}\u{70}\u{65}")
165+checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{3c}\u{20}\u{69}\u{6f}\u{2e}\u{73}\u{74}\u{64}\u{69}\u{6e}","\u{4d}\u{79}\u{20}\u{54}\u{79}\u{70}\u{65}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{46}\u{49}\u{4c}\u{45}\u{2a}")
166166_G.XX=nil
167167if T then
168−local x = setmetatable({},{["\95\95\110\97\109\101"] = "\84\65\66\76\69"})
169−assert(T.testC("\76\116\111\108\115\116\114\105\110\103\32\45\49\59\32\114\101\116\117\114\110\32\49",x) == tostring(x))
170−local a,b = T.testC("\112\117\115\104\105\110\116\32\49\48\59\32\76\116\111\108\115\116\114\105\110\103\32\45\50\59\32\114\101\116\117\114\110\32\50",x)
168+local x = setmetatable({},{["\u{5f}\u{5f}\u{6e}\u{61}\u{6d}\u{65}"] = "\u{54}\u{41}\u{42}\u{4c}\u{45}"})
169+assert(T.testC("\u{4c}\u{74}\u{6f}\u{6c}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",x) == tostring(x))
170+local a,b = T.testC("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{4c}\u{74}\u{6f}\u{6c}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",x)
171171assert(a == 10 and b == tostring(x))
172−setmetatable(x,{["\95\95\116\111\115\116\114\105\110\103"] = function (o)
172+setmetatable(x,{["\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = function (o)
173173assert(o == x)
174−return "\65\66\67"
174+return "\u{41}\u{42}\u{43}"
175175end})
176−local a,b,c = T.testC("\112\117\115\104\105\110\116\32\49\48\59\32\76\116\111\108\115\116\114\105\110\103\32\45\50\59\32\114\101\116\117\114\110\32\51",x)
177−assert(a == x and b == 10 and c == "\65\66\67")
176+local a,b,c = T.testC("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{4c}\u{74}\u{6f}\u{6c}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",x)
177+assert(a == x and b == 10 and c == "\u{41}\u{42}\u{43}")
178178end
179179end
180−checkmessage("\40\105\111\46\119\114\105\116\101\32\111\114\32\112\114\105\110\116\41\123\125","\105\111\46\119\114\105\116\101")
181−checkmessage("\40\99\111\108\108\101\99\116\103\97\114\98\97\103\101\32\111\114\32\112\114\105\110\116\41\123\125","\99\111\108\108\101\99\116\103\97\114\98\97\103\101")
180+checkmessage("\u{28}\u{69}\u{6f}\u{2e}\u{77}\u{72}\u{69}\u{74}\u{65}\u{20}\u{6f}\u{72}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{29}\u{7b}\u{7d}","\u{69}\u{6f}\u{2e}\u{77}\u{72}\u{69}\u{74}\u{65}")
181+checkmessage("\u{28}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{20}\u{6f}\u{72}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{29}\u{7b}\u{7d}","\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}")
182182do
183183local f = function (a)
184184return a + 1
185185end
186186f=assert(load(string.dump(f,true)))
187187assert(f(3) == 4)
188−checkerr("\94\37\63\58\37\45\49\58",f,{})
188+checkerr("\u{5e}\u{25}\u{3f}\u{3a}\u{25}\u{2d}\u{31}\u{3a}",f,{})
189189f=function ()
190190local a
191191;
@@ -194,38 +194,38 @@ a={}
194194return a + 2
195195end
196196f=assert(load(string.dump(f,true)))
197−checkerr("\94\37\63\58\37\45\49\58\46\42\116\97\98\108\101\32\118\97\108\117\101",f)
197+checkerr("\u{5e}\u{25}\u{3f}\u{3a}\u{25}\u{2d}\u{31}\u{3a}\u{2e}\u{2a}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}",f)
198198end
199199local t = {}
200200for i = 1, 1000
201201do
202−t[i]="\97\97\97\32\61\32\120" .. i
202+t[i]="\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{78}" .. i
203203end
204−local s = table.concat(t,"\59\32")
204+local s = table.concat(t,"\u{3b}\u{20}")
205205t=nil
206−checkmessage(s .. "\59\32\97\97\97\32\61\32\98\98\98\32\43\32\49","\103\108\111\98\97\108\32\39\98\98\98\39")
207−checkmessage("\108\111\99\97\108\32\95\69\78\86\61\95\69\78\86\59" .. s .. "\59\32\97\97\97\32\61\32\98\98\98\32\43\32\49","\103\108\111\98\97\108\32\39\98\98\98\39")
208−checkmessage(s .. "\59\32\108\111\99\97\108\32\116\32\61\32\123\125\59\32\97\97\97\32\61\32\116\46\98\98\98\32\43\32\49","\102\105\101\108\100\32\39\98\98\98\39")
209−checkmessage(s .. "\59\32\108\111\99\97\108\32\116\32\61\32\123\125\59\32\116\58\98\98\98\40\41","\109\101\116\104\111\100\32\39\98\98\98\39")
210−checkmessage("\97\97\97\61\57\10\114\101\112\101\97\116\32\117\110\116\105\108\32\51\61\61\51\10\108\111\99\97\108\32\120\61\109\97\116\104\46\115\105\110\40\109\97\116\104\46\99\111\115\40\51\41\41\10\105\102\32\109\97\116\104\46\115\105\110\40\49\41\32\61\61\32\120\32\116\104\101\110\32\114\101\116\117\114\110\32\109\97\116\104\46\115\105\110\40\49\41\32\101\110\100\32\32\32\45\45\32\116\97\105\108\32\99\97\108\108\10\108\111\99\97\108\32\97\44\98\32\61\32\49\44\32\123\10\32\32\123\120\61\39\97\39\46\46\39\98\39\46\46\39\99\39\44\32\121\61\39\98\39\44\32\122\61\120\125\44\10\32\32\123\49\44\50\44\51\44\52\44\53\125\32\111\114\32\51\43\51\60\61\51\43\51\44\10\32\32\51\43\49\62\51\43\49\44\10\32\32\123\100\32\61\32\120\32\97\110\100\32\97\97\97\91\120\32\111\114\32\121\93\125\125\10","\103\108\111\98\97\108\32\39\97\97\97\39")
211−checkmessage("\108\111\99\97\108\32\120\44\121\32\61\32\123\125\44\49\10\105\102\32\109\97\116\104\46\115\105\110\40\49\41\32\61\61\32\48\32\116\104\101\110\32\114\101\116\117\114\110\32\51\32\101\110\100\32\32\32\32\45\45\32\114\101\116\117\114\110\10\120\46\97\40\41","\102\105\101\108\100\32\39\97\39")
212−checkmessage("\112\114\101\102\105\120\32\61\32\110\105\108\10\105\110\115\101\114\116\32\61\32\110\105\108\10\119\104\105\108\101\32\49\32\100\111\10\32\32\108\111\99\97\108\32\97\10\32\32\105\102\32\110\105\108\32\116\104\101\110\32\98\114\101\97\107\32\101\110\100\10\32\32\105\110\115\101\114\116\40\112\114\101\102\105\120\44\32\97\41\10\101\110\100","\103\108\111\98\97\108\32\39\105\110\115\101\114\116\39")
213−checkmessage("\32\32\45\45\32\116\97\105\108\32\99\97\108\108\10\32\32\114\101\116\117\114\110\32\109\97\116\104\46\115\105\110\40\34\97\34\41\10","\115\105\110")
214−checkmessage("\99\111\108\108\101\99\116\103\97\114\98\97\103\101\40\34\110\111\111\112\116\105\111\110\34\41","\105\110\118\97\108\105\100\32\111\112\116\105\111\110")
215−checkmessage("\120\32\61\32\112\114\105\110\116\32\46\46\32\34\97\34","\99\111\110\99\97\116\101\110\97\116\101")
216−checkmessage("\120\32\61\32\34\97\34\32\46\46\32\102\97\108\115\101","\99\111\110\99\97\116\101\110\97\116\101")
217−checkmessage("\120\32\61\32\123\125\32\46\46\32\50","\99\111\110\99\97\116\101\110\97\116\101")
218−checkmessage("\103\101\116\109\101\116\97\116\97\98\108\101\40\105\111\46\115\116\100\105\110\41\46\95\95\103\99\40\41","\110\111\32\118\97\108\117\101")
219−checkmessage("\108\111\99\97\108\32\86\97\114\10\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\109\97\105\110\40\41\10\32\32\78\111\83\117\99\104\78\97\109\101\32\40\102\117\110\99\116\105\111\110\40\41\32\86\97\114\61\48\32\101\110\100\41\10\101\110\100\10\109\97\105\110\40\41\10","\103\108\111\98\97\108\32\39\78\111\83\117\99\104\78\97\109\101\39")
220−print("\43")
206+checkmessage(s .. "\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
207+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{3d}\u{5f}\u{45}\u{4e}\u{56}\u{3b}" .. s .. "\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
208+checkmessage(s .. "\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{74}\u{2e}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
209+checkmessage(s .. "\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{3b}\u{20}\u{74}\u{3a}\u{62}\u{62}\u{62}\u{28}\u{29}","\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
210+checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{39}\u{a}\u{72}\u{65}\u{70}\u{65}\u{61}\u{74}\u{20}\u{75}\u{6e}\u{74}\u{69}\u{6c}\u{20}\u{33}\u{3d}\u{3d}\u{33}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{3d}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{63}\u{6f}\u{73}\u{28}\u{33}\u{29}\u{29}\u{a}\u{69}\u{66}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{78}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{7b}\u{a}\u{20}\u{20}\u{7b}\u{78}\u{3d}\u{27}\u{61}\u{27}\u{2e}\u{2e}\u{27}\u{62}\u{27}\u{2e}\u{2e}\u{27}\u{63}\u{27}\u{2c}\u{20}\u{79}\u{3d}\u{27}\u{62}\u{27}\u{2c}\u{20}\u{7a}\u{3d}\u{78}\u{7d}\u{2c}\u{a}\u{20}\u{20}\u{7b}\u{31}\u{2c}\u{32}\u{2c}\u{33}\u{2c}\u{34}\u{2c}\u{35}\u{7d}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{2b}\u{33}\u{3c}\u{3d}\u{33}\u{2b}\u{33}\u{2c}\u{a}\u{20}\u{20}\u{33}\u{2b}\u{31}\u{3e}\u{33}\u{2b}\u{31}\u{2c}\u{a}\u{20}\u{20}\u{7b}\u{64}\u{20}\u{3d}\u{20}\u{78}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{61}\u{61}\u{5b}\u{78}\u{20}\u{6f}\u{72}\u{20}\u{79}\u{5d}\u{7d}\u{7d}\u{a}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{61}\u{61}\u{27}")
211+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{2c}\u{79}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{2c}\u{31}\u{a}\u{69}\u{66}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{30}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{a}\u{78}\u{2e}\u{61}\u{28}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{61}\u{27}")
212+checkmessage("\u{70}\u{72}\u{65}\u{66}\u{69}\u{78}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{31}\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{a}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{62}\u{72}\u{65}\u{61}\u{6b}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{28}\u{70}\u{72}\u{65}\u{66}\u{69}\u{78}\u{2c}\u{20}\u{61}\u{29}\u{a}\u{65}\u{6e}\u{64}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{27}")
213+checkmessage("\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{22}\u{61}\u{22}\u{29}\u{a}","\u{73}\u{69}\u{6e}")
214+checkmessage("\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{28}\u{22}\u{6e}\u{6f}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}")
215+checkmessage("\u{78}\u{20}\u{3d}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{20}\u{2e}\u{2e}\u{20}\u{22}\u{61}\u{22}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{65}\u{6e}\u{61}\u{74}\u{65}")
216+checkmessage("\u{78}\u{20}\u{3d}\u{20}\u{22}\u{61}\u{22}\u{20}\u{2e}\u{2e}\u{20}\u{66}\u{61}\u{6c}\u{73}\u{65}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{65}\u{6e}\u{61}\u{74}\u{65}")
217+checkmessage("\u{78}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{20}\u{2e}\u{2e}\u{20}\u{32}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{65}\u{6e}\u{61}\u{74}\u{65}")
218+checkmessage("\u{67}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{69}\u{6f}\u{2e}\u{73}\u{74}\u{64}\u{69}\u{6e}\u{29}\u{2e}\u{5f}\u{5f}\u{67}\u{63}\u{28}\u{29}","\u{6e}\u{6f}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
219+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{56}\u{61}\u{72}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6d}\u{61}\u{69}\u{6e}\u{28}\u{29}\u{a}\u{20}\u{20}\u{4e}\u{6f}\u{53}\u{75}\u{63}\u{68}\u{4e}\u{61}\u{6d}\u{65}\u{20}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{28}\u{29}\u{20}\u{56}\u{61}\u{72}\u{3d}\u{30}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{a}\u{65}\u{6e}\u{64}\u{a}\u{6d}\u{61}\u{69}\u{6e}\u{28}\u{29}\u{a}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{4e}\u{6f}\u{53}\u{75}\u{63}\u{68}\u{4e}\u{61}\u{6d}\u{65}\u{27}")
220+print("\u{2b}")
221221aaa={}
222222;
223−setmetatable(aaa,{["\95\95\105\110\100\101\120"] = string})
224−checkmessage("\97\97\97\58\115\117\98\40\41","\98\97\100\32\115\101\108\102")
225−checkmessage("\115\116\114\105\110\103\46\115\117\98\40\39\97\39\44\32\123\125\41","\35\50")
226−checkmessage("\40\39\97\39\41\58\115\117\98\123\125","\35\49")
227−checkmessage("\116\97\98\108\101\46\115\111\114\116\40\123\49\44\50\44\51\125\44\32\116\97\98\108\101\46\115\111\114\116\41","\39\116\97\98\108\101\46\115\111\114\116\39")
228−checkmessage("\115\116\114\105\110\103\46\103\115\117\98\40\39\115\39\44\32\39\115\39\44\32\115\101\116\109\101\116\97\116\97\98\108\101\41","\39\115\101\116\109\101\116\97\116\97\98\108\101\39")
223+setmetatable(aaa,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = string})
224+checkmessage("\u{61}\u{61}\u{61}\u{3a}\u{73}\u{75}\u{62}\u{28}\u{29}","\u{62}\u{61}\u{64}\u{20}\u{73}\u{65}\u{6c}\u{66}")
225+checkmessage("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{73}\u{75}\u{62}\u{28}\u{27}\u{61}\u{27}\u{2c}\u{20}\u{7b}\u{7d}\u{29}","\u{23}\u{32}")
226+checkmessage("\u{28}\u{27}\u{61}\u{27}\u{29}\u{3a}\u{73}\u{75}\u{62}\u{7b}\u{7d}","\u{23}\u{31}")
227+checkmessage("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2e}\u{73}\u{6f}\u{72}\u{74}\u{28}\u{7b}\u{31}\u{2c}\u{32}\u{2c}\u{33}\u{7d}\u{2c}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2e}\u{73}\u{6f}\u{72}\u{74}\u{29}","\u{27}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2e}\u{73}\u{6f}\u{72}\u{74}\u{27}")
228+checkmessage("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{67}\u{73}\u{75}\u{62}\u{28}\u{27}\u{73}\u{27}\u{2c}\u{20}\u{27}\u{73}\u{27}\u{2c}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{29}","\u{27}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{27}")
229229_G.aaa=nil
230230local function f
231231(n)
@@ -233,43 +233,43 @@ local c = coroutine.create(f)
233233local a,b = coroutine.resume(c)
234234return b
235235end
236−assert(string.find(f(),"\67\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119"))
237−checkmessage("\99\111\114\111\117\116\105\110\101\46\121\105\101\108\100\40\41","\111\117\116\115\105\100\101\32\97\32\99\111\114\111\117\116\105\110\101")
236+assert(string.find(f(),"\u{43}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
237+checkmessage("\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{28}\u{29}","\u{6f}\u{75}\u{74}\u{73}\u{69}\u{64}\u{65}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}")
238238f=coroutine.wrap(function ()
239239table.sort({1,2,3},coroutine.yield)
240240end)
241−checkerr("\121\105\101\108\100\32\97\99\114\111\115\115",f)
241+checkerr("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{61}\u{63}\u{72}\u{6f}\u{73}\u{73}",f)
242242local idsize = 60 - 1
243243local function checksize
244244(source)
245−local _,msg = load("\120",source)
246−msg=string.match(msg,"\94\40\91\94\58\93\42\41\58")
245+local _,msg = load("\u{78}",source)
246+msg=string.match(msg,"\u{5e}\u{28}\u{5b}\u{5e}\u{3a}\u{5d}\u{2a}\u{29}\u{3a}")
247247assert(msg:len() <= idsize)
248248end
249249for i = 60 - 10, 60 + 10
250250do
251−checksize("\64" .. string.rep("\120",i))
252−checksize(string.rep("\120",i - 10))
253−checksize("\61" .. string.rep("\120",i))
251+checksize("\u{40}" .. string.rep("\u{78}",i))
252+checksize(string.rep("\u{78}",i - 10))
253+checksize("\u{3d}" .. string.rep("\u{78}",i))
254254end
255255local function lineerror
256256(s,l)
257257local err,msg = pcall(load(s))
258−local line = tonumber(string.match(msg,"\58\40\37\100\43\41\58"))
258+local line = tonumber(string.match(msg,"\u{3a}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{3a}"))
259259assert(line == l or (not line and not l))
260260end
261−lineerror("\108\111\99\97\108\32\97\10\32\102\111\114\32\105\61\49\44\39\97\39\32\100\111\32\10\32\112\114\105\110\116\40\105\41\32\10\32\101\110\100",2)
262−lineerror("\10\32\108\111\99\97\108\32\97\32\10\32\102\111\114\32\107\44\118\32\105\110\32\51\32\10\32\100\111\32\10\32\112\114\105\110\116\40\107\41\32\10\32\101\110\100",3)
263−lineerror("\10\10\32\102\111\114\32\107\44\118\32\105\110\32\10\32\51\32\10\32\100\111\32\10\32\112\114\105\110\116\40\107\41\32\10\32\101\110\100",4)
264−lineerror("\102\117\110\99\116\105\111\110\32\97\46\120\46\121\32\40\41\10\97\61\97\43\49\10\101\110\100",1)
265−lineerror("\97\32\61\32\10\97\10\43\10\123\125",3)
266−lineerror("\97\32\61\32\10\51\10\43\10\40\10\52\10\47\10\112\114\105\110\116\41",6)
267−lineerror("\97\32\61\32\10\112\114\105\110\116\10\43\10\40\10\52\10\47\10\55\41",3)
268−lineerror("\97\10\61\10\45\10\10\112\114\105\110\116\10\59",3)
269−lineerror("\97\10\40\32\32\32\32\32\45\45\32\60\60\10\50\51\41\10",2)
270−lineerror("\108\111\99\97\108\32\97\32\61\32\123\120\32\61\32\49\51\125\10\97\10\46\10\120\10\40\32\32\32\32\32\45\45\32\60\60\10\50\51\10\41\10",5)
271−lineerror("\108\111\99\97\108\32\97\32\61\32\123\120\32\61\32\49\51\125\10\97\10\46\10\120\10\40\10\50\51\32\43\32\97\10\41\10",6)
272−local p = "\32\32\102\117\110\99\116\105\111\110\32\103\40\41\32\102\40\41\32\101\110\100\10\32\32\102\117\110\99\116\105\111\110\32\102\40\120\41\32\101\114\114\111\114\40\39\97\39\44\32\88\88\41\32\101\110\100\10\103\40\41\10"
261+lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{a}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{3d}\u{31}\u{2c}\u{27}\u{61}\u{27}\u{20}\u{64}\u{6f}\u{20}\u{a}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{69}\u{29}\u{20}\u{a}\u{20}\u{65}\u{6e}\u{64}",2)
262+lineerror("\u{a}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{a}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{6b}\u{2c}\u{76}\u{20}\u{69}\u{6e}\u{20}\u{33}\u{20}\u{a}\u{20}\u{64}\u{6f}\u{20}\u{a}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{6b}\u{29}\u{20}\u{a}\u{20}\u{65}\u{6e}\u{64}",3)
263+lineerror("\u{a}\u{a}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{6b}\u{2c}\u{76}\u{20}\u{69}\u{6e}\u{20}\u{a}\u{20}\u{33}\u{20}\u{a}\u{20}\u{64}\u{6f}\u{20}\u{a}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{6b}\u{29}\u{20}\u{a}\u{20}\u{65}\u{6e}\u{64}",4)
264+lineerror("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{61}\u{2e}\u{78}\u{2e}\u{79}\u{20}\u{28}\u{29}\u{a}\u{61}\u{3d}\u{61}\u{2b}\u{31}\u{a}\u{65}\u{6e}\u{64}",1)
265+lineerror("\u{61}\u{20}\u{3d}\u{20}\u{a}\u{61}\u{a}\u{2b}\u{a}\u{7b}\u{7d}",3)
266+lineerror("\u{61}\u{20}\u{3d}\u{20}\u{a}\u{33}\u{a}\u{2b}\u{a}\u{28}\u{a}\u{34}\u{a}\u{2f}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{29}",6)
267+lineerror("\u{61}\u{20}\u{3d}\u{20}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{a}\u{2b}\u{a}\u{28}\u{a}\u{34}\u{a}\u{2f}\u{a}\u{37}\u{29}",3)
268+lineerror("\u{61}\u{a}\u{3d}\u{a}\u{2d}\u{a}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{a}\u{3b}",3)
269+lineerror("\u{61}\u{a}\u{28}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{3c}\u{3c}\u{a}\u{32}\u{33}\u{29}\u{a}",2)
270+lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{33}\u{7d}\u{a}\u{61}\u{a}\u{2e}\u{a}\u{78}\u{a}\u{28}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{3c}\u{3c}\u{a}\u{32}\u{33}\u{a}\u{29}\u{a}",5)
271+lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{33}\u{7d}\u{a}\u{61}\u{a}\u{2e}\u{a}\u{78}\u{a}\u{28}\u{a}\u{32}\u{33}\u{20}\u{2b}\u{20}\u{61}\u{a}\u{29}\u{a}",6)
272+local p = "\u{20}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{67}\u{28}\u{29}\u{20}\u{66}\u{28}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{28}\u{78}\u{29}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{27}\u{61}\u{27}\u{2c}\u{20}\u{58}\u{58}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{67}\u{28}\u{29}\u{a}"
273273XX=3
274274;
275275lineerror((p),3)
@@ -283,18 +283,18 @@ XX=2
283283;
284284lineerror((p),1)
285285_G.XX,_G.g,_G.f=nil
286−lineerror("\108\111\99\97\108\32\98\32\61\32\102\97\108\115\101\10\105\102\32\110\111\116\32\98\32\116\104\101\110\10\32\32\101\114\114\111\114\32\39\116\101\115\116\39\10\101\110\100",3)
287−lineerror("\108\111\99\97\108\32\98\32\61\32\102\97\108\115\101\10\105\102\32\110\111\116\32\98\32\116\104\101\110\10\32\32\105\102\32\110\111\116\32\98\32\116\104\101\110\10\32\32\32\32\105\102\32\110\111\116\32\98\32\116\104\101\110\10\32\32\32\32\32\32\101\114\114\111\114\32\39\116\101\115\116\39\10\32\32\32\32\101\110\100\10\32\32\101\110\100\10\101\110\100",5)
288−lineerror("\32\32\108\111\99\97\108\32\97\32\61\32\48\10\32\32\108\111\99\97\108\32\98\32\61\32\49\10\32\32\108\111\99\97\108\32\99\32\61\32\98\32\37\32\97\10",3)
286+lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{66}\u{61}\u{6c}\u{73}\u{65}\u{a}\u{69}\u{66}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{27}\u{74}\u{65}\u{73}\u{74}\u{27}\u{a}\u{65}\u{6e}\u{64}",3)
287+lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{66}\u{61}\u{6c}\u{73}\u{65}\u{a}\u{69}\u{66}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{27}\u{74}\u{65}\u{73}\u{74}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{65}\u{6e}\u{64}",5)
288+lineerror("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{30}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{63}\u{20}\u{3d}\u{20}\u{62}\u{20}\u{25}\u{20}\u{61}\u{a}",3)
289289do
290−local s = string.format("\37\115\32\114\101\116\117\114\110\32\95\95\65\46\120",string.rep("\10",300))
290+local s = string.format("\u{25}\u{73}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5f}\u{5f}\u{41}\u{2e}\u{78}",string.rep("\u{a}",300))
291291lineerror(s,301)
292292end
293293if not _soft then
294294collectgarbage()
295−print("\116\101\115\116\105\110\103\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119")
295+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")
296296local C = 0
297−local l = debug.getinfo(1,"\108").currentline + 1
297+local l = debug.getinfo(1,"\u{6c}").currentline + 1
298298local function auxy
299299()
300300C=C + 1
@@ -302,34 +302,34 @@ C=C + 1
302302auxy()
303303end
304304function YY()
305−collectgarbage("\115\116\111\112")
305+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
306306auxy()
307−collectgarbage("\114\101\115\116\97\114\116")
307+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
308308end
309309local function checkstackmessage
310310(m)
311−print("\40\101\120\112\101\99\116\101\100\32\115\116\97\99\107\32\111\118\101\114\102\108\111\119\32\97\102\116\101\114\32" .. C .. "\32\99\97\108\108\115\41")
311+print("\u{28}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{61}\u{66}\u{74}\u{65}\u{72}\u{20}" .. C .. "\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{29}")
312312C=0
313−return (string.find(m,"\115\116\97\99\107\32\111\118\101\114\102\108\111\119"))
313+return (string.find(m,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
314314end
315−assert(checkstackmessage(doit("\89\89\40\41")))
316−assert(checkstackmessage(doit("\89\89\40\41")))
317−assert(checkstackmessage(doit("\89\89\40\41")))
315+assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
316+assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
317+assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
318318_G.YY=nil
319319local l1
320320local function g
321321(x)
322−l1=debug.getinfo(x,"\108").currentline + 2
323−collectgarbage("\115\116\111\112")
322+l1=debug.getinfo(x,"\u{6c}").currentline + 2
323+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
324324auxy()
325−collectgarbage("\114\101\115\116\97\114\116")
325+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
326326end
327327local _,stackmsg = xpcall(g,debug.traceback,1)
328−print("\43")
328+print("\u{2b}")
329329local stack = {}
330−for line in string.gmatch(stackmsg,"\91\94\10\93\42")
330+for line in string.gmatch(stackmsg,"\u{5b}\u{5e}\u{a}\u{5d}\u{2a}")
331331do
332−local curr = string.match(line,"\58\40\37\100\43\41\58")
332+local curr = string.match(line,"\u{3a}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{3a}")
333333if curr then
334334table.insert(stack,tonumber(curr))
335335end
@@ -341,12 +341,12 @@ i=i + 1
341341end
342342assert(i > 15)
343343local res,msg = xpcall(error,error)
344−assert(not res and type(msg) == "\115\116\114\105\110\103")
345−print("\43")
344+assert(not res and type(msg) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
345+print("\u{2b}")
346346local function f
347347(x)
348348if x == 0 then
349−error("\97\10")
349+error("\u{61}\u{a}")
350350else
351351local aux = function ()
352352return f(x - 1)
@@ -361,8 +361,8 @@ local function loop
361361return 1 + loop(x,y,z)
362362end
363363local res,msg = xpcall(loop,function (m)
364−assert(string.find(m,"\115\116\97\99\107\32\111\118\101\114\102\108\111\119"))
365−checkerr("\101\114\114\111\114\32\104\97\110\100\108\105\110\103",loop)
364+assert(string.find(m,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
365+checkerr("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{69}\u{6e}\u{67}",loop)
366366assert(math.sin(0) == 0)
367367return 15
368368end)
@@ -373,7 +373,7 @@ do
373373table.unpack({},1,i)
374374end
375375end
376−checkerr("\116\111\111\32\109\97\110\121\32\114\101\115\117\108\116\115",f)
376+checkerr("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",f)
377377end
378378do
379379local t = {}
@@ -387,53 +387,53 @@ end)
387387assert(not res and msg == nil)
388388local function f
389389()
390−error({["\109\115\103"] = "\120"})
390+error({["\u{6d}\u{73}\u{67}"] = "\u{78}"})
391391end
392392res,msg=xpcall(f,function (r)
393−return {["\109\115\103"] = r.msg .. "\121"}
393+return {["\u{6d}\u{73}\u{67}"] = r.msg .. "\u{79}"}
394394end)
395−assert(msg.msg == "\120\121")
396−res,msg=pcall(assert,false,"\88",t)
397−assert(not res and msg == "\88")
395+assert(msg.msg == "\u{78}\u{79}")
396+res,msg=pcall(assert,false,"\u{58}",t)
397+assert(not res and msg == "\u{58}")
398398res,msg=pcall(function ()
399399assert(false)
400400end)
401−local line = string.match(msg,"\37\119\43\37\46\108\117\97\58\40\37\100\43\41\58\32\97\115\115\101\114\116\105\111\110\32\102\97\105\108\101\100\33\36")
402−assert(tonumber(line) == debug.getinfo(1,"\108").currentline - 2)
401+local line = string.match(msg,"\u{25}\u{77}\u{2b}\u{25}\u{2e}\u{6c}\u{75}\u{61}\u{3a}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{3a}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{61}\u{69}\u{6c}\u{65}\u{64}\u{21}\u{24}")
402+assert(tonumber(line) == debug.getinfo(1,"\u{6c}").currentline - 2)
403403res,msg=pcall(assert,false,t)
404404assert(not res and msg == t)
405405res,msg=pcall(assert,nil,nil)
406406assert(not res and msg == nil)
407407res,msg=pcall(assert)
408−assert(not res and string.find(msg,"\118\97\108\117\101\32\101\120\112\101\99\116\101\100"))
408+assert(not res and string.find(msg,"\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}"))
409409end
410−local a,b,c = xpcall(string.find,error,"\97\108\111","\97\108")
410+local a,b,c = xpcall(string.find,error,"\u{61}\u{6c}\u{6f}","\u{61}\u{6c}")
411411assert(a and b == 1 and c == 2)
412412a,b,c=xpcall(string.find,function (x)
413413return {}
414−end,true,"\97\108")
415−assert(not a and type(b) == "\116\97\98\108\101" and c == nil)
416−print("\116\101\115\116\105\110\103\32\116\111\107\101\110\115\32\105\110\32\101\114\114\111\114\32\109\101\115\115\97\103\101\115")
417−checksyntax("\115\121\110\116\97\120\32\101\114\114\111\114","","\101\114\114\111\114",1)
418−checksyntax("\49\46\48\48\48","","\49\46\48\48\48",1)
419−checksyntax("\91\91\97\93\93","","\91\91\97\93\93",1)
420−checksyntax("\39\97\97\39","","\39\97\97\39",1)
421−checksyntax("\119\104\105\108\101\32\60\60\32\100\111\32\101\110\100","","\60\60",1)
422−checksyntax("\102\111\114\32\62\62\32\100\111\32\101\110\100","","\62\62",1)
423−checksyntax("\97\1\97\32\61\32\49","","\60\92\49\62",1)
424−checksyntax("\255\97\32\61\32\49","","\60\92\50\53\53\62",1)
425−doit("\73\32\61\32\108\111\97\100\40\34\97\61\57\43\34\41\59\32\97\97\97\61\51")
414+end,true,"\u{61}\u{6c}")
415+assert(not a and type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and c == nil)
416+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{6b}\u{65}\u{6e}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{73}")
417+checksyntax("\u{73}\u{79}\u{6e}\u{74}\u{61}\u{78}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}","","\u{65}\u{72}\u{72}\u{6f}\u{72}",1)
418+checksyntax("\u{31}\u{2e}\u{30}\u{30}\u{30}","","\u{31}\u{2e}\u{30}\u{30}\u{30}",1)
419+checksyntax("\u{5b}\u{5b}\u{61}\u{5d}\u{5d}","","\u{5b}\u{5b}\u{61}\u{5d}\u{5d}",1)
420+checksyntax("\u{27}\u{61}\u{61}\u{27}","","\u{27}\u{61}\u{61}\u{27}",1)
421+checksyntax("\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{3c}\u{3c}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","","\u{3c}\u{3c}",1)
422+checksyntax("\u{66}\u{6f}\u{72}\u{20}\u{3e}\u{3e}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}","","\u{3e}\u{3e}",1)
423+checksyntax("\u{61}\u{1}\u{61}\u{20}\u{3d}\u{20}\u{31}","","\u{3c}\u{5c}\u{31}\u{3e}",1)
424+checksyntax("\u{ff}\u{61}\u{20}\u{3d}\u{20}\u{31}","","\u{3c}\u{5c}\u{32}\u{35}\u{35}\u{3e}",1)
425+doit("\u{49}\u{20}\u{3d}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{28}\u{22}\u{61}\u{3d}\u{39}\u{2b}\u{22}\u{29}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{33}")
426426assert(_G.aaa == 3 and not _G.I)
427427_G.I,_G.aaa=nil
428−print("\43")
428+print("\u{2b}")
429429local lim = 1000
430430if _soft then
431431lim=100
432432end
433433for i = 1, lim
434434do
435−doit("\97\32\61\32")
436−doit("\97\32\61\32\52\43\110\105\108")
435+doit("\u{61}\u{20}\u{3d}\u{20}")
436+doit("\u{61}\u{20}\u{3d}\u{20}\u{34}\u{2b}\u{6e}\u{69}\u{6c}")
437437end
438438local function testrep
439439(init,rep,close,repc,finalresult)
@@ -445,49 +445,49 @@ assert(res() == finalresult)
445445end
446446s=init .. string.rep(rep,500)
447447local res,msg = load(s)
448−assert(not res and (string.find(msg,"\116\111\111\32\109\97\110\121") or string.find(msg,"\111\118\101\114\102\108\111\119")))
449−end
450−testrep("\108\111\99\97\108\32\97\59\32\97","\44\97","\61\32\49","\44\49")
451−testrep("\108\111\99\97\108\32\97\59\32\97\61","\123","\48","\125")
452−testrep("\114\101\116\117\114\110\32","\40","\50","\41",2)
453−testrep("\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\97\32\40\120\41\32\114\101\116\117\114\110\32\120\32\101\110\100\59\32\114\101\116\117\114\110\32","\97\40","\50\46\50","\41",2.2)
454−testrep("","\100\111\32","","\32\101\110\100")
455−testrep("","\119\104\105\108\101\32\97\32\100\111\32","","\32\101\110\100")
456−testrep("\108\111\99\97\108\32\97\59\32","\105\102\32\97\32\116\104\101\110\32\101\108\115\101\32","","\32\101\110\100")
457−testrep("","\102\117\110\99\116\105\111\110\32\102\111\111\32\40\41\32","","\32\101\110\100")
458−testrep("\108\111\99\97\108\32\97\32\61\32\39\39\59\32\114\101\116\117\114\110\32","\97\46\46","\39\97\39","","\97")
459−testrep("\108\111\99\97\108\32\97\32\61\32\49\59\32\114\101\116\117\114\110\32","\97\94","\97","",1)
460−checkmessage("\97\32\61\32\102\40\120" .. string.rep("\44\120",260) .. "\41","\116\111\111\32\109\97\110\121\32\114\101\103\105\115\116\101\114\115")
448+assert(not res and (string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}") or string.find(msg,"\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")))
449+end
450+testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3b}\u{20}\u{61}","\u{2c}\u{61}","\u{3d}\u{20}\u{31}","\u{2c}\u{31}")
451+testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3b}\u{20}\u{61}\u{3d}","\u{7b}","\u{30}","\u{7d}")
452+testrep("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{28}","\u{32}","\u{29}",2)
453+testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{61}\u{20}\u{28}\u{78}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{61}\u{28}","\u{32}\u{2e}\u{32}","\u{29}",2.2)
454+testrep("","\u{64}\u{6f}\u{20}","","\u{20}\u{65}\u{6e}\u{64}")
455+testrep("","\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{61}\u{20}\u{64}\u{6f}\u{20}","","\u{20}\u{65}\u{6e}\u{64}")
456+testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3b}\u{20}","\u{69}\u{66}\u{20}\u{61}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{65}\u{6c}\u{73}\u{65}\u{20}","","\u{20}\u{65}\u{6e}\u{64}")
457+testrep("","\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{29}\u{20}","","\u{20}\u{65}\u{6e}\u{64}")
458+testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{27}\u{27}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{61}\u{2e}\u{2e}","\u{27}\u{61}\u{27}","","\u{61}")
459+testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{61}\u{5e}","\u{61}","",1)
460+checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{66}\u{28}\u{78}" .. string.rep("\u{2c}\u{78}",260) .. "\u{29}","\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{67}\u{69}\u{73}\u{74}\u{65}\u{72}\u{73}")
461461local lim = 127
462−local s = "\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\102\111\111\65\32\40\41\10\32\32\108\111\99\97\108\32"
462+local s = "\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{41}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}"
463463for j = 1, lim
464464do
465−s=s .. "\97" .. j .. "\44\32"
465+s=s .. "\u{61}" .. j .. "\u{2c}\u{20}"
466466end
467−s=s .. "\98\44\99\10"
468−s=s .. "\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\102\111\111\66\32\40\41\10\32\32\108\111\99\97\108\32"
467+s=s .. "\u{62}\u{2c}\u{63}\u{a}"
468+s=s .. "\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{42}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}"
469469for j = 1, lim
470470do
471−s=s .. "\98" .. j .. "\44\32"
471+s=s .. "\u{62}" .. j .. "\u{2c}\u{20}"
472472end
473−s=s .. "\98\10"
474−s=s .. "\102\117\110\99\116\105\111\110\32\102\111\111\67\32\40\41\32\114\101\116\117\114\110\32\98\43\99"
473+s=s .. "\u{62}\u{a}"
474+s=s .. "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{43}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{62}\u{2b}\u{63}"
475475local c = 1 + 2
476476for j = 1, lim
477477do
478−s=s .. "\43\97" .. j .. "\43\98" .. j
478+s=s .. "\u{2b}\u{61}" .. j .. "\u{2b}\u{62}" .. j
479479c=c + 2
480480end
481−s=s .. "\10\101\110\100\32\32\101\110\100\32\101\110\100"
481+s=s .. "\u{a}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{65}\u{6e}\u{64}"
482482local a,b = load(s)
483−assert(c > 255 and string.find(b,"\116\111\111\32\109\97\110\121\32\117\112\118\97\108\117\101\115") and string.find(b,"\108\105\110\101\32\53"))
484−s="\10\102\117\110\99\116\105\111\110\32\102\111\111\32\40\41\10\32\32\108\111\99\97\108\32"
483+assert(c > 255 and string.find(b,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}") and string.find(b,"\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{35}"))
484+s="\u{a}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}"
485485for j = 1, 300
486486do
487−s=s .. "\97" .. j .. "\44\32"
487+s=s .. "\u{61}" .. j .. "\u{2c}\u{20}"
488488end
489−s=s .. "\98\10"
489+s=s .. "\u{62}\u{a}"
490490local a,b = load(s)
491−assert(string.find(b,"\108\105\110\101\32\50") and string.find(b,"\116\111\111\32\109\97\110\121\32\108\111\99\97\108\32\118\97\114\105\97\98\108\101\115"))
491+assert(string.find(b,"\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{32}") and string.find(b,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}"))
492492mt.__index=oldmm
493−print("\79\75")
493+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/events.lua+132−132
@@ -1,30 +1,30 @@
1−print("\116\101\115\116\105\110\103\32\109\101\116\97\116\97\98\108\101\115")
2−local debug = require("\100\101\98\117\103")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
2+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
33X=20
44;
55B=30
6−_ENV=setmetatable({},{["\95\95\105\110\100\101\120"] = _G})
6+_ENV=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = _G})
77collectgarbage()
88X=X + 10
99assert(X == 30 and _G.X == 20)
1010B=false
1111assert(B == false)
12−_ENV["\66"]=undef
12+_ENV["\u{42}"]=undef
1313assert(B == 30)
1414assert(getmetatable({}) == nil)
1515assert(getmetatable(4) == nil)
1616assert(getmetatable(nil) == nil)
17−a={["\110\97\109\101"] = "\78\65\77\69"}
17+a={["\u{6e}\u{61}\u{6d}\u{65}"] = "\u{4e}\u{41}\u{4d}\u{45}"}
1818;
19−setmetatable(a,{["\95\95\109\101\116\97\116\97\98\108\101"] = "\120\117\120\117",["\95\95\116\111\115\116\114\105\110\103"] = function (x)
19+setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}"] = "\u{78}\u{75}\u{78}\u{75}",["\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = function (x)
2020return x.name
2121end})
22−assert(getmetatable(a) == "\120\117\120\117")
23−assert(tostring(a) == "\78\65\77\69")
22+assert(getmetatable(a) == "\u{78}\u{75}\u{78}\u{75}")
23+assert(tostring(a) == "\u{4e}\u{41}\u{4d}\u{45}")
2424assert(pcall(setmetatable,a,{}) == false)
25−a.name="\103\111\114\111\114\111\98\97"
26−assert(tostring(a) == "\103\111\114\111\114\111\98\97")
27−local a,t = {10,20,30,["\120"] = "\49\48",["\121"] = "\50\48"},{}
25+a.name="\u{67}\u{6f}\u{72}\u{6f}\u{72}\u{6f}\u{62}\u{61}"
26+assert(tostring(a) == "\u{67}\u{6f}\u{72}\u{6f}\u{72}\u{6f}\u{62}\u{61}")
27+local a,t = {10,20,30,["\u{78}"] = "\u{31}\u{30}",["\u{79}"] = "\u{32}\u{30}"},{}
2828assert(setmetatable(a,t) == a)
2929assert(getmetatable(a) == t)
3030assert(setmetatable(a,nil) == a)
@@ -32,12 +32,12 @@ assert(getmetatable(a) == nil)
3232assert(setmetatable(a,t) == a)
3333function f(t,i,e)
3434assert(not e)
35−local p = rawget(t,"\112\97\114\101\110\116")
36−return (p and p[i] + 3),"\100\117\109\109\121\32\114\101\116\117\114\110"
35+local p = rawget(t,"\u{70}\u{61}\u{72}\u{65}\u{6e}\u{74}")
36+return (p and p[i] + 3),"\u{64}\u{75}\u{6d}\u{6d}\u{79}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"
3737end
3838t.__index=f
39−a.parent={["\122"] = 25,["\120"] = 12,[4] = 24}
40−assert(a[1] == 10 and a.z == 28 and a[4] == 27 and a.x == "\49\48")
39+a.parent={["\u{7a}"] = 25,["\u{78}"] = 12,[4] = 24}
40+assert(a[1] == 10 and a.z == 28 and a[4] == 27 and a.x == "\u{31}\u{30}")
4141collectgarbage()
4242a=setmetatable({},t)
4343function f(t,i,v)
@@ -47,7 +47,7 @@ setmetatable(t,t)
4747t.__newindex=f
4848a[1]=30
4949;
50−a.x="\49\48\49"
50+a.x="\u{31}\u{30}\u{31}"
5151;
5252a[5]=200
5353assert(a[1] == 27 and a.x == 98 and a[5] == 197)
@@ -81,8 +81,8 @@ assert(next(a) == nil)
8181do
8282local a
8383;
84−a=setmetatable({},{["\95\95\105\110\100\101\120"] = setmetatable({},{["\95\95\105\110\100\101\120"] = setmetatable({},{["\95\95\105\110\100\101\120"] = function (_,n)
85−return a[n - 3] + 4,"\108\105\120\111"
84+a=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,n)
85+return a[n - 3] + 4,"\u{6c}\u{69}\u{78}\u{6f}"
8686end})})})
8787a[0]=20
8888for i = 0, 10
@@ -97,10 +97,10 @@ for i = 1, 10
9797do
9898a[i]=0
9999;
100−a["\97" .. i]=0
100+a["\u{61}" .. i]=0
101101;
102102end
103−setmetatable(a,{["\95\95\110\101\119\105\110\100\101\120"] = function (t,k,v)
103+setmetatable(a,{["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k,v)
104104foi=true
105105;
106106rawset(t,k,v)
@@ -112,12 +112,12 @@ a[1]=0
112112assert(not foi)
113113foi=false
114114;
115−a["\97\49"]=0
115+a["\u{61}\u{31}"]=0
116116;
117117assert(not foi)
118118foi=false
119119;
120−a["\97\49\49"]=0
120+a["\u{61}\u{31}\u{31}"]=0
121121;
122122assert(foi)
123123foi=false
@@ -143,8 +143,8 @@ return t,{...}
143143end
144144t.__call=f
145145do
146−local x,y = a(table.unpack({"\97",1}))
147−assert(x == a and y[1] == "\97" and y[2] == 1 and y[3] == undef)
146+local x,y = a(table.unpack({"\u{61}",1}))
147+assert(x == a and y[1] == "\u{61}" and y[2] == 1 and y[3] == undef)
148148x,y=a()
149149assert(x == a and y[1] == undef)
150150end
@@ -157,23 +157,23 @@ cap={[0] = op,...}
157157return (...)
158158end
159159end
160−t.__add=f("\97\100\100")
161−t.__sub=f("\115\117\98")
162−t.__mul=f("\109\117\108")
163−t.__div=f("\100\105\118")
164−t.__idiv=f("\105\100\105\118")
165−t.__mod=f("\109\111\100")
166−t.__unm=f("\117\110\109")
167−t.__pow=f("\112\111\119")
168−t.__len=f("\108\101\110")
169−t.__band=f("\98\97\110\100")
170−t.__bor=f("\98\111\114")
171−t.__bxor=f("\98\120\111\114")
172−t.__shl=f("\115\104\108")
173−t.__shr=f("\115\104\114")
174−t.__bnot=f("\98\110\111\116")
175−t.__lt=f("\108\116")
176−t.__le=f("\108\101")
160+t.__add=f("\u{61}\u{64}\u{64}")
161+t.__sub=f("\u{73}\u{75}\u{62}")
162+t.__mul=f("\u{6d}\u{75}\u{6c}")
163+t.__div=f("\u{64}\u{69}\u{76}")
164+t.__idiv=f("\u{69}\u{64}\u{69}\u{76}")
165+t.__mod=f("\u{6d}\u{6f}\u{64}")
166+t.__unm=f("\u{75}\u{6e}\u{6d}")
167+t.__pow=f("\u{70}\u{6f}\u{77}")
168+t.__len=f("\u{6c}\u{65}\u{6e}")
169+t.__band=f("\u{62}\u{61}\u{6e}\u{64}")
170+t.__bor=f("\u{62}\u{6f}\u{72}")
171+t.__bxor=f("\u{62}\u{78}\u{6f}\u{72}")
172+t.__shl=f("\u{73}\u{68}\u{6c}")
173+t.__shr=f("\u{73}\u{68}\u{72}")
174+t.__bnot=f("\u{62}\u{6e}\u{6f}\u{74}")
175+t.__lt=f("\u{6c}\u{74}")
176+t.__le=f("\u{6c}\u{65}")
177177local function checkcap
178178(t)
179179assert(# cap + 1 == # t)
@@ -185,174 +185,174 @@ end
185185end
186186assert(b + 5 == b)
187187;
188−checkcap({"\97\100\100",b,5})
188+checkcap({"\u{61}\u{64}\u{64}",b,5})
189189assert(5.2 + b == 5.2)
190190;
191−checkcap({"\97\100\100",5.2,b})
192−assert(b + "\53" == b)
191+checkcap({"\u{61}\u{64}\u{64}",5.2,b})
192+assert(b + "\u{35}" == b)
193193;
194−checkcap({"\97\100\100",b,"\53"})
194+checkcap({"\u{61}\u{64}\u{64}",b,"\u{35}"})
195195assert(5 + b == 5)
196196;
197−checkcap({"\97\100\100",5,b})
198−assert("\53" + b == "\53")
197+checkcap({"\u{61}\u{64}\u{64}",5,b})
198+assert("\u{35}" + b == "\u{35}")
199199;
200−checkcap({"\97\100\100","\53",b})
200+checkcap({"\u{61}\u{64}\u{64}","\u{35}",b})
201201b=b - 3
202202;
203203assert(getmetatable(b) == t)
204204;
205−checkcap({"\115\117\98",b,3})
205+checkcap({"\u{73}\u{75}\u{62}",b,3})
206206assert(5 - a == 5)
207207;
208−checkcap({"\115\117\98",5,a})
209−assert("\53" - a == "\53")
208+checkcap({"\u{73}\u{75}\u{62}",5,a})
209+assert("\u{35}" - a == "\u{35}")
210210;
211−checkcap({"\115\117\98","\53",a})
211+checkcap({"\u{73}\u{75}\u{62}","\u{35}",a})
212212assert(a * a == a)
213213;
214−checkcap({"\109\117\108",a,a})
214+checkcap({"\u{6d}\u{75}\u{6c}",a,a})
215215assert(a / 0 == a)
216216;
217−checkcap({"\100\105\118",a,0})
217+checkcap({"\u{64}\u{69}\u{76}",a,0})
218218assert(a / 0.0 == a)
219219;
220−checkcap({"\100\105\118",a,0.0})
220+checkcap({"\u{64}\u{69}\u{76}",a,0.0})
221221assert(a % 2 == a)
222222;
223−checkcap({"\109\111\100",a,2})
223+checkcap({"\u{6d}\u{6f}\u{64}",a,2})
224224assert(a // (1 / 0) == a)
225225;
226−checkcap({"\105\100\105\118",a,1 / 0})
226+checkcap({"\u{69}\u{64}\u{69}\u{76}",a,1 / 0})
227227;
228228(function ()
229−assert(a & "\104\105" == a)
229+assert(a & "\u{68}\u{69}" == a)
230230end)()
231231;
232−checkcap({"\98\97\110\100",a,"\104\105"})
232+checkcap({"\u{62}\u{61}\u{6e}\u{64}",a,"\u{68}\u{69}"})
233233;
234234(function ()
235235assert(10 & a == 10)
236236end)()
237237;
238−checkcap({"\98\97\110\100",10,a})
238+checkcap({"\u{62}\u{61}\u{6e}\u{64}",10,a})
239239;
240240(function ()
241241assert(a | 10 == a)
242242end)()
243243;
244−checkcap({"\98\111\114",a,10})
245−assert(a | "\104\105" == a)
244+checkcap({"\u{62}\u{6f}\u{72}",a,10})
245+assert(a | "\u{68}\u{69}" == a)
246246;
247−checkcap({"\98\111\114",a,"\104\105"})
248−assert("\104\105" ~ a == "\104\105")
247+checkcap({"\u{62}\u{6f}\u{72}",a,"\u{68}\u{69}"})
248+assert("\u{68}\u{69}" ~ a == "\u{68}\u{69}")
249249;
250−checkcap({"\98\120\111\114","\104\105",a})
250+checkcap({"\u{62}\u{78}\u{6f}\u{72}","\u{68}\u{69}",a})
251251;
252252(function ()
253253assert(10 ~ a == 10)
254254end)()
255255;
256−checkcap({"\98\120\111\114",10,a})
256+checkcap({"\u{62}\u{78}\u{6f}\u{72}",10,a})
257257assert(- a == a)
258258;
259−checkcap({"\117\110\109",a,a})
259+checkcap({"\u{75}\u{6e}\u{6d}",a,a})
260260assert(a ^ 4.0 == a)
261261;
262−checkcap({"\112\111\119",a,4.0})
263−assert(a ^ "\52" == a)
262+checkcap({"\u{70}\u{6f}\u{77}",a,4.0})
263+assert(a ^ "\u{34}" == a)
264264;
265−checkcap({"\112\111\119",a,"\52"})
265+checkcap({"\u{70}\u{6f}\u{77}",a,"\u{34}"})
266266assert(4 ^ a == 4)
267267;
268−checkcap({"\112\111\119",4,a})
269−assert("\52" ^ a == "\52")
268+checkcap({"\u{70}\u{6f}\u{77}",4,a})
269+assert("\u{34}" ^ a == "\u{34}")
270270;
271−checkcap({"\112\111\119","\52",a})
271+checkcap({"\u{70}\u{6f}\u{77}","\u{34}",a})
272272assert(# a == a)
273273;
274−checkcap({"\108\101\110",a,a})
274+checkcap({"\u{6c}\u{65}\u{6e}",a,a})
275275assert(~ a == a)
276276;
277−checkcap({"\98\110\111\116",a,a})
277+checkcap({"\u{62}\u{6e}\u{6f}\u{74}",a,a})
278278assert(a << 3 == a)
279279;
280−checkcap({"\115\104\108",a,3})
280+checkcap({"\u{73}\u{68}\u{6c}",a,3})
281281assert(1.5 >> a == 1.5)
282282;
283−checkcap({"\115\104\114",1.5,a})
283+checkcap({"\u{73}\u{68}\u{72}",1.5,a})
284284assert(5.0 > a)
285285;
286−checkcap({"\108\116",a,5.0})
286+checkcap({"\u{6c}\u{74}",a,5.0})
287287assert(a >= 10)
288288;
289−checkcap({"\108\101",10,a})
289+checkcap({"\u{6c}\u{65}",10,a})
290290assert(a <= - 10.0)
291291;
292−checkcap({"\108\101",a,- 10.0})
292+checkcap({"\u{6c}\u{65}",a,- 10.0})
293293assert(a < - 10)
294294;
295−checkcap({"\108\116",a,- 10})
296−t=setmetatable({1,2,3},{["\95\95\108\101\110"] = function ()
295+checkcap({"\u{6c}\u{74}",a,- 10})
296+t=setmetatable({1,2,3},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
297297return 10
298298end})
299299assert(# t == 10 and rawlen(t) == 3)
300−assert(rawlen("\97\98\99") == 3)
300+assert(rawlen("\u{61}\u{62}\u{63}") == 3)
301301assert(not pcall(rawlen,io.stdin))
302302assert(not pcall(rawlen,34))
303303assert(not pcall(rawlen))
304−assert(rawlen(string.rep("\97",1000)) == 1000)
304+assert(rawlen(string.rep("\u{61}",1000)) == 1000)
305305t={}
306306t.__lt=function (a,b,c)
307307collectgarbage()
308308assert(c == nil)
309−if type(a) == "\116\97\98\108\101" then
309+if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
310310a=a.x
311311end
312−if type(b) == "\116\97\98\108\101" then
312+if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
313313b=b.x
314314end
315−return a < b,"\100\117\109\109\121"
315+return a < b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
316316end
317317t.__le=function (a,b,c)
318318assert(c == nil)
319−if type(a) == "\116\97\98\108\101" then
319+if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
320320a=a.x
321321end
322−if type(b) == "\116\97\98\108\101" then
322+if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
323323b=b.x
324324end
325−return a <= b,"\100\117\109\109\121"
325+return a <= b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
326326end
327327t.__eq=function (a,b,c)
328328assert(c == nil)
329−if type(a) == "\116\97\98\108\101" then
329+if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
330330a=a.x
331331end
332−if type(b) == "\116\97\98\108\101" then
332+if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
333333b=b.x
334334end
335−return a == b,"\100\117\109\109\121"
335+return a == b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
336336end
337337function Op(x)
338−return setmetatable({["\120"] = x},t)
338+return setmetatable({["\u{78}"] = x},t)
339339end
340340local function test
341341(a,b,c)
342342assert(not (Op(1) < Op(1)) and (Op(1) < Op(2)) and not (Op(2) < Op(1)))
343343assert(not (1 < Op(1)) and (Op(1) < 2) and not (2 < Op(1)))
344−assert(not (Op("\97") < Op("\97")) and (Op("\97") < Op("\98")) and not (Op("\98") < Op("\97")))
345−assert(not ("\97" < Op("\97")) and (Op("\97") < "\98") and not (Op("\98") < Op("\97")))
344+assert(not (Op("\u{61}") < Op("\u{61}")) and (Op("\u{61}") < Op("\u{62}")) and not (Op("\u{62}") < Op("\u{61}")))
345+assert(not ("\u{61}" < Op("\u{61}")) and (Op("\u{61}") < "\u{62}") and not (Op("\u{62}") < Op("\u{61}")))
346346assert((Op(1) <= Op(1)) and (Op(1) <= Op(2)) and not (Op(2) <= Op(1)))
347−assert((Op("\97") <= Op("\97")) and (Op("\97") <= Op("\98")) and not (Op("\98") <= Op("\97")))
347+assert((Op("\u{61}") <= Op("\u{61}")) and (Op("\u{61}") <= Op("\u{62}")) and not (Op("\u{62}") <= Op("\u{61}")))
348348assert(not (Op(1) > Op(1)) and not (Op(1) > Op(2)) and (Op(2) > Op(1)))
349−assert(not (Op("\97") > Op("\97")) and not (Op("\97") > Op("\98")) and (Op("\98") > Op("\97")))
349+assert(not (Op("\u{61}") > Op("\u{61}")) and not (Op("\u{61}") > Op("\u{62}")) and (Op("\u{62}") > Op("\u{61}")))
350350assert((Op(1) >= Op(1)) and not (Op(1) >= Op(2)) and (Op(2) >= Op(1)))
351351assert((1 >= Op(1)) and not (1 >= Op(2)) and (Op(2) >= 1))
352−assert((Op("\97") >= Op("\97")) and not (Op("\97") >= Op("\98")) and (Op("\98") >= Op("\97")))
353−assert(("\97" >= Op("\97")) and not (Op("\97") >= "\98") and (Op("\98") >= Op("\97")))
352+assert((Op("\u{61}") >= Op("\u{61}")) and not (Op("\u{61}") >= Op("\u{62}")) and (Op("\u{62}") >= Op("\u{61}")))
353+assert(("\u{61}" >= Op("\u{61}")) and not (Op("\u{61}") >= "\u{62}") and (Op("\u{62}") >= Op("\u{61}")))
354354assert(Op(1) == Op(1) and Op(1) ~= Op(2))
355−assert(Op("\97") == Op("\97") and Op("\97") ~= Op("\98"))
355+assert(Op("\u{61}") == Op("\u{61}") and Op("\u{61}") ~= Op("\u{62}"))
356356assert(a == a and a ~= b)
357357assert(Op(3) == c)
358358end
@@ -416,7 +416,7 @@ assert(Set({1,3,5}) ~= Set({3,5,1,6}))
416416t[Set({1,3,5})]=1
417417assert(t[Set({1,3,5})] == undef)
418418do
419−local mt = {["\95\95\101\113"] = true}
419+local mt = {["\u{5f}\u{5f}\u{65}\u{71}"] = true}
420420local a = setmetatable({10},mt)
421421local b = setmetatable({10},mt)
422422mt.__eq=nil
@@ -427,7 +427,7 @@ end
427427assert(a == b)
428428end
429429if not T then
430−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\116\101\115\116\115\32\102\111\114\32\117\115\101\114\100\97\116\97\32\60\60\60\10")
430+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
431431else
432432local u1 = T.newuserdata(0,1)
433433local u2 = T.newuserdata(0,1)
@@ -439,10 +439,10 @@ debug.setuservalue(u2,2)
439439;
440440debug.setuservalue(u3,1)
441441;
442−debug.setmetatable(u1,{["\95\95\101\113"] = function (a,b)
442+debug.setmetatable(u1,{["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
443443return debug.getuservalue(a) == debug.getuservalue(b)
444444end})
445−debug.setmetatable(u2,{["\95\95\101\113"] = function (a,b)
445+debug.setmetatable(u2,{["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
446446return true
447447end})
448448assert(u1 == u3 and u3 == u1 and u1 ~= u2)
@@ -450,7 +450,7 @@ assert(u2 == u1 and u2 == u3 and u3 == u2)
450450assert(u2 ~= {})
451451assert(rawequal(u1,u1) and not rawequal(u1,u3))
452452local mirror = {}
453−debug.setmetatable(u3,{["\95\95\105\110\100\101\120"] = mirror,["\95\95\110\101\119\105\110\100\101\120"] = mirror})
453+debug.setmetatable(u3,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = mirror,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = mirror})
454454for i = 1, 10
455455do
456456u3[i]=i
@@ -462,37 +462,37 @@ end
462462end
463463t.__concat=function (a,b,c)
464464assert(c == nil)
465−if type(a) == "\116\97\98\108\101" then
465+if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
466466a=a.val
467467end
468−if type(b) == "\116\97\98\108\101" then
468+if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
469469b=b.val
470470end
471471if A then
472472return a .. b
473473else
474−return setmetatable({["\118\97\108"] = a .. b},t)
474+return setmetatable({["\u{76}\u{61}\u{6c}"] = a .. b},t)
475475end
476476end
477−c={["\118\97\108"] = "\99"}
477+c={["\u{76}\u{61}\u{6c}"] = "\u{63}"}
478478;
479479setmetatable(c,t)
480−d={["\118\97\108"] = "\100"}
480+d={["\u{76}\u{61}\u{6c}"] = "\u{64}"}
481481;
482482setmetatable(d,t)
483483A=true
484−assert(c .. d == "\99\100")
485−assert(0 .. "\97" .. "\98" .. c .. d .. "\101" .. "\102" .. (5 + 3) .. "\103" == "\48\97\98\99\100\101\102\56\103")
484+assert(c .. d == "\u{63}\u{64}")
485+assert(0 .. "\u{61}" .. "\u{62}" .. c .. d .. "\u{65}" .. "\u{66}" .. (5 + 3) .. "\u{67}" == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{38}\u{67}")
486486A=false
487−assert((c .. d .. c .. d).val == "\99\100\99\100")
487+assert((c .. d .. c .. d).val == "\u{63}\u{64}\u{63}\u{64}")
488488x=c .. d
489−assert(getmetatable(x) == t and x.val == "\99\100")
490−x=0 .. "\97" .. "\98" .. c .. d .. "\101" .. "\102" .. "\103"
491−assert(x.val == "\48\97\98\99\100\101\102\103")
489+assert(getmetatable(x) == t and x.val == "\u{63}\u{64}")
490+x=0 .. "\u{61}" .. "\u{62}" .. c .. d .. "\u{65}" .. "\u{66}" .. "\u{67}"
491+assert(x.val == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}")
492492c={}
493493local x
494−setmetatable(c,{["\95\95\99\111\110\99\97\116"] = function (a,b)
495−assert(type(a) == "\110\117\109\98\101\114" and b == c or type(b) == "\110\117\109\98\101\114" and a == c)
494+setmetatable(c,{["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
495+assert(type(a) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" and b == c or type(b) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" and a == c)
496496return c
497497end})
498498assert(c .. 5 == c and 5 .. c == c)
@@ -521,7 +521,7 @@ t2.__lt=t1.__lt
521521setmetatable(d,t2)
522522assert(c == d and c < d and not (d <= c))
523523local i
524−local tt = {["\95\95\99\97\108\108"] = function (t, ...)
524+local tt = {["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = function (t, ...)
525525i=i + 1
526526if t.f then
527527return t.f(...)
@@ -530,31 +530,31 @@ return {...}
530530end
531531end}
532532local a = setmetatable({},tt)
533−local b = setmetatable({["\102"] = a},tt)
534−local c = setmetatable({["\102"] = b},tt)
533+local b = setmetatable({["\u{66}"] = a},tt)
534+local c = setmetatable({["\u{66}"] = b},tt)
535535i=0
536536x=c(3,4,5)
537537assert(i == 3 and x[1] == 3 and x[3] == 5)
538538assert(_G.X == 20)
539539_G.X,_G.B=nil
540−print("\43")
540+print("\u{2b}")
541541local _g = _G
542−_ENV=setmetatable({},{["\95\95\105\110\100\101\120"] = function (_,k)
542+_ENV=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
543543return _g[k]
544544end})
545545a={}
546−rawset(a,"\120",1,2,3)
547−assert(a.x == 1 and rawget(a,"\120",3) == 1)
548−print("\43")
549−mt={["\95\95\105\110\100\101\120"] = function (a,b)
546+rawset(a,"\u{78}",1,2,3)
547+assert(a.x == 1 and rawget(a,"\u{78}",3) == 1)
548+print("\u{2b}")
549+mt={["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (a,b)
550550return a + b
551−end,["\95\95\108\101\110"] = function (x)
551+end,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (x)
552552return math.floor(x)
553553end}
554554debug.setmetatable(10,mt)
555555assert(getmetatable(- 2) == mt)
556556assert((10)[3] == 13)
557−assert((10)["\51"] == 13)
557+assert((10)["\u{33}"] == 13)
558558assert(# 3.45 == 3)
559559debug.setmetatable(23,nil)
560560assert(getmetatable(- 2) == nil)
@@ -605,6 +605,6 @@ parent.__newindex=parent
605605setmetatable(parent,grandparent)
606606child=setmetatable({},parent)
607607child.foo=10
608−assert(T == parent and K == "\102\111\111" and V == 10)
609−print("\79\75")
608+assert(T == parent and K == "\u{66}\u{6f}\u{6f}" and V == 10)
609+print("\u{4f}\u{4b}")
610610return 12
zod/luau/res/lua/cycled/files.lua+337−337
@@ -1,8 +1,8 @@
1−local debug = require("\100\101\98\117\103")
1+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
22local maxint = math.maxinteger
3−assert(type(os.getenv("\80\65\84\72")) == "\115\116\114\105\110\103")
3+assert(type(os.getenv("\u{50}\u{41}\u{54}\u{48}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
44assert(io.input(io.stdin) == io.stdin)
5−assert(not pcall(io.input,"\110\111\110\45\101\120\105\115\116\101\110\116\45\102\105\108\101"))
5+assert(not pcall(io.input,"\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{2d}\u{66}\u{69}\u{6c}\u{65}"))
66assert(io.output(io.stdout) == io.stdout)
77local function testerr
88(msg,f, ...)
@@ -14,37 +14,37 @@ local function checkerr
1414assert(testerr(msg,f,...))
1515end
1616assert(not io.close(io.stdin) and not io.stdout:close() and not io.stderr:close())
17−checkerr("\103\111\116\32\110\111\32\118\97\108\117\101",io.stdin.close)
18−assert(type(io.input()) == "\117\115\101\114\100\97\116\97" and io.type(io.output()) == "\102\105\108\101")
19−assert(type(io.stdin) == "\117\115\101\114\100\97\116\97" and io.type(io.stderr) == "\102\105\108\101")
17+checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{6f}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}",io.stdin.close)
18+assert(type(io.input()) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}" and io.type(io.output()) == "\u{66}\u{69}\u{6c}\u{65}")
19+assert(type(io.stdin) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}" and io.type(io.stderr) == "\u{66}\u{69}\u{6c}\u{65}")
2020assert(not io.type(8))
2121local a = {}
2222;
2323setmetatable(a,{})
2424assert(not io.type(a))
25−assert(getmetatable(io.input()).__name == "\70\73\76\69\42")
26−local a,b,c = io.open("\120\117\120\117\95\110\97\111\95\101\120\105\115\116\101")
27−assert(not a and type(b) == "\115\116\114\105\110\103" and type(c) == "\110\117\109\98\101\114")
28−a,b,c=io.open("\47\97\47\98\47\99\47\100","\119")
29−assert(not a and type(b) == "\115\116\114\105\110\103" and type(c) == "\110\117\109\98\101\114")
25+assert(getmetatable(io.input()).__name == "\u{46}\u{49}\u{4c}\u{45}\u{2a}")
26+local a,b,c = io.open("\u{78}\u{75}\u{78}\u{75}\u{5f}\u{6e}\u{61}\u{6f}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}")
27+assert(not a and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
28+a,b,c=io.open("\u{2f}\u{61}\u{2f}\u{62}\u{2f}\u{63}\u{2f}\u{64}","\u{77}")
29+assert(not a and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
3030local file = os.tmpname()
31−local f,msg = io.open(file,"\119")
31+local f,msg = io.open(file,"\u{77}")
3232if not f then
33−(Message or print)("\39\111\115\46\116\109\112\110\97\109\101\39\32\102\105\108\101\32\99\97\110\110\111\116\32\98\101\32\111\112\101\110\59\32\115\107\105\112\112\105\110\103\32\102\105\108\101\32\116\101\115\116\115")
33+(Message or print)("\u{27}\u{6f}\u{73}\u{2e}\u{74}\u{6d}\u{70}\u{6e}\u{61}\u{6d}\u{65}\u{27}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{3b}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
3434else
3535f:close()
36−print("\116\101\115\116\105\110\103\32\105\47\111")
36+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{2f}\u{6f}")
3737local otherfile = os.tmpname()
38−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.open,file,"\114\119")
39−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.open,file,"\114\98\43")
40−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.open,file,"\114\43\98\107")
41−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.open,file,"")
42−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.open,file,"\43")
43−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.open,file,"\98")
44−assert(io.open(file,"\114\43\98")):close()
45−assert(io.open(file,"\114\43")):close()
46−assert(io.open(file,"\114\98")):close()
47−assert(os.setlocale("\67","\97\108\108"))
38+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.open,file,"\u{72}\u{77}")
39+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.open,file,"\u{72}\u{62}\u{2b}")
40+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.open,file,"\u{72}\u{2b}\u{62}\u{6b}")
41+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.open,file,"")
42+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.open,file,"\u{2b}")
43+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.open,file,"\u{62}")
44+assert(io.open(file,"\u{72}\u{2b}\u{62}")):close()
45+assert(io.open(file,"\u{72}\u{2b}")):close()
46+assert(io.open(file,"\u{72}\u{62}")):close()
47+assert(os.setlocale("\u{43}","\u{61}\u{6c}\u{6c}"))
4848io.input(io.stdin)
4949;
5050io.output(io.stdout)
@@ -56,28 +56,28 @@ assert(not io.open(file))
5656io.output(file)
5757assert(io.output() ~= io.stdout)
5858if not _port then
59−local status,msg,code = io.stdin:seek("\115\101\116",1000)
60−assert(not status and type(msg) == "\115\116\114\105\110\103" and type(code) == "\110\117\109\98\101\114")
59+local status,msg,code = io.stdin:seek("\u{73}\u{65}\u{74}",1000)
60+assert(not status and type(msg) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(code) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
6161end
6262assert(io.output():seek() == 0)
63−assert(io.write("\97\108\111\32\97\108\111"):seek() == string.len("\97\108\111\32\97\108\111"))
64−assert(io.output():seek("\99\117\114",- 3) == string.len("\97\108\111\32\97\108\111") - 3)
65−assert(io.write("\106\111\97\111"))
66−assert(io.output():seek("\101\110\100") == string.len("\97\108\111\32\106\111\97\111"))
67−assert(io.output():seek("\115\101\116") == 0)
68−assert(io.write("\34\97\108\111\34","\123\97\125\10","\115\101\99\111\110\100\32\108\105\110\101\10","\116\104\105\114\100\32\108\105\110\101\32\10"))
69−assert(io.write("\88\102\111\117\114\116\104\95\108\105\110\101"))
63+assert(io.write("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}"):seek() == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}"))
64+assert(io.output():seek("\u{63}\u{75}\u{72}",- 3) == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}") - 3)
65+assert(io.write("\u{6a}\u{6f}\u{61}\u{6f}"))
66+assert(io.output():seek("\u{65}\u{6e}\u{64}") == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{6a}\u{6f}\u{61}\u{6f}"))
67+assert(io.output():seek("\u{73}\u{65}\u{74}") == 0)
68+assert(io.write("\u{22}\u{61}\u{6c}\u{6f}\u{22}","\u{7b}\u{61}\u{7d}\u{a}","\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}","\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{a}"))
69+assert(io.write("\u{58}\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}"))
7070io.output(io.stdout)
7171collectgarbage()
7272assert(io.input() == io.stdin and rawequal(io.output(),io.stdout))
73−print("\43")
73+print("\u{2b}")
7474collectgarbage()
7575for i = 1, 120
7676do
7777for i = 1, 5
7878do
7979io.input(file)
80−assert(io.open(file,"\114"))
80+assert(io.open(file,"\u{72}"))
8181io.lines(file)
8282end
8383collectgarbage()
@@ -86,125 +86,125 @@ io.input():close()
8686io.close()
8787assert(os.rename(file,otherfile))
8888assert(not os.rename(file,otherfile))
89−io.output(io.open(otherfile,"\97\98"))
90−assert(io.write("\10\10\9\9\32\32",3450,"\10"))
89+io.output(io.open(otherfile,"\u{61}\u{62}"))
90+assert(io.write("\u{a}\u{a}\u{9}\u{9}\u{20}\u{20}",3450,"\u{a}"))
9191;
9292io.close()
9393do
9494local F = nil
9595do
96−local f <close> = assert(io.open(file,"\119"))
96+local f <close> = assert(io.open(file,"\u{77}"))
9797F=f
9898end
99−assert(tostring(F) == "\102\105\108\101\32\40\99\108\111\115\101\100\41")
99+assert(tostring(F) == "\u{66}\u{69}\u{6c}\u{65}\u{20}\u{28}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{29}")
100100end
101101assert(os.remove(file))
102102do
103−local f <close> = assert(io.open(file,"\119"))
104−f:write(maxint,"\10")
105−f:write(string.format("\48\88\37\120\10",maxint))
106−f:write("\48\120\65\66\67\112\45\51","\10")
107−f:write(0,"\10")
108−f:write(- maxint,"\10")
109−f:write(string.format("\48\120\37\88\10",- maxint))
110−f:write("\45\48\120\65\66\67\112\45\51","\10")
103+local f <close> = assert(io.open(file,"\u{77}"))
104+f:write(maxint,"\u{a}")
105+f:write(string.format("\u{30}\u{58}\u{25}\u{78}\u{a}",maxint))
106+f:write("\u{30}\u{78}\u{41}\u{42}\u{43}\u{70}\u{2d}\u{33}","\u{a}")
107+f:write(0,"\u{a}")
108+f:write(- maxint,"\u{a}")
109+f:write(string.format("\u{30}\u{78}\u{25}\u{58}\u{a}",- maxint))
110+f:write("\u{2d}\u{30}\u{78}\u{41}\u{42}\u{43}\u{70}\u{2d}\u{33}","\u{a}")
111111assert(f:close())
112−local f <close> = assert(io.open(file,"\114"))
113−assert(f:read("\110") == maxint)
114−assert(f:read("\110") == maxint)
115−assert(f:read("\110") == 343.5)
116−assert(f:read("\110") == 0)
117−assert(f:read("\42\110") == - maxint)
118−assert(f:read("\110") == - maxint)
119−assert(f:read("\42\110") == - 343.5)
112+local f <close> = assert(io.open(file,"\u{72}"))
113+assert(f:read("\u{6e}") == maxint)
114+assert(f:read("\u{6e}") == maxint)
115+assert(f:read("\u{6e}") == 343.5)
116+assert(f:read("\u{6e}") == 0)
117+assert(f:read("\u{2a}\u{6e}") == - maxint)
118+assert(f:read("\u{6e}") == - maxint)
119+assert(f:read("\u{2a}\u{6e}") == - 343.5)
120120end
121121assert(os.remove(file))
122122do
123−local f <close> = assert(io.open(file,"\119"))
124−f:write("\97\32\108\105\110\101\10\97\110\111\116\104\101\114\32\108\105\110\101\10\49\50\51\52\10\51\46\52\53\10\111\110\101\10\116\119\111\10\116\104\114\101\101\10")
123+local f <close> = assert(io.open(file,"\u{77}"))
124+f:write("\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{31}\u{32}\u{33}\u{34}\u{a}\u{33}\u{2e}\u{34}\u{35}\u{a}\u{6f}\u{6e}\u{65}\u{a}\u{74}\u{77}\u{6f}\u{a}\u{74}\u{68}\u{72}\u{65}\u{65}\u{a}")
125125local l1,l2,l3,l4,n1,n2,c,dummy
126126assert(f:close())
127−local f <close> = assert(io.open(file,"\114"))
128−l1,l2,n1,n2,dummy=f:read("\108","\76","\110","\110")
129−assert(l1 == "\97\32\108\105\110\101" and l2 == "\97\110\111\116\104\101\114\32\108\105\110\101\10" and n1 == 1234 and n2 == 3.45 and dummy == nil)
127+local f <close> = assert(io.open(file,"\u{72}"))
128+l1,l2,n1,n2,dummy=f:read("\u{6c}","\u{4c}","\u{6e}","\u{6e}")
129+assert(l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}" and l2 == "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}" and n1 == 1234 and n2 == 3.45 and dummy == nil)
130130assert(f:close())
131−local f <close> = assert(io.open(file,"\114"))
132−l1,l2,n1,n2,c,l3,l4,dummy=f:read(7,"\108","\110","\110",1,"\108","\108")
133−assert(l1 == "\97\32\108\105\110\101\10" and l2 == "\97\110\111\116\104\101\114\32\108\105\110\101" and c == "\10" and n1 == 1234 and n2 == 3.45 and l3 == "\111\110\101" and l4 == "\116\119\111" and dummy == nil)
131+local f <close> = assert(io.open(file,"\u{72}"))
132+l1,l2,n1,n2,c,l3,l4,dummy=f:read(7,"\u{6c}","\u{6e}","\u{6e}",1,"\u{6c}","\u{6c}")
133+assert(l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}" and l2 == "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6c}\u{69}\u{6e}\u{65}" and c == "\u{a}" and n1 == 1234 and n2 == 3.45 and l3 == "\u{6f}\u{6e}\u{65}" and l4 == "\u{74}\u{77}\u{6f}" and dummy == nil)
134134assert(f:close())
135−local f <close> = assert(io.open(file,"\114"))
136−l1,n1,n2,dummy=f:read("\108","\110","\110","\108")
137−assert(l1 == "\97\32\108\105\110\101" and not n1)
135+local f <close> = assert(io.open(file,"\u{72}"))
136+l1,n1,n2,dummy=f:read("\u{6c}","\u{6e}","\u{6e}","\u{6c}")
137+assert(l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}" and not n1)
138138end
139139assert(os.remove(file))
140−f=assert(io.open(file,"\119"))
141−f:write("\108\111\99\97\108\32\120\44\32\122\32\61\32\99\111\114\111\117\116\105\110\101\46\121\105\101\108\100\40\49\48\41\10\108\111\99\97\108\32\121\32\61\32\99\111\114\111\117\116\105\110\101\46\121\105\101\108\100\40\50\48\41\10\114\101\116\117\114\110\32\120\32\43\32\121\32\42\32\122\10")
140+f=assert(io.open(file,"\u{77}"))
141+f:write("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{2c}\u{20}\u{7a}\u{20}\u{3d}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{28}\u{31}\u{30}\u{29}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{79}\u{20}\u{3d}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{28}\u{32}\u{30}\u{29}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{20}\u{2b}\u{20}\u{79}\u{20}\u{2a}\u{20}\u{7a}\u{a}")
142142assert(f:close())
143143f=coroutine.wrap(dofile)
144144assert(f(file) == 10)
145145assert(f(100,101) == 20)
146146assert(f(200) == 100 + 200 * 101)
147147assert(os.remove(file))
148−f=assert(io.open(file,"\119"))
149−f:write("\45\49\50\46\51\45\9\45\48\120\102\102\102\102\43\32\32\46\51\124\53\46\69\45\51\88\32\32\43\50\51\52\101\43\49\51\69\32\48\120\68\69\65\68\66\69\69\70\68\69\65\68\66\69\69\70\120\10\48\120\49\46\49\51\65\112\43\51\101\10")
150−f:write("\49\50\51\52")
148+f=assert(io.open(file,"\u{77}"))
149+f:write("\u{2d}\u{31}\u{32}\u{2e}\u{33}\u{2d}\u{9}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{2b}\u{20}\u{20}\u{2e}\u{33}\u{7c}\u{35}\u{2e}\u{45}\u{2d}\u{33}\u{58}\u{20}\u{20}\u{2b}\u{32}\u{33}\u{34}\u{65}\u{2b}\u{31}\u{33}\u{45}\u{20}\u{30}\u{78}\u{44}\u{45}\u{41}\u{44}\u{42}\u{45}\u{45}\u{46}\u{44}\u{45}\u{41}\u{44}\u{42}\u{45}\u{45}\u{46}\u{78}\u{a}\u{30}\u{78}\u{31}\u{2e}\u{31}\u{33}\u{41}\u{70}\u{2b}\u{33}\u{65}\u{a}")
150+f:write("\u{31}\u{32}\u{33}\u{34}")
151151;
152152for i = 1, 1000
153153do
154−f:write("\48")
154+f:write("\u{30}")
155155end
156156;
157−f:write("\10")
158−f:write("\46\101\43\9\48\46\101\59\9\45\45\59\32\32\48\120\88\59\10")
157+f:write("\u{a}")
158+f:write("\u{2e}\u{65}\u{2b}\u{9}\u{30}\u{2e}\u{65}\u{3b}\u{9}\u{2d}\u{2d}\u{3b}\u{20}\u{20}\u{30}\u{78}\u{58}\u{3b}\u{a}")
159159assert(f:close())
160−f=assert(io.open(file,"\114"))
161−assert(f:read("\110") == - 12.3)
160+f=assert(io.open(file,"\u{72}"))
161+assert(f:read("\u{6e}") == - 12.3)
162162;
163−assert(f:read(1) == "\45")
164−assert(f:read("\110") == - 65535)
163+assert(f:read(1) == "\u{2d}")
164+assert(f:read("\u{6e}") == - 65535)
165165;
166−assert(f:read(2) == "\43\32")
167−assert(f:read("\110") == 0.3)
166+assert(f:read(2) == "\u{2b}\u{20}")
167+assert(f:read("\u{6e}") == 0.3)
168168;
169−assert(f:read(1) == "\124")
170−assert(f:read("\110") == 5e-3)
169+assert(f:read(1) == "\u{7c}")
170+assert(f:read("\u{6e}") == 5e-3)
171171;
172−assert(f:read(1) == "\88")
173−assert(f:read("\110") == 2.34e15)
172+assert(f:read(1) == "\u{58}")
173+assert(f:read("\u{6e}") == 2.34e15)
174174;
175−assert(f:read(1) == "\69")
176−assert(f:read("\110") == 16045690984833335023)
175+assert(f:read(1) == "\u{45}")
176+assert(f:read("\u{6e}") == 16045690984833335023)
177177;
178−assert(f:read(2) == "\120\10")
179−assert(f:read("\110") == 8.61328125)
178+assert(f:read(2) == "\u{78}\u{a}")
179+assert(f:read("\u{6e}") == 8.61328125)
180180;
181−assert(f:read(1) == "\101")
181+assert(f:read(1) == "\u{65}")
182182do
183−assert(not f:read("\110"))
184−local s = f:read("\76")
185−assert(string.find(s,"\94\48\48\42\10\36"))
183+assert(not f:read("\u{6e}"))
184+local s = f:read("\u{4c}")
185+assert(string.find(s,"\u{5e}\u{30}\u{30}\u{2a}\u{a}\u{24}"))
186186end
187−assert(not f:read("\110"))
187+assert(not f:read("\u{6e}"))
188188;
189−assert(f:read(2) == "\101\43")
190−assert(not f:read("\110"))
189+assert(f:read(2) == "\u{65}\u{2b}")
190+assert(not f:read("\u{6e}"))
191191;
192−assert(f:read(1) == "\59")
193−assert(not f:read("\110"))
192+assert(f:read(1) == "\u{3b}")
193+assert(not f:read("\u{6e}"))
194194;
195−assert(f:read(2) == "\45\59")
196−assert(not f:read("\110"))
195+assert(f:read(2) == "\u{2d}\u{3b}")
196+assert(not f:read("\u{6e}"))
197197;
198−assert(f:read(1) == "\88")
199−assert(not f:read("\110"))
198+assert(f:read(1) == "\u{58}")
199+assert(not f:read("\u{6e}"))
200200;
201−assert(f:read(1) == "\59")
202−assert(not f:read("\110"))
201+assert(f:read(1) == "\u{3b}")
202+assert(not f:read("\u{6e}"))
203203;
204204assert(not f:read(0))
205205assert(f:close())
206206assert(os.remove(file))
207−assert(not pcall(io.lines,"\110\111\110\45\101\120\105\115\116\101\110\116\45\102\105\108\101"))
207+assert(not pcall(io.lines,"\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{2d}\u{66}\u{69}\u{6c}\u{65}"))
208208assert(os.rename(otherfile,file))
209209io.output(otherfile)
210210local n = 0
@@ -214,36 +214,36 @@ n=n + 1
214214end
215215;
216216assert(n == 6)
217−checkerr("\102\105\108\101\32\105\115\32\97\108\114\101\97\100\121\32\99\108\111\115\101\100",f)
218−checkerr("\102\105\108\101\32\105\115\32\97\108\114\101\97\100\121\32\99\108\111\115\101\100",f)
217+checkerr("\u{66}\u{69}\u{6c}\u{65}\u{20}\u{69}\u{73}\u{20}\u{61}\u{6c}\u{72}\u{65}\u{61}\u{64}\u{79}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}",f)
218+checkerr("\u{66}\u{69}\u{6c}\u{65}\u{20}\u{69}\u{73}\u{20}\u{61}\u{6c}\u{72}\u{65}\u{61}\u{64}\u{79}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}",f)
219219n=0
220220for l in io.lines(file)
221221do
222−io.write(l,"\10")
222+io.write(l,"\u{a}")
223223;
224224n=n + 1
225225end
226226io.close()
227227assert(n == 6)
228228local f = assert(io.open(otherfile))
229−assert(io.type(f) == "\102\105\108\101")
229+assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
230230io.output(file)
231231assert(not io.output():read())
232232n=0
233233for l in f:lines()
234234do
235−io.write(l,"\10")
235+io.write(l,"\u{a}")
236236;
237237n=n + 1
238238end
239−assert(tostring(f):sub(1,5) == "\102\105\108\101\32")
239+assert(tostring(f):sub(1,5) == "\u{66}\u{69}\u{6c}\u{65}\u{20}")
240240assert(f:close())
241241;
242242io.close()
243243assert(n == 6)
244−checkerr("\99\108\111\115\101\100\32\102\105\108\101",io.close,f)
245−assert(tostring(f) == "\102\105\108\101\32\40\99\108\111\115\101\100\41")
246−assert(io.type(f) == "\99\108\111\115\101\100\32\102\105\108\101")
244+checkerr("\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}",io.close,f)
245+assert(tostring(f) == "\u{66}\u{69}\u{6c}\u{65}\u{20}\u{28}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{29}")
246+assert(io.type(f) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}")
247247io.input(file)
248248f=io.open(otherfile):lines()
249249n=0
@@ -260,7 +260,7 @@ assert(n == 6)
260260assert(os.remove(otherfile))
261261do
262262io.output(otherfile)
263−io.write(string.rep("\97",300),"\10")
263+io.write(string.rep("\u{61}",300),"\u{a}")
264264io.close()
265265local t = {}
266266;
@@ -269,49 +269,49 @@ do
269269t[i]=1
270270end
271271t={io.lines(otherfile,table.unpack(t))()}
272−assert(# t == 250 and t[1] == "\97" and t[# t] == "\97")
272+assert(# t == 250 and t[1] == "\u{61}" and t[# t] == "\u{61}")
273273t[# t + 1]=1
274−checkerr("\116\111\111\32\109\97\110\121\32\97\114\103\117\109\101\110\116\115",io.lines,otherfile,table.unpack(t))
274+checkerr("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{73}",io.lines,otherfile,table.unpack(t))
275275collectgarbage()
276276assert(os.remove(otherfile))
277277end
278278io.input(file)
279279do
280−local a,b,c = io.input():write("\120\117\120\117")
281−assert(not a and type(b) == "\115\116\114\105\110\103" and type(c) == "\110\117\109\98\101\114")
280+local a,b,c = io.input():write("\u{78}\u{75}\u{78}\u{75}")
281+assert(not a and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
282282end
283−checkerr("\105\110\118\97\108\105\100\32\102\111\114\109\97\116",io.read,"\120")
283+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",io.read,"\u{78}")
284284assert(io.read(0) == "")
285−assert(io.read(5,"\108") == "\34\97\108\111\34")
285+assert(io.read(5,"\u{6c}") == "\u{22}\u{61}\u{6c}\u{6f}\u{22}")
286286assert(io.read(0) == "")
287−assert(io.read() == "\115\101\99\111\110\100\32\108\105\110\101")
287+assert(io.read() == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
288288local x = io.input():seek()
289−assert(io.read() == "\116\104\105\114\100\32\108\105\110\101\32")
290−assert(io.input():seek("\115\101\116",x))
291−assert(io.read("\76") == "\116\104\105\114\100\32\108\105\110\101\32\10")
292−assert(io.read(1) == "\88")
293−assert(io.read(string.len("\102\111\117\114\116\104\95\108\105\110\101")) == "\102\111\117\114\116\104\95\108\105\110\101")
294−assert(io.input():seek("\99\117\114",- string.len("\102\111\117\114\116\104\95\108\105\110\101")))
295−assert(io.read() == "\102\111\117\114\116\104\95\108\105\110\101")
289+assert(io.read() == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}")
290+assert(io.input():seek("\u{73}\u{65}\u{74}",x))
291+assert(io.read("\u{4c}") == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{a}")
292+assert(io.read(1) == "\u{58}")
293+assert(io.read(string.len("\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")) == "\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")
294+assert(io.input():seek("\u{63}\u{75}\u{72}",- string.len("\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")))
295+assert(io.read() == "\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")
296296assert(io.read() == "")
297−assert(io.read("\110") == 3450)
298−assert(io.read(1) == "\10")
297+assert(io.read("\u{6e}") == 3450)
298+assert(io.read(1) == "\u{a}")
299299assert(not io.read(0))
300300assert(not io.read(1))
301301assert(not io.read(30000))
302302assert(({io.read(1)})[2] == undef)
303303assert(not io.read())
304304assert(({io.read()})[2] == undef)
305−assert(not io.read("\110"))
306−assert(({io.read("\110")})[2] == undef)
307−assert(io.read("\97") == "")
308−assert(io.read("\97") == "")
305+assert(not io.read("\u{6e}"))
306+assert(({io.read("\u{6e}")})[2] == undef)
307+assert(io.read("\u{61}") == "")
308+assert(io.read("\u{61}") == "")
309309collectgarbage()
310−print("\43")
310+print("\u{2b}")
311311io.close(io.input())
312−checkerr("\32\105\110\112\117\116\32\102\105\108\101\32\105\115\32\99\108\111\115\101\100",io.read)
312+checkerr("\u{20}\u{69}\u{6e}\u{70}\u{75}\u{74}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{69}\u{73}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}",io.read)
313313assert(os.remove(file))
314−local t = "\48\49\50\51\52\53\54\55\56\57"
314+local t = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
315315for i = 1, 10
316316do
317317t=t .. t
@@ -319,42 +319,42 @@ t=t .. t
319319end
320320assert(string.len(t) == 10 * 2 ^ 10)
321321io.output(file)
322−io.write("\97\108\111"):write("\10")
322+io.write("\u{61}\u{6c}\u{6f}"):write("\u{a}")
323323io.close()
324−checkerr("\32\111\117\116\112\117\116\32\102\105\108\101\32\105\115\32\99\108\111\115\101\100",io.write)
325−local f = io.open(file,"\97\43\98")
324+checkerr("\u{20}\u{6f}\u{75}\u{74}\u{70}\u{75}\u{74}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{69}\u{73}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}",io.write)
325+local f = io.open(file,"\u{61}\u{2b}\u{62}")
326326io.output(f)
327327collectgarbage()
328−assert(io.write("\32" .. t .. "\32"))
329−assert(io.write("\59","\101\110\100\32\111\102\32\102\105\108\101\10"))
328+assert(io.write("\u{20}" .. t .. "\u{20}"))
329+assert(io.write("\u{3b}","\u{65}\u{6e}\u{64}\u{20}\u{6f}\u{66}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}"))
330330f:flush()
331331;
332332io.flush()
333333f:close()
334−print("\43")
334+print("\u{2b}")
335335io.input(file)
336−assert(io.read() == "\97\108\111")
337−assert(io.read(1) == "\32")
336+assert(io.read() == "\u{61}\u{6c}\u{6f}")
337+assert(io.read(1) == "\u{20}")
338338assert(io.read(string.len(t)) == t)
339−assert(io.read(1) == "\32")
339+assert(io.read(1) == "\u{20}")
340340assert(io.read(0))
341−assert(io.read("\97") == "\59\101\110\100\32\111\102\32\102\105\108\101\10")
341+assert(io.read("\u{61}") == "\u{3b}\u{65}\u{6e}\u{64}\u{20}\u{6f}\u{66}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}")
342342assert(not io.read(0))
343343assert(io.close(io.input()))
344344do
345345local function ismsg
346346(m)
347−return (type(m) == "\115\116\114\105\110\103" and not tonumber(m))
347+return (type(m) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and not tonumber(m))
348348end
349−local f = io.open(file,"\119")
349+local f = io.open(file,"\u{77}")
350350local r,m,c = f:read()
351−assert(not r and ismsg(m) and type(c) == "\110\117\109\98\101\114")
351+assert(not r and ismsg(m) and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
352352assert(f:close())
353−f=io.open(file,"\114")
354−r,m,c=f:write("\119\104\97\116\101\118\101\114")
355−assert(not r and ismsg(m) and type(c) == "\110\117\109\98\101\114")
353+f=io.open(file,"\u{72}")
354+r,m,c=f:write("\u{77}\u{68}\u{61}\u{74}\u{65}\u{76}\u{65}\u{72}")
355+assert(not r and ismsg(m) and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
356356assert(f:close())
357−f=io.open(file,"\119")
357+f=io.open(file,"\u{77}")
358358r,m=pcall(f:lines())
359359assert(r == false and ismsg(m))
360360assert(f:close())
@@ -362,47 +362,47 @@ end
362362assert(os.remove(file))
363363io.output(file)
364364;
365−io.write("\10\10\108\105\110\101\10\111\116\104\101\114"):close()
365+io.write("\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}"):close()
366366io.input(file)
367−assert(io.read("\76") == "\10")
368−assert(io.read("\76") == "\10")
369−assert(io.read("\76") == "\108\105\110\101\10")
370−assert(io.read("\76") == "\111\116\104\101\114")
371−assert(not io.read("\76"))
367+assert(io.read("\u{4c}") == "\u{a}")
368+assert(io.read("\u{4c}") == "\u{a}")
369+assert(io.read("\u{4c}") == "\u{6c}\u{69}\u{6e}\u{65}\u{a}")
370+assert(io.read("\u{4c}") == "\u{6f}\u{74}\u{68}\u{65}\u{72}")
371+assert(not io.read("\u{4c}"))
372372io.input():close()
373373local f = assert(io.open(file))
374374local s = ""
375−for l in f:lines("\76")
375+for l in f:lines("\u{4c}")
376376do
377377s=s .. l
378378end
379−assert(s == "\10\10\108\105\110\101\10\111\116\104\101\114")
379+assert(s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}")
380380f:close()
381381io.input(file)
382382s=""
383−for l in io.lines(nil,"\76")
383+for l in io.lines(nil,"\u{4c}")
384384do
385385s=s .. l
386386end
387−assert(s == "\10\10\108\105\110\101\10\111\116\104\101\114")
387+assert(s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}")
388388io.input():close()
389389s=""
390−for l in io.lines(file,"\76")
390+for l in io.lines(file,"\u{4c}")
391391do
392392s=s .. l
393393end
394−assert(s == "\10\10\108\105\110\101\10\111\116\104\101\114")
394+assert(s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}")
395395s=""
396−for l in io.lines(file,"\108")
396+for l in io.lines(file,"\u{6c}")
397397do
398398s=s .. l
399399end
400−assert(s == "\108\105\110\101\111\116\104\101\114")
400+assert(s == "\u{6c}\u{69}\u{6e}\u{65}\u{6f}\u{74}\u{68}\u{65}\u{72}")
401401io.output(file)
402402;
403−io.write("\97\32\61\32\49\48\32\43\32\51\52\10\97\32\61\32\50\42\97\10\97\32\61\32\45\97\10"):close()
403+io.write("\u{61}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{20}\u{2b}\u{20}\u{33}\u{34}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{2a}\u{61}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{2d}\u{61}\u{a}"):close()
404404local t = {}
405−assert(load(io.lines(file,"\76"),nil,nil,t))()
405+assert(load(io.lines(file,"\u{4c}"),nil,nil,t))()
406406assert(t.a == - ((10 + 34) * 2))
407407do
408408local function gettoclose
@@ -412,7 +412,7 @@ local stvar = 0
412412for i = 1, 1000
413413do
414414local n,v = debug.getlocal(lv,i)
415−if n == "\40\102\111\114\32\115\116\97\116\101\41" then
415+if n == "\u{28}\u{66}\u{6f}\u{72}\u{20}\u{73}\u{74}\u{61}\u{74}\u{65}\u{29}" then
416416stvar=stvar + 1
417417if stvar == 4 then
418418return v
@@ -424,50 +424,50 @@ local f
424424for l in io.lines(file)
425425do
426426f=gettoclose(1)
427−assert(io.type(f) == "\102\105\108\101")
427+assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
428428break
429429end
430−assert(io.type(f) == "\99\108\111\115\101\100\32\102\105\108\101")
430+assert(io.type(f) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}")
431431f=nil
432432local function foo
433433(name)
434434for l in io.lines(name)
435435do
436436f=gettoclose(1)
437−assert(io.type(f) == "\102\105\108\101")
437+assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
438438error(f)
439439end
440440end
441441local st,msg = pcall(foo,file)
442−assert(st == false and io.type(msg) == "\99\108\111\115\101\100\32\102\105\108\101")
442+assert(st == false and io.type(msg) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}")
443443end
444444io.output(file)
445445;
446−io.write("\48\49\50\51\52\53\54\55\56\57\10"):close()
446+io.write("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}"):close()
447447for a,b in io.lines(file,1,1)
448448do
449−if a == "\10" then
449+if a == "\u{a}" then
450450assert(not b)
451451else
452452assert(tonumber(a) == tonumber(b) - 1)
453453end
454454end
455−for a,b,c in io.lines(file,1,2,"\97")
455+for a,b,c in io.lines(file,1,2,"\u{61}")
456456do
457−assert(a == "\48" and b == "\49\50" and c == "\51\52\53\54\55\56\57\10")
457+assert(a == "\u{30}" and b == "\u{31}\u{32}" and c == "\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}")
458458end
459−for a,b,c in io.lines(file,"\97",0,1)
459+for a,b,c in io.lines(file,"\u{61}",0,1)
460460do
461461if a == "" then
462462break
463463end
464−assert(a == "\48\49\50\51\52\53\54\55\56\57\10" and not b and not c)
464+assert(a == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}" and not b and not c)
465465end
466466collectgarbage()
467467io.output(file)
468468;
469−io.write("\48\48\10\49\48\10\50\48\10\51\48\10\52\48\10"):close()
470−for a,b in io.lines(file,"\110","\110")
469+io.write("\u{30}\u{30}\u{a}\u{31}\u{30}\u{a}\u{32}\u{30}\u{a}\u{33}\u{30}\u{a}\u{34}\u{30}\u{a}"):close()
470+for a,b in io.lines(file,"\u{6e}","\u{6e}")
471471do
472472if a == 40 then
473473assert(not b)
@@ -477,26 +477,26 @@ end
477477end
478478io.output(file)
479479;
480−io.write("\108\111\99\97\108\32\121\10\61\32\88\10\88\32\61\10\88\32\42\10\50\32\43\10\88\59\10\88\32\61\10\88\10\45\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\121\59\10"):close()
480+io.write("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{79}\u{a}\u{3d}\u{20}\u{58}\u{a}\u{58}\u{20}\u{3d}\u{a}\u{58}\u{20}\u{2a}\u{a}\u{32}\u{20}\u{2b}\u{a}\u{58}\u{3b}\u{a}\u{58}\u{20}\u{3d}\u{a}\u{58}\u{a}\u{2d}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{79}\u{3b}\u{a}"):close()
481481_G.X=1
482482assert(not load((io.lines(file))))
483483collectgarbage()
484−load((io.lines(file,"\76")))()
484+load((io.lines(file,"\u{4c}")))()
485485assert(_G.X == 2)
486486load((io.lines(file,1)))()
487487assert(_G.X == 4)
488488load((io.lines(file,3)))()
489489assert(_G.X == 8)
490490_G.X=nil
491−print("\43")
492−local x1 = "\115\116\114\105\110\103\10\10\92\99\111\109\32\34\34\39\39\99\111\105\115\97\115\32\91\91\101\115\116\114\97\110\104\97\115\93\93\32\93\93\39"
491+print("\u{2b}")
492+local x1 = "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{a}\u{a}\u{5c}\u{63}\u{6f}\u{6d}\u{20}\u{22}\u{22}\u{27}\u{27}\u{63}\u{6f}\u{69}\u{73}\u{61}\u{73}\u{20}\u{5b}\u{5b}\u{65}\u{73}\u{74}\u{72}\u{61}\u{6e}\u{68}\u{61}\u{73}\u{5d}\u{5d}\u{20}\u{5d}\u{5d}\u{27}"
493493io.output(file)
494−assert(io.write(string.format("\88\50\32\61\32\37\113\10\45\45\32\99\111\109\109\101\110\116\32\119\105\116\104\111\117\116\32\101\110\100\105\110\103\32\69\79\83",x1)))
494+assert(io.write(string.format("\u{58}\u{32}\u{20}\u{3d}\u{20}\u{25}\u{71}\u{a}\u{2d}\u{2d}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{45}\u{4f}\u{53}",x1)))
495495io.close()
496496assert(loadfile(file))()
497497assert(x1 == _G.X2)
498498_G.X2=nil
499−print("\43")
499+print("\u{2b}")
500500assert(os.remove(file))
501501assert(not os.remove(file))
502502assert(not os.remove(otherfile))
@@ -512,142 +512,142 @@ assert(os.remove(file))
512512assert(res == expres)
513513end
514514testloadfile(nil,nil)
515−testloadfile("\35\32\97\32\110\111\110\45\101\110\100\105\110\103\32\99\111\109\109\101\110\116",nil)
516−testloadfile("\239\187\191\35\32\115\111\109\101\32\99\111\109\109\101\110\116\10\114\101\116\117\114\110\32\50\51\52",234)
517−testloadfile("\239\187\191\114\101\116\117\114\110\32\50\51\57",239)
518−testloadfile("\239\187\191",nil)
519−testloadfile("\35\32\97\32\99\111\109\109\101\110\116\10\114\101\116\117\114\110\32\114\101\113\117\105\114\101\39\100\101\98\117\103\39\46\103\101\116\105\110\102\111\40\49\41\46\99\117\114\114\101\110\116\108\105\110\101",2)
520−io.output(io.open(file,"\119\98"))
515+testloadfile("\u{23}\u{20}\u{61}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}",nil)
516+testloadfile("\u{ef}\u{bb}\u{bf}\u{23}\u{20}\u{73}\u{6f}\u{6d}\u{65}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{33}\u{34}",234)
517+testloadfile("\u{ef}\u{bb}\u{bf}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{33}\u{39}",239)
518+testloadfile("\u{ef}\u{bb}\u{bf}",nil)
519+testloadfile("\u{23}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{27}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}",2)
520+io.output(io.open(file,"\u{77}\u{62}"))
521521assert(io.write(string.dump(function ()
522−return 10,"\97\108\111\255","\104\105"
522+return 10,"\u{0}\u{61}\u{6c}\u{6f}\u{ff}","\u{68}\u{69}"
523523end)))
524524io.close()
525525a,b,c=assert(loadfile(file))()
526−assert(a == 10 and b == "\97\108\111\255" and c == "\104\105")
526+assert(a == 10 and b == "\u{0}\u{61}\u{6c}\u{6f}\u{ff}" and c == "\u{68}\u{69}")
527527assert(os.remove(file))
528528do
529−io.output(io.open(file,"\119\98"))
529+io.output(io.open(file,"\u{77}\u{62}"))
530530assert(io.write(string.dump(function ()
531531return 1
532532end)))
533533io.close()
534−f=assert(loadfile(file,"\98",{}))
535−assert(type(f) == "\102\117\110\99\116\105\111\110" and f() == 1)
534+f=assert(loadfile(file,"\u{62}",{}))
535+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and f() == 1)
536536assert(os.remove(file))
537537end
538−io.output(io.open(file,"\119\98"))
539−assert(io.write("\35\116\104\105\115\32\105\115\32\97\32\99\111\109\109\101\110\116\32\102\111\114\32\97\32\98\105\110\97\114\121\32\102\105\108\101\10",string.dump(function ()
540−return 20,""
538+io.output(io.open(file,"\u{77}\u{62}"))
539+assert(io.write("\u{23}\u{74}\u{68}\u{69}\u{73}\u{20}\u{69}\u{73}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{61}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{0}\u{a}",string.dump(function ()
540+return 20,"\u{0}\u{0}\u{0}"
541541end)))
542542io.close()
543543a,b,c=assert(loadfile(file))()
544−assert(a == 20 and b == "" and c == nil)
544+assert(a == 20 and b == "\u{0}\u{0}\u{0}" and c == nil)
545545assert(os.remove(file))
546546do
547−local f = io.open(file,"\119")
548−f:write("\32\32\32\32\105\102\32\40\46\46\46\41\32\116\104\101\110\32\97\32\61\32\49\53\59\32\114\101\116\117\114\110\32\98\44\32\99\44\32\100\10\32\32\32\32\101\108\115\101\32\114\101\116\117\114\110\32\95\69\78\86\10\32\32\32\32\101\110\100\10\32\32")
547+local f = io.open(file,"\u{77}")
548+f:write("\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{28}\u{2e}\u{2e}\u{2e}\u{29}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{62}\u{2c}\u{20}\u{63}\u{2c}\u{20}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6c}\u{73}\u{65}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}")
549549f:close()
550−local t = {["\98"] = 12,["\99"] = "\120\117\120\117",["\100"] = print}
551−local f = assert(loadfile(file,"\116",t))
550+local t = {["\u{62}"] = 12,["\u{63}"] = "\u{78}\u{75}\u{78}\u{75}",["\u{64}"] = print}
551+local f = assert(loadfile(file,"\u{74}",t))
552552local b,c,d = f(1)
553553assert(t.a == 15 and b == 12 and c == t.c and d == print)
554554assert(f() == t)
555−f=assert(loadfile(file,"\116",nil))
555+f=assert(loadfile(file,"\u{74}",nil))
556556assert(f() == nil)
557557f=assert(loadfile(file))
558558assert(f() == _G)
559559assert(os.remove(file))
560560end
561561do
562−io.open(file,"\119"):write("\114\101\116\117\114\110\32\49\48"):close()
563−local s,m = loadfile(file,"\98")
564−assert(not s and string.find(m,"\97\32\116\101\120\116\32\99\104\117\110\107"))
565−io.open(file,"\119"):write("\27\32\114\101\116\117\114\110\32\49\48"):close()
566−local s,m = loadfile(file,"\116")
567−assert(not s and string.find(m,"\97\32\98\105\110\97\114\121\32\99\104\117\110\107"))
562+io.open(file,"\u{77}"):write("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}"):close()
563+local s,m = loadfile(file,"\u{62}")
564+assert(not s and string.find(m,"\u{61}\u{20}\u{74}\u{65}\u{78}\u{74}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}"))
565+io.open(file,"\u{77}"):write("\u{1b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}"):close()
566+local s,m = loadfile(file,"\u{74}")
567+assert(not s and string.find(m,"\u{61}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}"))
568568assert(os.remove(file))
569569end
570570io.output(file)
571−assert(io.write("\113\117\97\108\113\117\101\114\32\99\111\105\115\97\10"))
572−assert(io.write("\109\97\105\115\32\113\117\97\108\113\117\101\114\32\99\111\105\115\97"))
571+assert(io.write("\u{71}\u{75}\u{61}\u{6c}\u{71}\u{75}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}\u{a}"))
572+assert(io.write("\u{6d}\u{61}\u{69}\u{73}\u{20}\u{71}\u{75}\u{61}\u{6c}\u{71}\u{75}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}"))
573573io.close()
574−assert(io.output(assert(io.open(otherfile,"\119\98"))):write("\111\117\116\114\97\32\99\111\105\115\97\1\3\255"):close())
575−local filehandle = assert(io.open(file,"\114\43"))
576−local otherfilehandle = assert(io.open(otherfile,"\114\98"))
574+assert(io.output(assert(io.open(otherfile,"\u{77}\u{62}"))):write("\u{6f}\u{75}\u{74}\u{72}\u{61}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}\u{0}\u{1}\u{3}\u{0}\u{0}\u{0}\u{0}\u{ff}\u{0}"):close())
575+local filehandle = assert(io.open(file,"\u{72}\u{2b}"))
576+local otherfilehandle = assert(io.open(otherfile,"\u{72}\u{62}"))
577577assert(filehandle ~= otherfilehandle)
578−assert(type(filehandle) == "\117\115\101\114\100\97\116\97")
579−assert(filehandle:read("\108") == "\113\117\97\108\113\117\101\114\32\99\111\105\115\97")
578+assert(type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
579+assert(filehandle:read("\u{6c}") == "\u{71}\u{75}\u{61}\u{6c}\u{71}\u{75}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")
580580io.input(otherfilehandle)
581−assert(io.read(string.len("\111\117\116\114\97\32\99\111\105\115\97")) == "\111\117\116\114\97\32\99\111\105\115\97")
582−assert(filehandle:read("\108") == "\109\97\105\115\32\113\117\97\108\113\117\101\114\32\99\111\105\115\97")
581+assert(io.read(string.len("\u{6f}\u{75}\u{74}\u{72}\u{61}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")) == "\u{6f}\u{75}\u{74}\u{72}\u{61}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")
582+assert(filehandle:read("\u{6c}") == "\u{6d}\u{61}\u{69}\u{73}\u{20}\u{71}\u{75}\u{61}\u{6c}\u{71}\u{75}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")
583583filehandle:close()
584584;
585−assert(type(filehandle) == "\117\115\101\114\100\97\116\97")
585+assert(type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
586586io.input(otherfilehandle)
587−assert(io.read(4) == "\1\3")
588−assert(io.read(3) == "")
587+assert(io.read(4) == "\u{0}\u{1}\u{3}\u{0}")
588+assert(io.read(3) == "\u{0}\u{0}\u{0}")
589589assert(io.read(0) == "")
590−assert(io.read(1) == "\255")
591−assert(io.read("\97") == "")
590+assert(io.read(1) == "\u{ff}")
591+assert(io.read("\u{61}") == "\u{0}")
592592assert(not io.read(0))
593593assert(otherfilehandle == io.input())
594594otherfilehandle:close()
595595assert(os.remove(file))
596596assert(os.remove(otherfile))
597597collectgarbage()
598−io.output(file):write("\32\49\50\51\46\52\9\45\53\54\101\45\50\32\32\110\111\116\32\97\32\110\117\109\98\101\114\10\115\101\99\111\110\100\32\108\105\110\101\10\116\104\105\114\100\32\108\105\110\101\10\10\97\110\100\32\116\104\101\32\114\101\115\116\32\111\102\32\116\104\101\32\102\105\108\101\10"):close()
598+io.output(file):write("\u{20}\u{31}\u{32}\u{33}\u{2e}\u{34}\u{9}\u{2d}\u{35}\u{36}\u{65}\u{2d}\u{32}\u{20}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{a}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{a}\u{61}\u{6e}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{72}\u{65}\u{73}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{74}\u{68}\u{65}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}"):close()
599599io.input(file)
600−local _,a,b,c,d,e,h,__ = io.read(1,"\110","\110","\108","\108","\108","\97",10)
600+local _,a,b,c,d,e,h,__ = io.read(1,"\u{6e}","\u{6e}","\u{6c}","\u{6c}","\u{6c}","\u{61}",10)
601601assert(io.close(io.input()))
602−assert(_ == "\32" and not __)
603−assert(type(a) == "\110\117\109\98\101\114" and a == 123.4 and b == - 0.56)
604−assert(d == "\115\101\99\111\110\100\32\108\105\110\101" and e == "\116\104\105\114\100\32\108\105\110\101")
605−assert(h == "\10\97\110\100\32\116\104\101\32\114\101\115\116\32\111\102\32\116\104\101\32\102\105\108\101\10")
602+assert(_ == "\u{20}" and not __)
603+assert(type(a) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" and a == 123.4 and b == - 0.56)
604+assert(d == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}" and e == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
605+assert(h == "\u{a}\u{61}\u{6e}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{72}\u{65}\u{73}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{74}\u{68}\u{65}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}")
606606assert(os.remove(file))
607607collectgarbage()
608608do
609−local f = assert(io.open(file,"\119"))
610−local fr = assert(io.open(file,"\114"))
611−assert(f:setvbuf("\102\117\108\108",2000))
612−f:write("\120")
613−assert(fr:read("\97\108\108") == "")
609+local f = assert(io.open(file,"\u{77}"))
610+local fr = assert(io.open(file,"\u{72}"))
611+assert(f:setvbuf("\u{66}\u{75}\u{6c}\u{6c}",2000))
612+f:write("\u{78}")
613+assert(fr:read("\u{61}\u{6c}\u{6c}") == "")
614614f:close()
615−fr:seek("\115\101\116")
616−assert(fr:read("\97\108\108") == "\120")
617−f=assert(io.open(file),"\119")
618−assert(f:setvbuf("\110\111"))
619−f:write("\120")
620−fr:seek("\115\101\116")
621−assert(fr:read("\97\108\108") == "\120")
615+fr:seek("\u{73}\u{65}\u{74}")
616+assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}")
617+f=assert(io.open(file),"\u{77}")
618+assert(f:setvbuf("\u{6e}\u{6f}"))
619+f:write("\u{78}")
620+fr:seek("\u{73}\u{65}\u{74}")
621+assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}")
622622f:close()
623−f=assert(io.open(file,"\97"))
624−assert(f:setvbuf("\108\105\110\101"))
625−f:write("\120")
626−fr:seek("\115\101\116",1)
627−assert(fr:read("\97\108\108") == "")
628−f:write("\97\10"):seek("\115\101\116",1)
629−assert(fr:read("\97\108\108") == "\120\97\10")
623+f=assert(io.open(file,"\u{61}"))
624+assert(f:setvbuf("\u{6c}\u{69}\u{6e}\u{65}"))
625+f:write("\u{78}")
626+fr:seek("\u{73}\u{65}\u{74}",1)
627+assert(fr:read("\u{61}\u{6c}\u{6c}") == "")
628+f:write("\u{61}\u{a}"):seek("\u{73}\u{65}\u{74}",1)
629+assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}\u{61}\u{a}")
630630f:close()
631631;
632632fr:close()
633633assert(os.remove(file))
634634end
635635if not _soft then
636−print("\116\101\115\116\105\110\103\32\108\97\114\103\101\32\102\105\108\101\115\32\40\62\32\66\85\70\83\73\90\41")
636+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{73}\u{20}\u{28}\u{3e}\u{20}\u{42}\u{55}\u{46}\u{53}\u{49}\u{5a}\u{29}")
637637io.output(file)
638638for i = 1, 5001
639639do
640−io.write("\48\49\50\51\52\53\54\55\56\57\49\50\51")
640+io.write("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}")
641641end
642−io.write("\10\49\50\51\52\54"):close()
642+io.write("\u{a}\u{31}\u{32}\u{33}\u{34}\u{36}"):close()
643643io.input(file)
644−local x = io.read("\97")
645−io.input():seek("\115\101\116",0)
644+local x = io.read("\u{61}")
645+io.input():seek("\u{73}\u{65}\u{74}",0)
646646local y = io.read(30001) .. io.read(1005) .. io.read(0) .. io.read(1) .. io.read(100003)
647647assert(x == y and string.len(x) == 5001 * 13 + 6)
648−io.input():seek("\115\101\116",0)
648+io.input():seek("\u{73}\u{65}\u{74}",0)
649649y=io.read()
650−assert(x == y .. "\10" .. io.read())
650+assert(x == y .. "\u{a}" .. io.read())
651651assert(not io.read())
652652io.close(io.input())
653653assert(os.remove(file))
@@ -663,31 +663,31 @@ local i = 0
663663while arg[i] do
664664i=i - 1
665665end
666−progname="\34" .. arg[i + 1] .. "\34"
666+progname="\u{22}" .. arg[i + 1] .. "\u{22}"
667667end
668−print("\116\101\115\116\105\110\103\32\112\111\112\101\110\47\112\99\108\111\115\101\32\97\110\100\32\101\120\101\99\117\116\101")
669−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.popen,"\99\97\116","")
670−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.popen,"\99\97\116","\114\43")
671−checkerr("\105\110\118\97\108\105\100\32\109\111\100\101",io.popen,"\99\97\116","\114\119")
668+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{6f}\u{70}\u{65}\u{6e}\u{2f}\u{70}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{65}\u{78}\u{65}\u{63}\u{75}\u{74}\u{65}")
669+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.popen,"\u{63}\u{61}\u{74}","")
670+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.popen,"\u{63}\u{61}\u{74}","\u{72}\u{2b}")
671+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.popen,"\u{63}\u{61}\u{74}","\u{72}\u{77}")
672672do
673673local file = os.tmpname()
674−local f = assert(io.popen("\99\97\116\32\45\32\62\32" .. file,"\119"))
675−f:write("\97\32\108\105\110\101")
674+local f = assert(io.popen("\u{63}\u{61}\u{74}\u{20}\u{2d}\u{20}\u{3e}\u{20}" .. file,"\u{77}"))
675+f:write("\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
676676assert(f:close())
677−local f = assert(io.popen("\99\97\116\32\45\32\60\32" .. file,"\114"))
678−assert(f:read("\97") == "\97\32\108\105\110\101")
677+local f = assert(io.popen("\u{63}\u{61}\u{74}\u{20}\u{2d}\u{20}\u{3c}\u{20}" .. file,"\u{72}"))
678+assert(f:read("\u{61}") == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
679679assert(f:close())
680680assert(os.remove(file))
681681end
682−local tests = {{"\108\115\32\62\32\47\100\101\118\47\110\117\108\108","\111\107"},{"\110\111\116\45\116\111\45\98\101\45\102\111\117\110\100\45\99\111\109\109\97\110\100","\101\120\105\116"},{"\101\120\105\116\32\51","\101\120\105\116",3},{"\101\120\105\116\32\49\50\57","\101\120\105\116",129},{"\107\105\108\108\32\45\115\32\72\85\80\32\36\36","\115\105\103\110\97\108",1},{"\107\105\108\108\32\45\115\32\75\73\76\76\32\36\36","\115\105\103\110\97\108",9},{"\115\104\32\45\99\32\39\107\105\108\108\32\45\115\32\72\85\80\32\36\36\39","\101\120\105\116"},{progname .. "\32\45\101\32\34\32\34","\111\107"},{progname .. "\32\45\101\32\34\111\115\46\101\120\105\116\40\48\44\32\116\114\117\101\41\34","\111\107"},{progname .. "\32\45\101\32\34\111\115\46\101\120\105\116\40\50\48\44\32\116\114\117\101\41\34","\101\120\105\116",20}}
683−print("\10\40\115\111\109\101\32\101\114\114\111\114\32\109\101\115\115\97\103\101\115\32\97\114\101\32\101\120\112\101\99\116\101\100\32\110\111\119\41")
682+local tests = {{"\u{6c}\u{73}\u{20}\u{3e}\u{20}\u{2f}\u{64}\u{65}\u{76}\u{2f}\u{6e}\u{75}\u{6c}\u{6c}","\u{6f}\u{6b}"},{"\u{6e}\u{6f}\u{74}\u{2d}\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{66}\u{6f}\u{75}\u{6e}\u{64}\u{2d}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}","\u{65}\u{78}\u{69}\u{74}"},{"\u{65}\u{78}\u{69}\u{74}\u{20}\u{33}","\u{65}\u{78}\u{69}\u{74}",3},{"\u{65}\u{78}\u{69}\u{74}\u{20}\u{31}\u{32}\u{39}","\u{65}\u{78}\u{69}\u{74}",129},{"\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{48}\u{55}\u{50}\u{20}\u{24}\u{24}","\u{73}\u{69}\u{67}\u{6e}\u{61}\u{6c}",1},{"\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{4b}\u{49}\u{4c}\u{4c}\u{20}\u{24}\u{24}","\u{73}\u{69}\u{67}\u{6e}\u{61}\u{6c}",9},{"\u{73}\u{68}\u{20}\u{2d}\u{63}\u{20}\u{27}\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{48}\u{55}\u{50}\u{20}\u{24}\u{24}\u{27}","\u{65}\u{78}\u{69}\u{74}"},{progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{20}\u{22}","\u{6f}\u{6b}"},{progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{30}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}\u{22}","\u{6f}\u{6b}"},{progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{32}\u{30}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}\u{22}","\u{65}\u{78}\u{69}\u{74}",20}}
683+print("\u{a}\u{28}\u{73}\u{6f}\u{6d}\u{65}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{73}\u{20}\u{61}\u{72}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{6e}\u{6f}\u{77}\u{29}")
684684for _,v in ipairs(tests)
685685do
686686local x,y,z = io.popen(v[1]):close()
687687local x1,y1,z1 = os.execute(v[1])
688688assert(x == x1 and y == y1 and z == z1)
689−if v[2] == "\111\107" then
690−assert(x and y == "\101\120\105\116" and z == 0)
689+if v[2] == "\u{6f}\u{6b}" then
690+assert(x and y == "\u{65}\u{78}\u{69}\u{74}" and z == 0)
691691else
692692assert(not x and y == v[2])
693693assert((v[3] == nil and z > 0) or v[3] == z)
@@ -695,28 +695,28 @@ end
695695end
696696end
697697f=io.tmpfile()
698−assert(io.type(f) == "\102\105\108\101")
699−f:write("\97\108\111")
700−f:seek("\115\101\116")
701−assert(f:read("\97") == "\97\108\111")
698+assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
699+f:write("\u{61}\u{6c}\u{6f}")
700+f:seek("\u{73}\u{65}\u{74}")
701+assert(f:read("\u{61}") == "\u{61}\u{6c}\u{6f}")
702702end
703−print("\43")
704−print("\116\101\115\116\105\110\103\32\100\97\116\101\47\116\105\109\101")
703+print("\u{2b}")
704+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{64}\u{61}\u{74}\u{65}\u{2f}\u{74}\u{69}\u{6d}\u{65}")
705705assert(os.date("") == "")
706−assert(os.date("\33") == "")
707−assert(os.date("") == "")
708−assert(os.date("\33") == "")
709−local x = string.rep("\97",10000)
706+assert(os.date("\u{21}") == "")
707+assert(os.date("\u{0}\u{0}") == "\u{0}\u{0}")
708+assert(os.date("\u{21}\u{0}\u{0}") == "\u{0}\u{0}")
709+local x = string.rep("\u{61}",10000)
710710assert(os.date(x) == x)
711711local t = os.time()
712−D=os.date("\42\116",t)
713−assert(os.date(string.rep("\37\100",1000),t) == string.rep(os.date("\37\100",t),1000))
714−assert(os.date(string.rep("\37",200)) == string.rep("\37",100))
712+D=os.date("\u{2a}\u{74}",t)
713+assert(os.date(string.rep("\u{25}\u{64}",1000),t) == string.rep(os.date("\u{25}\u{64}",t),1000))
714+assert(os.date(string.rep("\u{25}",200)) == string.rep("\u{25}",100))
715715local function checkDateTable
716716(t)
717−_G.D=os.date("\42\116",t)
717+_G.D=os.date("\u{2a}\u{74}",t)
718718assert(os.time(D) == t)
719−load(os.date("\97\115\115\101\114\116\40\68\46\121\101\97\114\61\61\37\89\32\97\110\100\32\68\46\109\111\110\116\104\61\61\37\109\32\97\110\100\32\68\46\100\97\121\61\61\37\100\32\97\110\100\10\32\32\32\32\68\46\104\111\117\114\61\61\37\72\32\97\110\100\32\68\46\109\105\110\61\61\37\77\32\97\110\100\32\68\46\115\101\99\61\61\37\83\32\97\110\100\10\32\32\32\32\68\46\119\100\97\121\61\61\37\119\43\49\32\97\110\100\32\68\46\121\100\97\121\61\61\37\106\41",t))()
719+load(os.date("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{44}\u{2e}\u{79}\u{65}\u{61}\u{72}\u{3d}\u{3d}\u{25}\u{59}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{6d}\u{6f}\u{6e}\u{74}\u{68}\u{3d}\u{3d}\u{25}\u{6d}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{64}\u{61}\u{79}\u{3d}\u{3d}\u{25}\u{64}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{44}\u{2e}\u{68}\u{6f}\u{75}\u{72}\u{3d}\u{3d}\u{25}\u{48}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{6d}\u{69}\u{6e}\u{3d}\u{3d}\u{25}\u{4d}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{73}\u{65}\u{63}\u{3d}\u{3d}\u{25}\u{53}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{44}\u{2e}\u{77}\u{64}\u{61}\u{79}\u{3d}\u{3d}\u{25}\u{77}\u{2b}\u{31}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{79}\u{64}\u{61}\u{79}\u{3d}\u{3d}\u{25}\u{6a}\u{29}",t))()
720720_G.D=nil
721721end
722722checkDateTable(os.time())
@@ -727,92 +727,92 @@ checkDateTable(1000)
727727checkDateTable(2147483647)
728728checkDateTable(2147483648)
729729end
730−checkerr("\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110\32\115\112\101\99\105\102\105\101\114",os.date,"\37")
731−checkerr("\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110\32\115\112\101\99\105\102\105\101\114",os.date,"\37\57")
732−checkerr("\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110\32\115\112\101\99\105\102\105\101\114",os.date,"\37")
733−checkerr("\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110\32\115\112\101\99\105\102\105\101\114",os.date,"\37\79")
734−checkerr("\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110\32\115\112\101\99\105\102\105\101\114",os.date,"\37\69")
735−checkerr("\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110\32\115\112\101\99\105\102\105\101\114",os.date,"\37\69\97")
736−checkerr("\110\111\116\32\97\110\32\105\110\116\101\103\101\114",os.time,{["\121\101\97\114"] = 1000,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1,["\104\111\117\114"] = "\120"})
737−checkerr("\110\111\116\32\97\110\32\105\110\116\101\103\101\114",os.time,{["\121\101\97\114"] = 1000,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1,["\104\111\117\114"] = 1.5})
738−checkerr("\109\105\115\115\105\110\103",os.time,{["\104\111\117\114"] = 12})
739−if string.packsize("\105") == 4 then
740−checkerr("\102\105\101\108\100\32\39\121\101\97\114\39\32\105\115\32\111\117\116\45\111\102\45\98\111\117\110\100",os.time,{["\121\101\97\114"] = - (1 << 31) + 1899,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1})
741−checkerr("\102\105\101\108\100\32\39\121\101\97\114\39\32\105\115\32\111\117\116\45\111\102\45\98\111\117\110\100",os.time,{["\121\101\97\114"] = - (1 << 31),["\109\111\110\116\104"] = 1,["\100\97\121"] = 1})
730+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}\u{20}\u{73}\u{70}\u{65}\u{63}\u{69}\u{66}\u{69}\u{65}\u{72}",os.date,"\u{25}")
731+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}\u{20}\u{73}\u{70}\u{65}\u{63}\u{69}\u{66}\u{69}\u{65}\u{72}",os.date,"\u{25}\u{39}")
732+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}\u{20}\u{73}\u{70}\u{65}\u{63}\u{69}\u{66}\u{69}\u{65}\u{72}",os.date,"\u{25}")
733+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}\u{20}\u{73}\u{70}\u{65}\u{63}\u{69}\u{66}\u{69}\u{65}\u{72}",os.date,"\u{25}\u{4f}")
734+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}\u{20}\u{73}\u{70}\u{65}\u{63}\u{69}\u{66}\u{69}\u{65}\u{72}",os.date,"\u{25}\u{45}")
735+checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}\u{20}\u{73}\u{70}\u{65}\u{63}\u{69}\u{66}\u{69}\u{65}\u{72}",os.date,"\u{25}\u{45}\u{61}")
736+checkerr("\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{6e}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 1000,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1,["\u{68}\u{6f}\u{75}\u{72}"] = "\u{78}"})
737+checkerr("\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{6e}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 1000,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1,["\u{68}\u{6f}\u{75}\u{72}"] = 1.5})
738+checkerr("\u{6d}\u{69}\u{73}\u{73}\u{69}\u{6e}\u{67}",os.time,{["\u{68}\u{6f}\u{75}\u{72}"] = 12})
739+if string.packsize("\u{69}") == 4 then
740+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = - (1 << 31) + 1899,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1})
741+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = - (1 << 31),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1})
742742if math.maxinteger > 2 ^ 31 then
743−checkerr("\102\105\101\108\100\32\39\121\101\97\114\39\32\105\115\32\111\117\116\45\111\102\45\98\111\117\110\100",os.time,{["\121\101\97\114"] = (1 << 31) + 1900,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1})
743+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (1 << 31) + 1900,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1})
744744end
745745end
746746if not _port then
747−assert(type(os.date("\37\69\120")) == "\115\116\114\105\110\103")
748−assert(type(os.date("\37\79\121")) == "\115\116\114\105\110\103")
749−local t0 = os.time({["\121\101\97\114"] = 1970,["\109\111\110\116\104"] = 1,["\100\97\121"] = 0})
750−local t1 = os.time({["\121\101\97\114"] = 1970,["\109\111\110\116\104"] = 1,["\100\97\121"] = 0,["\115\101\99"] = (1 << 31) - 1})
747+assert(type(os.date("\u{25}\u{45}\u{78}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
748+assert(type(os.date("\u{25}\u{4f}\u{79}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
749+local t0 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 1970,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 0})
750+local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 1970,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 0,["\u{73}\u{65}\u{63}"] = (1 << 31) - 1})
751751assert(t1 - t0 == (1 << 31) - 1)
752−t0=os.time({["\121\101\97\114"] = 1970,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1})
753−t1=os.time({["\121\101\97\114"] = 1970,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1,["\115\101\99"] = - (1 << 31)})
752+t0=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 1970,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1})
753+t1=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 1970,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1,["\u{73}\u{65}\u{63}"] = - (1 << 31)})
754754assert(t1 - t0 == - (1 << 31))
755755if maxint >= 2 ^ 62 then
756−checkerr("\111\117\116\45\111\102\45\98\111\117\110\100",os.time,{["\121\101\97\114"] = - maxint,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1})
757−if string.packsize("\105") == 4 then
758−if testerr("\111\117\116\45\111\102\45\98\111\117\110\100",os.date,"\37\89",2 ^ 40) then
759−print("\32\32\52\45\98\121\116\101\32\116\105\109\101\95\116")
760−checkerr("\99\97\110\110\111\116\32\98\101\32\114\101\112\114\101\115\101\110\116\101\100",os.time,{["\121\101\97\114"] = 4000,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1})
756+checkerr("\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = - maxint,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1})
757+if string.packsize("\u{69}") == 4 then
758+if testerr("\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.date,"\u{25}\u{59}",2 ^ 40) then
759+print("\u{20}\u{20}\u{34}\u{2d}\u{62}\u{79}\u{74}\u{65}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{5f}\u{74}")
760+checkerr("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 4000,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1})
761761else
762−print("\32\32\56\45\98\121\116\101\32\116\105\109\101\95\116")
763−checkerr("\99\97\110\110\111\116\32\98\101\32\114\101\112\114\101\115\101\110\116\101\100",os.date,"\37\89",2 ^ 60)
764−assert(tonumber(os.time({["\121\101\97\114"] = (1 << 31) + 1899,["\109\111\110\116\104"] = 12,["\100\97\121"] = 31,["\104\111\117\114"] = 23,["\109\105\110"] = 59,["\115\101\99"] = 59})))
765−checkerr("\114\101\112\114\101\115\101\110\116\101\100",os.time,{["\121\101\97\114"] = (1 << 31) + 1899,["\109\111\110\116\104"] = 12,["\100\97\121"] = 31,["\104\111\117\114"] = 23,["\109\105\110"] = 59,["\115\101\99"] = 60})
766−end
767−checkerr("\102\105\101\108\100\32\39\100\97\121\39\32\105\115\32\111\117\116\45\111\102\45\98\111\117\110\100",os.time,{["\121\101\97\114"] = 0,["\109\111\110\116\104"] = 1,["\100\97\121"] = 2 ^ 32})
768−checkerr("\102\105\101\108\100\32\39\109\111\110\116\104\39\32\105\115\32\111\117\116\45\111\102\45\98\111\117\110\100",os.time,{["\121\101\97\114"] = 0,["\109\111\110\116\104"] = - ((1 << 31) + 1),["\100\97\121"] = 1})
769−checkerr("\102\105\101\108\100\32\39\121\101\97\114\39\32\105\115\32\111\117\116\45\111\102\45\98\111\117\110\100",os.time,{["\121\101\97\114"] = (1 << 31) + 1900,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1})
762+print("\u{20}\u{20}\u{38}\u{2d}\u{62}\u{79}\u{74}\u{65}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{5f}\u{74}")
763+checkerr("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.date,"\u{25}\u{59}",2 ^ 60)
764+assert(tonumber(os.time({["\u{79}\u{65}\u{61}\u{72}"] = (1 << 31) + 1899,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 12,["\u{64}\u{61}\u{79}"] = 31,["\u{68}\u{6f}\u{75}\u{72}"] = 23,["\u{6d}\u{69}\u{6e}"] = 59,["\u{73}\u{65}\u{63}"] = 59})))
765+checkerr("\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (1 << 31) + 1899,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 12,["\u{64}\u{61}\u{79}"] = 31,["\u{68}\u{6f}\u{75}\u{72}"] = 23,["\u{6d}\u{69}\u{6e}"] = 59,["\u{73}\u{65}\u{63}"] = 60})
766+end
767+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{64}\u{61}\u{79}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 2 ^ 32})
768+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{6d}\u{6f}\u{6e}\u{74}\u{68}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = - ((1 << 31) + 1),["\u{64}\u{61}\u{79}"] = 1})
769+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (1 << 31) + 1900,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1})
770770else
771−print("\32\32\56\45\98\121\116\101\32\116\105\109\101\95\116")
772−assert(tonumber(os.date("\37\89",2 ^ 60)))
773−checkerr("\99\97\110\110\111\116\32\98\101\32\114\101\112\114\101\115\101\110\116\101\100",os.time,{["\121\101\97\114"] = 2 ^ 60,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1})
771+print("\u{20}\u{20}\u{38}\u{2d}\u{62}\u{79}\u{74}\u{65}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{5f}\u{74}")
772+assert(tonumber(os.date("\u{25}\u{59}",2 ^ 60)))
773+checkerr("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 2 ^ 60,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1})
774774end
775775end
776776end
777777do
778−local D = os.date("\42\116")
778+local D = os.date("\u{2a}\u{74}")
779779local t = os.time(D)
780780if D.isdst == nil then
781−print("\110\111\32\100\97\121\108\105\103\104\116\32\115\97\118\105\110\103\32\105\110\102\111\114\109\97\116\105\111\110")
781+print("\u{6e}\u{6f}\u{20}\u{64}\u{61}\u{79}\u{6c}\u{69}\u{67}\u{68}\u{74}\u{20}\u{73}\u{61}\u{76}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
782782else
783−assert(type(D.isdst) == "\98\111\111\108\101\97\110")
783+assert(type(D.isdst) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")
784784end
785785D.isdst=nil
786786local t1 = os.time(D)
787787assert(t == t1)
788788end
789−local D = os.date("\42\116")
789+local D = os.date("\u{2a}\u{74}")
790790t=os.time(D)
791791D.year=D.year - 1
792792;
793793local t1 = os.time(D)
794794assert(math.abs(os.difftime(t,t1) / (24 * 3600) - 365) < 2)
795795t=os.time()
796−t1=os.time(os.date("\42\116"))
796+t1=os.time(os.date("\u{2a}\u{74}"))
797797local diff = os.difftime(t1,t)
798798assert(0 <= diff and diff <= 1)
799799diff=os.difftime(t,t1)
800800assert(- 1 <= diff and diff <= 0)
801−local t1 = os.time({["\121\101\97\114"] = 2000,["\109\111\110\116\104"] = 10,["\100\97\121"] = 1,["\104\111\117\114"] = 23,["\109\105\110"] = 12})
802−local t2 = os.time({["\121\101\97\114"] = 2000,["\109\111\110\116\104"] = 10,["\100\97\121"] = 1,["\104\111\117\114"] = 23,["\109\105\110"] = 10,["\115\101\99"] = 19})
801+local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 2000,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 10,["\u{64}\u{61}\u{79}"] = 1,["\u{68}\u{6f}\u{75}\u{72}"] = 23,["\u{6d}\u{69}\u{6e}"] = 12})
802+local t2 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 2000,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 10,["\u{64}\u{61}\u{79}"] = 1,["\u{68}\u{6f}\u{75}\u{72}"] = 23,["\u{6d}\u{69}\u{6e}"] = 10,["\u{73}\u{65}\u{63}"] = 19})
803803assert(os.difftime(t1,t2) == 60 * 2 - 19)
804−t1={["\121\101\97\114"] = 2005,["\109\111\110\116\104"] = 1,["\100\97\121"] = 1,["\104\111\117\114"] = 1,["\109\105\110"] = 0,["\115\101\99"] = - 3602}
804+t1={["\u{79}\u{65}\u{61}\u{72}"] = 2005,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 1,["\u{64}\u{61}\u{79}"] = 1,["\u{68}\u{6f}\u{75}\u{72}"] = 1,["\u{6d}\u{69}\u{6e}"] = 0,["\u{73}\u{65}\u{63}"] = - 3602}
805805os.time(t1)
806806assert(t1.day == 31 and t1.month == 12 and t1.year == 2004 and t1.hour == 23 and t1.min == 59 and t1.sec == 58 and t1.yday == 366)
807807io.output(io.stdout)
808−local t = os.date("\37\100\32\37\109\32\37\89\32\37\72\32\37\77\32\37\83")
809−local d,m,a,h,min,s = string.match(t,"\40\37\100\43\41\32\40\37\100\43\41\32\40\37\100\43\41\32\40\37\100\43\41\32\40\37\100\43\41\32\40\37\100\43\41")
808+local t = os.date("\u{25}\u{64}\u{20}\u{25}\u{6d}\u{20}\u{25}\u{59}\u{20}\u{25}\u{48}\u{20}\u{25}\u{4d}\u{20}\u{25}\u{53}")
809+local d,m,a,h,min,s = string.match(t,"\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}")
810810d=tonumber(d)
811811m=tonumber(m)
812812a=tonumber(a)
813813h=tonumber(h)
814814min=tonumber(min)
815815s=tonumber(s)
816−io.write(string.format("\116\101\115\116\32\100\111\110\101\32\111\110\32\37\50\46\50\100\47\37\50\46\50\100\47\37\100",d,m,a))
817−io.write(string.format("\44\32\97\116\32\37\50\46\50\100\58\37\50\46\50\100\58\37\50\46\50\100\10",h,min,s))
818−io.write(string.format("\37\115\10",_VERSION))
816+io.write(string.format("\u{74}\u{65}\u{73}\u{74}\u{20}\u{64}\u{6f}\u{6e}\u{65}\u{20}\u{6f}\u{6e}\u{20}\u{25}\u{32}\u{2e}\u{32}\u{64}\u{2f}\u{25}\u{32}\u{2e}\u{32}\u{64}\u{2f}\u{25}\u{64}",d,m,a))
817+io.write(string.format("\u{2c}\u{20}\u{61}\u{74}\u{20}\u{25}\u{32}\u{2e}\u{32}\u{64}\u{3a}\u{25}\u{32}\u{2e}\u{32}\u{64}\u{3a}\u{25}\u{32}\u{2e}\u{32}\u{64}\u{a}",h,min,s))
818+io.write(string.format("\u{25}\u{73}\u{a}",_VERSION))
zod/luau/res/lua/cycled/foo.lua+14−14
@@ -3,19 +3,19 @@ az=bar[nil]
33baz=bar(1).foo
44i=3
55i,a[i]=i + 1,20 >> 9
6−hello="\104\101\108\108\111\100\107\110\100\106\208\178\208\179\208\190\208\178\209\136\208\190\208\178"
7−x={[hello] = 8,["\104\101\108\108\111"] = 12}
6+hello="\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{64}\u{6b}\u{6e}\u{64}\u{6a}\u{d0}\u{b2}\u{d0}\u{b3}\u{d0}\u{be}\u{d0}\u{b2}\u{d1}\u{88}\u{d0}\u{be}\u{d0}\u{b2}"
7+x={[hello] = 8,["\u{68}\u{65}\u{6c}\u{6c}\u{6f}"] = 12}
88;
9−test_cases={{2147483647,"\50\49\52\55\52\56\51\54\52\55"},{2147483647,"\50\49\52\55\52\56\51\54\52\55"},{4294967295,"\52\50\57\52\57\54\55\50\57\53"},{4294967295,"\52\50\57\52\57\54\55\50\57\53"},{9223372036854775807,"\57\46\50\50\51\51\55\50\48\51\54\56\53\52\56\101\43\49\56"},{9223372036854775807,"\57\46\50\50\51\51\55\50\48\51\54\56\53\52\56\101\43\49\56"},{18446744073709551615,"\49\46\56\52\52\54\55\52\52\48\55\51\55\49\101\43\49\57"},{18446744073709551615,"\49\46\56\52\52\54\55\52\52\48\55\51\55\49\101\43\49\57"},{4294967296,"\52\50\57\52\57\54\55\50\57\54"},{4294967296,"\52\50\57\52\57\54\55\50\57\54"},{17592186044416,"\49\55\53\57\50\49\56\54\48\52\52\52\49\54"},{17592186044416,"\49\55\53\57\50\49\56\54\48\52\52\52\49\54"},{2147483648,"\50\49\52\55\52\56\51\54\52\56"},{2147483648,"\50\49\52\55\52\56\51\54\52\56"},{140737488355328,"\49\46\52\48\55\51\55\52\56\56\51\53\53\51\51\101\43\49\52"},{140737488355328,"\49\46\52\48\55\51\55\52\56\56\51\53\53\51\51\101\43\49\52"}}
9+test_cases={{2147483647,"\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}"},{2147483647,"\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}"},{4294967295,"\u{34}\u{32}\u{39}\u{34}\u{39}\u{36}\u{37}\u{32}\u{39}\u{35}"},{4294967295,"\u{34}\u{32}\u{39}\u{34}\u{39}\u{36}\u{37}\u{32}\u{39}\u{35}"},{9223372036854775807,"\u{39}\u{2e}\u{32}\u{32}\u{33}\u{33}\u{37}\u{32}\u{30}\u{33}\u{36}\u{38}\u{35}\u{34}\u{38}\u{65}\u{2b}\u{31}\u{38}"},{9223372036854775807,"\u{39}\u{2e}\u{32}\u{32}\u{33}\u{33}\u{37}\u{32}\u{30}\u{33}\u{36}\u{38}\u{35}\u{34}\u{38}\u{65}\u{2b}\u{31}\u{38}"},{18446744073709551615,"\u{31}\u{2e}\u{38}\u{34}\u{34}\u{36}\u{37}\u{34}\u{34}\u{30}\u{37}\u{33}\u{37}\u{31}\u{65}\u{2b}\u{31}\u{39}"},{18446744073709551615,"\u{31}\u{2e}\u{38}\u{34}\u{34}\u{36}\u{37}\u{34}\u{34}\u{30}\u{37}\u{33}\u{37}\u{31}\u{65}\u{2b}\u{31}\u{39}"},{4294967296,"\u{34}\u{32}\u{39}\u{34}\u{39}\u{36}\u{37}\u{32}\u{39}\u{36}"},{4294967296,"\u{34}\u{32}\u{39}\u{34}\u{39}\u{36}\u{37}\u{32}\u{39}\u{36}"},{17592186044416,"\u{31}\u{37}\u{35}\u{39}\u{32}\u{31}\u{38}\u{36}\u{30}\u{34}\u{34}\u{34}\u{31}\u{36}"},{17592186044416,"\u{31}\u{37}\u{35}\u{39}\u{32}\u{31}\u{38}\u{36}\u{30}\u{34}\u{34}\u{34}\u{31}\u{36}"},{2147483648,"\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{38}"},{2147483648,"\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{38}"},{140737488355328,"\u{31}\u{2e}\u{34}\u{30}\u{37}\u{33}\u{37}\u{34}\u{38}\u{38}\u{33}\u{35}\u{35}\u{33}\u{33}\u{65}\u{2b}\u{31}\u{34}"},{140737488355328,"\u{31}\u{2e}\u{34}\u{30}\u{37}\u{33}\u{37}\u{34}\u{38}\u{38}\u{33}\u{35}\u{35}\u{33}\u{33}\u{65}\u{2b}\u{31}\u{34}"}}
1010::helli::
1111foo={3.0,3.1416,3.1416,3.1416,340.0,0.1171875,162.1875,162.1875,3.141592653589793,1984.0}
1212do
1313foo=1
1414return 8,foo
1515end
16−print("\116\104\101\32\119\97\121\32\111\102\32\116\104\101\32\102\117\116\117\114\101")
17−print("\104\101\108\108\111")
18−h({["\107\101\121\49"] = "\83\111\110\109\105\126\52\53\49"})
16+print("\u{74}\u{68}\u{65}\u{20}\u{77}\u{61}\u{79}\u{20}\u{6f}\u{66}\u{20}\u{74}\u{68}\u{65}\u{20}\u{66}\u{75}\u{74}\u{75}\u{72}\u{65}")
17+print("\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
18+h({["\u{6b}\u{65}\u{79}\u{31}"] = "\u{53}\u{6f}\u{6e}\u{6d}\u{69}\u{7e}\u{34}\u{35}\u{31}"})
1919goto helli
2020break
2121while true do
@@ -30,11 +30,11 @@ until true
3030if l == 3 then
3131a=a + 1
3232;
33−assert(getlocal(2,1) == "\40\116\101\109\112\111\114\97\114\121\41")
33+assert(getlocal(2,1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
3434elseif l == 4 then
3535a=a + 1
3636;
37−assert(getlocal(2,1) == "\65")
37+assert(getlocal(2,1) == "\u{41}")
3838else
3939;
4040end
@@ -51,19 +51,19 @@ do
5151print(key,val)
5252end
5353function Dog:new()
54−newObj={["\115\111\117\110\100"] = "\119\111\111\102"}
54+newObj={["\u{73}\u{6f}\u{75}\u{6e}\u{64}"] = "\u{77}\u{6f}\u{6f}\u{66}"}
5555self.__index=self
5656return setmetatable(newObj,self)
5757end
5858function Dog:makeSound()
59−print("\73\32\115\97\121\32" .. self.sound)
59+print("\u{49}\u{20}\u{73}\u{61}\u{79}\u{20}" .. self.sound)
6060end
6161local function g
6262(x)
6363return math.sin(x)
6464end
65−local a = require("\109\111\100\50")
66−local b = require("\109\111\100\50")
65+local a = require("\u{6d}\u{6f}\u{64}\u{32}")
66+local b = require("\u{6d}\u{6f}\u{64}\u{32}")
6767function adder(x)
6868return function (y)
6969return x + y
@@ -71,12 +71,12 @@ end
7171end
7272x=- 1 + 8
7373if _VERSION ~= version then
74−io.stderr:write("\84\104\105\115\32\116\101\115\116\32\115\117\105\116\101\32\105\115\32\102\111\114\32",version,"\44\32\110\111\116\32\102\111\114\32",_VERSION,"\10\69\120\105\116\105\110\103\32\116\101\115\116\115")
74+io.stderr:write("\u{54}\u{68}\u{69}\u{73}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{73}\u{75}\u{69}\u{74}\u{65}\u{20}\u{69}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}",version,"\u{2c}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{6f}\u{72}\u{20}",_VERSION,"\u{a}\u{45}\u{78}\u{69}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
7575return
7676end
7777math.randomseed()
7878local random_x,random_y = math.randomseed()
7979do
8080local random_x,random_y = math.randomseed()
81−print(string.format("\114\97\110\100\111\109\32\115\101\101\100\115\58\32\37\100\44\32\37\100",random_x,random_y))
81+print(string.format("\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{73}\u{65}\u{65}\u{64}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{25}\u{64}",random_x,random_y))
8282end
zod/luau/res/lua/cycled/gc.lua+159−159
@@ -1,23 +1,23 @@
1−print("\116\101\115\116\105\110\103\32\105\110\99\114\101\109\101\110\116\97\108\32\103\97\114\98\97\103\101\32\99\111\108\108\101\99\116\105\111\110")
2−local debug = require("\100\101\98\117\103")
3−assert(collectgarbage("\105\115\114\117\110\110\105\110\103"))
4−collectgarbage()
5−local oldmode = collectgarbage("\105\110\99\114\101\109\101\110\116\97\108")
6−assert(collectgarbage("\103\101\110\101\114\97\116\105\111\110\97\108") == "\105\110\99\114\101\109\101\110\116\97\108")
7−assert(collectgarbage("\103\101\110\101\114\97\116\105\111\110\97\108") == "\103\101\110\101\114\97\116\105\111\110\97\108")
8−assert(collectgarbage("\105\110\99\114\101\109\101\110\116\97\108") == "\103\101\110\101\114\97\116\105\111\110\97\108")
9−assert(collectgarbage("\105\110\99\114\101\109\101\110\116\97\108") == "\105\110\99\114\101\109\101\110\116\97\108")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}\u{20}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
2+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3+assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
4+collectgarbage()
5+local oldmode = collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
6+assert(collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}") == "\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
7+assert(collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}") == "\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}")
8+assert(collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}") == "\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}")
9+assert(collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}") == "\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
1010local function nop
1111()
1212
1313end
1414local function gcinfo
1515()
16−return collectgarbage("\99\111\117\110\116") * 1024
16+return collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 1024
1717end
1818do
19−local a = collectgarbage("\115\101\116\112\97\117\115\101",200)
20−local b = collectgarbage("\115\101\116\115\116\101\112\109\117\108",200)
19+local a = collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",200)
20+local b = collectgarbage("\u{73}\u{65}\u{74}\u{73}\u{74}\u{65}\u{70}\u{6d}\u{75}\u{6c}",200)
2121local t = {0,2,10,90,500,5000,30000,2147483646}
2222for i = 1, # t
2323do
@@ -25,23 +25,23 @@ local p = t[i]
2525for j = 1, # t
2626do
2727local m = t[j]
28−collectgarbage("\115\101\116\112\97\117\115\101",p)
29−collectgarbage("\115\101\116\115\116\101\112\109\117\108",m)
30−collectgarbage("\115\116\101\112",0)
31−collectgarbage("\115\116\101\112",10000)
28+collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",p)
29+collectgarbage("\u{73}\u{65}\u{74}\u{73}\u{74}\u{65}\u{70}\u{6d}\u{75}\u{6c}",m)
30+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
31+collectgarbage("\u{73}\u{74}\u{65}\u{70}",10000)
3232end
3333end
34−collectgarbage("\115\101\116\112\97\117\115\101",a)
35−collectgarbage("\115\101\116\115\116\101\112\109\117\108",b)
34+collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",a)
35+collectgarbage("\u{73}\u{65}\u{74}\u{73}\u{74}\u{65}\u{70}\u{6d}\u{75}\u{6c}",b)
3636collectgarbage()
3737end
38−_G["\119\104\105\108\101"]=234
38+_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"]=234
3939local function GC1
4040()
4141local u
4242local b
4343local finish = false
44−u=setmetatable({},{["\95\95\103\99"] = function ()
44+u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
4545finish=true
4646end})
4747b={34}
@@ -52,7 +52,7 @@ assert(b[1] == 34)
5252finish=false
5353;
5454local i = 1
55−u=setmetatable({},{["\95\95\103\99"] = function ()
55+u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
5656finish=true
5757end})
5858repeat
@@ -62,7 +62,7 @@ u=tostring(i) .. tostring(i)
6262until finish
6363assert(b[1] == 34)
6464finish=false
65−u=setmetatable({},{["\95\95\103\99"] = function ()
65+u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
6666finish=true
6767end})
6868repeat
@@ -78,7 +78,7 @@ local function GC2
7878()
7979local u
8080local finish = false
81−u={setmetatable({},{["\95\95\103\99"] = function ()
81+u={setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
8282finish=true
8383end})}
8484local b = {34}
@@ -89,7 +89,7 @@ assert(b[1] == 34)
8989finish=false
9090;
9191local i = 1
92−u={setmetatable({},{["\95\95\103\99"] = function ()
92+u={setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
9393finish=true
9494end})}
9595repeat
@@ -99,7 +99,7 @@ u={tostring(i) .. tostring(i)}
9999until finish
100100assert(b[1] == 34)
101101finish=false
102−u={setmetatable({},{["\95\95\103\99"] = function ()
102+u={setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
103103finish=true
104104end})}
105105repeat
@@ -118,7 +118,7 @@ GC1()
118118GC2()
119119end
120120do
121−print("\99\114\101\97\116\105\110\103\32\109\97\110\121\32\111\98\106\101\99\116\115")
121+print("\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{73}")
122122local limit = 5000
123123for i = 1, limit
124124do
@@ -126,20 +126,20 @@ local a = {}
126126;
127127a=nil
128128end
129−local a = "\97"
129+local a = "\u{61}"
130130for i = 1, limit
131131do
132−a=i .. "\98"
132+a=i .. "\u{62}"
133133;
134−a=string.gsub(a,"\40\37\100\37\100\42\41","\37\49\32\37\49")
135−a="\97"
134+a=string.gsub(a,"\u{28}\u{25}\u{64}\u{25}\u{64}\u{2a}\u{29}","\u{25}\u{31}\u{20}\u{25}\u{31}")
135+a="\u{61}"
136136end
137137a={}
138138function a:test()
139139for i = 1, limit
140140do
141−load(string.format("\102\117\110\99\116\105\111\110\32\116\101\109\112\40\97\41\32\114\101\116\117\114\110\32\39\97\37\100\39\32\101\110\100",i),"")()
142−assert(temp() == string.format("\97\37\100",i))
141+load(string.format("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{28}\u{61}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{61}\u{25}\u{64}\u{27}\u{20}\u{65}\u{6e}\u{64}",i),"")()
142+assert(temp() == string.format("\u{61}\u{25}\u{64}",i))
143143end
144144end
145145a:test()
@@ -150,8 +150,8 @@ local f = function ()
150150
151151end
152152end
153−print("\102\117\110\99\116\105\111\110\115\32\119\105\116\104\32\101\114\114\111\114\115")
154−local prog = "\100\111\10\32\32\97\32\61\32\49\48\59\10\32\32\102\117\110\99\116\105\111\110\32\102\111\111\40\120\44\121\41\10\32\32\32\32\97\32\61\32\115\105\110\40\97\43\48\46\52\53\54\45\48\46\50\51\101\45\49\50\41\59\10\32\32\32\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\122\41\32\114\101\116\117\114\110\32\115\105\110\40\37\120\43\122\41\32\101\110\100\10\32\32\101\110\100\10\32\32\108\111\99\97\108\32\120\32\61\32\102\117\110\99\116\105\111\110\32\40\119\41\32\97\61\97\43\119\59\32\101\110\100\10\101\110\100\10"
153+print("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}")
154+local prog = "\u{64}\u{6f}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{78}\u{2c}\u{79}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{73}\u{69}\u{6e}\u{28}\u{61}\u{2b}\u{30}\u{2e}\u{34}\u{35}\u{36}\u{2d}\u{30}\u{2e}\u{32}\u{33}\u{65}\u{2d}\u{31}\u{32}\u{29}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{7a}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{69}\u{6e}\u{28}\u{25}\u{78}\u{2b}\u{7a}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{77}\u{29}\u{20}\u{61}\u{3d}\u{61}\u{2b}\u{77}\u{3b}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{65}\u{6e}\u{64}\u{a}"
155155do
156156local step = 1
157157if _soft then
@@ -165,12 +165,12 @@ pcall(load(string.sub(prog,i,j),""))
165165end
166166end
167167end
168−rawset(_G,"\97",nil)
168+rawset(_G,"\u{61}",nil)
169169_G.x=nil
170170do
171171foo=nil
172−print("\108\111\110\103\32\115\116\114\105\110\103\115")
173−local x = "\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
172+print("\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}")
173+local x = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
174174assert(string.len(x) == 80)
175175local s = ""
176176local k = math.min(300,(math.maxinteger // 80) // 2)
@@ -182,14 +182,14 @@ local j = tostring(n)
182182end
183183assert(string.len(s) == k * 80)
184184s=string.sub(s,1,10000)
185−local s,i = string.gsub(s,"\40\37\100\37\100\37\100\37\100\41","")
185+local s,i = string.gsub(s,"\u{28}\u{25}\u{64}\u{25}\u{64}\u{25}\u{64}\u{25}\u{64}\u{29}","")
186186assert(i == 10000 // 4)
187−assert(_G["\119\104\105\108\101"] == 234)
188−_G["\119\104\105\108\101"]=nil
187+assert(_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"] == 234)
188+_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"]=nil
189189end
190190do
191−print("\115\116\101\112\115")
192−print("\115\116\101\112\115\32\40\50\41")
191+print("\u{73}\u{74}\u{65}\u{70}\u{73}")
192+print("\u{73}\u{74}\u{65}\u{70}\u{73}\u{20}\u{28}\u{32}\u{29}")
193193local function dosteps
194194(siz)
195195collectgarbage()
@@ -204,37 +204,37 @@ local x = gcinfo()
204204local i = 0
205205repeat
206206i=i + 1
207−until collectgarbage("\115\116\101\112",siz)
207+until collectgarbage("\u{73}\u{74}\u{65}\u{70}",siz)
208208assert(gcinfo() < x)
209209return i
210210end
211−collectgarbage("\115\116\111\112")
211+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
212212if not _port then
213213assert(dosteps(10) < dosteps(2))
214214end
215215assert(dosteps(20000) == 1)
216−assert(collectgarbage("\115\116\101\112",20000) == true)
217−assert(collectgarbage("\115\116\101\112",20000) == true)
218−assert(not collectgarbage("\105\115\114\117\110\110\105\110\103"))
219−collectgarbage("\114\101\115\116\97\114\116")
220−assert(collectgarbage("\105\115\114\117\110\110\105\110\103"))
216+assert(collectgarbage("\u{73}\u{74}\u{65}\u{70}",20000) == true)
217+assert(collectgarbage("\u{73}\u{74}\u{65}\u{70}",20000) == true)
218+assert(not collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
219+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
220+assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
221221end
222222if not _port then
223223collectgarbage()
224224;
225225collectgarbage()
226226local x = gcinfo()
227−collectgarbage("\115\116\111\112")
227+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
228228repeat
229229local a = {}
230230until gcinfo() > 3 * x
231−collectgarbage("\114\101\115\116\97\114\116")
232−assert(collectgarbage("\105\115\114\117\110\110\105\110\103"))
231+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
232+assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
233233repeat
234234local a = {}
235235until gcinfo() <= x * 2
236236end
237−print("\99\108\101\97\114\105\110\103\32\116\97\98\108\101\115")
237+print("\u{63}\u{6c}\u{65}\u{61}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
238238local lim = 15
239239local a = {}
240240for i = 1, lim
@@ -249,14 +249,14 @@ end
249249for n in pairs(b)
250250do
251251a[n]=undef
252−assert(type(n) == "\116\97\98\108\101" and next(n) == nil)
252+assert(type(n) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and next(n) == nil)
253253collectgarbage()
254254end
255255b=nil
256256collectgarbage()
257257for n in pairs(a)
258258do
259−error("\99\97\110\110\111\116\32\98\101\32\104\101\114\101")
259+error("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}")
260260end
261261for i = 1, lim
262262do
@@ -266,10 +266,10 @@ for i = 1, lim
266266do
267267assert(a[i] == i)
268268end
269−print("\119\101\97\107\32\116\97\98\108\101\115")
269+print("\u{77}\u{65}\u{61}\u{6b}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
270270a={}
271271;
272−setmetatable(a,{["\95\95\109\111\100\101"] = "\107"})
272+setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"})
273273;
274274for i = 1, lim
275275do
@@ -281,24 +281,24 @@ a[i]=i
281281end
282282for i = 1, lim
283283do
284−local s = string.rep("\64",i)
284+local s = string.rep("\u{40}",i)
285285;
286−a[s]=s .. "\35"
286+a[s]=s .. "\u{23}"
287287end
288288collectgarbage()
289289local i = 0
290290for k,v in pairs(a)
291291do
292−assert(k == v or k .. "\35" == v)
292+assert(k == v or k .. "\u{23}" == v)
293293;
294294i=i + 1
295295end
296296assert(i == 2 * lim)
297297a={}
298298;
299−setmetatable(a,{["\95\95\109\111\100\101"] = "\118"})
299+setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
300300;
301−a[1]=string.rep("\98",21)
301+a[1]=string.rep("\u{62}",21)
302302collectgarbage()
303303assert(a[1])
304304a[1]=undef
@@ -308,7 +308,7 @@ a[i]={}
308308end
309309for i = 1, lim
310310do
311−a[i .. "\120"]={}
311+a[i .. "\u{78}"]={}
312312end
313313for i = 1, lim
314314do
@@ -318,24 +318,24 @@ a[t]=t
318318end
319319for i = 1, lim
320320do
321−a[i + lim]=i .. "\120"
321+a[i + lim]=i .. "\u{78}"
322322end
323323collectgarbage()
324324local i = 0
325325for k,v in pairs(a)
326326do
327−assert(k == v or k - lim .. "\120" == v)
327+assert(k == v or k - lim .. "\u{78}" == v)
328328;
329329i=i + 1
330330end
331331assert(i == 2 * lim)
332332a={}
333333;
334−setmetatable(a,{["\95\95\109\111\100\101"] = "\107\118"})
334+setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
335335;
336336local x,y,z = {},{},{}
337337a[1],a[2],a[3]=x,y,z
338−a[string.rep("\36",11)]=string.rep("\36",11)
338+a[string.rep("\u{24}",11)]=string.rep("\u{24}",11)
339339for i = 4, lim
340340do
341341a[i]={}
@@ -362,22 +362,22 @@ end
362362assert(i == 4)
363363x,y,z=nil
364364collectgarbage()
365−assert(next(a) == string.rep("\36",11))
365+assert(next(a) == string.rep("\u{24}",11))
366366a={}
367−local t = {["\120"] = 10}
368−local C = setmetatable({["\107\101\121"] = t},{["\95\95\109\111\100\101"] = "\118"})
369−local C1 = setmetatable({[t] = 1},{["\95\95\109\111\100\101"] = "\107"})
367+local t = {["\u{78}"] = 10}
368+local C = setmetatable({["\u{6b}\u{65}\u{79}"] = t},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
369+local C1 = setmetatable({[t] = 1},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"})
370370a.x=t
371−setmetatable(a,{["\95\95\103\99"] = function (u)
371+setmetatable(a,{["\u{5f}\u{5f}\u{67}\u{63}"] = function (u)
372372assert(C.key == nil)
373−assert(type(next(C1)) == "\116\97\98\108\101")
373+assert(type(next(C1)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
374374end})
375375a,t=nil
376376collectgarbage()
377377collectgarbage()
378378assert(next(C) == nil and next(C1) == nil)
379379C,C1=nil
380−local mt = {["\95\95\109\111\100\101"] = "\107"}
380+local mt = {["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"}
381381a={{10},{20},{30},{40}}
382382;
383383setmetatable(a,mt)
@@ -386,7 +386,7 @@ for i = 1, 100
386386do
387387local n = {}
388388;
389−a[n]={["\107"] = {x}}
389+a[n]={["\u{6b}"] = {x}}
390390;
391391x=n
392392end
@@ -423,7 +423,7 @@ do
423423local n = {}
424424;
425425local nk = k % 10 + 1
426−a[a[K][nk]][n]={x,["\107"] = k}
426+a[a[K][nk]][n]={x,["\u{6b}"] = k}
427427;
428428x=n
429429;
@@ -445,17 +445,17 @@ assert(i == 100)
445445K=nil
446446GC()
447447if T then
448−collectgarbage("\115\116\111\112")
448+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
449449local u = {}
450450local s = {}
451451;
452−setmetatable(s,{["\95\95\109\111\100\101"] = "\107"})
453−setmetatable(u,{["\95\95\103\99"] = function (o)
452+setmetatable(s,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"})
453+setmetatable(u,{["\u{5f}\u{5f}\u{67}\u{63}"] = function (o)
454454local i = s[o]
455455s[i]=true
456456assert(not s[i - 1])
457457if i == 8 then
458−error("\64\101\120\112\101\99\116\101\100\64")
458+error("\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{40}")
459459end
460460end})
461461for i = 6, 10
@@ -463,12 +463,12 @@ do
463463local n = setmetatable({},getmetatable(u))
464464s[n]=i
465465end
466−warn("\64\111\110")
466+warn("\u{40}\u{6f}\u{6e}")
467467;
468−warn("\64\115\116\111\114\101")
468+warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
469469collectgarbage()
470−assert(string.find(_WARN,"\101\114\114\111\114\32\105\110\32\95\95\103\99"))
471−assert(string.match(_WARN,"\64\40\46\45\41\64") == "\101\120\112\101\99\116\101\100")
470+assert(string.find(_WARN,"\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{69}\u{6e}\u{20}\u{5f}\u{5f}\u{67}\u{63}"))
471+assert(string.match(_WARN,"\u{40}\u{28}\u{2e}\u{2d}\u{29}\u{40}") == "\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}")
472472;
473473_WARN=false
474474for i = 8, 10
@@ -486,23 +486,23 @@ do
486486assert(s[i])
487487end
488488getmetatable(u).__gc=nil
489−warn("\64\110\111\114\109\97\108")
489+warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
490490end
491−print("\43")
491+print("\u{2b}")
492492if T == nil then
493−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\117\115\101\114\100\97\116\97\32\71\67\32\116\101\115\116\115\32\60\60\60\10")
493+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{47}\u{43}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
494494else
495495local function newproxy
496496(u)
497497return debug.setmetatable(T.newuserdata(0),debug.getmetatable(u))
498498end
499−collectgarbage("\115\116\111\112")
499+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
500500local u = newproxy(nil)
501−debug.setmetatable(u,{["\95\95\103\99"] = true})
501+debug.setmetatable(u,{["\u{5f}\u{5f}\u{67}\u{63}"] = true})
502502local s = 0
503503local a = {[u] = 0}
504504;
505−setmetatable(a,{["\95\95\109\111\100\101"] = "\118\107"})
505+setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}\u{6b}"})
506506for i = 1, 10
507507do
508508a[newproxy(u)]=i
@@ -544,18 +544,18 @@ assert(s == 11)
544544collectgarbage()
545545assert(next(a) == nil)
546546end
547−local u = setmetatable({},{["\95\95\103\99"] = true})
548−setmetatable(getmetatable(u),{["\95\95\109\111\100\101"] = "\118"})
547+local u = setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = true})
548+setmetatable(getmetatable(u),{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
549549getmetatable(u).__gc=function (o)
550550os.exit(1)
551551end
552552u=nil
553553collectgarbage()
554−local u = setmetatable({},{["\95\95\103\99"] = true})
554+local u = setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = true})
555555local m = getmetatable(u)
556556m.x={[{0}] = 1,[0] = {1}}
557557;
558−setmetatable(m.x,{["\95\95\109\111\100\101"] = "\107\118"})
558+setmetatable(m.x,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
559559;
560560m.__gc=function (o)
561561assert(next(getmetatable(o).x) == nil)
@@ -568,48 +568,48 @@ do
568568collectgarbage()
569569;
570570collectgarbage()
571−local m = collectgarbage("\99\111\117\110\116")
572−local a = setmetatable({},{["\95\95\109\111\100\101"] = "\107\118"})
573−a[string.rep("\97",2 ^ 22)]=25
574−a[string.rep("\98",2 ^ 22)]={}
571+local m = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
572+local a = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
573+a[string.rep("\u{61}",2 ^ 22)]=25
574+a[string.rep("\u{62}",2 ^ 22)]={}
575575a[{}]=14
576−assert(collectgarbage("\99\111\117\110\116") > m + 2 ^ 13)
576+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > m + 2 ^ 13)
577577collectgarbage()
578−assert(collectgarbage("\99\111\117\110\116") >= m + 2 ^ 12 and collectgarbage("\99\111\117\110\116") < m + 2 ^ 13)
578+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= m + 2 ^ 12 and collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") < m + 2 ^ 13)
579579local k,v = next(a)
580−assert(k == string.rep("\97",2 ^ 22) and v == 25)
580+assert(k == string.rep("\u{61}",2 ^ 22) and v == 25)
581581assert(next(a,k) == nil)
582−assert(a[string.rep("\98",2 ^ 22)] == undef)
582+assert(a[string.rep("\u{62}",2 ^ 22)] == undef)
583583a[k]=undef
584584k=nil
585585collectgarbage()
586586assert(next(a) == nil)
587−assert(a[string.rep("\98",100)] == undef)
588−assert(collectgarbage("\99\111\117\110\116") <= m + 1)
587+assert(a[string.rep("\u{62}",100)] == undef)
588+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= m + 1)
589589end
590590if T then
591−warn("\64\115\116\111\114\101")
592−u=setmetatable({},{["\95\95\103\99"] = function ()
593−error("\64\101\120\112\101\99\116\101\100\32\101\114\114\111\114")
591+warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
592+u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
593+error("\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}")
594594end})
595595u=nil
596596collectgarbage()
597−assert(string.find(_WARN,"\64\101\120\112\101\99\116\101\100\32\101\114\114\111\114"))
597+assert(string.find(_WARN,"\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}"))
598598;
599599_WARN=false
600−warn("\64\110\111\114\109\97\108")
600+warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
601601end
602602if not _soft then
603−print("\108\111\110\103\32\108\105\115\116")
603+print("\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{6c}\u{69}\u{73}\u{74}")
604604local a = {}
605605for i = 1, 200000
606606do
607−a={["\110\101\120\116"] = a}
607+a={["\u{6e}\u{65}\u{78}\u{74}"] = a}
608608end
609609a=nil
610610collectgarbage()
611611end
612−print("\115\101\108\102\45\114\101\102\101\114\101\110\99\101\100\32\116\104\114\101\97\100\115")
612+print("\u{73}\u{65}\u{6c}\u{66}\u{2d}\u{72}\u{65}\u{66}\u{65}\u{72}\u{65}\u{6e}\u{63}\u{65}\u{64}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{73}")
613613local thread_id = 0
614614local threads = {}
615615local function fn
@@ -629,15 +629,15 @@ do
629629local collected = false
630630collectgarbage()
631631;
632−collectgarbage("\115\116\111\112")
632+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
633633do
634634local function f
635635(param)
636636;
637637(function ()
638−assert(type(f) == "\102\117\110\99\116\105\111\110" and type(param) == "\116\104\114\101\97\100")
638+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and type(param) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")
639639param={param,f}
640−setmetatable(param,{["\95\95\103\99"] = function ()
640+setmetatable(param,{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
641641collected=true
642642end})
643643coroutine.yield(100)
@@ -648,12 +648,12 @@ assert(coroutine.resume(co,co))
648648end
649649collectgarbage()
650650assert(collected)
651−collectgarbage("\114\101\115\116\97\114\116")
651+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
652652end
653653do
654654collectgarbage()
655−collectgarbage("\115\116\111\112")
656−collectgarbage("\115\116\101\112",0)
655+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
656+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
657657local x = gcinfo()
658658repeat
659659for i = 1, 1000
@@ -661,61 +661,61 @@ do
661661_ENV.a={}
662662end
663663until gcinfo() > 2 * x
664−collectgarbage("\114\101\115\116\97\114\116")
664+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
665665_ENV.a=nil
666666end
667667if T then
668668local function foo
669669()
670−local a = {["\120"] = 20}
670+local a = {["\u{78}"] = 20}
671671coroutine.yield(function ()
672672return a.x
673673end)
674674assert(a.x == 20)
675−a={["\120"] = 30}
676−assert(T.gccolor(a) == "\119\104\105\116\101")
675+a={["\u{78}"] = 30}
676+assert(T.gccolor(a) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
677677coroutine.yield(100)
678678end
679−local t = setmetatable({},{["\95\95\109\111\100\101"] = "\107\118"})
679+local t = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
680680collectgarbage()
681681;
682−collectgarbage("\115\116\111\112")
682+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
683683t.co=coroutine.wrap(foo)
684684local f = t.co()
685−T.gcstate("\97\116\111\109\105\99")
686−assert(T.gcstate() == "\97\116\111\109\105\99")
685+T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
686+assert(T.gcstate() == "\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
687687assert(t.co() == 100)
688−assert(T.gccolor(t.co) == "\119\104\105\116\101")
689−T.gcstate("\112\97\117\115\101")
688+assert(T.gccolor(t.co) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
689+T.gcstate("\u{70}\u{61}\u{75}\u{73}\u{65}")
690690assert(t.co == nil and f() == 30)
691−collectgarbage("\114\101\115\116\97\114\116")
691+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
692692local u = T.newuserdata(0,1)
693693collectgarbage()
694−collectgarbage("\115\116\111\112")
694+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
695695local a = {}
696−T.gcstate("\97\116\111\109\105\99")
697−T.gcstate("\115\119\101\101\112\97\108\108\103\99")
696+T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
697+T.gcstate("\u{73}\u{77}\u{65}\u{65}\u{70}\u{61}\u{6c}\u{6c}\u{67}\u{63}")
698698local x = {}
699−assert(T.gccolor(u) == "\98\108\97\99\107")
700−assert(T.gccolor(x) == "\119\104\105\116\101")
699+assert(T.gccolor(u) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}")
700+assert(T.gccolor(x) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
701701debug.setuservalue(u,x)
702−assert(T.gccolor(u) == "\103\114\97\121")
703−collectgarbage("\114\101\115\116\97\114\116")
704−print("\43")
702+assert(T.gccolor(u) == "\u{67}\u{72}\u{61}\u{79}")
703+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
704+print("\u{2b}")
705705end
706706if T then
707−local debug = require("\100\101\98\117\103")
708−collectgarbage("\115\116\111\112")
707+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
708+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
709709local x = T.newuserdata(0)
710710local y = T.newuserdata(0)
711−debug.setmetatable(y,{["\95\95\103\99"] = nop})
712−debug.setmetatable(x,{["\95\95\103\99"] = nop})
713−assert(T.gccolor(y) == "\119\104\105\116\101")
711+debug.setmetatable(y,{["\u{5f}\u{5f}\u{67}\u{63}"] = nop})
712+debug.setmetatable(x,{["\u{5f}\u{5f}\u{67}\u{63}"] = nop})
713+assert(T.gccolor(y) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
714714T.checkmemory()
715−collectgarbage("\114\101\115\116\97\114\116")
715+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
716716end
717717if T then
718−print("\101\109\101\114\103\101\110\99\121\32\99\111\108\108\101\99\116\105\111\110\115")
718+print("\u{65}\u{6d}\u{65}\u{72}\u{67}\u{65}\u{6e}\u{63}\u{79}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}")
719719collectgarbage()
720720collectgarbage()
721721T.totalmem(T.totalmem() + 200)
@@ -725,29 +725,29 @@ local a = {}
725725end
726726T.totalmem(0)
727727collectgarbage()
728−local t = T.totalmem("\116\97\98\108\101")
728+local t = T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}")
729729local a = {{},{},{}}
730−assert(T.totalmem("\116\97\98\108\101") == t + 4)
731−t=T.totalmem("\102\117\110\99\116\105\111\110")
730+assert(T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}") == t + 4)
731+t=T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
732732a=function ()
733733
734734end
735−assert(T.totalmem("\102\117\110\99\116\105\111\110") == t + 1)
736−t=T.totalmem("\116\104\114\101\97\100")
735+assert(T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") == t + 1)
736+t=T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")
737737a=coroutine.create(function ()
738738
739739end)
740−assert(T.totalmem("\116\104\114\101\97\100") == t + 1)
740+assert(T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") == t + 1)
741741end
742742do
743743local setmetatable,assert,type,print,getmetatable = setmetatable,assert,type,print,getmetatable
744744local tt = {}
745745tt.__gc=function (o)
746746assert(getmetatable(o) == tt)
747−local a = "\120\117\120\117" .. (10 + 3) .. "\106\111\97\111",{}
747+local a = "\u{78}\u{75}\u{78}\u{75}" .. (10 + 3) .. "\u{6a}\u{6f}\u{61}\u{6f}",{}
748748___Glob=o
749749setmetatable({},tt)
750−print("\62\62\62\32\99\108\111\115\105\110\103\32\115\116\97\116\101\32" .. "\60\60\60\10")
750+print("\u{3e}\u{3e}\u{3e}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{74}\u{65}\u{20}" .. "\u{3c}\u{3c}\u{3c}\u{a}")
751751end
752752local u = setmetatable({},tt)
753753___Glob={u}
@@ -756,35 +756,35 @@ if T then
756756local error,assert,find,warn = error,assert,string.find,warn
757757local n = 0
758758local lastmsg
759−local mt = {["\95\95\103\99"] = function (o)
759+local mt = {["\u{5f}\u{5f}\u{67}\u{63}"] = function (o)
760760n=n + 1
761761assert(n == o[1])
762762if n == 1 then
763763_WARN=false
764764elseif n == 2 then
765−assert(find(_WARN,"\64\101\120\112\101\99\116\101\100\32\119\97\114\110\105\110\103"))
765+assert(find(_WARN,"\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}"))
766766lastmsg=_WARN
767767else
768768assert(lastmsg == _WARN)
769769end
770−warn("\64\115\116\111\114\101")
770+warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
771771;
772772_WARN=false
773−error("\64\101\120\112\101\99\116\101\100\32\119\97\114\110\105\110\103")
773+error("\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}")
774774end}
775775for i = 10, 1, - 1
776776do
777777table.insert(___Glob,setmetatable({i},mt))
778778end
779779end
780−assert(collectgarbage("\105\115\114\117\110\110\105\110\103"))
780+assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
781781do
782782local res = true
783−setmetatable({},{["\95\95\103\99"] = function ()
783+setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
784784res=collectgarbage()
785785end})
786786collectgarbage()
787787assert(not res)
788788end
789789collectgarbage(oldmode)
790−print("\79\75")
790+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/gengc.lua+50−50
@@ -1,18 +1,18 @@
1−print("\116\101\115\116\105\110\103\32\103\101\110\101\114\97\116\105\111\110\97\108\32\103\97\114\98\97\103\101\32\99\111\108\108\101\99\116\105\111\110")
2−local debug = require("\100\101\98\117\103")
3−assert(collectgarbage("\105\115\114\117\110\110\105\110\103"))
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}\u{20}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
2+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3+assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
44collectgarbage()
5−local oldmode = collectgarbage("\103\101\110\101\114\97\116\105\111\110\97\108")
5+local oldmode = collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}")
66do
77local U = {}
88collectgarbage()
9−assert(not T or T.gcage(U) == "\111\108\100")
10−U[1]={["\120"] = {234}}
11−assert(not T or (T.gcage(U) == "\116\111\117\99\104\101\100\49" and T.gcage(U[1]) == "\110\101\119"))
12−collectgarbage("\115\116\101\112",0)
13−assert(not T or (T.gcage(U) == "\116\111\117\99\104\101\100\50" and T.gcage(U[1]) == "\115\117\114\118\105\118\97\108"))
14−collectgarbage("\115\116\101\112",0)
15−assert(not T or (T.gcage(U) == "\111\108\100" and T.gcage(U[1]) == "\111\108\100\49"))
9+assert(not T or T.gcage(U) == "\u{6f}\u{6c}\u{64}")
10+U[1]={["\u{78}"] = {234}}
11+assert(not T or (T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}" and T.gcage(U[1]) == "\u{6e}\u{65}\u{77}"))
12+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
13+assert(not T or (T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}" and T.gcage(U[1]) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}"))
14+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
15+assert(not T or (T.gcage(U) == "\u{6f}\u{6c}\u{64}" and T.gcage(U[1]) == "\u{6f}\u{6c}\u{64}\u{31}"))
1616assert(U[1].x[1] == 234)
1717end
1818do
@@ -22,13 +22,13 @@ local function foo
2222end
2323local old = {10}
2424collectgarbage()
25−assert(not T or T.gcage(old) == "\111\108\100")
25+assert(not T or T.gcage(old) == "\u{6f}\u{6c}\u{64}")
2626setmetatable(old,{})
27−assert(not T or T.gcage(getmetatable(old)) == "\111\108\100\48")
28−collectgarbage("\115\116\101\112",0)
29−assert(not T or T.gcage(getmetatable(old)) == "\111\108\100\49")
30−setmetatable(getmetatable(old),{["\95\95\103\99"] = foo})
31−collectgarbage("\115\116\101\112",0)
27+assert(not T or T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{30}")
28+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
29+assert(not T or T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{31}")
30+setmetatable(getmetatable(old),{["\u{5f}\u{5f}\u{67}\u{63}"] = foo})
31+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
3232end
3333do
3434local A = {}
@@ -36,19 +36,19 @@ A[1]=false
3636local function gcf
3737(obj)
3838A[1]=obj
39−assert(not T or T.gcage(obj) == "\111\108\100\49")
39+assert(not T or T.gcage(obj) == "\u{6f}\u{6c}\u{64}\u{31}")
4040obj=nil
41−collectgarbage("\115\116\101\112",0)
41+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
4242print(getmetatable(A[1]).x)
4343end
4444collectgarbage()
4545local obj = {}
46−collectgarbage("\115\116\101\112",0)
47−assert(not T or T.gcage(obj) == "\115\117\114\118\105\118\97\108")
48−setmetatable(obj,{["\95\95\103\99"] = gcf,["\120"] = "\43"})
49−assert(not T or T.gcage(getmetatable(obj)) == "\110\101\119")
46+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
47+assert(not T or T.gcage(obj) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}")
48+setmetatable(obj,{["\u{5f}\u{5f}\u{67}\u{63}"] = gcf,["\u{78}"] = "\u{2b}"})
49+assert(not T or T.gcage(getmetatable(obj)) == "\u{6e}\u{65}\u{77}")
5050obj=nil
51−collectgarbage("\115\116\101\112",0)
51+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
5252end
5353do
5454local old = {10}
@@ -62,47 +62,47 @@ x=coroutine.yield(f)
6262coroutine.yield()
6363end)
6464local _,f = coroutine.resume(co)
65−collectgarbage("\115\116\101\112",0)
66−old[1]={"\104\101\108\108\111"}
65+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
66+old[1]={"\u{68}\u{65}\u{6c}\u{6c}\u{6f}"}
6767coroutine.resume(co,{123})
6868co=nil
69−collectgarbage("\115\116\101\112",0)
70−assert(f() == 123 and old[1][1] == "\104\101\108\108\111")
71−collectgarbage("\115\116\101\112",0)
72−assert(f() == 123 and old[1][1] == "\104\101\108\108\111")
69+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
70+assert(f() == 123 and old[1][1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
71+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
72+assert(f() == 123 and old[1][1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
7373end
7474do
75−local t = setmetatable({},{["\95\95\109\111\100\101"] = "\107\118"})
75+local t = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
7676collectgarbage()
77−assert(not T or T.gcage(t) == "\111\108\100")
77+assert(not T or T.gcage(t) == "\u{6f}\u{6c}\u{64}")
7878t[1]={10}
79−assert(not T or (T.gcage(t) == "\116\111\117\99\104\101\100\49" and T.gccolor(t) == "\103\114\97\121"))
80−collectgarbage("\115\116\101\112",0)
81−assert(not T or (T.gcage(t) == "\116\111\117\99\104\101\100\50" and T.gccolor(t) == "\98\108\97\99\107"))
82−collectgarbage("\115\116\101\112",0)
83−assert(not T or T.gcage(t) == "\111\108\100")
79+assert(not T or (T.gcage(t) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}" and T.gccolor(t) == "\u{67}\u{72}\u{61}\u{79}"))
80+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
81+assert(not T or (T.gcage(t) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}" and T.gccolor(t) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}"))
82+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
83+assert(not T or T.gcage(t) == "\u{6f}\u{6c}\u{64}")
8484t[1]={10}
85−collectgarbage("\115\116\101\112",0)
85+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
8686assert(t[1] == nil)
8787end
8888if T == nil then
89−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\115\111\109\101\32\103\101\110\101\114\97\116\105\111\110\97\108\32\116\101\115\116\115\32\60\60\60\10")
90−print("\79\75")
89+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{6f}\u{6d}\u{65}\u{20}\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
90+print("\u{4f}\u{4b}")
9191return
9292end
9393do
9494local U = T.newuserdata(0,1)
9595collectgarbage()
96−assert(T.gcage(U) == "\111\108\100")
97−debug.setuservalue(U,{["\120"] = {234}})
98−assert(T.gcage(U) == "\116\111\117\99\104\101\100\49" and T.gcage(debug.getuservalue(U)) == "\110\101\119")
99−collectgarbage("\115\116\101\112",0)
100−assert(T.gcage(U) == "\116\111\117\99\104\101\100\50" and T.gcage(debug.getuservalue(U)) == "\115\117\114\118\105\118\97\108")
101−collectgarbage("\115\116\101\112",0)
102−assert(T.gcage(U) == "\111\108\100" and T.gcage(debug.getuservalue(U)) == "\111\108\100\49")
96+assert(T.gcage(U) == "\u{6f}\u{6c}\u{64}")
97+debug.setuservalue(U,{["\u{78}"] = {234}})
98+assert(T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}" and T.gcage(debug.getuservalue(U)) == "\u{6e}\u{65}\u{77}")
99+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
100+assert(T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}" and T.gcage(debug.getuservalue(U)) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}")
101+collectgarbage("\u{73}\u{74}\u{65}\u{70}",0)
102+assert(T.gcage(U) == "\u{6f}\u{6c}\u{64}" and T.gcage(debug.getuservalue(U)) == "\u{6f}\u{6c}\u{64}\u{31}")
103103assert(debug.getuservalue(U).x[1] == 234)
104104end
105−assert(collectgarbage("\105\115\114\117\110\110\105\110\103"))
106−assert(collectgarbage("\105\115\114\117\110\110\105\110\103"))
105+assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
106+assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
107107collectgarbage(oldmode)
108−print("\79\75")
108+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/goto.lua+25−25
@@ -4,15 +4,15 @@ local function errmsg
44local st,msg = load(code)
55assert(not st and string.find(msg,m))
66end
7−errmsg("\32\103\111\116\111\32\108\49\59\32\100\111\32\58\58\108\49\58\58\32\101\110\100\32","\108\97\98\101\108\32\39\108\49\39")
8−errmsg("\32\100\111\32\58\58\108\49\58\58\32\101\110\100\32\103\111\116\111\32\108\49\59\32","\108\97\98\101\108\32\39\108\49\39")
9−errmsg("\32\58\58\108\49\58\58\32\58\58\108\49\58\58\32","\108\97\98\101\108\32\39\108\49\39")
10−errmsg("\32\58\58\108\49\58\58\32\100\111\32\58\58\108\49\58\58\32\101\110\100","\108\97\98\101\108\32\39\108\49\39")
11−errmsg("\32\103\111\116\111\32\108\49\59\32\108\111\99\97\108\32\97\97\32\58\58\108\49\58\58\32\58\58\108\50\58\58\32\112\114\105\110\116\40\51\41\32","\108\111\99\97\108\32\39\97\97\39")
12−errmsg("\100\111\32\108\111\99\97\108\32\98\98\44\32\99\99\59\32\103\111\116\111\32\108\49\59\32\101\110\100\10\108\111\99\97\108\32\97\97\10\58\58\108\49\58\58\32\112\114\105\110\116\40\51\41\10","\108\111\99\97\108\32\39\97\97\39")
13−errmsg("\32\100\111\32\58\58\108\49\58\58\32\101\110\100\32\103\111\116\111\32\108\49\32","\108\97\98\101\108\32\39\108\49\39")
14−errmsg("\32\103\111\116\111\32\108\49\32\100\111\32\58\58\108\49\58\58\32\101\110\100\32","\108\97\98\101\108\32\39\108\49\39")
15−errmsg("\32\32\114\101\112\101\97\116\10\32\32\32\32\105\102\32\120\32\116\104\101\110\32\103\111\116\111\32\99\111\110\116\32\101\110\100\10\32\32\32\32\108\111\99\97\108\32\120\117\120\117\32\61\32\49\48\10\32\32\32\32\58\58\99\111\110\116\58\58\10\32\32\117\110\116\105\108\32\120\117\120\117\32\60\32\120\10","\108\111\99\97\108\32\39\120\117\120\117\39")
7+errmsg("\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{31}\u{3b}\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{6c}\u{31}\u{27}")
8+errmsg("\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{31}\u{3b}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{6c}\u{31}\u{27}")
9+errmsg("\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{6c}\u{31}\u{27}")
10+errmsg("\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{6c}\u{31}\u{27}")
11+errmsg("\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{31}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{3a}\u{3a}\u{6c}\u{32}\u{3a}\u{3a}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}\u{20}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{61}\u{27}")
12+errmsg("\u{64}\u{6f}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{62}\u{2c}\u{20}\u{63}\u{63}\u{3b}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{31}\u{3b}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{a}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}\u{a}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{61}\u{27}")
13+errmsg("\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{31}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{6c}\u{31}\u{27}")
14+errmsg("\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{31}\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{6c}\u{31}\u{27}")
15+errmsg("\u{20}\u{20}\u{72}\u{65}\u{70}\u{65}\u{61}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{78}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{75}\u{78}\u{75}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{63}\u{6f}\u{6e}\u{74}\u{3a}\u{3a}\u{a}\u{20}\u{20}\u{75}\u{6e}\u{74}\u{69}\u{6c}\u{20}\u{78}\u{75}\u{78}\u{75}\u{20}\u{3c}\u{20}\u{78}\u{a}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{78}\u{75}\u{78}\u{75}\u{27}")
1616local x
1717do
1818local y = 12
@@ -30,8 +30,8 @@ end
3030::l3_1::
3131assert(x == 13)
3232do
33−local prog = "\32\32\100\111\10\32\32\32\32\108\111\99\97\108\32\97\32\61\32\49\10\32\32\32\32\103\111\116\111\32\108\37\115\97\59\32\97\32\61\32\97\32\43\32\49\10\32\32\32\58\58\108\37\115\97\58\58\32\97\32\61\32\97\32\43\32\49\48\10\32\32\32\32\103\111\116\111\32\108\37\115\98\59\32\97\32\61\32\97\32\43\32\50\10\32\32\32\58\58\108\37\115\98\58\58\32\97\32\61\32\97\32\43\32\50\48\10\32\32\32\32\114\101\116\117\114\110\32\97\10\32\32\101\110\100\10\32\32"
34−local label = string.rep("\48\49\50\51\52\53\54\55\56\57",40)
33+local prog = "\u{20}\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{25}\u{73}\u{61}\u{3b}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{6c}\u{25}\u{73}\u{61}\u{3a}\u{3a}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{25}\u{73}\u{62}\u{3b}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{6c}\u{25}\u{73}\u{62}\u{3a}\u{3a}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{32}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}"
34+local label = string.rep("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",40)
3535prog=string.format(prog,label,label,label,label)
3636assert(assert(load(prog))() == 31)
3737end
@@ -56,7 +56,7 @@ end
5656assert(x == 13)
5757if print then
5858goto l1
59−error("\115\104\111\117\108\100\32\110\111\116\32\98\101\32\104\101\114\101")
59+error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}")
6060goto l2
6161local x
6262::l1::
@@ -146,7 +146,7 @@ goto c
146146goto b
147147end
148148::escape::
149−local debug = require("\100\101\98\117\103")
149+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
150150local function foo
151151()
152152local t = {}
@@ -213,14 +213,14 @@ local function testG
213213(a)
214214if a == 1 then
215215goto l1
216−error("\115\104\111\117\108\100\32\110\101\118\101\114\32\98\101\32\104\101\114\101\33")
216+error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
217217elseif a == 2 then
218218goto l2
219219elseif a == 3 then
220220goto l3
221221elseif a == 4 then
222222goto l1
223−error("\115\104\111\117\108\100\32\110\101\118\101\114\32\98\101\32\104\101\114\101\33")
223+error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
224224::l1::
225225a=a + 1
226226else
@@ -229,10 +229,10 @@ goto l4
229229a=a * 2
230230;
231231goto l4b
232−error("\115\104\111\117\108\100\32\110\101\118\101\114\32\98\101\32\104\101\114\101\33")
232+error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
233233::l4::
234234goto l4a
235−error("\115\104\111\117\108\100\32\110\101\118\101\114\32\98\101\32\104\101\114\101\33")
235+error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
236236::l4b::
237237end
238238do
@@ -240,18 +240,18 @@ return a
240240end
241241::l2::
242242do
243−return "\50"
243+return "\u{32}"
244244end
245245::l3::
246246do
247−return "\51"
247+return "\u{33}"
248248end
249249::l1::
250−return "\49"
250+return "\u{31}"
251251end
252−assert(testG(1) == "\49")
253−assert(testG(2) == "\50")
254−assert(testG(3) == "\51")
252+assert(testG(1) == "\u{31}")
253+assert(testG(2) == "\u{32}")
254+assert(testG(3) == "\u{33}")
255255assert(testG(4) == 5)
256256assert(testG(5) == 10)
257257do
@@ -261,7 +261,7 @@ goto L1
261261goto L3
262262::L1::
263263do
264−local a <close> = setmetatable({},{["\95\95\99\108\111\115\101"] = function ()
264+local a <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
265265X=true
266266end})
267267assert(X == nil)
@@ -272,4 +272,4 @@ end
272272::L3::
273273assert(X == true)
274274end
275−print("\79\75")
275+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/heavy.lua+47−47
@@ -1,18 +1,18 @@
11local function teststring
22()
3−print("\99\114\101\97\116\105\110\103\32\97\32\115\116\114\105\110\103\32\116\111\111\32\108\111\110\103")
3+print("\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
44do
5−local a = "\120"
5+local a = "\u{78}"
66local st,msg = pcall(function ()
77while true do
88a=a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a
9−print(string.format("\115\116\114\105\110\103\32\119\105\116\104\32\37\100\32\98\121\116\101\115",# a))
9+print(string.format("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{25}\u{64}\u{20}\u{62}\u{79}\u{74}\u{65}\u{73}",# a))
1010end
1111end)
12−assert(not st and (string.find(msg,"\115\116\114\105\110\103\32\108\101\110\103\116\104\32\111\118\101\114\102\108\111\119") or string.find(msg,"\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121")))
13−print("\115\116\114\105\110\103\32\108\101\110\103\116\104\32\111\118\101\114\102\108\111\119\32\119\105\116\104\32" .. # a * 100)
12+assert(not st and (string.find(msg,"\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}") or string.find(msg,"\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))
13+print("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}" .. # a * 100)
1414end
15−print("\43")
15+print("\u{2b}")
1616end
1717local function loadrep
1818(x,what)
@@ -23,46 +23,46 @@ local function f
2323()
2424count=count + p
2525if count % (128 * p) == 0 then
26−io.stderr:write("\40",count // 2 ^ 20,"\32\77\41")
26+io.stderr:write("\u{28}",count // 2 ^ 20,"\u{20}\u{4d}\u{29}")
2727end
2828return s
2929end
30−local st,msg = load(f,"\61\98\105\103")
31−print("\10\109\101\109\111\114\121\58\32",collectgarbage("\99\111\117\110\116") * 1024)
32−msg=string.match(msg,"\94\91\94\10\93\43")
33−print(string.format("\116\111\116\97\108\58\32\48\120\37\120\32\37\115\32\40\39\37\115\39\41",count,what,msg))
30+local st,msg = load(f,"\u{3d}\u{62}\u{69}\u{67}")
31+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 1024)
32+msg=string.match(msg,"\u{5e}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}")
33+print(string.format("\u{74}\u{6f}\u{74}\u{61}\u{6c}\u{3a}\u{20}\u{30}\u{78}\u{25}\u{78}\u{20}\u{25}\u{73}\u{20}\u{28}\u{27}\u{25}\u{73}\u{27}\u{29}",count,what,msg))
3434return st,msg
3535end
3636function controlstruct()
37−print("\99\111\110\116\114\111\108\32\115\116\114\117\99\116\117\114\101\32\116\111\111\32\108\111\110\103")
37+print("\u{63}\u{6f}\u{6e}\u{74}\u{72}\u{6f}\u{6c}\u{20}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{75}\u{72}\u{65}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
3838local lim = ((1 << 24) - 2) // 3
39−local s = string.rep("\97\32\61\32\97\32\43\32\49\10",lim)
40−s="\119\104\105\108\101\32\116\114\117\101\32\100\111\32" .. s .. "\101\110\100"
39+local s = string.rep("\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}",lim)
40+s="\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{64}\u{6f}\u{20}" .. s .. "\u{65}\u{6e}\u{64}"
4141assert(load(s))
42−print("\111\107\32\119\105\116\104\32" .. lim .. "\32\108\105\110\101\115")
42+print("\u{6f}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}" .. lim .. "\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}")
4343lim=lim + 3
44−s=string.rep("\97\32\61\32\97\32\43\32\49\10",lim)
45−s="\119\104\105\108\101\32\116\114\117\101\32\100\111\32" .. s .. "\101\110\100"
44+s=string.rep("\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}",lim)
45+s="\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{64}\u{6f}\u{20}" .. s .. "\u{65}\u{6e}\u{64}"
4646local st,msg = load(s)
47−assert(not st and string.find(msg,"\116\111\111\32\108\111\110\103"))
47+assert(not st and string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}"))
4848print(msg)
4949end
5050function manylines()
51−print("\108\111\97\100\105\110\103\32\99\104\117\110\107\32\119\105\116\104\32\116\111\111\32\109\97\110\121\32\108\105\110\101\115")
52−local st,msg = loadrep("\10","\108\105\110\101\115")
53−assert(not st and string.find(msg,"\116\111\111\32\109\97\110\121\32\108\105\110\101\115"))
54−print("\43")
51+print("\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}")
52+local st,msg = loadrep("\u{a}","\u{6c}\u{69}\u{6e}\u{65}\u{73}")
53+assert(not st and string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}"))
54+print("\u{2b}")
5555end
5656function hugeid()
57−print("\108\111\97\100\105\110\103\32\99\104\117\110\107\32\119\105\116\104\32\104\117\103\101\32\105\100\101\110\116\105\102\105\101\114")
58−local st,msg = loadrep("\97","\99\104\97\114\115")
59−assert(not st and (string.find(msg,"\108\101\120\105\99\97\108\32\101\108\101\109\101\110\116\32\116\111\111\32\108\111\110\103") or string.find(msg,"\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121")))
60−print("\43")
57+print("\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{68}\u{75}\u{67}\u{65}\u{20}\u{69}\u{64}\u{65}\u{6e}\u{74}\u{69}\u{66}\u{69}\u{65}\u{72}")
58+local st,msg = loadrep("\u{61}","\u{63}\u{68}\u{61}\u{72}\u{73}")
59+assert(not st and (string.find(msg,"\u{6c}\u{65}\u{78}\u{69}\u{63}\u{61}\u{6c}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}") or string.find(msg,"\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))
60+print("\u{2b}")
6161end
6262function toomanyinst()
63−print("\108\111\97\100\105\110\103\32\99\104\117\110\107\32\119\105\116\104\32\116\111\111\32\109\97\110\121\32\105\110\115\116\114\117\99\116\105\111\110\115")
64−local st,msg = loadrep("\97\32\61\32\49\48\59\32","\105\110\115\116\114\117\99\116\105\111\110\115")
65−print("\43")
63+print("\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{69}\u{6e}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}")
64+local st,msg = loadrep("\u{61}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{3b}\u{20}","\u{69}\u{6e}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}")
65+print("\u{2b}")
6666end
6767local function loadrepfunc
6868(prefix,f)
@@ -74,19 +74,19 @@ if count == 0 then
7474return prefix
7575else
7676if count % (1048576) == 0 then
77−io.stderr:write("\40",count // 2 ^ 20,"\32\77\41")
77+io.stderr:write("\u{28}",count // 2 ^ 20,"\u{20}\u{4d}\u{29}")
7878end
7979return f(count)
8080end
8181end
82−local st,msg = load(aux,"\107")
83−print("\10\109\101\109\111\114\121\58\32",collectgarbage("\99\111\117\110\116") * 1024)
84−msg=string.match(msg,"\94\91\94\10\93\43")
85−print("\101\120\112\101\99\116\101\100\32\101\114\114\111\114\58\32",msg)
82+local st,msg = load(aux,"\u{6b}")
83+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 1024)
84+msg=string.match(msg,"\u{5e}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}")
85+print("\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3a}\u{20}",msg)
8686end
8787function toomanyconst()
88−print("\108\111\97\100\105\110\103\32\102\117\110\99\116\105\111\110\32\119\105\116\104\32\116\111\111\32\109\97\110\121\32\99\111\110\115\116\97\110\116\115")
89−loadrepfunc("\102\117\110\99\116\105\111\110\32\102\111\111\32\40\41\32\114\101\116\117\114\110\32\123\48\44",function (n)
88+print("\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}\u{73}")
89+loadrepfunc("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{30}\u{2c}",function (n)
9090return string.char(34,((n // 128 ^ 0) & 127) + 128,((n // 128 ^ 1) & 127) + 128,((n // 128 ^ 2) & 127) + 128,((n // 128 ^ 3) & 127) + 128,((n // 128 ^ 4) & 127) + 128,34,44)
9191end)
9292end
@@ -96,16 +96,16 @@ local st,msg = pcall(function ()
9696for i = 1, math.huge
9797do
9898if i % (1048576) == 0 then
99−io.stderr:write("\40",i // 2 ^ 20,"\32\77\41")
99+io.stderr:write("\u{28}",i // 2 ^ 20,"\u{20}\u{4d}\u{29}")
100100end
101−a[i]=string.pack("\73",i)
101+a[i]=string.pack("\u{49}",i)
102102end
103103end)
104104local size = # a
105−a=collectgarbage("\99\111\117\110\116")
106−print("\10\109\101\109\111\114\121\58",a * 1024)
107−print("\101\120\112\101\99\116\101\100\32\101\114\114\111\114\58",msg)
108−print("\115\105\122\101\58",size)
105+a=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
106+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}",a * 1024)
107+print("\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3a}",msg)
108+print("\u{73}\u{69}\u{7a}\u{65}\u{3a}",size)
109109end
110110function toomanyidx()
111111local a = {}
@@ -113,14 +113,14 @@ local st,msg = pcall(function ()
113113for i = 1, math.huge
114114do
115115if i % (1048576) == 0 then
116−io.stderr:write("\40",i // 2 ^ 20,"\32\77\41")
116+io.stderr:write("\u{28}",i // 2 ^ 20,"\u{20}\u{4d}\u{29}")
117117end
118118a[i]=i
119119end
120120end)
121−print("\10\109\101\109\111\114\121\58\32",collectgarbage("\99\111\117\110\116") * 1024)
122−print("\101\120\112\101\99\116\101\100\32\101\114\114\111\114\58\32",msg)
123−print("\115\105\122\101\58",# a)
121+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 1024)
122+print("\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3a}\u{20}",msg)
123+print("\u{73}\u{69}\u{7a}\u{65}\u{3a}",# a)
124124end
125125toomanyidx()
126−print("\79\75")
126+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/literals.lua+126−126
@@ -1,101 +1,101 @@
1−print("\116\101\115\116\105\110\103\32\115\99\97\110\110\101\114")
2−local debug = require("\100\101\98\117\103")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{63}\u{61}\u{6e}\u{6e}\u{65}\u{72}")
2+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
33local function dostring
44(x)
55return assert(load(x),"")()
66end
7−dostring("\120\32\11\12\32\61\32\9\13\32\39\97\97\39\32\11\12\12")
8−assert(x == "\97\97" and string.len(x) == 3)
7+dostring("\u{78}\u{20}\u{b}\u{c}\u{20}\u{3d}\u{20}\u{9}\u{d}\u{20}\u{27}\u{61}\u{0}\u{61}\u{27}\u{20}\u{b}\u{c}\u{c}")
8+assert(x == "\u{61}\u{0}\u{61}" and string.len(x) == 3)
99_G.x=nil
10−assert("\10\34\39\92" == "\10\34\39\92")
11−assert(string.find("\7\8\12\10\13\9\11","\94\37\99\37\99\37\99\37\99\37\99\37\99\37\99\36"))
12−assert("\99\49\50" == "\99\49\50")
13−assert("\99\97\98" == "\99\97\98")
14−assert("\99" == "\99")
15−assert("\99\10" == "\99\10")
16−assert("\97\108\111" == "" .. "" .. "\97\108\111")
17−assert(10 .. 20 .. - 30 == "\49\48\50\48\45\51\48")
18−assert("\5\16\31\60\255\232" == "\5\16\31\60\255\232")
10+assert("\u{a}\u{22}\u{27}\u{5c}" == "\u{a}\u{22}\u{27}\u{5c}")
11+assert(string.find("\u{7}\u{8}\u{c}\u{a}\u{d}\u{9}\u{b}","\u{5e}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{24}"))
12+assert("\u{63}\u{31}\u{32}" == "\u{63}\u{31}\u{32}")
13+assert("\u{63}\u{61}\u{62}" == "\u{63}\u{61}\u{62}")
14+assert("\u{63}" == "\u{63}")
15+assert("\u{63}\u{a}" == "\u{63}\u{a}")
16+assert("\u{0}\u{0}\u{0}\u{61}\u{6c}\u{6f}" == "\u{0}" .. "\u{0}\u{0}" .. "\u{61}\u{6c}\u{6f}")
17+assert(10 .. 20 .. - 30 == "\u{31}\u{30}\u{32}\u{30}\u{2d}\u{33}\u{30}")
18+assert("\u{0}\u{5}\u{10}\u{1f}\u{3c}\u{ff}\u{e8}" == "\u{0}\u{5}\u{10}\u{1f}\u{3c}\u{ff}\u{e8}")
1919local function lexstring
2020(x,y,n)
21−local f = assert(load("\114\101\116\117\114\110\32" .. x .. "\44\32\114\101\113\117\105\114\101\34\100\101\98\117\103\34\46\103\101\116\105\110\102\111\40\49\41\46\99\117\114\114\101\110\116\108\105\110\101",""))
21+local f = assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. x .. "\u{2c}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{64}\u{65}\u{62}\u{75}\u{67}\u{22}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}",""))
2222local s,l = f()
2323assert(s == y and l == n)
2424end
25−lexstring("\39\97\98\99\92\122\32\32\10\32\32\32\101\102\103\39","\97\98\99\101\102\103",2)
26−lexstring("\39\97\98\99\92\122\32\32\10\10\10\39","\97\98\99",4)
27−lexstring("\39\92\122\32\32\10\9\12\11\10\39","",3)
28−lexstring("\91\91\10\97\108\111\10\97\108\111\10\10\93\93","\97\108\111\10\97\108\111\10\10",5)
29−lexstring("\91\91\10\97\108\111\13\97\108\111\10\10\93\93","\97\108\111\10\97\108\111\10\10",5)
30−lexstring("\91\91\10\97\108\111\13\97\108\111\13\10\93\93","\97\108\111\10\97\108\111\10",4)
31−lexstring("\91\91\13\97\108\111\10\13\97\108\111\13\10\93\93","\97\108\111\10\97\108\111\10",4)
32−lexstring("\91\91\97\108\111\93\10\93\97\108\111\93\93","\97\108\111\93\10\93\97\108\111",2)
33−assert("\97\98\99\100\101\102\103\104\105" == "\97\98\99\100\101\102\103\104\105")
34−assert("" == string.char(0,0,0,0))
35−assert("\127" == "\127")
36−assert("\128\255\7" == "\194\128\223\191")
37−assert("\0\8\255\255" == "\224\160\128\239\191\191")
38−assert("\0\0\1\255\255\31" == "\240\144\128\128\247\191\191\191")
39−assert("\0\0\32\255\255\255\3" == "\248\136\128\128\128\251\191\191\191\191")
40−assert("\0\0\0\4\255\255\255\127" == "\252\132\128\128\128\128\253\191\191\191\191\191")
25+lexstring("\u{27}\u{61}\u{62}\u{63}\u{5c}\u{7a}\u{20}\u{20}\u{a}\u{20}\u{20}\u{20}\u{65}\u{66}\u{67}\u{27}","\u{61}\u{62}\u{63}\u{65}\u{66}\u{67}",2)
26+lexstring("\u{27}\u{61}\u{62}\u{63}\u{5c}\u{7a}\u{20}\u{20}\u{a}\u{a}\u{a}\u{27}","\u{61}\u{62}\u{63}",4)
27+lexstring("\u{27}\u{5c}\u{7a}\u{20}\u{20}\u{a}\u{9}\u{c}\u{b}\u{a}\u{27}","",3)
28+lexstring("\u{5b}\u{5b}\u{a}\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}\u{a}\u{a}\u{5d}\u{5d}","\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}\u{a}\u{a}",5)
29+lexstring("\u{5b}\u{5b}\u{a}\u{61}\u{6c}\u{6f}\u{d}\u{61}\u{6c}\u{6f}\u{a}\u{a}\u{5d}\u{5d}","\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}\u{a}\u{a}",5)
30+lexstring("\u{5b}\u{5b}\u{a}\u{61}\u{6c}\u{6f}\u{d}\u{61}\u{6c}\u{6f}\u{d}\u{a}\u{5d}\u{5d}","\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}\u{a}",4)
31+lexstring("\u{5b}\u{5b}\u{d}\u{61}\u{6c}\u{6f}\u{a}\u{d}\u{61}\u{6c}\u{6f}\u{d}\u{a}\u{5d}\u{5d}","\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}\u{a}",4)
32+lexstring("\u{5b}\u{5b}\u{61}\u{6c}\u{6f}\u{5d}\u{a}\u{5d}\u{61}\u{6c}\u{6f}\u{5d}\u{5d}","\u{61}\u{6c}\u{6f}\u{5d}\u{a}\u{5d}\u{61}\u{6c}\u{6f}",2)
33+assert("\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}" == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}")
34+assert("\u{0}\u{0}\u{0}\u{0}" == string.char(0,0,0,0))
35+assert("\u{0}\u{7f}" == "\u{0}\u{7f}")
36+assert("\u{80}\u{7ff}" == "\u{c2}\u{80}\u{df}\u{bf}")
37+assert("\u{800}\u{ffff}" == "\u{e0}\u{a0}\u{80}\u{ef}\u{bf}\u{bf}")
38+assert("\u{10000}\u{1fffff}" == "\u{f0}\u{90}\u{80}\u{80}\u{f7}\u{bf}\u{bf}\u{bf}")
39+assert("\u{200000}\u{3ffffff}" == "\u{f8}\u{88}\u{80}\u{80}\u{80}\u{fb}\u{bf}\u{bf}\u{bf}\u{bf}")
40+assert("\u{4000000}\u{7fffffff}" == "\u{fc}\u{84}\u{80}\u{80}\u{80}\u{80}\u{fd}\u{bf}\u{bf}\u{bf}\u{bf}\u{bf}")
4141local function lexerror
4242(s,err)
43−local st,msg = load("\114\101\116\117\114\110\32" .. s,"")
44−if err ~= "\60\101\111\102\62" then
45−err=err .. "\39"
46−end
47−assert(not st and string.find(msg,"\110\101\97\114\32\46\45" .. err))
48−end
49−lexerror("\34\97\98\99\92\120\34","\92\120\34")
50−lexerror("\34\97\98\99\92\120","\92\120")
51−lexerror("\34\92\120","\92\120")
52−lexerror("\34\92\120\53\34","\92\120\53\34")
53−lexerror("\34\92\120\53","\92\120\53")
54−lexerror("\34\92\120\114\34","\92\120\114")
55−lexerror("\34\92\120\114","\92\120\114")
56−lexerror("\34\92\120\46","\92\120\46")
57−lexerror("\34\92\120\56\37\34","\92\120\56\37\37")
58−lexerror("\34\92\120\65\71","\92\120\65\71")
59−lexerror("\34\92\103\34","\92\103")
60−lexerror("\34\92\103","\92\103")
61−lexerror("\34\92\46\34","\92\37\46")
62−lexerror("\34\92\57\57\57\34","\92\57\57\57\34")
63−lexerror("\34\120\121\122\92\51\48\48\34","\92\51\48\48\34")
64−lexerror("\34\32\32\32\92\50\53\54\34","\92\50\53\54\34")
65−lexerror("\34\97\98\99\92\117\123\49\48\48\48\48\48\48\48\48\125\34","\97\98\99\92\117\123\49\48\48\48\48\48\48\48\48")
66−lexerror("\34\97\98\99\92\117\49\49\114\34","\97\98\99\92\117\49")
67−lexerror("\34\97\98\99\92\117\34","\97\98\99\92\117\34")
68−lexerror("\34\97\98\99\92\117\123\49\49\114\34","\97\98\99\92\117\123\49\49\114")
69−lexerror("\34\97\98\99\92\117\123\49\49\34","\97\98\99\92\117\123\49\49\34")
70−lexerror("\34\97\98\99\92\117\123\49\49","\97\98\99\92\117\123\49\49")
71−lexerror("\34\97\98\99\92\117\123\114\34","\97\98\99\92\117\123\114")
72−lexerror("\91\61\91\97\108\111\93\93","\60\101\111\102\62")
73−lexerror("\91\61\91\97\108\111\93\61","\60\101\111\102\62")
74−lexerror("\91\61\91\97\108\111\93","\60\101\111\102\62")
75−lexerror("\39\97\108\111","\60\101\111\102\62")
76−lexerror("\39\97\108\111\32\92\122\32\32\10\10","\60\101\111\102\62")
77−lexerror("\39\97\108\111\32\92\122","\60\101\111\102\62")
78−lexerror("\39\97\108\111\32\92\57\56","\60\101\111\102\62")
43+local st,msg = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. s,"")
44+if err ~= "\u{3c}\u{65}\u{6f}\u{66}\u{3e}" then
45+err=err .. "\u{27}"
46+end
47+assert(not st and string.find(msg,"\u{6e}\u{65}\u{61}\u{72}\u{20}\u{2e}\u{2d}" .. err))
48+end
49+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{78}\u{22}","\u{5c}\u{78}\u{22}")
50+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{78}","\u{5c}\u{78}")
51+lexerror("\u{22}\u{5c}\u{78}","\u{5c}\u{78}")
52+lexerror("\u{22}\u{5c}\u{78}\u{35}\u{22}","\u{5c}\u{78}\u{35}\u{22}")
53+lexerror("\u{22}\u{5c}\u{78}\u{35}","\u{5c}\u{78}\u{35}")
54+lexerror("\u{22}\u{5c}\u{78}\u{72}\u{22}","\u{5c}\u{78}\u{72}")
55+lexerror("\u{22}\u{5c}\u{78}\u{72}","\u{5c}\u{78}\u{72}")
56+lexerror("\u{22}\u{5c}\u{78}\u{2e}","\u{5c}\u{78}\u{2e}")
57+lexerror("\u{22}\u{5c}\u{78}\u{38}\u{25}\u{22}","\u{5c}\u{78}\u{38}\u{25}\u{25}")
58+lexerror("\u{22}\u{5c}\u{78}\u{41}\u{47}","\u{5c}\u{78}\u{41}\u{47}")
59+lexerror("\u{22}\u{5c}\u{67}\u{22}","\u{5c}\u{67}")
60+lexerror("\u{22}\u{5c}\u{67}","\u{5c}\u{67}")
61+lexerror("\u{22}\u{5c}\u{2e}\u{22}","\u{5c}\u{25}\u{2e}")
62+lexerror("\u{22}\u{5c}\u{39}\u{39}\u{39}\u{22}","\u{5c}\u{39}\u{39}\u{39}\u{22}")
63+lexerror("\u{22}\u{78}\u{79}\u{7a}\u{5c}\u{33}\u{30}\u{30}\u{22}","\u{5c}\u{33}\u{30}\u{30}\u{22}")
64+lexerror("\u{22}\u{20}\u{20}\u{20}\u{5c}\u{32}\u{35}\u{36}\u{22}","\u{5c}\u{32}\u{35}\u{36}\u{22}")
65+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{7d}\u{22}","\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}")
66+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{75}\u{31}\u{31}\u{72}\u{22}","\u{61}\u{62}\u{63}\u{5c}\u{75}\u{31}")
67+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{75}\u{22}","\u{61}\u{62}\u{63}\u{5c}\u{75}\u{22}")
68+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{31}\u{31}\u{72}\u{22}","\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{31}\u{31}\u{72}")
69+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{31}\u{31}\u{22}","\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{31}\u{31}\u{22}")
70+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{31}\u{31}","\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{31}\u{31}")
71+lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{72}\u{22}","\u{61}\u{62}\u{63}\u{5c}\u{75}\u{7b}\u{72}")
72+lexerror("\u{5b}\u{3d}\u{5b}\u{61}\u{6c}\u{6f}\u{5d}\u{5d}","\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
73+lexerror("\u{5b}\u{3d}\u{5b}\u{61}\u{6c}\u{6f}\u{5d}\u{3d}","\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
74+lexerror("\u{5b}\u{3d}\u{5b}\u{61}\u{6c}\u{6f}\u{5d}","\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
75+lexerror("\u{27}\u{61}\u{6c}\u{6f}","\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
76+lexerror("\u{27}\u{61}\u{6c}\u{6f}\u{20}\u{5c}\u{7a}\u{20}\u{20}\u{a}\u{a}","\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
77+lexerror("\u{27}\u{61}\u{6c}\u{6f}\u{20}\u{5c}\u{7a}","\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
78+lexerror("\u{27}\u{61}\u{6c}\u{6f}\u{20}\u{5c}\u{39}\u{38}","\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
7979for i = 0, 255
8080do
8181local s = string.char(i)
82−assert(not string.find(s,"\91\97\45\122\65\45\90\95\93") == not load(s .. "\61\49",""))
83−assert(not string.find(s,"\91\97\45\122\65\45\90\95\48\45\57\93") == not load("\97" .. s .. "\49\32\61\32\49",""))
82+assert(not string.find(s,"\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{5f}\u{5d}") == not load(s .. "\u{3d}\u{31}",""))
83+assert(not string.find(s,"\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{5f}\u{30}\u{2d}\u{39}\u{5d}") == not load("\u{61}" .. s .. "\u{31}\u{20}\u{3d}\u{20}\u{31}",""))
8484end
85−local var1 = string.rep("\97",15000) .. "\49"
86−local var2 = string.rep("\97",15000) .. "\50"
87−local prog = string.format("\32\32\37\115\32\61\32\53\10\32\32\37\115\32\61\32\37\115\32\43\32\49\10\32\32\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\32\40\41\32\114\101\116\117\114\110\32\37\115\32\45\32\37\115\32\101\110\100\10",var1,var2,var1,var1,var2)
85+local var1 = string.rep("\u{61}",15000) .. "\u{31}"
86+local var2 = string.rep("\u{61}",15000) .. "\u{32}"
87+local prog = string.format("\u{20}\u{20}\u{25}\u{73}\u{20}\u{3d}\u{20}\u{35}\u{a}\u{20}\u{20}\u{25}\u{73}\u{20}\u{3d}\u{20}\u{25}\u{73}\u{20}\u{2b}\u{20}\u{31}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{73}\u{20}\u{2d}\u{20}\u{25}\u{73}\u{20}\u{65}\u{6e}\u{64}\u{a}",var1,var2,var1,var1,var2)
8888local f = dostring(prog)
8989assert(_G[var1] == 5 and _G[var2] == 6 and f() == - 1)
9090_G[var1],_G[var2]=nil
91−print("\43")
92−assert("\10\9" == "\10\9")
93−assert("\10\32\36\100\101\98\117\103" == "\10\32\36\100\101\98\117\103")
94−assert("\32\91\32" ~= "\32\93\32")
95−local b = "\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
91+print("\u{2b}")
92+assert("\u{a}\u{9}" == "\u{a}\u{9}")
93+assert("\u{a}\u{20}\u{24}\u{64}\u{65}\u{62}\u{75}\u{67}" == "\u{a}\u{20}\u{24}\u{64}\u{65}\u{62}\u{75}\u{67}")
94+assert("\u{20}\u{5b}\u{20}" ~= "\u{20}\u{5d}\u{20}")
95+local b = "\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
9696assert(string.len(b) == 960)
97−prog="\112\114\105\110\116\40\39\43\39\41\10\10\108\111\99\97\108\32\97\49\32\61\32\91\91\34\116\104\105\115\32\105\115\32\97\32\39\115\116\114\105\110\103\39\32\119\105\116\104\32\115\101\118\101\114\97\108\32\39\113\117\111\116\101\115\39\34\93\93\10\108\111\99\97\108\32\97\50\32\61\32\34\39\113\117\111\116\101\115\39\34\10\10\97\115\115\101\114\116\40\115\116\114\105\110\103\46\102\105\110\100\40\97\49\44\32\97\50\41\32\61\61\32\51\52\41\10\112\114\105\110\116\40\39\43\39\41\10\10\97\49\32\61\32\91\61\61\91\116\101\109\112\32\61\32\91\91\97\110\32\97\114\98\105\116\114\97\114\121\32\118\97\108\117\101\93\93\59\32\93\61\61\93\10\97\115\115\101\114\116\40\108\111\97\100\40\97\49\41\41\40\41\10\97\115\115\101\114\116\40\116\101\109\112\32\61\61\32\39\97\110\32\97\114\98\105\116\114\97\114\121\32\118\97\108\117\101\39\41\10\95\71\46\116\101\109\112\32\61\32\110\105\108\10\45\45\32\108\111\110\103\32\115\116\114\105\110\103\115\32\45\45\10\108\111\99\97\108\32\98\32\61\32\34\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\34\10\97\115\115\101\114\116\40\115\116\114\105\110\103\46\108\101\110\40\98\41\32\61\61\32\57\54\48\41\10\112\114\105\110\116\40\39\43\39\41\10\10\108\111\99\97\108\32\97\32\61\32\91\91\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\48\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\10\93\93\10\97\115\115\101\114\116\40\115\116\114\105\110\103\46\108\101\110\40\97\41\32\61\61\32\49\56\54\51\41\10\97\115\115\101\114\116\40\115\116\114\105\110\103\46\115\117\98\40\97\44\32\49\44\32\52\48\41\32\61\61\32\115\116\114\105\110\103\46\115\117\98\40\98\44\32\49\44\32\52\48\41\41\10\120\32\61\32\49\10"
98−print("\43")
97+prog="\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{27}\u{2b}\u{27}\u{29}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{31}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{22}\u{74}\u{68}\u{69}\u{73}\u{20}\u{69}\u{73}\u{20}\u{61}\u{20}\u{27}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{73}\u{65}\u{76}\u{65}\u{72}\u{61}\u{6c}\u{20}\u{27}\u{71}\u{75}\u{6f}\u{74}\u{65}\u{73}\u{27}\u{22}\u{5d}\u{5d}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{32}\u{20}\u{3d}\u{20}\u{22}\u{27}\u{71}\u{75}\u{6f}\u{74}\u{65}\u{73}\u{27}\u{22}\u{a}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{66}\u{69}\u{6e}\u{64}\u{28}\u{61}\u{31}\u{2c}\u{20}\u{61}\u{32}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{33}\u{34}\u{29}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{27}\u{2b}\u{27}\u{29}\u{a}\u{a}\u{61}\u{31}\u{20}\u{3d}\u{20}\u{5b}\u{3d}\u{3d}\u{5b}\u{74}\u{65}\u{6d}\u{70}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{61}\u{6e}\u{20}\u{61}\u{72}\u{62}\u{69}\u{74}\u{72}\u{61}\u{72}\u{79}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{5d}\u{5d}\u{3b}\u{20}\u{5d}\u{3d}\u{3d}\u{5d}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6c}\u{6f}\u{61}\u{64}\u{28}\u{61}\u{31}\u{29}\u{29}\u{28}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{65}\u{6d}\u{70}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{61}\u{6e}\u{20}\u{61}\u{72}\u{62}\u{69}\u{74}\u{72}\u{61}\u{72}\u{79}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{27}\u{29}\u{a}\u{5f}\u{47}\u{2e}\u{74}\u{65}\u{6d}\u{70}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{2d}\u{2d}\u{20}\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{20}\u{2d}\u{2d}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{22}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{22}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{6c}\u{65}\u{6e}\u{28}\u{62}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{39}\u{36}\u{30}\u{29}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{27}\u{2b}\u{27}\u{29}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{5d}\u{5d}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{6c}\u{65}\u{6e}\u{28}\u{61}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{38}\u{36}\u{33}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{73}\u{75}\u{62}\u{28}\u{61}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{34}\u{30}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{73}\u{75}\u{62}\u{28}\u{62}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{34}\u{30}\u{29}\u{29}\u{a}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{a}"
98+print("\u{2b}")
9999_G.x=nil
100100dostring(prog)
101101assert(x)
@@ -103,11 +103,11 @@ _G.x=nil
103103do
104104local function getadd
105105(s)
106−return string.format("\37\112",s)
106+return string.format("\u{25}\u{70}",s)
107107end
108−local s1 <const> = "\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
109−local s2 <const> = "\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
110−local s3 = "\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
108+local s1 <const> = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
109+local s2 <const> = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
110+local s3 = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
111111local function foo
112112()
113113return s1
@@ -118,33 +118,33 @@ return s3
118118end
119119local function foo2
120120()
121−return "\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
121+return "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
122122end
123123local a1 = getadd(s1)
124124assert(a1 == getadd(s2))
125125assert(a1 == getadd(foo()))
126126assert(a1 == getadd(foo1()))
127127assert(a1 == getadd(foo2()))
128−local sd = "\48\49\50\51\52\53\54\55\56\57" .. "\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57"
128+local sd = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}" .. "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
129129assert(sd == s1 and getadd(sd) ~= a1)
130130end
131−prog="\108\111\99\97\108\32\97\32\61\32\49\32\32\32\32\32\32\32\32\45\45\32\97\32\99\111\109\109\101\110\116\10\108\111\99\97\108\32\98\32\61\32\50\10\10\10\120\32\61\32\91\61\91\10\104\105\10\93\61\93\10\121\32\61\32\34\92\10\104\101\108\108\111\92\114\92\110\92\10\34\10\114\101\116\117\114\110\32\114\101\113\117\105\114\101\34\100\101\98\117\103\34\46\103\101\116\105\110\102\111\40\49\41\46\99\117\114\114\101\110\116\108\105\110\101\10"
132−for _,n in pairs({"\10","\13","\10\13","\13\10"})
131+prog="\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{32}\u{a}\u{a}\u{a}\u{78}\u{20}\u{3d}\u{20}\u{5b}\u{3d}\u{5b}\u{a}\u{68}\u{69}\u{a}\u{5d}\u{3d}\u{5d}\u{a}\u{79}\u{20}\u{3d}\u{20}\u{22}\u{5c}\u{a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{5c}\u{72}\u{5c}\u{6e}\u{5c}\u{a}\u{22}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{64}\u{65}\u{62}\u{75}\u{67}\u{22}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{a}"
132+for _,n in pairs({"\u{a}","\u{d}","\u{a}\u{d}","\u{d}\u{a}"})
133133do
134−local prog,nn = string.gsub(prog,"\10",n)
134+local prog,nn = string.gsub(prog,"\u{a}",n)
135135assert(dostring(prog) == nn)
136−assert(_G.x == "\104\105\10" and _G.y == "\10\104\101\108\108\111\13\10\10")
136+assert(_G.x == "\u{68}\u{69}\u{a}" and _G.y == "\u{a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{d}\u{a}\u{a}")
137137end
138138_G.x,_G.y=nil
139−local a = "\93\61"
140−assert(a == "\93\61")
141−a="\91\61\61\61\91\91\61\91\93\93\61\93\91\61\61\61\61\91\93\93\61\61\61\93\61\61\61"
142−assert(a == "\91\61\61\61\91\91\61\91\93\93\61\93\91\61\61\61\61\91\93\93\61\61\61\93\61\61\61")
143−a="\91\61\61\61\91\91\61\91\93\93\61\93\91\61\61\61\61\91\93\93\61\61\61\93\61\61\61"
144−assert(a == "\91\61\61\61\91\91\61\91\93\93\61\93\91\61\61\61\61\91\93\93\61\61\61\93\61\61\61")
145−a="\93\93\93\93\93\93\93\93"
146−assert(a == "\93\93\93\93\93\93\93\93")
147−local x = {"\61","\91","\93","\10"}
139+local a = "\u{5d}\u{3d}"
140+assert(a == "\u{5d}\u{3d}")
141+a="\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}"
142+assert(a == "\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}")
143+a="\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}"
144+assert(a == "\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}")
145+a="\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}"
146+assert(a == "\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}")
147+local x = {"\u{3d}","\u{5b}","\u{5d}","\u{a}"}
148148local len = 4
149149local function gen
150150(c,n)
@@ -161,39 +161,39 @@ for s in coroutine.wrap(function ()
161161gen("",len)
162162end)
163163do
164−assert(s == load("\114\101\116\117\114\110\32\91\61\61\61\61\91\10" .. s .. "\93\61\61\61\61\93","")())
165−end
166−if os.setlocale("\112\116\95\66\82") or os.setlocale("\112\116\98") then
167−assert(tonumber("\51\44\52") == 3.4 and tonumber("\51\46\52") == 3.4)
168−assert(tonumber("\32\32\45\46\52\32\32") == - 0.4)
169−assert(tonumber("\32\32\43\48\120\46\52\49\32\32") == 0.25390625)
170−assert(not load("\97\32\61\32\40\51\44\52\41"))
171−assert(assert(load("\114\101\116\117\114\110\32\51\46\52"))() == 3.4)
172−assert(assert(load("\114\101\116\117\114\110\32\46\52\44\51"))() == 0.4)
173−assert(assert(load("\114\101\116\117\114\110\32\52\46"))() == 4.0)
174−assert(assert(load("\114\101\116\117\114\110\32\52\46\43\46\53"))() == 4.5)
175−assert("\32\48\120\46\49\32" + "\32\48\120\44\49" + "\45\48\88\46\49\9" == 0.0625)
176−assert(not tonumber("\105\110\102") and not tonumber("\78\65\78"))
177−assert(assert(load(string.format("\114\101\116\117\114\110\32\37\113",4.51)))() == 4.51)
178−local a,b = load("\114\101\116\117\114\110\32\52\46\53\46")
179−assert(string.find(b,"\39\52\37\46\53\37\46\39"))
180−assert(os.setlocale("\67"))
164+assert(s == load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{a}" .. s .. "\u{5d}\u{3d}\u{3d}\u{3d}\u{3d}\u{5d}","")())
165+end
166+if os.setlocale("\u{70}\u{74}\u{5f}\u{42}\u{52}") or os.setlocale("\u{70}\u{74}\u{62}") then
167+assert(tonumber("\u{33}\u{2c}\u{34}") == 3.4 and tonumber("\u{33}\u{2e}\u{34}") == 3.4)
168+assert(tonumber("\u{20}\u{20}\u{2d}\u{2e}\u{34}\u{20}\u{20}") == - 0.4)
169+assert(tonumber("\u{20}\u{20}\u{2b}\u{30}\u{78}\u{2e}\u{34}\u{31}\u{20}\u{20}") == 0.25390625)
170+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{28}\u{33}\u{2c}\u{34}\u{29}"))
171+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{2e}\u{34}"))() == 3.4)
172+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2e}\u{34}\u{2c}\u{33}"))() == 0.4)
173+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{2e}"))() == 4.0)
174+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{2e}\u{2b}\u{2e}\u{35}"))() == 4.5)
175+assert("\u{20}\u{30}\u{78}\u{2e}\u{31}\u{20}" + "\u{20}\u{30}\u{78}\u{2c}\u{31}" + "\u{2d}\u{30}\u{58}\u{2e}\u{31}\u{9}" == 0.0625)
176+assert(not tonumber("\u{69}\u{6e}\u{66}") and not tonumber("\u{4e}\u{41}\u{4e}"))
177+assert(assert(load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",4.51)))() == 4.51)
178+local a,b = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{2e}\u{35}\u{2e}")
179+assert(string.find(b,"\u{27}\u{34}\u{25}\u{2e}\u{35}\u{25}\u{2e}\u{27}"))
180+assert(os.setlocale("\u{43}"))
181181else
182−(Message or print)("\10\32\62\62\62\32\112\116\95\66\82\32\108\111\99\97\108\101\32\110\111\116\32\97\118\97\105\108\97\98\108\101\58\32\115\107\105\112\112\105\110\103\32\100\101\99\105\109\97\108\32\112\111\105\110\116\32\116\101\115\116\115\32\60\60\60\10")
182+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{70}\u{74}\u{5f}\u{42}\u{52}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{65}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{76}\u{61}\u{69}\u{6c}\u{61}\u{62}\u{6c}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{64}\u{65}\u{63}\u{69}\u{6d}\u{61}\u{6c}\u{20}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
183183end
184−local s = "\97\32\115\116\114\105\110\103\32\119\105\116\104\32\13\32\97\110\100\32\10\32\97\110\100\32\13\10\32\97\110\100\32\10\13"
185−local c = string.format("\114\101\116\117\114\110\32\37\113",s)
184+local s = "\u{61}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{d}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{a}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{d}\u{a}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{a}\u{d}"
185+local c = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",s)
186186assert(assert(load(c))() == s)
187−assert(not load("\97\32\61\32\39\110\111\110\45\101\110\100\105\110\103\32\115\116\114\105\110\103"))
188−assert(not load("\97\32\61\32\39\110\111\110\45\101\110\100\105\110\103\32\115\116\114\105\110\103\10\39"))
189−assert(not load("\97\32\61\32\39\92\51\52\53\39"))
190−assert(not load("\97\32\61\32\91\61\120\93"))
187+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
188+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{a}\u{27}"))
189+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{5c}\u{33}\u{34}\u{35}\u{27}"))
190+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{3d}\u{78}\u{5d}"))
191191local function malformednum
192192(n,exp)
193−local s,msg = load("\114\101\116\117\114\110\32" .. n)
193+local s,msg = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. n)
194194assert(not s and string.find(msg,exp))
195195end
196−malformednum("\48\120\101\45","\110\101\97\114\32\60\101\111\102\62")
197−malformednum("\48\120\101\112\45\112","\109\97\108\102\111\114\109\101\100\32\110\117\109\98\101\114")
198−malformednum("\49\112\114\105\110\116\40\41","\109\97\108\102\111\114\109\101\100\32\110\117\109\98\101\114")
199−print("\79\75")
196+malformednum("\u{30}\u{78}\u{65}\u{2d}","\u{6e}\u{65}\u{61}\u{72}\u{20}\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
197+malformednum("\u{30}\u{78}\u{65}\u{70}\u{2d}\u{70}","\u{6d}\u{61}\u{6c}\u{66}\u{6f}\u{72}\u{6d}\u{65}\u{64}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
198+malformednum("\u{31}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{29}","\u{6d}\u{61}\u{6c}\u{66}\u{6f}\u{72}\u{6d}\u{65}\u{64}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
199+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/locals.lua+162−162
@@ -1,6 +1,6 @@
1−print("\116\101\115\116\105\110\103\32\108\111\99\97\108\32\118\97\114\105\97\98\108\101\115\32\97\110\100\32\101\110\118\105\114\111\110\109\101\110\116\115")
2−local debug = require("\100\101\98\117\103")
3−local tracegc = require("\116\114\97\99\101\103\99")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{65}\u{6e}\u{76}\u{69}\u{72}\u{6f}\u{6e}\u{6d}\u{65}\u{6e}\u{74}\u{73}")
2+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3+local tracegc = require("\u{74}\u{72}\u{61}\u{63}\u{65}\u{67}\u{63}")
44local function f
55(x)
66x=nil
@@ -48,7 +48,7 @@ f=nil
4848local f
4949local x = 1
5050a=nil
51−load("\108\111\99\97\108\32\97\32\61\32\123\125")()
51+load("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}")()
5252assert(a == nil)
5353function f(a)
5454local _1,_2,_3,_4,_5
@@ -57,7 +57,7 @@ local x = 3
5757local b = a
5858local c,d = a,b
5959if (d == b) then
60−local x = "\113"
60+local x = "\u{71}"
6161x=b
6262assert(x == 2)
6363else
@@ -79,17 +79,17 @@ assert(a + 1 == b)
7979until a + b == 3
8080assert(x == 1)
8181f(2)
82−assert(type(f) == "\102\117\110\99\116\105\111\110")
82+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
8383local function getenv
8484(f)
8585local a,b = debug.getupvalue(f,1)
86−assert(a == "\95\69\78\86")
86+assert(a == "\u{5f}\u{45}\u{4e}\u{56}")
8787return b
8888end
89−assert(getenv(load("\97\61\51")) == _G)
89+assert(getenv(load("\u{61}\u{3d}\u{33}")) == _G)
9090local c = {}
9191;
92−local f = load("\97\32\61\32\51",nil,nil,c)
92+local f = load("\u{61}\u{20}\u{3d}\u{20}\u{33}",nil,nil,c)
9393assert(getenv(f) == c)
9494assert(c.a == nil)
9595f()
@@ -100,19 +100,19 @@ local p = 4
100100repeat
101101for j = - 3, 3
102102do
103−assert(load(string.format("\108\111\99\97\108\32\97\61\37\115\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\97\61\97\43\37\115\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\97\115\115\101\114\116\40\97\32\61\61\50\94\37\115\41",j,p - j,i),""))()
104−assert(load(string.format("\108\111\99\97\108\32\97\61\37\115\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\97\61\97\45\37\115\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\97\115\115\101\114\116\40\97\61\61\45\50\94\37\115\41",- j,p - j,i),""))()
105−assert(load(string.format("\108\111\99\97\108\32\97\44\98\61\48\44\37\115\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\97\61\98\45\37\115\59\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\97\115\115\101\114\116\40\97\61\61\45\50\94\37\115\41",- j,p - j,i),""))()
103+assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{61}\u{2b}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{20}\u{3d}\u{3d}\u{32}\u{5e}\u{25}\u{73}\u{29}",j,p - j,i),""))()
104+assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{61}\u{2d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{3d}\u{3d}\u{2d}\u{32}\u{5e}\u{25}\u{73}\u{29}",- j,p - j,i),""))()
105+assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{3d}\u{30}\u{2c}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{62}\u{2d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{3d}\u{3d}\u{2d}\u{32}\u{5e}\u{25}\u{73}\u{29}",- j,p - j,i),""))()
106106end
107107p=2 * p
108108;
109109i=i + 1
110110until p <= 0
111111end
112−print("\43")
113−if rawget(_G,"\84") then
114−collectgarbage("\115\116\111\112")
115−local a = {[{}] = 4,[3] = 0,["\97\108\111"] = 1,["\97\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57\48"] = 10}
112+print("\u{2b}")
113+if rawget(_G,"\u{54}") then
114+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
115+local a = {[{}] = 4,[3] = 0,["\u{61}\u{6c}\u{6f}"] = 1,["\u{61}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}"] = 10}
116116local t = T.querytab(a)
117117for k,_ in pairs(a)
118118do
@@ -122,7 +122,7 @@ collectgarbage()
122122for i = 0, t - 1
123123do
124124local k = querytab(a,i)
125−assert(k == nil or type(k) == "\110\117\109\98\101\114" or k == "\97\108\111")
125+assert(k == nil or type(k) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" or k == "\u{61}\u{6c}\u{6f}")
126126end
127127local a = {}
128128local function additems
@@ -160,11 +160,11 @@ local _ENV = (function (...)
160160return ...
161161end)(_G,dummy)
162162do
163−local _ENV = {["\97\115\115\101\114\116"] = assert}
163+local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert}
164164;
165165assert(true)
166166end
167−local mt = {["\95\71"] = _G}
167+local mt = {["\u{5f}\u{47}"] = _G}
168168local foo,x
169169A=false
170170do
@@ -182,15 +182,15 @@ end
182182end
183183end
184184assert(getenv(foo) == mt)
185−x=foo("\104\105")
185+x=foo("\u{68}\u{69}")
186186;
187−assert(mt.A == "\104\105" and A == 1000)
188−assert(x("\42") == mt.A .. "\42")
187+assert(mt.A == "\u{68}\u{69}" and A == 1000)
188+assert(x("\u{2a}") == mt.A .. "\u{2a}")
189189do
190−local _ENV = {["\97\115\115\101\114\116"] = assert,["\65"] = 10}
190+local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert,["\u{41}"] = 10}
191191;
192192do
193−local _ENV = {["\97\115\115\101\114\116"] = assert,["\65"] = 20}
193+local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert,["\u{41}"] = 20}
194194;
195195assert(A == 20)
196196;
@@ -207,25 +207,25 @@ assert(a == 10 and b == 60 and c == 30)
207207local function checkro
208208(name,code)
209209local st,msg = load(code)
210−local gab = string.format("\97\116\116\101\109\112\116\32\116\111\32\97\115\115\105\103\110\32\116\111\32\99\111\110\115\116\32\118\97\114\105\97\98\108\101\32\39\37\115\39",name)
210+local gab = string.format("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{61}\u{73}\u{73}\u{69}\u{67}\u{6e}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{27}\u{25}\u{73}\u{27}",name)
211211assert(not st and string.find(msg,gab))
212212end
213−checkro("\121","\108\111\99\97\108\32\120\44\32\121\32\60\99\111\110\115\116\62\44\32\122\32\61\32\49\48\44\32\50\48\44\32\51\48\59\32\120\32\61\32\49\49\59\32\121\32\61\32\49\50")
214−checkro("\120","\108\111\99\97\108\32\120\32\60\99\111\110\115\116\62\44\32\121\44\32\122\32\60\99\111\110\115\116\62\32\61\32\49\48\44\32\50\48\44\32\51\48\59\32\120\32\61\32\49\49")
215−checkro("\122","\108\111\99\97\108\32\120\32\60\99\111\110\115\116\62\44\32\121\44\32\122\32\60\99\111\110\115\116\62\32\61\32\49\48\44\32\50\48\44\32\51\48\59\32\121\32\61\32\49\48\59\32\122\32\61\32\49\49")
216−checkro("\102\111\111","\108\111\99\97\108\32\102\111\111\32\60\99\111\110\115\116\62\32\61\32\49\48\59\32\102\117\110\99\116\105\111\110\32\102\111\111\40\41\32\101\110\100")
217−checkro("\102\111\111","\108\111\99\97\108\32\102\111\111\32\60\99\111\110\115\116\62\32\61\32\123\125\59\32\102\117\110\99\116\105\111\110\32\102\111\111\40\41\32\101\110\100")
218−checkro("\122","\32\32\32\32\108\111\99\97\108\32\97\44\32\122\32\60\99\111\110\115\116\62\44\32\98\32\61\32\49\48\59\10\32\32\32\32\102\117\110\99\116\105\111\110\32\102\111\111\40\41\32\97\32\61\32\50\48\59\32\122\32\61\32\51\50\59\32\101\110\100\10\32\32")
219−checkro("\118\97\114\49","\32\32\32\32\108\111\99\97\108\32\97\44\32\118\97\114\49\32\60\99\111\110\115\116\62\32\61\32\49\48\59\10\32\32\32\32\102\117\110\99\116\105\111\110\32\102\111\111\40\41\32\97\32\61\32\50\48\59\32\122\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\118\97\114\49\32\61\32\49\50\59\32\101\110\100\32\32\101\110\100\10\32\32")
213+checkro("\u{79}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{2c}\u{20}\u{79}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{2c}\u{20}\u{7a}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{2c}\u{20}\u{32}\u{30}\u{2c}\u{20}\u{33}\u{30}\u{3b}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{31}\u{3b}\u{20}\u{79}\u{20}\u{3d}\u{20}\u{31}\u{32}")
214+checkro("\u{78}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{2c}\u{20}\u{79}\u{2c}\u{20}\u{7a}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{2c}\u{20}\u{32}\u{30}\u{2c}\u{20}\u{33}\u{30}\u{3b}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{31}")
215+checkro("\u{7a}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{2c}\u{20}\u{79}\u{2c}\u{20}\u{7a}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{2c}\u{20}\u{32}\u{30}\u{2c}\u{20}\u{33}\u{30}\u{3b}\u{20}\u{79}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{7a}\u{20}\u{3d}\u{20}\u{31}\u{31}")
216+checkro("\u{66}\u{6f}\u{6f}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{29}\u{20}\u{65}\u{6e}\u{64}")
217+checkro("\u{66}\u{6f}\u{6f}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{3b}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{29}\u{20}\u{65}\u{6e}\u{64}")
218+checkro("\u{7a}","\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{20}\u{7a}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{2c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{29}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{7a}\u{20}\u{3d}\u{20}\u{33}\u{32}\u{3b}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}")
219+checkro("\u{76}\u{61}\u{72}\u{31}","\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{20}\u{76}\u{61}\u{72}\u{31}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{29}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{7a}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{76}\u{61}\u{72}\u{31}\u{20}\u{3d}\u{20}\u{31}\u{32}\u{3b}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}")
220220end
221−print("\116\101\115\116\105\110\103\32\116\111\45\98\101\45\99\108\111\115\101\100\32\118\97\114\105\97\98\108\101\115")
221+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}")
222222local function stack
223223(n)
224224n=((n == 0) or stack(n - 1))
225225end
226226local function func2close
227227(f,x,y)
228−local obj = setmetatable({},{["\95\95\99\108\111\115\101"] = f})
228+local obj = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = f})
229229if x then
230230return x,obj,y
231231else
@@ -236,20 +236,20 @@ do
236236local a = {}
237237do
238238local b <close> = false
239−local x <close> = setmetatable({"\120"},{["\95\95\99\108\111\115\101"] = function (self)
239+local x <close> = setmetatable({"\u{78}"},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function (self)
240240a[# a + 1]=self[1]
241241end})
242242local w,y <close>,z = func2close(function (self,err)
243243assert(err == nil)
244244;
245−a[# a + 1]="\121"
245+a[# a + 1]="\u{79}"
246246end,10,20)
247247local c <close> = nil
248−a[# a + 1]="\105\110"
248+a[# a + 1]="\u{69}\u{6e}"
249249assert(w == 10 and z == 20)
250250end
251−a[# a + 1]="\111\117\116"
252−assert(a[1] == "\105\110" and a[2] == "\121" and a[3] == "\120" and a[4] == "\111\117\116")
251+a[# a + 1]="\u{6f}\u{75}\u{74}"
252+assert(a[1] == "\u{69}\u{6e}" and a[2] == "\u{79}" and a[3] == "\u{78}" and a[4] == "\u{6f}\u{75}\u{74}")
253253end
254254do
255255local X = false
@@ -273,7 +273,7 @@ assert(a == 1.5 and b == false and c == 23 and X == true)
273273X=false
274274foo=function (x)
275275local _ <close> = func2close(function (_,msg)
276−assert(debug.getinfo(2).name == "\102\111\111")
276+assert(debug.getinfo(2).name == "\u{66}\u{6f}\u{6f}")
277277assert(msg == nil)
278278end)
279279local _ <close> = closescope
@@ -290,7 +290,7 @@ assert(foo() == closescope and X == true)
290290end
291291do
292292local flag = false
293−local x = setmetatable({},{["\95\95\99\108\111\115\101"] = function ()
293+local x = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
294294assert(flag == false)
295295;
296296flag=true
@@ -304,7 +304,7 @@ assert(flag)
304304end
305305do
306306local flag = false
307−local x = setmetatable({},{["\95\95\99\108\111\115\101"] = function ()
307+local x = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
308308assert(flag == false)
309309;
310310flag=true
@@ -375,7 +375,7 @@ assert(closed == true)
375375end
376376do
377377local closed = false
378−local o1 = setmetatable({},{["\95\95\99\108\111\115\101"] = function ()
378+local o1 = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
379379closed=true
380380end})
381381local function test
@@ -393,86 +393,86 @@ end
393393test()
394394end
395395do
396−print("\116\101\115\116\105\110\103\32\101\114\114\111\114\115\32\105\110\32\95\95\99\108\111\115\101")
396+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}")
397397local function foo
398398()
399399local x <close> = func2close(function (self,msg)
400−assert(string.find(msg,"\64\121"))
401−error("\64\120")
400+assert(string.find(msg,"\u{40}\u{79}"))
401+error("\u{40}\u{78}")
402402end)
403403local x1 <close> = func2close(function (self,msg)
404−assert(string.find(msg,"\64\121"))
404+assert(string.find(msg,"\u{40}\u{79}"))
405405end)
406406local gc <close> = func2close(function ()
407407collectgarbage()
408408end)
409409local y <close> = func2close(function (self,msg)
410−assert(string.find(msg,"\64\122"))
411−error("\64\121")
410+assert(string.find(msg,"\u{40}\u{7a}"))
411+error("\u{40}\u{79}")
412412end)
413413local z <close> = func2close(function (self,msg)
414414assert(msg == nil)
415−error("\64\122")
415+error("\u{40}\u{7a}")
416416end)
417417return 200
418418end
419419local stat,msg = pcall(foo,false)
420−assert(string.find(msg,"\64\120"))
420+assert(string.find(msg,"\u{40}\u{78}"))
421421local function foo
422422()
423423local x <close> = func2close(function (self,msg)
424−assert(debug.getinfo(2).name == "\112\99\97\108\108")
425−assert(string.find(msg,"\64\120\49"))
424+assert(debug.getinfo(2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
425+assert(string.find(msg,"\u{40}\u{78}\u{31}"))
426426end)
427427local x1 <close> = func2close(function (self,msg)
428−assert(debug.getinfo(2).name == "\112\99\97\108\108")
429−assert(string.find(msg,"\64\121"))
430−error("\64\120\49")
428+assert(debug.getinfo(2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
429+assert(string.find(msg,"\u{40}\u{79}"))
430+error("\u{40}\u{78}\u{31}")
431431end)
432432local gc <close> = func2close(function ()
433433collectgarbage()
434434end)
435435local y <close> = func2close(function (self,msg)
436−assert(debug.getinfo(2).name == "\112\99\97\108\108")
437−assert(string.find(msg,"\64\122"))
438−error("\64\121")
436+assert(debug.getinfo(2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
437+assert(string.find(msg,"\u{40}\u{7a}"))
438+error("\u{40}\u{79}")
439439end)
440440local first = true
441441local z <close> = func2close(function (self,msg)
442−assert(debug.getinfo(2).name == "\112\99\97\108\108")
442+assert(debug.getinfo(2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
443443assert(first and msg == 4)
444444first=false
445−error("\64\122")
445+error("\u{40}\u{7a}")
446446end)
447447error(4)
448448end
449449local stat,msg = pcall(foo,true)
450−assert(string.find(msg,"\64\120\49"))
450+assert(string.find(msg,"\u{40}\u{78}\u{31}"))
451451local function foo
452452(...)
453453do
454454local x1 <close> = func2close(function (self,msg)
455−assert(string.find(msg,"\64\88"))
456−error("\64\89")
455+assert(string.find(msg,"\u{40}\u{58}"))
456+error("\u{40}\u{59}")
457457end)
458458local x123 <close> = func2close(function (_,msg)
459459assert(msg == nil)
460−error("\64\88")
460+error("\u{40}\u{58}")
461461end)
462462end
463463os.exit(false)
464464end
465465local st,msg = xpcall(foo,debug.traceback)
466−assert(string.match(msg,"\94\91\94\32\93\42\32\64\89"))
466+assert(string.match(msg,"\u{5e}\u{5b}\u{5e}\u{20}\u{5d}\u{2a}\u{20}\u{40}\u{59}"))
467467local function foo
468468(...)
469469local x123 <close> = func2close(function ()
470−error("\64\120\49\50\51")
470+error("\u{40}\u{78}\u{31}\u{32}\u{33}")
471471end)
472472end
473473local st,msg = xpcall(foo,debug.traceback)
474−assert(string.match(msg,"\94\91\94\32\93\42\32\64\120\49\50\51"))
475−assert(string.find(msg,"\105\110\32\109\101\116\97\109\101\116\104\111\100\32\39\99\108\111\115\101\39"))
474+assert(string.match(msg,"\u{5e}\u{5b}\u{5e}\u{20}\u{5d}\u{2a}\u{20}\u{40}\u{78}\u{31}\u{32}\u{33}"))
475+assert(string.find(msg,"\u{69}\u{6e}\u{20}\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{27}"))
476476end
477477do
478478local function foo
@@ -481,21 +481,21 @@ local x <close> = {}
481481os.exit(false)
482482end
483483local stat,msg = pcall(foo)
484−assert(not stat and string.find(msg,"\118\97\114\105\97\98\108\101\32\39\120\39\32\103\111\116\32\97\32\110\111\110\37\45\99\108\111\115\97\98\108\101\32\118\97\108\117\101"))
484+assert(not stat and string.find(msg,"\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{27}\u{78}\u{27}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{61}\u{20}\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}"))
485485local function foo
486486()
487−local xyz <close> = setmetatable({},{["\95\95\99\108\111\115\101"] = print})
487+local xyz <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = print})
488488getmetatable(xyz).__close=nil
489489end
490490local stat,msg = pcall(foo)
491−assert(not stat and string.find(msg,"\109\101\116\97\109\101\116\104\111\100\32\39\99\108\111\115\101\39"))
491+assert(not stat and string.find(msg,"\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{27}"))
492492local function foo
493493()
494494local a1 <close> = func2close(function (_,msg)
495−assert(string.find(msg,"\110\117\109\98\101\114\32\118\97\108\117\101"))
495+assert(string.find(msg,"\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}"))
496496error(12)
497497end)
498−local a2 <close> = setmetatable({},{["\95\95\99\108\111\115\101"] = print})
498+local a2 <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = print})
499499local a3 <close> = func2close(function (_,msg)
500500assert(msg == nil)
501501error(123)
@@ -512,38 +512,38 @@ local function foo
512512local x <close> = func2close(function ()
513513local xx <close> = func2close(function (_,msg)
514514assert(msg == nil)
515−track[# track + 1]="\120\120"
515+track[# track + 1]="\u{78}\u{78}"
516516end)
517−track[# track + 1]="\120"
517+track[# track + 1]="\u{78}"
518518end)
519−track[# track + 1]="\102\111\111"
519+track[# track + 1]="\u{66}\u{6f}\u{6f}"
520520return 20,30,40
521521end
522522local a,b,c,d = foo()
523523assert(a == 20 and b == 30 and c == 40 and d == nil)
524−assert(track[1] == "\102\111\111" and track[2] == "\120" and track[3] == "\120\120")
524+assert(track[1] == "\u{66}\u{6f}\u{6f}" and track[2] == "\u{78}" and track[3] == "\u{78}\u{78}")
525525local track = {}
526526local function foo
527527()
528528local x0 <close> = func2close(function (_,msg)
529529assert(msg == 202)
530−track[# track + 1]="\120\48"
530+track[# track + 1]="\u{78}\u{30}"
531531end)
532532local x <close> = func2close(function ()
533533local xx <close> = func2close(function (_,msg)
534534assert(msg == 101)
535−track[# track + 1]="\120\120"
535+track[# track + 1]="\u{78}\u{78}"
536536error(202)
537537end)
538−track[# track + 1]="\120"
538+track[# track + 1]="\u{78}"
539539error(101)
540540end)
541−track[# track + 1]="\102\111\111"
541+track[# track + 1]="\u{66}\u{6f}\u{6f}"
542542return 20,30,40
543543end
544544local st,msg = pcall(foo)
545545assert(not st and msg == 202)
546−assert(track[1] == "\102\111\111" and track[2] == "\120" and track[3] == "\120\120" and track[4] == "\120\48")
546+assert(track[1] == "\u{66}\u{6f}\u{6f}" and track[2] == "\u{78}" and track[3] == "\u{78}\u{78}" and track[4] == "\u{78}\u{30}")
547547end
548548local function checktable
549549(t1,t2)
@@ -560,7 +560,7 @@ overflow(n + 1)
560560end
561561local function errorh
562562(m)
563−assert(string.find(m,"\115\116\97\99\107\32\111\118\101\114\102\108\111\119"))
563+assert(string.find(m,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
564564local x <close> = func2close(function (o)
565565o[1]=10
566566end)
@@ -581,7 +581,7 @@ end)
581581co()
582582assert(not st and obj[1] == 10 and flag[1] == 100)
583583end
584−if rawget(_G,"\84") then
584+if rawget(_G,"\u{54}") then
585585do
586586collectgarbage()
587587;
@@ -594,10 +594,10 @@ if n < 400 then
594594loop(n + 1)
595595end
596596end
597−local o = setmetatable({},{["\95\95\99\108\111\115\101"] = function ()
597+local o = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
598598loop(0)
599599end})
600−local script = "\116\111\99\108\111\115\101\32\50\59\32\115\101\116\116\111\112\32\49\59\32\114\101\116\117\114\110\32\49"
600+local script = "\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"
601601assert(T.testC(script,o) == script)
602602end
603603local function foo
@@ -605,7 +605,7 @@ local function foo
605605local y <close> = func2close(function ()
606606T.alloccount()
607607end)
608−local x <close> = setmetatable({},{["\95\95\99\108\111\115\101"] = function ()
608+local x <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
609609T.alloccount(0)
610610;
611611local x = {}
@@ -614,7 +614,7 @@ error(1000)
614614end
615615stack(5)
616616local _,msg = pcall(foo)
617−assert(msg == "\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121")
617+assert(msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
618618local closemsg
619619local close = func2close(function (self,msg)
620620T.alloccount()
@@ -633,42 +633,42 @@ local x <close> = enter(0)
633633local y = {}
634634end
635635local _,msg = pcall(test)
636−assert(msg == "\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121" and closemsg == "\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121")
636+assert(msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}" and closemsg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
637637local function test
638638()
639639local xxx <close> = func2close(function (self,msg)
640−assert(msg == "\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121")
640+assert(msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
641641;
642642error(1000)
643643end)
644644local xx <close> = func2close(function (self,msg)
645−assert(msg == "\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121")
645+assert(msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
646646;
647647end)
648648local x <close> = enter(0)
649649local y = {}
650650end
651651local _,msg = pcall(test)
652−assert(msg == 1000 and closemsg == "\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121")
652+assert(msg == 1000 and closemsg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
653653do
654654collectgarbage()
655−local s = string.rep("\97",10000)
655+local s = string.rep("\u{61}",10000)
656656local m = T.totalmem()
657−collectgarbage("\115\116\111\112")
657+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
658658s=string.upper(s)
659659assert(T.totalmem() - m <= 11000)
660−collectgarbage("\114\101\115\116\97\114\116")
660+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
661661end
662662do
663663local lim = 10000
664664local extra = 2000
665−local s = string.rep("\97",lim)
665+local s = string.rep("\u{61}",lim)
666666local a = {s,s}
667667collectgarbage()
668668;
669669collectgarbage()
670670local m = T.totalmem()
671−collectgarbage("\115\116\111\112")
671+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
672672T.totalmem(m + extra)
673673assert(not pcall(table.concat,a))
674674assert(T.totalmem() - m <= extra)
@@ -681,25 +681,25 @@ assert(T.totalmem() - m <= extra)
681681T.totalmem(m + 4 * lim + extra)
682682assert(# table.concat(a) == 2 * lim)
683683T.totalmem(0)
684−collectgarbage("\114\101\115\116\97\114\116")
685−print("\43")
684+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
685+print("\u{2b}")
686686end
687687do
688688local trace = {}
689689local function hook
690690(event)
691−trace[# trace + 1]=event .. "\32" .. (debug.getinfo(2).name or "\63")
691+trace[# trace + 1]=event .. "\u{20}" .. (debug.getinfo(2).name or "\u{3f}")
692692end
693693local x = func2close(function (_,msg)
694−trace[# trace + 1]="\120"
694+trace[# trace + 1]="\u{78}"
695695end)
696696local y = func2close(function (_,msg)
697−trace[# trace + 1]="\121"
697+trace[# trace + 1]="\u{79}"
698698end)
699−debug.sethook(hook,"\114")
700−local t = {T.testC("\32\32\32\32\32\32\32\116\111\99\108\111\115\101\32\50\32\32\32\32\32\32\35\32\120\10\32\32\32\32\32\32\32\112\117\115\104\110\117\109\32\49\48\10\32\32\32\32\32\32\32\112\117\115\104\105\110\116\32\50\48\10\32\32\32\32\32\32\32\116\111\99\108\111\115\101\32\51\32\32\32\32\32\32\35\32\121\10\32\32\32\32\32\32\32\114\101\116\117\114\110\32\50\10\32\32\32\32",x,y)}
699+debug.sethook(hook,"\u{72}")
700+local t = {T.testC("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{78}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{32}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{33}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}",x,y)}
701701debug.sethook()
702−checktable(trace,{"\114\101\116\117\114\110\32\115\101\116\104\111\111\107","\121","\114\101\116\117\114\110\32\63","\120","\114\101\116\117\114\110\32\63","\114\101\116\117\114\110\32\116\101\115\116\67"})
702+checktable(trace,{"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{65}\u{74}\u{68}\u{6f}\u{6f}\u{6b}","\u{79}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{3f}","\u{78}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{3f}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}"})
703703checktable(t,{10,20})
704704end
705705end
@@ -707,58 +707,58 @@ do
707707local trace = {}
708708local function hook
709709(event)
710−trace[# trace + 1]=event .. "\32" .. debug.getinfo(2).name
710+trace[# trace + 1]=event .. "\u{20}" .. debug.getinfo(2).name
711711end
712712local function foo
713713(...)
714714local x <close> = func2close(function (_,msg)
715−trace[# trace + 1]="\120"
715+trace[# trace + 1]="\u{78}"
716716end)
717717local y <close> = func2close(function (_,msg)
718−debug.sethook(hook,"\114")
718+debug.sethook(hook,"\u{72}")
719719end)
720720return ...
721721end
722722local t = {foo(10,20,30)}
723723debug.sethook()
724724checktable(t,{10,20,30})
725−checktable(trace,{"\114\101\116\117\114\110\32\115\101\116\104\111\111\107","\114\101\116\117\114\110\32\99\108\111\115\101","\120","\114\101\116\117\114\110\32\99\108\111\115\101","\114\101\116\117\114\110\32\102\111\111"})
725+checktable(trace,{"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{65}\u{74}\u{68}\u{6f}\u{6f}\u{6b}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}","\u{78}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{6f}\u{6f}"})
726726end
727−print("\116\111\45\98\101\45\99\108\111\115\101\100\32\118\97\114\105\97\98\108\101\115\32\105\110\32\99\111\114\111\117\116\105\110\101\115")
727+print("\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}")
728728do
729729local trace = {}
730730local co = coroutine.wrap(function ()
731−trace[# trace + 1]="\110\111\119\88"
731+trace[# trace + 1]="\u{6e}\u{6f}\u{77}\u{58}"
732732local x <close> = func2close(function (_,msg)
733733assert(msg == nil)
734−trace[# trace + 1]="\120\49"
735−coroutine.yield("\120")
736−trace[# trace + 1]="\120\50"
734+trace[# trace + 1]="\u{78}\u{31}"
735+coroutine.yield("\u{78}")
736+trace[# trace + 1]="\u{78}\u{32}"
737737end)
738738return pcall(function ()
739739do
740740local z <close> = func2close(function (_,msg)
741741assert(msg == nil)
742−trace[# trace + 1]="\122\49"
743−coroutine.yield("\122")
744−trace[# trace + 1]="\122\50"
742+trace[# trace + 1]="\u{7a}\u{31}"
743+coroutine.yield("\u{7a}")
744+trace[# trace + 1]="\u{7a}\u{32}"
745745end)
746746end
747−trace[# trace + 1]="\110\111\119\89"
747+trace[# trace + 1]="\u{6e}\u{6f}\u{77}\u{59}"
748748local y <close> = func2close(function (_,msg)
749749assert(msg == nil)
750−trace[# trace + 1]="\121\49"
751−coroutine.yield("\121")
752−trace[# trace + 1]="\121\50"
750+trace[# trace + 1]="\u{79}\u{31}"
751+coroutine.yield("\u{79}")
752+trace[# trace + 1]="\u{79}\u{32}"
753753end)
754754return 10,20,30
755755end)
756756end)
757−assert(co() == "\122")
758−assert(co() == "\121")
759−assert(co() == "\120")
757+assert(co() == "\u{7a}")
758+assert(co() == "\u{79}")
759+assert(co() == "\u{78}")
760760checktable({co()},{true,10,20,30})
761−checktable(trace,{"\110\111\119\88","\122\49","\122\50","\110\111\119\89","\121\49","\121\50","\120\49","\120\50"})
761+checktable(trace,{"\u{6e}\u{6f}\u{77}\u{58}","\u{7a}\u{31}","\u{7a}\u{32}","\u{6e}\u{6f}\u{77}\u{59}","\u{79}\u{31}","\u{79}\u{32}","\u{78}\u{31}","\u{78}\u{32}"})
762762end
763763do
764764local extrares
@@ -775,7 +775,7 @@ local res2 = table.pack(co())
775775assert(res2.n == t.n)
776776for i = 1, # t
777777do
778−if t[i] == "\120" then
778+if t[i] == "\u{78}" then
779779assert(res2[i] == res[1])
780780else
781781assert(res2[i] == t[i])
@@ -792,7 +792,7 @@ end)
792792extrares=extra
793793return table.unpack({10,x,30})
794794end
795−check(foo,true,10,"\120",30)
795+check(foo,true,10,"\u{78}",30)
796796assert(extrares == 100)
797797local function foo
798798()
@@ -806,7 +806,7 @@ local x <close> = func2close(coroutine.yield)
806806local y,z = 20,30
807807return x
808808end
809−check(foo,false,"\120")
809+check(foo,false,"\u{78}")
810810local function foo
811811()
812812local x <close> = func2close(coroutine.yield)
@@ -821,19 +821,19 @@ local function foo
821821(err)
822822local z <close> = func2close(function (_,msg)
823823assert(msg == nil or msg == err + 20)
824−coroutine.yield("\122")
824+coroutine.yield("\u{7a}")
825825return 100,200
826826end)
827827local y <close> = func2close(function (_,msg)
828828assert(msg == err or (msg == nil and err == 1))
829−coroutine.yield("\121")
829+coroutine.yield("\u{79}")
830830if err then
831831error(err + 20)
832832end
833833end)
834834local x <close> = func2close(function (_,msg)
835835assert(msg == err or (msg == nil and err == 1))
836−coroutine.yield("\120")
836+coroutine.yield("\u{78}")
837837return 100,200
838838end)
839839if err == 10 then
@@ -847,27 +847,27 @@ coroutine.yield(pcall(foo,1))
847847return pcall(foo,10)
848848end)
849849local a,b = co()
850−assert(a == "\120" and b == nil)
850+assert(a == "\u{78}" and b == nil)
851851a,b=co()
852−assert(a == "\121" and b == nil)
852+assert(a == "\u{79}" and b == nil)
853853a,b=co()
854−assert(a == "\122" and b == nil)
854+assert(a == "\u{7a}" and b == nil)
855855local a,b,c = co()
856856assert(a and b == 10 and c == 20)
857857local a,b = co()
858−assert(a == "\120" and b == nil)
858+assert(a == "\u{78}" and b == nil)
859859a,b=co()
860−assert(a == "\121" and b == nil)
860+assert(a == "\u{79}" and b == nil)
861861a,b=co()
862−assert(a == "\122" and b == nil)
862+assert(a == "\u{7a}" and b == nil)
863863local st,msg = co()
864864assert(not st and msg == 21)
865865local a,b = co()
866−assert(a == "\120" and b == nil)
866+assert(a == "\u{78}" and b == nil)
867867a,b=co()
868−assert(a == "\121" and b == nil)
868+assert(a == "\u{79}" and b == nil)
869869a,b=co()
870−assert(a == "\122" and b == nil)
870+assert(a == "\u{7a}" and b == nil)
871871local st,msg = co()
872872assert(not st and msg == 10 + 20)
873873end
@@ -900,13 +900,13 @@ local co = coroutine.wrap(function ()
900900local xx <close> = func2close(function (_,msg)
901901x=x + 1
902902;
903−assert(string.find(msg,"\64\88\88\88"))
904−error("\64\89\89\89")
903+assert(string.find(msg,"\u{40}\u{58}\u{58}\u{58}"))
904+error("\u{40}\u{59}\u{59}\u{59}")
905905end)
906906local xv <close> = func2close(function ()
907907x=x + 1
908908;
909−error("\64\88\88\88")
909+error("\u{40}\u{58}\u{58}\u{58}")
910910end)
911911coroutine.yield(100)
912912error(200)
@@ -917,20 +917,20 @@ assert(x == 0)
917917local st,msg = pcall(co)
918918;
919919assert(x == 2)
920−assert(not st and string.find(msg,"\64\89\89\89"))
920+assert(not st and string.find(msg,"\u{40}\u{59}\u{59}\u{59}"))
921921local x = 0
922922local y = 0
923923co=coroutine.wrap(function ()
924924local xx <close> = func2close(function (_,err)
925925y=y + 1
926926;
927−assert(string.find(err,"\88\88\88"))
928−error("\89\89\89")
927+assert(string.find(err,"\u{58}\u{58}\u{58}"))
928+error("\u{59}\u{59}\u{59}")
929929end)
930930local xv <close> = func2close(function ()
931931x=x + 1
932932;
933−error("\88\88\88")
933+error("\u{58}\u{58}\u{58}")
934934end)
935935coroutine.yield(100)
936936return 200
@@ -940,7 +940,7 @@ assert(co() == 100)
940940assert(x == 0)
941941local st,msg = pcall(co)
942942assert(x == 1 and y == 1)
943−assert(not st and string.find(msg,"\37\119\43\37\46\37\119\43\58\37\100\43\58\32\89\89\89"))
943+assert(not st and string.find(msg,"\u{25}\u{77}\u{2b}\u{25}\u{2e}\u{25}\u{77}\u{2b}\u{3a}\u{25}\u{64}\u{2b}\u{3a}\u{20}\u{59}\u{59}\u{59}"))
944944end
945945local co
946946co=coroutine.wrap(function ()
@@ -953,12 +953,12 @@ end)
953953co()
954954assert(co == nil)
955955collectgarbage()
956−if rawget(_G,"\84") then
957−print("\116\111\45\98\101\45\99\108\111\115\101\100\32\118\97\114\105\97\98\108\101\115\32\120\32\99\111\114\111\117\116\105\110\101\115\32\105\110\32\67")
956+if rawget(_G,"\u{54}") then
957+print("\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{20}\u{78}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{43}")
958958do
959959local token = 0
960960local count = 0
961−local f = T.makeCfunc("\32\32\32\32\32\32\116\111\99\108\111\115\101\32\49\10\32\32\32\32\32\32\116\111\99\108\111\115\101\32\50\10\32\32\32\32\32\32\114\101\116\117\114\110\32\46\10\32\32\32\32")
961+local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2e}\u{a}\u{20}\u{20}\u{20}\u{20}")
962962local obj = func2close(function (_,msg)
963963count=count + 1
964964token=coroutine.yield(count,token)
@@ -973,33 +973,33 @@ assert(res[1] == 10 and res[2] == 20 and res[3] == 30 and res[4] == nil)
973973assert(token == 200)
974974end
975975do
976−local f = T.makeCfunc("\32\32\32\32\32\32\116\111\99\108\111\115\101\32\49\10\32\32\32\32\32\32\114\101\116\117\114\110\32\46\10\32\32\32\32")
976+local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2e}\u{a}\u{20}\u{20}\u{20}\u{20}")
977977local obj = func2close(function ()
978978local temp
979979local x <close> = func2close(function ()
980980coroutine.yield(temp)
981981return 1,2,3
982982end)
983−temp=coroutine.yield("\99\108\111\115\105\110\103\32\111\98\106")
983+temp=coroutine.yield("\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{62}\u{6a}")
984984return 1,2,3
985985end)
986986local co = coroutine.wrap(f)
987987local res = co(obj,10,30,1)
988−assert(res == "\99\108\111\115\105\110\103\32\111\98\106")
989−res=co("\99\108\111\115\105\110\103\32\120")
990−assert(res == "\99\108\111\115\105\110\103\32\120")
988+assert(res == "\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{62}\u{6a}")
989+res=co("\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{78}")
990+assert(res == "\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{78}")
991991res={co()}
992992assert(res[1] == 30 and res[2] == nil)
993993end
994994do
995−local f = T.makeCfunc("\32\32\32\32\32\32\116\111\99\108\111\115\101\32\49\10\32\32\32\32\32\32\99\108\111\115\101\115\108\111\116\32\49\10\32\32\32\32")
995+local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{73}\u{6c}\u{6f}\u{74}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}")
996996local obj = func2close(coroutine.yield)
997997local co = coroutine.create(f)
998998local st,msg = coroutine.resume(co,obj)
999−assert(not st and string.find(msg,"\97\116\116\101\109\112\116\32\116\111\32\121\105\101\108\100\32\97\99\114\111\115\115"))
1000−local f = T.makeCfunc("\32\32\32\32\32\32\116\111\99\108\111\115\101\32\49\10\32\32\32\32")
999+assert(not st and string.find(msg,"\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{61}\u{63}\u{72}\u{6f}\u{73}\u{73}"))
1000+local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}")
10011001local st,msg = pcall(f,obj)
1002−assert(not st and string.find(msg,"\97\116\116\101\109\112\116\32\116\111\32\121\105\101\108\100\32\102\114\111\109\32\111\117\116\115\105\100\101"))
1002+assert(not st and string.find(msg,"\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{6f}\u{75}\u{74}\u{73}\u{69}\u{64}\u{65}"))
10031003end
10041004end
10051005do
@@ -1045,6 +1045,6 @@ end
10451045::endloop::
10461046assert(s == 375 and numopen == 0)
10471047end
1048−print("\79\75")
1048+print("\u{4f}\u{4b}")
10491049return 5,f
10501050end
zod/luau/res/lua/cycled/main.lua+199−199
@@ -1,7 +1,7 @@
11if _port then
22return
33end
4−print("\116\101\115\116\105\110\103\32\115\116\97\110\100\45\97\108\111\110\101\32\105\110\116\101\114\112\114\101\116\101\114")
4+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{6e}\u{64}\u{2d}\u{61}\u{6c}\u{6f}\u{6e}\u{65}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{72}\u{70}\u{72}\u{65}\u{74}\u{65}\u{72}")
55assert(os.execute())
66local arg = arg or ARG
77local prog = os.tmpname()
@@ -15,9 +15,9 @@ i=i - 1
1515end
1616progname=arg[i + 1]
1717end
18−print("\112\114\111\103\110\97\109\101\58\32" .. progname)
18+print("\u{70}\u{72}\u{6f}\u{67}\u{6e}\u{61}\u{6d}\u{65}\u{3a}\u{20}" .. progname)
1919local prepfile = function (s,mod,p)
20−mod=mod and "\119\98" or "\119"
20+mod=mod and "\u{77}\u{62}" or "\u{77}"
2121p=p or prog
2222local f = io.open(p,mod)
2323f:write(s)
@@ -26,16 +26,16 @@ end
2626local function getoutput
2727()
2828local f = io.open(out)
29−local t = f:read("\97")
29+local t = f:read("\u{61}")
3030f:close()
3131assert(os.remove(out))
3232return t
3333end
3434local function checkprogout
3535(s)
36−assert(string.sub(s,- 1) == "\10")
36+assert(string.sub(s,- 1) == "\u{a}")
3737local t = getoutput()
38−for line in string.gmatch(s,"\46\45\10")
38+for line in string.gmatch(s,"\u{2e}\u{2d}\u{a}")
3939do
4040assert(string.find(t,line,1,true))
4141end
@@ -44,259 +44,259 @@ local function checkout
4444(s)
4545local t = getoutput()
4646if s ~= t then
47−print(string.format("\39\37\115\39\32\45\32\39\37\115\39\10",s,t))
47+print(string.format("\u{27}\u{25}\u{73}\u{27}\u{20}\u{2d}\u{20}\u{27}\u{25}\u{73}\u{27}\u{a}",s,t))
4848end
4949assert(s == t)
5050return t
5151end
5252local function RUN
5353(p, ...)
54−p=string.gsub(p,"\108\117\97","\34" .. progname .. "\34",1)
54+p=string.gsub(p,"\u{6c}\u{75}\u{61}","\u{22}" .. progname .. "\u{22}",1)
5555local s = string.format(p,...)
5656assert(os.execute(s))
5757end
5858local function NoRun
5959(msg,p, ...)
60−p=string.gsub(p,"\108\117\97","\34" .. progname .. "\34",1)
60+p=string.gsub(p,"\u{6c}\u{75}\u{61}","\u{22}" .. progname .. "\u{22}",1)
6161local s = string.format(p,...)
62−s=string.format("\37\115\32\62\37\115\32\50\62\38\49",s,out)
62+s=string.format("\u{25}\u{73}\u{20}\u{3e}\u{25}\u{73}\u{20}\u{32}\u{3e}\u{26}\u{31}",s,out)
6363assert(not os.execute(s))
6464assert(string.find(getoutput(),msg,1,true))
6565end
66−RUN("\108\117\97\32\45\118")
67−print(string.format("\40\116\101\109\112\111\114\97\114\121\32\112\114\111\103\114\97\109\32\102\105\108\101\32\117\115\101\100\32\105\110\32\116\104\101\115\101\32\116\101\115\116\115\58\32\37\115\41",prog))
66+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{76}")
67+print(string.format("\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{20}\u{70}\u{72}\u{6f}\u{67}\u{72}\u{61}\u{6d}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{75}\u{73}\u{65}\u{64}\u{20}\u{69}\u{6e}\u{20}\u{74}\u{68}\u{65}\u{73}\u{65}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{3a}\u{20}\u{25}\u{73}\u{29}",prog))
6868prepfile("")
69−RUN("\108\117\97\32\45\32\60\32\37\115\32\62\32\37\115",prog,out)
69+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
7070checkout("")
71−prepfile("\32\32\112\114\105\110\116\40\10\49\44\32\97\10\41\10")
72−RUN("\108\117\97\32\45\32\60\32\37\115\32\62\32\37\115",prog,out)
73−checkout("\49\9\110\105\108\10")
74−RUN("\101\99\104\111\32\34\112\114\105\110\116\40\49\48\41\10\112\114\105\110\116\40\50\41\10\34\32\124\32\108\117\97\32\62\32\37\115",out)
75−checkout("\49\48\10\50\10")
76−prepfile("\239\187\191")
77−RUN("\108\117\97\32\37\115\32\62\32\37\115",prog,out)
71+prepfile("\u{20}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{a}\u{31}\u{2c}\u{20}\u{61}\u{a}\u{29}\u{a}")
72+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
73+checkout("\u{31}\u{9}\u{6e}\u{69}\u{6c}\u{a}")
74+RUN("\u{65}\u{63}\u{68}\u{6f}\u{20}\u{22}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{30}\u{29}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{32}\u{29}\u{a}\u{22}\u{20}\u{7c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{3e}\u{20}\u{25}\u{73}",out)
75+checkout("\u{31}\u{30}\u{a}\u{32}\u{a}")
76+prepfile("\u{ef}\u{bb}\u{bf}")
77+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
7878checkout("")
79−prepfile("\239\187\191\112\114\105\110\116\40\51\41")
80−RUN("\108\117\97\32\37\115\32\62\32\37\115",prog,out)
81−checkout("\51\10")
82−prepfile("\239\187\191\35\32\99\111\109\109\101\110\116\33\33\10\112\114\105\110\116\40\51\41")
83−RUN("\108\117\97\32\37\115\32\62\32\37\115",prog,out)
84−checkout("\51\10")
85−prepfile("\239",true)
86−NoRun("\117\110\101\120\112\101\99\116\101\100\32\115\121\109\98\111\108","\108\117\97\32\37\115",prog)
87−prepfile("\239\187",true)
88−NoRun("\117\110\101\120\112\101\99\116\101\100\32\115\121\109\98\111\108","\108\117\97\32\37\115",prog)
89−prepfile("\239\112\114\105\110\116\40\51\41",true)
90−NoRun("\117\110\101\120\112\101\99\116\101\100\32\115\121\109\98\111\108","\108\117\97\32\37\115",prog)
91−prepfile("\239\187\112\114\105\110\116\40\51\41",true)
92−NoRun("\117\110\101\120\112\101\99\116\101\100\32\115\121\109\98\111\108","\108\117\97\32\37\115",prog)
93−RUN("\101\99\104\111\32\34\112\114\105\110\116\40\97\114\103\91\49\93\41\34\32\124\32\108\117\97\32\45\32\45\104\32\62\32\37\115",out)
94−checkout("\45\104\10")
95−prepfile("\112\114\105\110\116\40\112\97\99\107\97\103\101\46\112\97\116\104\41")
96−RUN("\101\110\118\32\76\85\65\95\73\78\73\84\61\32\76\85\65\95\80\65\84\72\61\120\32\108\117\97\32\37\115\32\62\32\37\115",prog,out)
97−checkout("\120\10")
98−RUN("\101\110\118\32\76\85\65\95\73\78\73\84\61\32\76\85\65\95\80\65\84\72\95\53\95\52\61\121\32\76\85\65\95\80\65\84\72\61\120\32\108\117\97\32\37\115\32\62\32\37\115",prog,out)
99−checkout("\121\10")
100−prepfile("\112\114\105\110\116\40\112\97\99\107\97\103\101\46\99\112\97\116\104\41")
101−RUN("\101\110\118\32\76\85\65\95\73\78\73\84\61\32\76\85\65\95\67\80\65\84\72\61\120\117\120\117\32\108\117\97\32\37\115\32\62\32\37\115",prog,out)
102−checkout("\120\117\120\117\10")
103−RUN("\101\110\118\32\76\85\65\95\73\78\73\84\61\32\76\85\65\95\67\80\65\84\72\95\53\95\52\61\121\97\99\99\32\76\85\65\95\67\80\65\84\72\61\120\32\108\117\97\32\37\115\32\62\32\37\115",prog,out)
104−checkout("\121\97\99\99\10")
105−prepfile("\112\114\105\110\116\40\88\41")
106−RUN("\101\110\118\32\76\85\65\95\73\78\73\84\61\34\88\61\116\111\110\117\109\98\101\114\40\97\114\103\91\49\93\41\34\32\108\117\97\32\37\115\32\51\46\50\32\62\32\37\115",prog,out)
107−checkout("\51\46\50\10")
108−prepfile("\112\114\105\110\116\40\88\41")
109−RUN("\101\110\118\32\76\85\65\95\73\78\73\84\95\53\95\52\61\34\88\61\49\48\34\32\76\85\65\95\73\78\73\84\61\34\88\61\51\34\32\108\117\97\32\37\115\32\62\32\37\115",prog,out)
110−checkout("\49\48\10")
111−prepfile("\120\32\61\32\120\32\111\114\32\49\48\59\32\112\114\105\110\116\40\120\41\59\32\120\32\61\32\120\32\43\32\49")
112−RUN("\101\110\118\32\76\85\65\95\73\78\73\84\61\34\64\37\115\34\32\108\117\97\32\37\115\32\62\32\37\115",prog,prog,out)
113−checkout("\49\48\10\49\49\10")
114−NoRun("\76\85\65\95\73\78\73\84\58\49\58\32\109\115\103","\101\110\118\32\76\85\65\95\73\78\73\84\61\34\101\114\114\111\114\40\39\109\115\103\39\41\34\32\108\117\97")
79+prepfile("\u{ef}\u{bb}\u{bf}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}")
80+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
81+checkout("\u{33}\u{a}")
82+prepfile("\u{ef}\u{bb}\u{bf}\u{23}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{21}\u{21}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}")
83+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
84+checkout("\u{33}\u{a}")
85+prepfile("\u{ef}",true)
86+NoRun("\u{75}\u{6e}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{79}\u{6d}\u{62}\u{6f}\u{6c}","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
87+prepfile("\u{ef}\u{bb}",true)
88+NoRun("\u{75}\u{6e}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{79}\u{6d}\u{62}\u{6f}\u{6c}","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
89+prepfile("\u{ef}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}",true)
90+NoRun("\u{75}\u{6e}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{79}\u{6d}\u{62}\u{6f}\u{6c}","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
91+prepfile("\u{ef}\u{bb}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}",true)
92+NoRun("\u{75}\u{6e}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{79}\u{6d}\u{62}\u{6f}\u{6c}","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
93+RUN("\u{65}\u{63}\u{68}\u{6f}\u{20}\u{22}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{61}\u{72}\u{67}\u{5b}\u{31}\u{5d}\u{29}\u{22}\u{20}\u{7c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{20}\u{2d}\u{68}\u{20}\u{3e}\u{20}\u{25}\u{73}",out)
94+checkout("\u{2d}\u{68}\u{a}")
95+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{61}\u{74}\u{68}\u{29}")
96+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{78}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
97+checkout("\u{78}\u{a}")
98+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{50}\u{41}\u{54}\u{48}\u{5f}\u{35}\u{5f}\u{34}\u{3d}\u{79}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{78}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
99+checkout("\u{79}\u{a}")
100+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{63}\u{70}\u{61}\u{74}\u{68}\u{29}")
101+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{43}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{78}\u{75}\u{78}\u{75}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
102+checkout("\u{78}\u{75}\u{78}\u{75}\u{a}")
103+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{43}\u{50}\u{41}\u{54}\u{48}\u{5f}\u{35}\u{5f}\u{34}\u{3d}\u{79}\u{61}\u{63}\u{63}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{43}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{78}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
104+checkout("\u{79}\u{61}\u{63}\u{63}\u{a}")
105+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{58}\u{29}")
106+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{22}\u{58}\u{3d}\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{28}\u{61}\u{72}\u{67}\u{5b}\u{31}\u{5d}\u{29}\u{22}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{33}\u{2e}\u{32}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
107+checkout("\u{33}\u{2e}\u{32}\u{a}")
108+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{58}\u{29}")
109+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{5f}\u{35}\u{5f}\u{34}\u{3d}\u{22}\u{58}\u{3d}\u{31}\u{30}\u{22}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{22}\u{58}\u{3d}\u{33}\u{22}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
110+checkout("\u{31}\u{30}\u{a}")
111+prepfile("\u{78}\u{20}\u{3d}\u{20}\u{78}\u{20}\u{6f}\u{72}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{78}\u{29}\u{3b}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{78}\u{20}\u{2b}\u{20}\u{31}")
112+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{22}\u{40}\u{25}\u{73}\u{22}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,prog,out)
113+checkout("\u{31}\u{30}\u{a}\u{31}\u{31}\u{a}")
114+NoRun("\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3a}\u{31}\u{3a}\u{20}\u{6d}\u{73}\u{67}","\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{22}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{27}\u{6d}\u{73}\u{67}\u{27}\u{29}\u{22}\u{20}\u{6c}\u{75}\u{61}")
115115local defaultpath,defaultCpath
116116do
117−prepfile("\112\114\105\110\116\40\112\97\99\107\97\103\101\46\112\97\116\104\44\32\112\97\99\107\97\103\101\46\99\112\97\116\104\41")
118−RUN("\101\110\118\32\76\85\65\95\73\78\73\84\61\34\101\114\114\111\114\40\49\48\41\34\32\76\85\65\95\80\65\84\72\61\120\120\120\32\76\85\65\95\67\80\65\84\72\61\120\120\120\32\108\117\97\32\45\69\32\37\115\32\62\32\37\115",prog,out)
117+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{61}\u{74}\u{68}\u{2c}\u{20}\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{63}\u{70}\u{61}\u{74}\u{68}\u{29}")
118+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{49}\u{4e}\u{49}\u{54}\u{3d}\u{22}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{31}\u{30}\u{29}\u{22}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{78}\u{78}\u{78}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{43}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{78}\u{78}\u{78}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{45}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
119119local output = getoutput()
120−defaultpath=string.match(output,"\94\40\46\45\41\9")
121−defaultCpath=string.match(output,"\9\40\46\45\41\36")
122−RUN("\101\110\118\32\45\105\32\108\117\97\32\37\115\32\62\32\37\115",prog,out)
120+defaultpath=string.match(output,"\u{5e}\u{28}\u{2e}\u{2d}\u{29}\u{9}")
121+defaultCpath=string.match(output,"\u{9}\u{28}\u{2e}\u{2d}\u{29}\u{24}")
122+RUN("\u{65}\u{6e}\u{76}\u{20}\u{2d}\u{69}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
123123local out = getoutput()
124−assert(defaultpath == string.match(output,"\94\40\46\45\41\9"))
125−assert(defaultCpath == string.match(output,"\9\40\46\45\41\36"))
124+assert(defaultpath == string.match(output,"\u{5e}\u{28}\u{2e}\u{2d}\u{29}\u{9}"))
125+assert(defaultCpath == string.match(output,"\u{9}\u{28}\u{2e}\u{2d}\u{29}\u{24}"))
126126end
127−assert(not string.find(defaultpath,"\120\120\120") and string.find(defaultpath,"\108\117\97") and not string.find(defaultCpath,"\120\120\120") and string.find(defaultCpath,"\108\117\97"))
127+assert(not string.find(defaultpath,"\u{78}\u{78}\u{78}") and string.find(defaultpath,"\u{6c}\u{75}\u{61}") and not string.find(defaultCpath,"\u{78}\u{78}\u{78}") and string.find(defaultCpath,"\u{6c}\u{75}\u{61}"))
128128local function convert
129129(p)
130−prepfile("\112\114\105\110\116\40\112\97\99\107\97\103\101\46\112\97\116\104\41")
131−RUN("\101\110\118\32\76\85\65\95\80\65\84\72\61\34\37\115\34\32\108\117\97\32\37\115\32\62\32\37\115",p,prog,out)
130+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{61}\u{74}\u{68}\u{29}")
131+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{22}\u{25}\u{73}\u{22}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",p,prog,out)
132132local expected = getoutput()
133133expected=string.sub(expected,1,- 2)
134−if string.find(p,"\59\59") then
135−p=string.gsub(p,"\59\59","\59" .. defaultpath .. "\59")
136−p=string.gsub(p,"\94\59","")
137−p=string.gsub(p,"\59\36","")
134+if string.find(p,"\u{3b}\u{3b}") then
135+p=string.gsub(p,"\u{3b}\u{3b}","\u{3b}" .. defaultpath .. "\u{3b}")
136+p=string.gsub(p,"\u{5e}\u{3b}","")
137+p=string.gsub(p,"\u{3b}\u{24}","")
138138end
139139assert(p == expected)
140140end
141−convert("\59")
142−convert("\59\59")
143−convert("\97\59\59\98")
144−convert("\59\59\98")
145−convert("\97\59\59")
146−convert("\97\59\98\59\59\99")
147−prepfile("\112\114\105\110\116\40\49\41\59\32\97\61\50\59\32\114\101\116\117\114\110\32\123\120\61\49\53\125")
148−prepfile(("\112\114\105\110\116\40\97\41\59\32\112\114\105\110\116\40\95\71\91\39\37\115\39\93\46\120\41"):format(prog),false,otherprog)
149−RUN("\101\110\118\32\76\85\65\95\80\65\84\72\61\34\63\59\59\34\32\108\117\97\32\45\108\32\37\115\32\45\108\37\115\32\45\108\115\116\114\105\110\103\32\45\108\32\105\111\32\37\115\32\62\32\37\115",prog,otherprog,otherprog,out)
150−checkout("\49\10\50\10\49\53\10\50\10\49\53\10")
151−prepfile("\112\114\105\110\116\40\115\116\114\46\117\112\112\101\114\39\97\108\111\32\97\108\111\39\44\32\109\46\109\97\120\40\49\48\44\32\50\48\41\41")
152−RUN("\108\117\97\32\45\108\32\39\115\116\114\61\115\116\114\105\110\103\39\32\39\45\108\109\61\109\97\116\104\39\32\45\101\32\39\112\114\105\110\116\40\109\46\115\105\110\40\48\41\41\39\32\37\115\32\62\32\37\115",prog,out)
153−checkout("\48\46\48\10\65\76\79\32\65\76\79\9\50\48\10")
154−RUN("\101\110\118\32\76\85\65\95\67\80\65\84\72\61\39\46\47\108\105\98\115\47\63\46\115\111\39\32\108\117\97\32\45\108\32\108\105\98\50\45\118\50\32\45\101\32\39\112\114\105\110\116\40\108\105\98\50\46\105\100\40\41\41\39\32\62\32\37\115",out)
155−checkout("\116\114\117\101\10")
156−local a = "\32\32\97\115\115\101\114\116\40\35\97\114\103\32\61\61\32\51\32\97\110\100\32\97\114\103\91\49\93\32\61\61\32\39\97\39\32\97\110\100\10\32\32\32\32\32\32\32\32\32\97\114\103\91\50\93\32\61\61\32\39\98\39\32\97\110\100\32\97\114\103\91\51\93\32\61\61\32\39\99\39\41\10\32\32\97\115\115\101\114\116\40\97\114\103\91\45\49\93\32\61\61\32\39\45\45\39\32\97\110\100\32\97\114\103\91\45\50\93\32\61\61\32\34\45\101\32\34\32\97\110\100\32\97\114\103\91\45\51\93\32\61\61\32\39\37\115\39\41\10\32\32\97\115\115\101\114\116\40\97\114\103\91\52\93\32\61\61\32\117\110\100\101\102\32\97\110\100\32\97\114\103\91\45\52\93\32\61\61\32\117\110\100\101\102\41\10\32\32\108\111\99\97\108\32\97\44\32\98\44\32\99\32\61\32\46\46\46\10\32\32\97\115\115\101\114\116\40\46\46\46\32\61\61\32\39\97\39\32\97\110\100\32\97\32\61\61\32\39\97\39\32\97\110\100\32\98\32\61\61\32\39\98\39\32\97\110\100\32\99\32\61\61\32\39\99\39\41\10"
141+convert("\u{3b}")
142+convert("\u{3b}\u{3b}")
143+convert("\u{61}\u{3b}\u{3b}\u{62}")
144+convert("\u{3b}\u{3b}\u{62}")
145+convert("\u{61}\u{3b}\u{3b}")
146+convert("\u{61}\u{3b}\u{62}\u{3b}\u{3b}\u{63}")
147+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{29}\u{3b}\u{20}\u{61}\u{3d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{78}\u{3d}\u{31}\u{35}\u{7d}")
148+prepfile(("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{61}\u{29}\u{3b}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{5f}\u{47}\u{5b}\u{27}\u{25}\u{73}\u{27}\u{5d}\u{2e}\u{78}\u{29}"):format(prog),false,otherprog)
149+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{22}\u{3f}\u{3b}\u{3b}\u{22}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{6c}\u{20}\u{25}\u{73}\u{20}\u{2d}\u{6c}\u{25}\u{73}\u{20}\u{2d}\u{6c}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{6c}\u{20}\u{69}\u{6f}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,otherprog,otherprog,out)
150+checkout("\u{31}\u{a}\u{32}\u{a}\u{31}\u{35}\u{a}\u{32}\u{a}\u{31}\u{35}\u{a}")
151+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{73}\u{74}\u{72}\u{2e}\u{75}\u{70}\u{70}\u{65}\u{72}\u{27}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{27}\u{2c}\u{20}\u{6d}\u{2e}\u{6d}\u{61}\u{78}\u{28}\u{31}\u{30}\u{2c}\u{20}\u{32}\u{30}\u{29}\u{29}")
152+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{6c}\u{20}\u{27}\u{73}\u{74}\u{72}\u{3d}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{20}\u{27}\u{2d}\u{6c}\u{6d}\u{3d}\u{6d}\u{61}\u{74}\u{68}\u{27}\u{20}\u{2d}\u{65}\u{20}\u{27}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{6d}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{30}\u{29}\u{29}\u{27}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
153+checkout("\u{30}\u{2e}\u{30}\u{a}\u{41}\u{4c}\u{4f}\u{20}\u{41}\u{4c}\u{4f}\u{9}\u{32}\u{30}\u{a}")
154+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{43}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{27}\u{2e}\u{2f}\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{3f}\u{2e}\u{73}\u{6f}\u{27}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{6c}\u{20}\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}\u{20}\u{2d}\u{65}\u{20}\u{27}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{6c}\u{69}\u{62}\u{32}\u{2e}\u{69}\u{64}\u{28}\u{29}\u{29}\u{27}\u{20}\u{3e}\u{20}\u{25}\u{73}",out)
155+checkout("\u{74}\u{72}\u{75}\u{65}\u{a}")
156+local a = "\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{23}\u{61}\u{72}\u{67}\u{20}\u{3d}\u{3d}\u{20}\u{33}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{72}\u{67}\u{5b}\u{31}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{61}\u{27}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{72}\u{67}\u{5b}\u{32}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{62}\u{27}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{72}\u{67}\u{5b}\u{33}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{63}\u{27}\u{29}\u{a}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{72}\u{67}\u{5b}\u{2d}\u{31}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{2d}\u{2d}\u{27}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{72}\u{67}\u{5b}\u{2d}\u{32}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{2d}\u{65}\u{20}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{72}\u{67}\u{5b}\u{2d}\u{33}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{25}\u{73}\u{27}\u{29}\u{a}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{72}\u{67}\u{5b}\u{34}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{75}\u{6e}\u{64}\u{65}\u{66}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{72}\u{67}\u{5b}\u{2d}\u{34}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{75}\u{6e}\u{64}\u{65}\u{66}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{20}\u{62}\u{2c}\u{20}\u{63}\u{20}\u{3d}\u{20}\u{2e}\u{2e}\u{2e}\u{a}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{2e}\u{2e}\u{2e}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{61}\u{27}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{61}\u{27}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{62}\u{27}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{63}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{63}\u{27}\u{29}\u{a}"
157157a=string.format(a,progname)
158158prepfile(a)
159−RUN("\108\117\97\32\34\45\101\32\34\32\45\45\32\37\115\32\97\32\98\32\99",prog)
160−prepfile("\97\115\115\101\114\116\40\97\114\103\41")
161−prepfile("\97\115\115\101\114\116\40\97\114\103\41",false,otherprog)
162−RUN("\101\110\118\32\76\85\65\95\80\65\84\72\61\34\63\59\59\34\32\108\117\97\32\45\108\37\115\32\45\32\60\32\37\115",prog,otherprog)
163−RUN("\101\99\104\111\32\34\112\114\105\110\116\40\46\46\46\41\34\32\124\32\108\117\97\32\45\101\32\34\97\114\103\91\49\93\32\61\32\49\48\48\34\32\45\32\62\32\37\115",out)
164−checkout("\49\48\48\10")
165−NoRun("\39\97\114\103\39\32\105\115\32\110\111\116\32\97\32\116\97\98\108\101","\101\99\104\111\32\34\34\32\124\32\108\117\97\32\45\101\32\34\97\114\103\32\61\32\49\34\32\45")
166−RUN("\101\99\104\111\32\49\48\32\124\32\108\117\97\32\45\101\32\34\112\114\105\110\116\61\110\105\108\34\32\45\105\32\62\32\47\100\101\118\47\110\117\108\108\32\50\62\32\37\115",out)
167−assert(string.find(getoutput(),"\101\114\114\111\114\32\99\97\108\108\105\110\103\32\39\112\114\105\110\116\39"))
168−RUN("\101\99\104\111\32\34\105\111\46\115\116\100\101\114\114\58\119\114\105\116\101\40\49\48\48\48\41\10\99\111\110\116\34\32\124\32\108\117\97\32\45\101\32\34\114\101\113\117\105\114\101\39\100\101\98\117\103\39\46\100\101\98\117\103\40\41\34\32\50\62\32\37\115",out)
169−checkout("\108\117\97\95\100\101\98\117\103\62\32\49\48\48\48\108\117\97\95\100\101\98\117\103\62\32")
170−print("\116\101\115\116\105\110\103\32\119\97\114\110\105\110\103\115")
171−RUN("\101\99\104\111\32\34\105\111\46\115\116\100\101\114\114\58\119\114\105\116\101\40\49\41\59\32\119\97\114\110\91\91\88\88\88\93\93\34\32\124\32\108\117\97\32\50\62\32\37\115",out)
172−checkout("\49")
173−prepfile("\119\97\114\110\40\34\64\97\108\108\111\119\34\41\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\45\45\32\117\110\107\110\111\119\110\32\99\111\110\116\114\111\108\44\32\105\103\110\111\114\101\100\10\119\97\114\110\40\34\64\111\102\102\34\44\32\34\88\88\88\34\44\32\34\64\111\102\102\34\41\32\32\45\45\32\116\104\101\115\101\32\97\114\101\32\110\111\116\32\99\111\110\116\114\111\108\32\109\101\115\115\97\103\101\115\10\119\97\114\110\40\34\64\111\102\102\34\41\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\45\45\32\116\104\105\115\32\111\110\101\32\105\115\10\119\97\114\110\40\34\64\111\110\34\44\32\34\89\89\89\34\44\32\34\64\111\110\34\41\32\32\32\32\45\45\32\110\111\116\32\99\111\110\116\114\111\108\44\32\98\117\116\32\119\97\114\110\32\105\115\32\111\102\102\10\119\97\114\110\40\34\64\111\102\102\34\41\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\45\45\32\107\101\101\112\32\105\116\32\111\102\102\10\119\97\114\110\40\34\64\111\110\34\41\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\45\45\32\114\101\115\116\97\114\116\32\119\97\114\110\105\110\103\115\10\119\97\114\110\40\34\34\44\32\34\64\111\110\34\41\32\32\32\32\32\32\32\32\32\32\32\32\32\32\45\45\32\97\103\97\105\110\44\32\110\111\32\99\111\110\116\114\111\108\44\32\114\101\97\108\32\119\97\114\110\105\110\103\10\119\97\114\110\40\34\64\111\110\34\41\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\45\45\32\107\101\101\112\32\105\116\32\34\115\116\97\114\116\101\100\34\10\119\97\114\110\40\34\90\34\44\32\34\90\34\44\32\34\90\34\41\32\32\32\32\32\32\32\32\32\32\45\45\32\99\111\109\109\111\110\32\119\97\114\110\105\110\103\10")
174−RUN("\108\117\97\32\45\87\32\37\115\32\50\62\32\37\115",prog,out)
175−checkout("\76\117\97\32\119\97\114\110\105\110\103\58\32\64\111\102\102\88\88\88\64\111\102\102\10\76\117\97\32\119\97\114\110\105\110\103\58\32\64\111\110\10\76\117\97\32\119\97\114\110\105\110\103\58\32\90\90\90\10")
176−prepfile("\119\97\114\110\40\34\64\97\108\108\111\119\34\41\10\45\45\32\99\114\101\97\116\101\32\116\119\111\32\111\98\106\101\99\116\115\32\116\111\32\98\101\32\102\105\110\97\108\105\122\101\100\32\119\104\101\110\32\99\108\111\115\105\110\103\32\115\116\97\116\101\10\45\45\32\116\104\101\32\101\114\114\111\114\115\32\105\110\32\116\104\101\32\102\105\110\97\108\105\122\101\114\115\32\109\117\115\116\32\103\101\110\101\114\97\116\101\32\119\97\114\110\105\110\103\115\10\117\49\32\61\32\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\103\99\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\101\114\114\111\114\40\34\88\89\90\34\41\32\101\110\100\125\41\10\117\50\32\61\32\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\103\99\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\101\114\114\111\114\40\34\90\89\88\34\41\32\101\110\100\125\41\10")
177−RUN("\108\117\97\32\45\87\32\37\115\32\50\62\32\37\115",prog,out)
178−checkprogout("\90\89\88\41\10\88\89\90\41\10")
179−prepfile("\45\45\32\115\104\111\117\108\100\32\98\101\32\99\97\108\108\101\100\32\108\97\115\116\10\112\114\105\110\116\40\34\99\114\101\97\116\105\110\103\32\49\34\41\10\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\103\99\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\112\114\105\110\116\40\49\41\32\101\110\100\125\41\10\10\112\114\105\110\116\40\34\99\114\101\97\116\105\110\103\32\50\34\41\10\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\103\99\32\61\32\102\117\110\99\116\105\111\110\32\40\41\10\32\32\112\114\105\110\116\40\34\50\34\41\10\32\32\112\114\105\110\116\40\34\99\114\101\97\116\105\110\103\32\51\34\41\10\32\32\45\45\32\116\104\105\115\32\102\105\110\97\108\105\122\101\114\32\115\104\111\117\108\100\32\110\111\116\32\98\101\32\99\97\108\108\101\100\44\32\97\115\32\111\98\106\101\99\116\32\119\105\108\108\32\98\101\10\32\32\45\45\32\99\114\101\97\116\101\100\32\97\102\116\101\114\32\39\108\117\97\95\99\108\111\115\101\39\32\104\97\115\32\98\101\101\110\32\99\97\108\108\101\100\10\32\32\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\103\99\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\112\114\105\110\116\40\51\41\32\101\110\100\125\41\10\32\32\112\114\105\110\116\40\99\111\108\108\101\99\116\103\97\114\98\97\103\101\40\41\41\32\32\32\32\45\45\32\99\97\110\110\111\116\32\99\97\108\108\32\99\111\108\108\101\99\116\111\114\32\104\101\114\101\10\32\32\111\115\46\101\120\105\116\40\48\44\32\116\114\117\101\41\10\101\110\100\125\41\10")
180−RUN("\108\117\97\32\45\87\32\37\115\32\62\32\37\115",prog,out)
181−checkout("\99\114\101\97\116\105\110\103\32\49\10\99\114\101\97\116\105\110\103\32\50\10\50\10\99\114\101\97\116\105\110\103\32\51\10\110\105\108\10\49\10")
182−prepfile("\112\114\105\110\116\40\40\123\46\46\46\125\41\91\51\48\93\41")
183−RUN("\108\117\97\32\37\115\32\37\115\32\62\32\37\115",prog,string.rep("\32\97",30),out)
184−checkout("\97\10")
185−RUN("\108\117\97\32\34\45\101\112\114\105\110\116\40\49\41\34\32\45\101\97\61\51\32\45\101\32\34\112\114\105\110\116\40\97\41\34\32\62\32\37\115",out)
186−checkout("\49\10\51\10")
187−prepfile("\40\54\42\50\45\54\41\32\45\45\32\61\61\61\10\97\32\61\10\49\48\10\112\114\105\110\116\40\97\41\10\97")
188−RUN("\108\117\97\32\45\101\34\95\80\82\79\77\80\84\61\39\39\32\95\80\82\79\77\80\84\50\61\39\39\34\32\45\105\32\60\32\37\115\32\62\32\37\115",prog,out)
189−checkprogout("\54\10\49\48\10\49\48\10\10")
190−prepfile("\97\32\61\32\91\91\98\10\99\10\100\10\101\93\93\10\61\97")
191−RUN("\108\117\97\32\45\101\34\95\80\82\79\77\80\84\61\39\39\32\95\80\82\79\77\80\84\50\61\39\39\34\32\45\105\32\60\32\37\115\32\62\32\37\115",prog,out)
192−checkprogout("\98\10\99\10\100\10\101\10\10")
193−local prompt = "\97\108\111"
194−prepfile("\32\45\45\10\97\32\61\32\50\10")
195−RUN("\108\117\97\32\34\45\101\95\80\82\79\77\80\84\61\39\37\115\39\34\32\45\105\32\60\32\37\115\32\62\32\37\115",prompt,prog,out)
159+RUN("\u{6c}\u{75}\u{61}\u{20}\u{22}\u{2d}\u{65}\u{20}\u{22}\u{20}\u{2d}\u{2d}\u{20}\u{25}\u{73}\u{20}\u{61}\u{20}\u{62}\u{20}\u{63}",prog)
160+prepfile("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{72}\u{67}\u{29}")
161+prepfile("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{72}\u{67}\u{29}",false,otherprog)
162+RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{22}\u{3f}\u{3b}\u{3b}\u{22}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{6c}\u{25}\u{73}\u{20}\u{2d}\u{20}\u{3c}\u{20}\u{25}\u{73}",prog,otherprog)
163+RUN("\u{65}\u{63}\u{68}\u{6f}\u{20}\u{22}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{2e}\u{2e}\u{2e}\u{29}\u{22}\u{20}\u{7c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{61}\u{72}\u{67}\u{5b}\u{31}\u{5d}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{30}\u{22}\u{20}\u{2d}\u{20}\u{3e}\u{20}\u{25}\u{73}",out)
164+checkout("\u{31}\u{30}\u{30}\u{a}")
165+NoRun("\u{27}\u{61}\u{72}\u{67}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}","\u{65}\u{63}\u{68}\u{6f}\u{20}\u{22}\u{22}\u{20}\u{7c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{61}\u{72}\u{67}\u{20}\u{3d}\u{20}\u{31}\u{22}\u{20}\u{2d}")
166+RUN("\u{65}\u{63}\u{68}\u{6f}\u{20}\u{31}\u{30}\u{20}\u{7c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{3d}\u{6e}\u{69}\u{6c}\u{22}\u{20}\u{2d}\u{69}\u{20}\u{3e}\u{20}\u{2f}\u{64}\u{65}\u{76}\u{2f}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{32}\u{3e}\u{20}\u{25}\u{73}",out)
167+assert(string.find(getoutput(),"\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{27}"))
168+RUN("\u{65}\u{63}\u{68}\u{6f}\u{20}\u{22}\u{69}\u{6f}\u{2e}\u{73}\u{74}\u{64}\u{65}\u{72}\u{72}\u{3a}\u{77}\u{72}\u{69}\u{74}\u{65}\u{28}\u{31}\u{30}\u{30}\u{30}\u{29}\u{a}\u{63}\u{6f}\u{6e}\u{74}\u{22}\u{20}\u{7c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{27}\u{2e}\u{64}\u{65}\u{62}\u{75}\u{67}\u{28}\u{29}\u{22}\u{20}\u{32}\u{3e}\u{20}\u{25}\u{73}",out)
169+checkout("\u{6c}\u{75}\u{61}\u{5f}\u{64}\u{65}\u{62}\u{75}\u{67}\u{3e}\u{20}\u{31}\u{30}\u{30}\u{30}\u{6c}\u{75}\u{61}\u{5f}\u{64}\u{65}\u{62}\u{75}\u{67}\u{3e}\u{20}")
170+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{73}")
171+RUN("\u{65}\u{63}\u{68}\u{6f}\u{20}\u{22}\u{69}\u{6f}\u{2e}\u{73}\u{74}\u{64}\u{65}\u{72}\u{72}\u{3a}\u{77}\u{72}\u{69}\u{74}\u{65}\u{28}\u{31}\u{29}\u{3b}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{5b}\u{5b}\u{58}\u{58}\u{58}\u{5d}\u{5d}\u{22}\u{20}\u{7c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{32}\u{3e}\u{20}\u{25}\u{73}",out)
172+checkout("\u{31}")
173+prepfile("\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{40}\u{61}\u{6c}\u{6c}\u{6f}\u{77}\u{22}\u{29}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{75}\u{6e}\u{6b}\u{6e}\u{6f}\u{77}\u{6e}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{72}\u{6f}\u{6c}\u{2c}\u{20}\u{69}\u{67}\u{6e}\u{6f}\u{72}\u{65}\u{64}\u{a}\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{40}\u{6f}\u{66}\u{66}\u{22}\u{2c}\u{20}\u{22}\u{58}\u{58}\u{58}\u{22}\u{2c}\u{20}\u{22}\u{40}\u{6f}\u{66}\u{66}\u{22}\u{29}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{74}\u{68}\u{65}\u{73}\u{65}\u{20}\u{61}\u{72}\u{65}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{72}\u{6f}\u{6c}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{73}\u{a}\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{40}\u{6f}\u{66}\u{66}\u{22}\u{29}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{74}\u{68}\u{69}\u{73}\u{20}\u{6f}\u{6e}\u{65}\u{20}\u{69}\u{73}\u{a}\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{40}\u{6f}\u{6e}\u{22}\u{2c}\u{20}\u{22}\u{59}\u{59}\u{59}\u{22}\u{2c}\u{20}\u{22}\u{40}\u{6f}\u{6e}\u{22}\u{29}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{72}\u{6f}\u{6c}\u{2c}\u{20}\u{62}\u{75}\u{74}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{66}\u{66}\u{a}\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{40}\u{6f}\u{66}\u{66}\u{22}\u{29}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{6b}\u{65}\u{65}\u{70}\u{20}\u{69}\u{74}\u{20}\u{6f}\u{66}\u{66}\u{a}\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{40}\u{6f}\u{6e}\u{22}\u{29}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{73}\u{a}\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{22}\u{2c}\u{20}\u{22}\u{40}\u{6f}\u{6e}\u{22}\u{29}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{61}\u{67}\u{61}\u{69}\u{6e}\u{2c}\u{20}\u{6e}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{72}\u{6f}\u{6c}\u{2c}\u{20}\u{72}\u{65}\u{61}\u{6c}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{a}\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{40}\u{6f}\u{6e}\u{22}\u{29}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{6b}\u{65}\u{65}\u{70}\u{20}\u{69}\u{74}\u{20}\u{22}\u{73}\u{74}\u{61}\u{72}\u{74}\u{65}\u{64}\u{22}\u{a}\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{5a}\u{22}\u{2c}\u{20}\u{22}\u{5a}\u{22}\u{2c}\u{20}\u{22}\u{5a}\u{22}\u{29}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{6f}\u{6e}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{a}")
174+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{57}\u{20}\u{25}\u{73}\u{20}\u{32}\u{3e}\u{20}\u{25}\u{73}",prog,out)
175+checkout("\u{4c}\u{75}\u{61}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{3a}\u{20}\u{40}\u{6f}\u{66}\u{66}\u{58}\u{58}\u{58}\u{40}\u{6f}\u{66}\u{66}\u{a}\u{4c}\u{75}\u{61}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{3a}\u{20}\u{40}\u{6f}\u{6e}\u{a}\u{4c}\u{75}\u{61}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{3a}\u{20}\u{5a}\u{5a}\u{5a}\u{a}")
176+prepfile("\u{77}\u{61}\u{72}\u{6e}\u{28}\u{22}\u{40}\u{61}\u{6c}\u{6c}\u{6f}\u{77}\u{22}\u{29}\u{a}\u{2d}\u{2d}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{74}\u{77}\u{6f}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{73}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{77}\u{68}\u{65}\u{6e}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{74}\u{65}\u{a}\u{2d}\u{2d}\u{20}\u{74}\u{68}\u{65}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{74}\u{68}\u{65}\u{20}\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{69}\u{7a}\u{65}\u{72}\u{73}\u{20}\u{6d}\u{75}\u{73}\u{74}\u{20}\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{65}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{73}\u{a}\u{75}\u{31}\u{20}\u{3d}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{67}\u{63}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{22}\u{58}\u{59}\u{5a}\u{22}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}\u{75}\u{32}\u{20}\u{3d}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{67}\u{63}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{22}\u{5a}\u{59}\u{58}\u{22}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}")
177+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{57}\u{20}\u{25}\u{73}\u{20}\u{32}\u{3e}\u{20}\u{25}\u{73}",prog,out)
178+checkprogout("\u{5a}\u{59}\u{58}\u{29}\u{a}\u{58}\u{59}\u{5a}\u{29}\u{a}")
179+prepfile("\u{2d}\u{2d}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{65}\u{64}\u{20}\u{6c}\u{61}\u{73}\u{74}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{22}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{22}\u{29}\u{a}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{67}\u{63}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{22}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{22}\u{29}\u{a}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{67}\u{63}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{22}\u{32}\u{22}\u{29}\u{a}\u{20}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{22}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{33}\u{22}\u{29}\u{a}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{74}\u{68}\u{69}\u{73}\u{20}\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{69}\u{7a}\u{65}\u{72}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{65}\u{64}\u{2c}\u{20}\u{61}\u{73}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{20}\u{77}\u{69}\u{6c}\u{6c}\u{20}\u{62}\u{65}\u{a}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{64}\u{20}\u{61}\u{66}\u{74}\u{65}\u{72}\u{20}\u{27}\u{6c}\u{75}\u{61}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{27}\u{20}\u{68}\u{61}\u{73}\u{20}\u{62}\u{65}\u{65}\u{6e}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{65}\u{64}\u{a}\u{20}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{67}\u{63}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}\u{20}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{28}\u{29}\u{29}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{6f}\u{72}\u{20}\u{68}\u{65}\u{72}\u{65}\u{a}\u{20}\u{20}\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{30}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}\u{a}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}")
180+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{57}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
181+checkout("\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{a}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{a}\u{32}\u{a}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{33}\u{a}\u{6e}\u{69}\u{6c}\u{a}\u{31}\u{a}")
182+prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{28}\u{7b}\u{2e}\u{2e}\u{2e}\u{7d}\u{29}\u{5b}\u{33}\u{30}\u{5d}\u{29}")
183+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,string.rep("\u{20}\u{61}",30),out)
184+checkout("\u{61}\u{a}")
185+RUN("\u{6c}\u{75}\u{61}\u{20}\u{22}\u{2d}\u{65}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{29}\u{22}\u{20}\u{2d}\u{65}\u{61}\u{3d}\u{33}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{61}\u{29}\u{22}\u{20}\u{3e}\u{20}\u{25}\u{73}",out)
186+checkout("\u{31}\u{a}\u{33}\u{a}")
187+prepfile("\u{28}\u{36}\u{2a}\u{32}\u{2d}\u{36}\u{29}\u{20}\u{2d}\u{2d}\u{20}\u{3d}\u{3d}\u{3d}\u{a}\u{61}\u{20}\u{3d}\u{a}\u{31}\u{30}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{61}\u{29}\u{a}\u{61}")
188+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{22}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{3d}\u{27}\u{27}\u{20}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{32}\u{3d}\u{27}\u{27}\u{22}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
189+checkprogout("\u{36}\u{a}\u{31}\u{30}\u{a}\u{31}\u{30}\u{a}\u{a}")
190+prepfile("\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{62}\u{a}\u{63}\u{a}\u{64}\u{a}\u{65}\u{5d}\u{5d}\u{a}\u{3d}\u{61}")
191+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{22}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{3d}\u{27}\u{27}\u{20}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{32}\u{3d}\u{27}\u{27}\u{22}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
192+checkprogout("\u{62}\u{a}\u{63}\u{a}\u{64}\u{a}\u{65}\u{a}\u{a}")
193+local prompt = "\u{61}\u{6c}\u{6f}"
194+prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
195+RUN("\u{6c}\u{75}\u{61}\u{20}\u{22}\u{2d}\u{65}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{3d}\u{27}\u{25}\u{73}\u{27}\u{22}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prompt,prog,out)
196196local t = getoutput()
197−assert(string.find(t,prompt .. "\46\42" .. prompt .. "\46\42" .. prompt))
198−prepfile("\32\45\45\10\97\32\61\32\50\10")
199−RUN("\108\117\97\32\45\105\32\60\32\37\115\32\62\32\37\115",prog,out)
197+assert(string.find(t,prompt .. "\u{2e}\u{2a}" .. prompt .. "\u{2e}\u{2a}" .. prompt))
198+prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
199+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
200200local t = getoutput()
201−prompt="\62\32"
202−assert(string.find(t,prompt .. "\46\42" .. prompt .. "\46\42" .. prompt))
203−prompt="\108\111\99\97\108\32\67\32\61\32\48\59\95\80\82\79\77\80\84\61\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\123\95\95\116\111\115\116\114\105\110\103\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\67\32\61\32\67\32\43\32\49\59\32\114\101\116\117\114\110\32\67\32\101\110\100\125\41"
204−prepfile("\32\45\45\10\97\32\61\32\50\10")
205−RUN("\108\117\97\32\45\101\32\34\37\115\34\32\45\105\32\60\32\37\115\32\62\32\37\115",prompt,prog,out)
201+prompt="\u{3e}\u{20}"
202+assert(string.find(t,prompt .. "\u{2e}\u{2a}" .. prompt .. "\u{2e}\u{2a}" .. prompt))
203+prompt="\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{43}\u{20}\u{3d}\u{20}\u{30}\u{3b}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{3d}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{7b}\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{43}\u{20}\u{3d}\u{20}\u{43}\u{20}\u{2b}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{43}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{29}"
204+prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
205+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{25}\u{73}\u{22}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prompt,prog,out)
206206local t = getoutput()
207−assert(string.find(t,"\49\32\45\45\10\50\97\32\61\32\50\10\51\10",1,true))
208−prepfile("\100\101\98\117\103\32\61\32\114\101\113\117\105\114\101\32\34\100\101\98\117\103\34\10\109\32\61\32\123\120\61\48\125\10\115\101\116\109\101\116\97\116\97\98\108\101\40\109\44\32\123\95\95\116\111\115\116\114\105\110\103\32\61\32\102\117\110\99\116\105\111\110\40\120\41\10\32\32\114\101\116\117\114\110\32\116\111\115\116\114\105\110\103\40\100\101\98\117\103\46\103\101\116\105\110\102\111\40\52\41\46\99\117\114\114\101\110\116\108\105\110\101\32\43\32\120\46\120\41\10\101\110\100\125\41\10\101\114\114\111\114\40\109\41\10")
209−NoRun(progname .. "\58\32\54\10","\108\117\97\32\37\115",prog)
210−prepfile("\101\114\114\111\114\123\125")
211−NoRun("\101\114\114\111\114\32\111\98\106\101\99\116\32\105\115\32\97\32\116\97\98\108\101\32\118\97\108\117\101","\108\117\97\32\37\115",prog)
212−local s = "\32\45\45\10\102\117\110\99\116\105\111\110\32\102\32\40\32\120\32\41\10\32\32\108\111\99\97\108\32\97\32\61\32\91\91\10\120\117\120\117\10\93\93\10\32\32\108\111\99\97\108\32\98\32\61\32\34\92\10\120\117\120\117\92\110\34\10\32\32\105\102\32\120\32\61\61\32\49\49\32\116\104\101\110\32\114\101\116\117\114\110\32\49\32\43\32\49\50\32\44\32\50\32\43\32\50\48\32\101\110\100\32\32\45\45\91\91\32\116\101\115\116\32\109\117\108\116\105\112\108\101\32\114\101\116\117\114\110\115\32\93\93\10\32\32\114\101\116\117\114\110\32\120\32\43\32\49\10\32\32\45\45\92\92\10\101\110\100\10\114\101\116\117\114\110\40\32\102\40\32\49\48\48\32\41\32\41\10\97\115\115\101\114\116\40\32\97\32\61\61\32\98\32\41\10\100\111\32\114\101\116\117\114\110\32\102\40\32\49\49\32\41\32\101\110\100\32\32"
213−s=string.gsub(s,"\32","\10\10")
207+assert(string.find(t,"\u{31}\u{20}\u{2d}\u{2d}\u{a}\u{32}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}\u{33}\u{a}",1,true))
208+prepfile("\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{20}\u{22}\u{64}\u{65}\u{62}\u{75}\u{67}\u{22}\u{a}\u{6d}\u{20}\u{3d}\u{20}\u{7b}\u{78}\u{3d}\u{30}\u{7d}\u{a}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{6d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{28}\u{78}\u{29}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{34}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{2b}\u{20}\u{78}\u{2e}\u{78}\u{29}\u{a}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{6d}\u{29}\u{a}")
209+NoRun(progname .. "\u{3a}\u{20}\u{36}\u{a}","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
210+prepfile("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{7b}\u{7d}")
211+NoRun("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{20}\u{69}\u{73}\u{20}\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
212+local s = "\u{20}\u{2d}\u{2d}\u{a}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{20}\u{28}\u{20}\u{78}\u{20}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{a}\u{78}\u{75}\u{78}\u{75}\u{a}\u{5d}\u{5d}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{22}\u{5c}\u{a}\u{78}\u{75}\u{78}\u{75}\u{5c}\u{6e}\u{22}\u{a}\u{20}\u{20}\u{69}\u{66}\u{20}\u{78}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{31}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{2b}\u{20}\u{31}\u{32}\u{20}\u{2c}\u{20}\u{32}\u{20}\u{2b}\u{20}\u{32}\u{30}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{2d}\u{2d}\u{5b}\u{5b}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{6d}\u{75}\u{6c}\u{74}\u{69}\u{70}\u{6c}\u{65}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{73}\u{20}\u{5d}\u{5d}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{20}\u{2b}\u{20}\u{31}\u{a}\u{20}\u{20}\u{2d}\u{2d}\u{5c}\u{5c}\u{a}\u{65}\u{6e}\u{64}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{28}\u{20}\u{66}\u{28}\u{20}\u{31}\u{30}\u{30}\u{20}\u{29}\u{20}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{20}\u{61}\u{20}\u{3d}\u{3d}\u{20}\u{62}\u{20}\u{29}\u{a}\u{64}\u{6f}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{28}\u{20}\u{31}\u{31}\u{20}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}"
213+s=string.gsub(s,"\u{20}","\u{a}\u{a}")
214214prepfile(s)
215−RUN("\108\117\97\32\45\101\34\95\80\82\79\77\80\84\61\39\39\32\95\80\82\79\77\80\84\50\61\39\39\34\32\45\105\32\60\32\37\115\32\62\32\37\115",prog,out)
216−checkprogout("\49\48\49\10\49\51\9\50\50\10\10")
217−prepfile("\35\99\111\109\109\101\110\116\32\105\110\32\49\115\116\32\108\105\110\101\32\119\105\116\104\111\117\116\32\92\110\32\97\116\32\116\104\101\32\101\110\100")
218−RUN("\108\117\97\32\37\115",prog)
219−prepfile("\35\99\111\109\109\101\110\116\10" .. string.dump(load("\112\114\105\110\116\40\51\41")),true)
220−RUN("\108\117\97\32\37\115\32\62\32\37\115",prog,out)
221−checkout("\51\10")
222−prepfile(string.format("\105\111\46\111\117\116\112\117\116\40\37\113\41\59\32\105\111\46\119\114\105\116\101\40\39\97\108\111\39\41",out))
223−RUN("\108\117\97\32\37\115",prog)
224−checkout("\97\108\111")
225−RUN("\108\117\97\32\45\118\32\32\45\101\34\112\114\105\110\116\39\104\101\108\108\111\39\34\32\62\32\37\115",out)
215+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{22}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{3d}\u{27}\u{27}\u{20}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{32}\u{3d}\u{27}\u{27}\u{22}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
216+checkprogout("\u{31}\u{30}\u{31}\u{a}\u{31}\u{33}\u{9}\u{32}\u{32}\u{a}\u{a}")
217+prepfile("\u{23}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{69}\u{6e}\u{20}\u{31}\u{73}\u{74}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{5c}\u{6e}\u{20}\u{61}\u{74}\u{20}\u{74}\u{68}\u{65}\u{20}\u{65}\u{6e}\u{64}")
218+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
219+prepfile("\u{23}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{a}" .. string.dump(load("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}")),true)
220+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
221+checkout("\u{33}\u{a}")
222+prepfile(string.format("\u{69}\u{6f}\u{2e}\u{6f}\u{75}\u{74}\u{70}\u{75}\u{74}\u{28}\u{25}\u{71}\u{29}\u{3b}\u{20}\u{69}\u{6f}\u{2e}\u{77}\u{72}\u{69}\u{74}\u{65}\u{28}\u{27}\u{61}\u{6c}\u{6f}\u{27}\u{29}",out))
223+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
224+checkout("\u{61}\u{6c}\u{6f}")
225+RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{76}\u{20}\u{20}\u{2d}\u{65}\u{22}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{27}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{27}\u{22}\u{20}\u{3e}\u{20}\u{25}\u{73}",out)
226226t=getoutput()
227−assert(string.find(t,"\80\85\67\37\45\82\105\111\10\104\101\108\108\111"))
228−prepfile("\111\115\46\101\120\105\116\40\110\105\108\44\32\116\114\117\101\41")
229−RUN("\108\117\97\32\37\115",prog)
230−prepfile("\111\115\46\101\120\105\116\40\48\44\32\116\114\117\101\41")
231−RUN("\108\117\97\32\37\115",prog)
232−prepfile("\111\115\46\101\120\105\116\40\116\114\117\101\44\32\116\114\117\101\41")
233−RUN("\108\117\97\32\37\115",prog)
234−prepfile("\111\115\46\101\120\105\116\40\49\44\32\116\114\117\101\41")
235−NoRun("","\108\117\97\32\37\115",prog)
236−prepfile("\111\115\46\101\120\105\116\40\102\97\108\115\101\44\32\116\114\117\101\41")
237−NoRun("","\108\117\97\32\37\115",prog)
238−prepfile("\32\32\108\111\99\97\108\32\120\32\60\99\108\111\115\101\62\32\61\32\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\10\32\32\32\32\32\32\32\32\123\95\95\99\108\111\115\101\32\61\32\102\117\110\99\116\105\111\110\32\40\115\101\108\102\44\32\101\114\114\41\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\97\115\115\101\114\116\40\101\114\114\32\61\61\32\110\105\108\41\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\112\114\105\110\116\40\34\79\107\34\41\10\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\101\110\100\125\41\10\32\32\108\111\99\97\108\32\101\49\32\60\99\108\111\115\101\62\32\61\32\115\101\116\109\101\116\97\116\97\98\108\101\40\123\125\44\32\123\95\95\99\108\111\115\101\32\61\32\102\117\110\99\116\105\111\110\32\40\41\32\112\114\105\110\116\40\49\50\48\41\32\101\110\100\125\41\10\32\32\111\115\46\101\120\105\116\40\116\114\117\101\44\32\116\114\117\101\41\10")
239−RUN("\108\117\97\32\37\115\32\62\32\37\115",prog,out)
240−checkprogout("\49\50\48\10\79\107\10")
227+assert(string.find(t,"\u{50}\u{55}\u{43}\u{25}\u{2d}\u{52}\u{69}\u{6f}\u{a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}"))
228+prepfile("\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{6e}\u{69}\u{6c}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}")
229+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
230+prepfile("\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{30}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}")
231+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
232+prepfile("\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{74}\u{72}\u{75}\u{65}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}")
233+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
234+prepfile("\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{31}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}")
235+NoRun("","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
236+prepfile("\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{66}\u{61}\u{6c}\u{73}\u{65}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}")
237+NoRun("","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
238+prepfile("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3c}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{3e}\u{20}\u{3d}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{7b}\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{73}\u{65}\u{6c}\u{66}\u{2c}\u{20}\u{65}\u{72}\u{72}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{65}\u{72}\u{72}\u{20}\u{3d}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{22}\u{4f}\u{6b}\u{22}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{65}\u{31}\u{20}\u{3c}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{3e}\u{20}\u{3d}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{32}\u{30}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}\u{20}\u{20}\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{74}\u{72}\u{75}\u{65}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}\u{a}")
239+RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
240+checkprogout("\u{31}\u{32}\u{30}\u{a}\u{4f}\u{6b}\u{a}")
241241assert(os.remove(prog))
242242assert(os.remove(otherprog))
243243assert(not os.remove(out))
244−NoRun("\117\110\114\101\99\111\103\110\105\122\101\100\32\111\112\116\105\111\110\32\39\45\104\39","\108\117\97\32\45\104")
245−NoRun("\117\110\114\101\99\111\103\110\105\122\101\100\32\111\112\116\105\111\110\32\39\45\45\45\39","\108\117\97\32\45\45\45")
246−NoRun("\117\110\114\101\99\111\103\110\105\122\101\100\32\111\112\116\105\111\110\32\39\45\69\120\39","\108\117\97\32\45\69\120")
247−NoRun("\117\110\114\101\99\111\103\110\105\122\101\100\32\111\112\116\105\111\110\32\39\45\118\118\39","\108\117\97\32\45\118\118")
248−NoRun("\117\110\114\101\99\111\103\110\105\122\101\100\32\111\112\116\105\111\110\32\39\45\105\118\39","\108\117\97\32\45\105\118")
249−NoRun("\39\45\101\39\32\110\101\101\100\115\32\97\114\103\117\109\101\110\116","\108\117\97\32\45\101")
250−NoRun("\115\121\110\116\97\120\32\101\114\114\111\114","\108\117\97\32\45\101\32\97")
251−NoRun("\39\45\108\39\32\110\101\101\100\115\32\97\114\103\117\109\101\110\116","\108\117\97\32\45\108")
244+NoRun("\u{75}\u{6e}\u{72}\u{65}\u{63}\u{6f}\u{67}\u{6e}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{2d}\u{68}\u{27}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{68}")
245+NoRun("\u{75}\u{6e}\u{72}\u{65}\u{63}\u{6f}\u{67}\u{6e}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{2d}\u{2d}\u{2d}\u{27}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{2d}\u{2d}")
246+NoRun("\u{75}\u{6e}\u{72}\u{65}\u{63}\u{6f}\u{67}\u{6e}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{2d}\u{45}\u{78}\u{27}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{45}\u{78}")
247+NoRun("\u{75}\u{6e}\u{72}\u{65}\u{63}\u{6f}\u{67}\u{6e}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{2d}\u{76}\u{76}\u{27}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{76}\u{76}")
248+NoRun("\u{75}\u{6e}\u{72}\u{65}\u{63}\u{6f}\u{67}\u{6e}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{2d}\u{69}\u{76}\u{27}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{69}\u{76}")
249+NoRun("\u{27}\u{2d}\u{65}\u{27}\u{20}\u{6e}\u{65}\u{65}\u{64}\u{73}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}")
250+NoRun("\u{73}\u{79}\u{6e}\u{74}\u{61}\u{78}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{20}\u{61}")
251+NoRun("\u{27}\u{2d}\u{6c}\u{27}\u{20}\u{6e}\u{65}\u{65}\u{64}\u{73}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{6c}")
252252if T then
253−print("\116\101\115\116\105\110\103\32\39\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121\39\32\116\111\32\99\114\101\97\116\101\32\97\32\115\116\97\116\101")
254−NoRun("\110\111\116\32\101\110\111\117\103\104\32\109\101\109\111\114\121","\101\110\118\32\77\69\77\76\73\77\73\84\61\49\48\48\32\108\117\97")
255−warn("\64\115\116\111\114\101")
256−warn("\64\49\50\51","\52\53\54","\55\56\57")
257−assert(_WARN == "\64\49\50\51\52\53\54\55\56\57")
253+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{27}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{61}\u{20}\u{73}\u{74}\u{61}\u{74}\u{65}")
254+NoRun("\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}","\u{65}\u{6e}\u{76}\u{20}\u{4d}\u{45}\u{4d}\u{4c}\u{49}\u{4d}\u{49}\u{54}\u{3d}\u{31}\u{30}\u{30}\u{20}\u{6c}\u{75}\u{61}")
255+warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
256+warn("\u{40}\u{31}\u{32}\u{33}","\u{34}\u{35}\u{36}","\u{37}\u{38}\u{39}")
257+assert(_WARN == "\u{40}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
258258;
259259_WARN=false
260−warn("\122\105\112","","\32","\122\97\112")
261−assert(_WARN == "\122\105\112\32\122\97\112")
260+warn("\u{7a}\u{69}\u{70}","","\u{20}","\u{7a}\u{61}\u{70}")
261+assert(_WARN == "\u{7a}\u{69}\u{70}\u{20}\u{7a}\u{61}\u{70}")
262262;
263263_WARN=false
264−warn("\90\73\80","","\32","\90\65\80")
265−assert(_WARN == "\90\73\80\32\90\65\80")
264+warn("\u{5a}\u{49}\u{50}","","\u{20}","\u{5a}\u{41}\u{50}")
265+assert(_WARN == "\u{5a}\u{49}\u{50}\u{20}\u{5a}\u{41}\u{50}")
266266;
267267_WARN=false
268−warn("\64\110\111\114\109\97\108")
268+warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
269269end
270270do
271271local st,msg = pcall(warn)
272−assert(string.find(msg,"\115\116\114\105\110\103\32\101\120\112\101\99\116\101\100"))
273−st,msg=pcall(warn,"\83\72\79\85\76\68\32\78\79\84\32\65\80\80\69\65\82",{})
274−assert(string.find(msg,"\115\116\114\105\110\103\32\101\120\112\101\99\116\101\100"))
272+assert(string.find(msg,"\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}"))
273+st,msg=pcall(warn,"\u{53}\u{48}\u{4f}\u{55}\u{4c}\u{44}\u{20}\u{4e}\u{4f}\u{54}\u{20}\u{41}\u{50}\u{50}\u{45}\u{41}\u{52}",{})
274+assert(string.find(msg,"\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}"))
275275end
276−print("\43")
277−print("\116\101\115\116\105\110\103\32\67\116\114\108\32\67")
276+print("\u{2b}")
277+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{43}\u{74}\u{72}\u{6c}\u{20}\u{43}")
278278do
279279local function kill
280280(pid)
281−return os.execute(string.format("\107\105\108\108\32\45\73\78\84\32\37\115\32\50\62\32\47\100\101\118\47\110\117\108\108",pid))
281+return os.execute(string.format("\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{49}\u{4e}\u{54}\u{20}\u{25}\u{73}\u{20}\u{32}\u{3e}\u{20}\u{2f}\u{64}\u{65}\u{76}\u{2f}\u{6e}\u{75}\u{6c}\u{6c}",pid))
282282end
283283local function runback
284284(luaprg)
285−local shellprg = string.format("\37\115\32\45\101\32\34\37\115\34\32\38\32\101\99\104\111\32\36\33",progname,luaprg)
286−local f = io.popen(shellprg,"\114")
285+local shellprg = string.format("\u{25}\u{73}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{25}\u{73}\u{22}\u{20}\u{26}\u{20}\u{65}\u{63}\u{68}\u{6f}\u{20}\u{24}\u{21}",progname,luaprg)
286+local f = io.popen(shellprg,"\u{72}")
287287local pid = f:read()
288−print("\40\105\102\32\116\101\115\116\32\102\97\105\108\115\32\110\111\119\44\32\105\116\32\109\97\121\32\108\101\97\118\101\32\97\32\76\117\97\32\115\99\114\105\112\116\32\114\117\110\110\105\110\103\32\105\110\32\98\97\99\107\103\114\111\117\110\100\44\32\112\105\100\32" .. pid .. "\41")
288+print("\u{28}\u{69}\u{66}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{66}\u{61}\u{69}\u{6c}\u{73}\u{20}\u{6e}\u{6f}\u{77}\u{2c}\u{20}\u{69}\u{74}\u{20}\u{6d}\u{61}\u{79}\u{20}\u{6c}\u{65}\u{61}\u{76}\u{65}\u{20}\u{61}\u{20}\u{4c}\u{75}\u{61}\u{20}\u{73}\u{63}\u{72}\u{69}\u{70}\u{74}\u{20}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{20}\u{62}\u{61}\u{63}\u{6b}\u{67}\u{72}\u{6f}\u{75}\u{6e}\u{64}\u{2c}\u{20}\u{70}\u{69}\u{64}\u{20}" .. pid .. "\u{29}")
289289return f,pid
290290end
291−local f,pid = runback("\32\32\32\32\112\99\97\108\108\40\102\117\110\99\116\105\111\110\32\40\41\32\112\114\105\110\116\40\49\50\41\59\32\119\104\105\108\101\32\116\114\117\101\32\100\111\32\101\110\100\32\101\110\100\41\59\32\112\114\105\110\116\40\52\50\41")
292−assert(f:read() == "\49\50")
291+local f,pid = runback("\u{20}\u{20}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{32}\u{29}\u{3b}\u{20}\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{3b}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{34}\u{32}\u{29}")
292+assert(f:read() == "\u{31}\u{32}")
293293kill(pid)
294−assert(f:read() == "\52\50")
294+assert(f:read() == "\u{34}\u{32}")
295295assert(f:close())
296−print("\100\111\110\101")
297−local f,pid = runback("\32\32\32\32\112\114\105\110\116\40\49\53\41\59\32\115\116\114\105\110\103\46\102\105\110\100\40\115\116\114\105\110\103\46\114\101\112\40\39\97\39\44\32\49\48\48\48\48\48\41\44\32\39\46\42\98\39\41")
298−assert(f:read() == "\49\53")
299−assert(os.execute("\115\108\101\101\112\32\49"))
296+print("\u{64}\u{6f}\u{6e}\u{65}")
297+local f,pid = runback("\u{20}\u{20}\u{20}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{35}\u{29}\u{3b}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{66}\u{69}\u{6e}\u{64}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{72}\u{65}\u{70}\u{28}\u{27}\u{61}\u{27}\u{2c}\u{20}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{29}\u{2c}\u{20}\u{27}\u{2e}\u{2a}\u{62}\u{27}\u{29}")
298+assert(f:read() == "\u{31}\u{35}")
299+assert(os.execute("\u{73}\u{6c}\u{65}\u{65}\u{70}\u{20}\u{31}"))
300300local n = 100
301301for i = 0, 100
302302do
@@ -307,6 +307,6 @@ end
307307end
308308assert(f:close())
309309assert(n >= 2)
310−print(string.format("\100\111\110\101\32\40\119\105\116\104\32\37\100\32\107\105\108\108\115\41",n))
310+print(string.format("\u{64}\u{6f}\u{6e}\u{65}\u{20}\u{28}\u{77}\u{69}\u{74}\u{68}\u{20}\u{25}\u{64}\u{20}\u{6b}\u{69}\u{6c}\u{6c}\u{73}\u{29}",n))
311311end
312−print("\79\75")
312+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/math.lua+134−134
@@ -1,4 +1,4 @@
1−print("\116\101\115\116\105\110\103\32\110\117\109\98\101\114\115\32\97\110\100\32\109\97\116\104\32\108\105\98")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{73}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{20}\u{6c}\u{69}\u{62}")
22local minint <const> = math.mininteger
33local maxint <const> = math.maxinteger
44local intbits <const> = math.floor(math.log(maxint,2) + 0.5) + 1
@@ -22,15 +22,15 @@ assert(not isNaN(1 / 0))
2222do
2323local x = 2.0 ^ floatbits
2424assert(x > x - 1.0 and x == x + 1.0)
25−print(string.format("\37\100\45\98\105\116\32\105\110\116\101\103\101\114\115\44\32\37\100\45\98\105\116\32\40\109\97\110\116\105\115\115\97\41\32\102\108\111\97\116\115",intbits,floatbits))
25+print(string.format("\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{2c}\u{20}\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{28}\u{6d}\u{61}\u{6e}\u{74}\u{69}\u{73}\u{73}\u{61}\u{29}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}",intbits,floatbits))
2626end
27−assert(math.type(0) == "\105\110\116\101\103\101\114" and math.type(0.0) == "\102\108\111\97\116" and not math.type("\49\48"))
27+assert(math.type(0) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}" and math.type(0.0) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}" and not math.type("\u{31}\u{30}"))
2828local function checkerror
2929(msg,f, ...)
3030local s,err = pcall(f,...)
3131assert(not s and string.find(err,msg))
3232end
33−local msgf2i = "\110\117\109\98\101\114\46\42\32\104\97\115\32\110\111\32\105\110\116\101\103\101\114\32\114\101\112\114\101\115\101\110\116\97\116\105\111\110"
33+local msgf2i = "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{2e}\u{2a}\u{20}\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}"
3434local function eq
3535(a,b,limit)
3636if not limit then
@@ -48,10 +48,10 @@ return a == b and math.type(a) == math.type(b)
4848end
4949assert(0.0 == 0 and 0.0 == 0 and 0.0 == 0 and 20.0 == 20 and 0.2 == 0.2)
5050do
51−local a,b,c = "\50","\32\51\101\48\32","\32\49\48\32\32"
52−assert(a + b == 5 and - b == - 3 and b + "\50" == 5 and "\49\48" - c == 0)
53−assert(type(a) == "\115\116\114\105\110\103" and type(b) == "\115\116\114\105\110\103" and type(c) == "\115\116\114\105\110\103")
54−assert(a == "\50" and b == "\32\51\101\48\32" and c == "\32\49\48\32\32" and - c == - "\32\32\49\48\32")
51+local a,b,c = "\u{32}","\u{20}\u{33}\u{65}\u{30}\u{20}","\u{20}\u{31}\u{30}\u{20}\u{20}"
52+assert(a + b == 5 and - b == - 3 and b + "\u{32}" == 5 and "\u{31}\u{30}" - c == 0)
53+assert(type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(c) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
54+assert(a == "\u{32}" and b == "\u{20}\u{33}\u{65}\u{30}\u{20}" and c == "\u{20}\u{31}\u{30}\u{20}\u{20}" and - c == - "\u{20}\u{20}\u{31}\u{30}\u{20}")
5555assert(c % a == 0 and a ^ b == 8)
5656a=0
5757assert(a == - a and 0 == - 0)
@@ -203,7 +203,7 @@ assert(minint <= - 2 ^ (intbits - 1))
203203assert(- 2 ^ (intbits - 1) <= minint)
204204end
205205if floatbits < intbits then
206−print("\116\101\115\116\105\110\103\32\111\114\100\101\114\32\40\102\108\111\97\116\115\32\99\97\110\110\111\116\32\114\101\112\114\101\115\101\110\116\32\97\108\108\32\105\110\116\101\103\101\114\115\41")
206+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{72}\u{64}\u{65}\u{72}\u{20}\u{28}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{20}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{29}")
207207local fmax = 2 ^ floatbits
208208local ifmax = fmax | 0
209209assert(fmax < ifmax + 1)
@@ -219,7 +219,7 @@ assert(minint > - 2 ^ intbits)
219219assert(maxint <= 2 ^ intbits)
220220assert(minint >= - 2 ^ intbits)
221221else
222−print("\116\101\115\116\105\110\103\32\111\114\100\101\114\32\40\102\108\111\97\116\115\32\99\97\110\32\114\101\112\114\101\115\101\110\116\32\97\108\108\32\105\110\116\101\103\101\114\115\41")
222+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{72}\u{64}\u{65}\u{72}\u{20}\u{28}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}\u{20}\u{63}\u{61}\u{6e}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{20}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{29}")
223223assert(maxint < maxint + 1.0)
224224assert(maxint < maxint + 0.5)
225225assert(maxint - 1.0 < maxint)
@@ -263,12 +263,12 @@ local function checkcompt
263263(msg,code)
264264checkerror(msg,assert(load(code)))
265265end
266−checkcompt("\100\105\118\105\100\101\32\98\121\32\122\101\114\111","\114\101\116\117\114\110\32\50\32\47\47\32\48")
267−checkcompt(msgf2i,"\114\101\116\117\114\110\32\50\46\51\32\62\62\32\48")
268−checkcompt(msgf2i,("\114\101\116\117\114\110\32\50\46\48\94\37\100\32\38\32\49"):format(intbits - 1))
269−checkcompt("\102\105\101\108\100\32\39\104\117\103\101\39","\114\101\116\117\114\110\32\109\97\116\104\46\104\117\103\101\32\60\60\32\49")
270−checkcompt(msgf2i,("\114\101\116\117\114\110\32\49\32\124\32\50\46\48\94\37\100"):format(intbits - 1))
271−checkcompt(msgf2i,"\114\101\116\117\114\110\32\50\46\51\32\126\32\48\46\48")
266+checkcompt("\u{64}\u{69}\u{76}\u{69}\u{64}\u{65}\u{20}\u{62}\u{79}\u{20}\u{7a}\u{65}\u{72}\u{6f}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{20}\u{2f}\u{2f}\u{20}\u{30}")
267+checkcompt(msgf2i,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{2e}\u{33}\u{20}\u{3e}\u{3e}\u{20}\u{30}")
268+checkcompt(msgf2i,("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{25}\u{64}\u{20}\u{26}\u{20}\u{31}"):format(intbits - 1))
269+checkcompt("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{68}\u{75}\u{67}\u{65}\u{27}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{68}\u{75}\u{67}\u{65}\u{20}\u{3c}\u{3c}\u{20}\u{31}")
270+checkcompt(msgf2i,("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{7c}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{25}\u{64}"):format(intbits - 1))
271+checkcompt(msgf2i,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{2e}\u{33}\u{20}\u{7e}\u{20}\u{30}\u{2e}\u{30}")
272272local function f2i
273273(x)
274274return x | x
@@ -291,33 +291,33 @@ else
291291assert(maxint + 1.0 > maxint)
292292assert(minint - 1.0 < minint)
293293assert(f2i(maxint + 0.0) == maxint)
294−checkerror("\110\111\32\105\110\116\101\103\101\114\32\114\101\112",f2i,maxint + 1.0)
295−checkerror("\110\111\32\105\110\116\101\103\101\114\32\114\101\112",f2i,minint - 1.0)
294+checkerror("\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}",f2i,maxint + 1.0)
295+checkerror("\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}",f2i,minint - 1.0)
296296end
297297assert(f2i(minint + 0.0) == minint)
298−assert("\50" + 1 == 3)
299−assert("\50\32" + 1 == 3)
300−assert("\32\45\50\32" + 1 == - 1)
301−assert("\32\45\48\120\97\32" + 1 == - 9)
298+assert("\u{32}" + 1 == 3)
299+assert("\u{32}\u{20}" + 1 == 3)
300+assert("\u{20}\u{2d}\u{32}\u{20}" + 1 == - 1)
301+assert("\u{20}\u{2d}\u{30}\u{78}\u{61}\u{20}" + 1 == - 9)
302302do
303303assert(eqT(tonumber(tostring(maxint)),maxint))
304304assert(eqT(tonumber(tostring(minint)),minint))
305305local function incd
306306(n)
307−local s = string.format("\37\100",n)
308−s=string.gsub(s,"\37\100\36",function (d)
309−assert(d ~= "\57")
307+local s = string.format("\u{25}\u{64}",n)
308+s=string.gsub(s,"\u{25}\u{64}\u{24}",function (d)
309+assert(d ~= "\u{39}")
310310return string.char(string.byte(d) + 1)
311311end)
312312return s
313313end
314314assert(eqT(tonumber(incd(maxint)),maxint + 1.0))
315315assert(eqT(tonumber(incd(minint)),minint - 1.0))
316−assert(eqT(tonumber("\49" .. string.rep("\48",30)),1e30))
317−assert(eqT(tonumber("\45\49" .. string.rep("\48",30)),- 1e30))
318−assert(eqT(tonumber("\48\120\49" .. string.rep("\48",30)),0))
319−assert(minint == load("\114\101\116\117\114\110\32" .. minint)())
320−assert(eqT(maxint,load("\114\101\116\117\114\110\32" .. maxint)()))
316+assert(eqT(tonumber("\u{31}" .. string.rep("\u{30}",30)),1e30))
317+assert(eqT(tonumber("\u{2d}\u{31}" .. string.rep("\u{30}",30)),- 1e30))
318+assert(eqT(tonumber("\u{30}\u{78}\u{31}" .. string.rep("\u{30}",30)),0))
319+assert(minint == load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. minint)())
320+assert(eqT(maxint,load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. maxint)()))
321321assert(eqT(1e22,10000000000000000000000))
322322assert(eqT(- 1e22,- 10000000000000000000000))
323323end
@@ -325,124 +325,124 @@ assert(tonumber(3.4) == 3.4)
325325assert(eqT(tonumber(3),3))
326326assert(eqT(tonumber(maxint),maxint) and eqT(tonumber(minint),minint))
327327assert(tonumber(1 / 0) == 1 / 0)
328−assert(tonumber("\48") == 0)
328+assert(tonumber("\u{30}") == 0)
329329assert(not tonumber(""))
330−assert(not tonumber("\32\32"))
331−assert(not tonumber("\45"))
332−assert(not tonumber("\32\32\45\48\120\32"))
330+assert(not tonumber("\u{20}\u{20}"))
331+assert(not tonumber("\u{2d}"))
332+assert(not tonumber("\u{20}\u{20}\u{2d}\u{30}\u{78}\u{20}"))
333333assert(not tonumber({}))
334−assert(tonumber("\43\48\46\48\49") == 1 / 100 and tonumber("\43\46\48\49") == 0.01 and tonumber("\46\48\49") == 0.01 and tonumber("\45\49\46") == - 1 and tonumber("\43\49\46") == 1)
335−assert(not tonumber("\43\32\48\46\48\49") and not tonumber("\43\46\101\49") and not tonumber("\49\101") and not tonumber("\49\46\48\101\43") and not tonumber("\46"))
336−assert(tonumber("\45\48\49\50") == - 10 - 2)
337−assert(tonumber("\45\49\46\50\101\50") == - - - 120)
338−assert(tonumber("\48\120\102\102\102\102\102\102\102\102\102\102\102\102") == (1 << (4 * 12)) - 1)
339−assert(tonumber("\48\120" .. string.rep("\102",(intbits // 4))) == - 1)
340−assert(tonumber("\45\48\120" .. string.rep("\102",(intbits // 4))) == 1)
341−assert(tonumber("\32\32\48\48\49\48\49\48\32\32",2) == 10)
342−assert(tonumber("\32\32\48\48\49\48\49\48\32\32",10) == 1010)
343−assert(tonumber("\32\32\45\49\48\49\48\32\32",2) == - 10)
344−assert(tonumber("\49\48",36) == 36)
345−assert(tonumber("\32\32\45\49\48\32\32",36) == - 36)
346−assert(tonumber("\32\32\43\49\90\32\32",36) == 36 + 35)
347−assert(tonumber("\32\32\45\49\122\32\32",36) == - 36 + - 35)
348−assert(tonumber("\45\102\70\102\97",16) == - (10 + (16 * (15 + (16 * (15 + (16 * 15)))))))
349−assert(tonumber(string.rep("\49",(intbits - 2)),2) + 1 == 2 ^ (intbits - 2))
350−assert(tonumber("\102\102\102\102\70\70\70\70",16) + 1 == (1 << 32))
351−assert(tonumber("\48\102\102\102\102\70\70\70\70",16) + 1 == (1 << 32))
352−assert(tonumber("\45\48\102\102\102\102\102\102\70\70\70\70",16) - 1 == - (1 << 40))
334+assert(tonumber("\u{2b}\u{30}\u{2e}\u{30}\u{31}") == 1 / 100 and tonumber("\u{2b}\u{2e}\u{30}\u{31}") == 0.01 and tonumber("\u{2e}\u{30}\u{31}") == 0.01 and tonumber("\u{2d}\u{31}\u{2e}") == - 1 and tonumber("\u{2b}\u{31}\u{2e}") == 1)
335+assert(not tonumber("\u{2b}\u{20}\u{30}\u{2e}\u{30}\u{31}") and not tonumber("\u{2b}\u{2e}\u{65}\u{31}") and not tonumber("\u{31}\u{65}") and not tonumber("\u{31}\u{2e}\u{30}\u{65}\u{2b}") and not tonumber("\u{2e}"))
336+assert(tonumber("\u{2d}\u{30}\u{31}\u{32}") == - 10 - 2)
337+assert(tonumber("\u{2d}\u{31}\u{2e}\u{32}\u{65}\u{32}") == - - - 120)
338+assert(tonumber("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}") == (1 << (4 * 12)) - 1)
339+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 4))) == - 1)
340+assert(tonumber("\u{2d}\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 4))) == 1)
341+assert(tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",2) == 10)
342+assert(tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",10) == 1010)
343+assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",2) == - 10)
344+assert(tonumber("\u{31}\u{30}",36) == 36)
345+assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{20}\u{20}",36) == - 36)
346+assert(tonumber("\u{20}\u{20}\u{2b}\u{31}\u{5a}\u{20}\u{20}",36) == 36 + 35)
347+assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{7a}\u{20}\u{20}",36) == - 36 + - 35)
348+assert(tonumber("\u{2d}\u{66}\u{46}\u{66}\u{61}",16) == - (10 + (16 * (15 + (16 * (15 + (16 * 15)))))))
349+assert(tonumber(string.rep("\u{31}",(intbits - 2)),2) + 1 == 2 ^ (intbits - 2))
350+assert(tonumber("\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",16) + 1 == (1 << 32))
351+assert(tonumber("\u{30}\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",16) + 1 == (1 << 32))
352+assert(tonumber("\u{2d}\u{30}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",16) - 1 == - (1 << 40))
353353for i = 2, 36
354354do
355355local i2 = i * i
356356local i10 = i2 * i2 * i2 * i2 * i2
357−assert(tonumber("\9\49\48\48\48\48\48\48\48\48\48\48\9",i) == i10)
357+assert(tonumber("\u{9}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{9}",i) == i10)
358358end
359359if not _soft then
360−assert(tonumber("\48\120" .. string.rep("\102",13) .. "\46\48") == 2.0 ^ (4 * 13) - 1)
361−assert(tonumber("\48\120" .. string.rep("\102",150) .. "\46\48") == 2.0 ^ (4 * 150) - 1)
362−assert(tonumber("\48\120" .. string.rep("\102",300) .. "\46\48") == 2.0 ^ (4 * 300) - 1)
363−assert(tonumber("\48\120" .. string.rep("\102",500) .. "\46\48") == 2.0 ^ (4 * 500) - 1)
364−assert(tonumber("\48\120\51\46" .. string.rep("\48",1000)) == 3)
365−assert(tonumber("\48\120" .. string.rep("\48",1000) .. "\97") == 10)
366−assert(tonumber("\48\120\48\46" .. string.rep("\48",13) .. "\49") == 2.0 ^ (- 4 * 14))
367−assert(tonumber("\48\120\48\46" .. string.rep("\48",150) .. "\49") == 2.0 ^ (- 4 * 151))
368−assert(tonumber("\48\120\48\46" .. string.rep("\48",300) .. "\49") == 2.0 ^ (- 4 * 301))
369−assert(tonumber("\48\120\48\46" .. string.rep("\48",500) .. "\49") == 2.0 ^ (- 4 * 501))
370−assert(tonumber("\48\120\101\48\51" .. string.rep("\48",1000) .. "\112\45\52\48\48\48") == 3587.0)
371−assert(tonumber("\48\120\46" .. string.rep("\48",1000) .. "\55\52\112\52\48\48\52") == 7.25)
360+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",13) .. "\u{2e}\u{30}") == 2.0 ^ (4 * 13) - 1)
361+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",150) .. "\u{2e}\u{30}") == 2.0 ^ (4 * 150) - 1)
362+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",300) .. "\u{2e}\u{30}") == 2.0 ^ (4 * 300) - 1)
363+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",500) .. "\u{2e}\u{30}") == 2.0 ^ (4 * 500) - 1)
364+assert(tonumber("\u{30}\u{78}\u{33}\u{2e}" .. string.rep("\u{30}",1000)) == 3)
365+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{30}",1000) .. "\u{61}") == 10)
366+assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",13) .. "\u{31}") == 2.0 ^ (- 4 * 14))
367+assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",150) .. "\u{31}") == 2.0 ^ (- 4 * 151))
368+assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",300) .. "\u{31}") == 2.0 ^ (- 4 * 301))
369+assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",500) .. "\u{31}") == 2.0 ^ (- 4 * 501))
370+assert(tonumber("\u{30}\u{78}\u{65}\u{30}\u{33}" .. string.rep("\u{30}",1000) .. "\u{70}\u{2d}\u{34}\u{30}\u{30}\u{30}") == 3587.0)
371+assert(tonumber("\u{30}\u{78}\u{2e}" .. string.rep("\u{30}",1000) .. "\u{37}\u{34}\u{70}\u{34}\u{30}\u{30}\u{34}") == 7.25)
372372end
373373local function f
374374(...)
375−if select("\35",...) == 1 then
375+if select("\u{23}",...) == 1 then
376376return (...)
377377else
378−return "\42\42\42"
378+return "\u{2a}\u{2a}\u{2a}"
379379end
380380end
381−assert(not f(tonumber("\102\70\102\97",15)))
382−assert(not f(tonumber("\48\57\57",8)))
383−assert(not f(tonumber("\49",2)))
381+assert(not f(tonumber("\u{66}\u{46}\u{66}\u{61}",15)))
382+assert(not f(tonumber("\u{30}\u{39}\u{39}",8)))
383+assert(not f(tonumber("\u{31}\u{0}",2)))
384384assert(not f(tonumber("",8)))
385−assert(not f(tonumber("\32\32",9)))
386−assert(not f(tonumber("\32\32",9)))
387−assert(not f(tonumber("\48\120\102",10)))
388−assert(not f(tonumber("\105\110\102")))
389−assert(not f(tonumber("\32\73\78\70\32")))
390−assert(not f(tonumber("\78\97\110")))
391−assert(not f(tonumber("\110\97\110")))
392−assert(not f(tonumber("\32\32")))
385+assert(not f(tonumber("\u{20}\u{20}",9)))
386+assert(not f(tonumber("\u{20}\u{20}",9)))
387+assert(not f(tonumber("\u{30}\u{78}\u{66}",10)))
388+assert(not f(tonumber("\u{69}\u{6e}\u{66}")))
389+assert(not f(tonumber("\u{20}\u{49}\u{4e}\u{46}\u{20}")))
390+assert(not f(tonumber("\u{4e}\u{61}\u{6e}")))
391+assert(not f(tonumber("\u{6e}\u{61}\u{6e}")))
392+assert(not f(tonumber("\u{20}\u{20}")))
393393assert(not f(tonumber("")))
394−assert(not f(tonumber("\49\32\32\97")))
395−assert(not f(tonumber("\49\32\32\97",2)))
396−assert(not f(tonumber("\49")))
397−assert(not f(tonumber("\49\32")))
398−assert(not f(tonumber("\49\32")))
399−assert(not f(tonumber("\101\49")))
400−assert(not f(tonumber("\101\32\32\49")))
401−assert(not f(tonumber("\32\51\46\52\46\53\32")))
402−assert(not tonumber("\48\120"))
403−assert(not tonumber("\120"))
404−assert(not tonumber("\120\51"))
405−assert(not tonumber("\48\120\51\46\51\46\51"))
406−assert(not tonumber("\48\48\120\50"))
407−assert(not tonumber("\48\120\32\50"))
408−assert(not tonumber("\48\32\120\50"))
409−assert(not tonumber("\50\51\120"))
410−assert(not tonumber("\45\32\48\120\97\97"))
411−assert(not tonumber("\45\48\120\97\97\80\32"))
412−assert(not tonumber("\48\120\48\46\53\49\112"))
413−assert(not tonumber("\48\120\53\112\43\45\50"))
394+assert(not f(tonumber("\u{31}\u{20}\u{20}\u{61}")))
395+assert(not f(tonumber("\u{31}\u{20}\u{20}\u{61}",2)))
396+assert(not f(tonumber("\u{31}\u{0}")))
397+assert(not f(tonumber("\u{31}\u{20}\u{0}")))
398+assert(not f(tonumber("\u{31}\u{0}\u{20}")))
399+assert(not f(tonumber("\u{65}\u{31}")))
400+assert(not f(tonumber("\u{65}\u{20}\u{20}\u{31}")))
401+assert(not f(tonumber("\u{20}\u{33}\u{2e}\u{34}\u{2e}\u{35}\u{20}")))
402+assert(not tonumber("\u{30}\u{78}"))
403+assert(not tonumber("\u{78}"))
404+assert(not tonumber("\u{78}\u{33}"))
405+assert(not tonumber("\u{30}\u{78}\u{33}\u{2e}\u{33}\u{2e}\u{33}"))
406+assert(not tonumber("\u{30}\u{30}\u{78}\u{32}"))
407+assert(not tonumber("\u{30}\u{78}\u{20}\u{32}"))
408+assert(not tonumber("\u{30}\u{20}\u{78}\u{32}"))
409+assert(not tonumber("\u{32}\u{33}\u{78}"))
410+assert(not tonumber("\u{2d}\u{20}\u{30}\u{78}\u{61}\u{61}"))
411+assert(not tonumber("\u{2d}\u{30}\u{78}\u{61}\u{61}\u{50}\u{20}"))
412+assert(not tonumber("\u{30}\u{78}\u{30}\u{2e}\u{35}\u{31}\u{70}"))
413+assert(not tonumber("\u{30}\u{78}\u{35}\u{70}\u{2b}\u{2d}\u{32}"))
414414assert(16 == 16 and 4095 == 2 ^ 12 - 1 and 251 == 251)
415415assert(0.0 == 0 and 0.0 == 0)
416416assert(4294967295 == (1 << 32) - 1)
417−assert(tonumber("\43\48\120\50") == 2)
418−assert(tonumber("\45\48\120\97\65") == - 170)
419−assert(tonumber("\45\48\120\102\102\70\70\70\102\102\102") == - (1 << 32) + 1)
417+assert(tonumber("\u{2b}\u{30}\u{78}\u{32}") == 2)
418+assert(tonumber("\u{2d}\u{30}\u{78}\u{61}\u{41}") == - 170)
419+assert(tonumber("\u{2d}\u{30}\u{78}\u{66}\u{66}\u{46}\u{46}\u{46}\u{66}\u{66}\u{66}") == - (1 << 32) + 1)
420420assert(0.0 == 0 and 14 + 1 == 15 and 14 - 1 == 13)
421−assert(tonumber("\32\32\48\120\50\46\53\32\32") == 37 / 16)
422−assert(tonumber("\32\32\45\48\120\50\46\53\32\32") == - 37 / 16)
423−assert(tonumber("\32\32\43\48\120\48\46\53\49\112\43\56\32\32") == 81)
424−assert(0.9999999997671694 == 1 - "\48\120\46\48\48\48\48\48\48\48\49")
425−assert("\48\120\65\46\97" + 0 == 10 + 10 / 16)
421+assert(tonumber("\u{20}\u{20}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == 37 / 16)
422+assert(tonumber("\u{20}\u{20}\u{2d}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == - 37 / 16)
423+assert(tonumber("\u{20}\u{20}\u{2b}\u{30}\u{78}\u{30}\u{2e}\u{35}\u{31}\u{70}\u{2b}\u{38}\u{20}\u{20}") == 81)
424+assert(0.9999999997671694 == 1 - "\u{30}\u{78}\u{2e}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}")
425+assert("\u{30}\u{78}\u{41}\u{2e}\u{61}" + 0 == 10 + 10 / 16)
426426assert(170.0 == 170)
427427assert(1.0 == 1)
428−assert(1.0625 == "\48\120\49\46" + "\43\48\120\46\49")
428+assert(1.0625 == "\u{30}\u{78}\u{31}\u{2e}" + "\u{2b}\u{30}\u{78}\u{2e}\u{31}")
429429assert(11259375.0 == 11259375.0)
430430assert(1.1 == 1.0 + 0.1)
431431assert(100.0 == 100.0 and 0.01 == 0.01)
432432assert(1111111111 - 1111111110 == 1.0)
433−assert(1.1 == "\49\46" + "\46\49")
434−assert(tonumber("\49\49\49\49\49\49\49\49\49\49") - tonumber("\49\49\49\49\49\49\49\49\49\48") == tonumber("\32\32\43\48\46\48\48\49\101\43\51\32\10\9"))
433+assert(1.1 == "\u{31}\u{2e}" + "\u{2e}\u{31}")
434+assert(tonumber("\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}") - tonumber("\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{30}") == tonumber("\u{20}\u{20}\u{2b}\u{30}\u{2e}\u{30}\u{30}\u{31}\u{65}\u{2b}\u{33}\u{20}\u{a}\u{9}"))
435435assert(1e-31 > 9e-32 and 9e29 < 1e30)
436436assert(0.123456 > 0.123455)
437−assert(tonumber("\43\49\46\50\51\69\49\56") == 1.23 * 10.0 ^ 18)
437+assert(tonumber("\u{2b}\u{31}\u{2e}\u{32}\u{33}\u{45}\u{31}\u{38}") == 1.23 * 10.0 ^ 18)
438438assert(not (1 < 1) and (1 < 2) and not (2 < 1))
439−assert(not ("\97" < "\97") and ("\97" < "\98") and not ("\98" < "\97"))
439+assert(not ("\u{61}" < "\u{61}") and ("\u{61}" < "\u{62}") and not ("\u{62}" < "\u{61}"))
440440assert((1 <= 1) and (1 <= 2) and not (2 <= 1))
441−assert(("\97" <= "\97") and ("\97" <= "\98") and not ("\98" <= "\97"))
441+assert(("\u{61}" <= "\u{61}") and ("\u{61}" <= "\u{62}") and not ("\u{62}" <= "\u{61}"))
442442assert(not (1 > 1) and not (1 > 2) and (2 > 1))
443−assert(not ("\97" > "\97") and not ("\97" > "\98") and ("\98" > "\97"))
443+assert(not ("\u{61}" > "\u{61}") and not ("\u{61}" > "\u{62}") and ("\u{62}" > "\u{61}"))
444444assert((1 >= 1) and not (1 >= 2) and (2 >= 1))
445−assert(("\97" >= "\97") and not ("\97" >= "\98") and ("\98" >= "\97"))
445+assert(("\u{61}" >= "\u{61}") and not ("\u{61}" >= "\u{62}") and ("\u{62}" >= "\u{61}"))
446446assert(1.3 < 1.4 and 1.3 <= 1.4 and not (1.3 < 1.3) and 1.3 <= 1.3)
447447assert(eqT(- 4 % 3,2))
448448assert(eqT(4 % - 3,- 2))
@@ -559,8 +559,8 @@ assert(eq(math.log(2,2),1))
559559assert(eq(math.log(9,3),2))
560560assert(eq(math.exp(0),1))
561561assert(eq(math.sin(10),math.sin(10 % (2 * math.pi))))
562−assert(tonumber("\32\49\46\51\101\45\50\32") == 0.013)
563−assert(tonumber("\32\45\49\46\48\48\48\48\48\48\48\48\48\48\48\48\48\49\32") == - 1.00000000000001)
562+assert(tonumber("\u{20}\u{31}\u{2e}\u{33}\u{65}\u{2d}\u{32}\u{20}") == 0.013)
563+assert(tonumber("\u{20}\u{2d}\u{31}\u{2e}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{20}") == - 1.00000000000001)
564564assert(8388609 + - 8388609 == 0)
565565assert(8388608 + - 8388608 == 0)
566566assert(8388607 + - 8388607 == 0)
@@ -586,8 +586,8 @@ assert(math.floor(2 ^ p + 0.5) == 2 ^ p)
586586assert(math.ceil(2 ^ p) == 2 ^ p)
587587assert(math.ceil(2 ^ p - 0.5) == 2 ^ p)
588588end
589−checkerror("\110\117\109\98\101\114\32\101\120\112\101\99\116\101\100",math.floor,{})
590−checkerror("\110\117\109\98\101\114\32\101\120\112\101\99\116\101\100",math.ceil,print)
589+checkerror("\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",math.floor,{})
590+checkerror("\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",math.ceil,print)
591591assert(eqT(math.tointeger(minint),minint))
592592assert(eqT(math.tointeger(minint .. ""),minint))
593593assert(eqT(math.tointeger(maxint),maxint))
@@ -602,8 +602,8 @@ assert(not math.tointeger(math.huge))
602602assert(math.floor(- math.huge) == - math.huge)
603603assert(math.ceil(- math.huge) == - math.huge)
604604assert(not math.tointeger(- math.huge))
605−assert(math.tointeger("\51\52\46\48") == 34)
606−assert(not math.tointeger("\51\52\46\51"))
605+assert(math.tointeger("\u{33}\u{34}\u{2e}\u{30}") == 34)
606+assert(not math.tointeger("\u{33}\u{34}\u{2e}\u{33}"))
607607assert(not math.tointeger({}))
608608assert(not math.tointeger(0 / 0))
609609end
@@ -615,7 +615,7 @@ if j ~= 0 then
615615local mi = math.fmod(i,j)
616616local mf = math.fmod(i + 0.0,j)
617617assert(mi == mf)
618−assert(math.type(mi) == "\105\110\116\101\103\101\114" and math.type(mf) == "\102\108\111\97\116")
618+assert(math.type(mi) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}" and math.type(mf) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
619619if (i >= 0 and j >= 0) or (i <= 0 and j <= 0) or mi == 0 then
620620assert(eqT(mi,i % j))
621621end
@@ -626,10 +626,10 @@ assert(eqT(math.fmod(minint,minint),0))
626626assert(eqT(math.fmod(maxint,maxint),0))
627627assert(eqT(math.fmod(minint + 1,minint),minint + 1))
628628assert(eqT(math.fmod(maxint - 1,maxint),maxint - 1))
629−checkerror("\122\101\114\111",math.fmod,3,0)
629+checkerror("\u{7a}\u{65}\u{72}\u{6f}",math.fmod,3,0)
630630do
631−checkerror("\118\97\108\117\101\32\101\120\112\101\99\116\101\100",math.max)
632−checkerror("\118\97\108\117\101\32\101\120\112\101\99\116\101\100",math.min)
631+checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",math.max)
632+checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",math.min)
633633assert(eqT(math.max(3),3))
634634assert(eqT(math.max(3,5,9,1),9))
635635assert(math.max(maxint,1e61) == 1e61)
@@ -642,11 +642,11 @@ assert(math.min(- 1e61,minint) == - 1e61)
642642assert(eqT(math.min(maxint,maxint - 1),maxint - 1))
643643assert(eqT(math.min(maxint - 2,maxint,maxint - 1),maxint - 2))
644644end
645−local a,b = "\49\48","\50\48"
645+local a,b = "\u{31}\u{30}","\u{32}\u{30}"
646646assert(a * b == 200 and a + b == 30 and a - b == - 10 and a / b == 0.5 and - b == - 20)
647−assert(a == "\49\48" and b == "\50\48")
647+assert(a == "\u{31}\u{30}" and b == "\u{32}\u{30}")
648648do
649−print("\116\101\115\116\105\110\103\32\45\48\32\97\110\100\32\78\97\78")
649+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{30}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{4e}\u{61}\u{4e}")
650650local mz <const> = - 0.0
651651local z <const> = 0.0
652652assert(mz == z)
@@ -675,11 +675,11 @@ assert(a[NaN] == undef)
675675a[1]=1
676676assert(not pcall(rawset,a,NaN,1))
677677assert(a[NaN] == undef)
678−local a1,a2,a3,a4,a5 = 0,0,"",0,""
678+local a1,a2,a3,a4,a5 = 0,0,"\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}",0,"\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}"
679679assert(a1 == a2 and a2 == a4 and a1 ~= a3)
680680assert(a3 == a5)
681681end
682−print("\116\101\115\116\105\110\103\32\39\109\97\116\104\46\114\97\110\100\111\109\39")
682+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{27}")
683683local random,max,min = math.random,math.max,math.min
684684local function testnear
685685(val,ref,tol)
@@ -709,7 +709,7 @@ x,y=math.randomseed(x,y)
709709assert(math.random(0) == res)
710710math.randomseed(x,y)
711711assert(math.random(0) == res)
712−print(string.format("\114\97\110\100\111\109\32\115\101\101\100\115\58\32\37\100\44\32\37\100",x,y))
712+print(string.format("\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{73}\u{65}\u{65}\u{64}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{25}\u{64}",x,y))
713713end
714714do
715715local randbits = math.min(floatbits,64)
@@ -747,7 +747,7 @@ if not testnear(counts[i],expected,0.1) then
747747goto doagain
748748end
749749end
750−print(string.format("\102\108\111\97\116\32\114\97\110\100\111\109\32\114\97\110\103\101\32\105\110\32\37\100\32\99\97\108\108\115\58\32\91\37\102\44\32\37\102\93",totalrounds,low,up))
750+print(string.format("\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{20}\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}\u{20}\u{69}\u{6e}\u{20}\u{25}\u{64}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{3a}\u{20}\u{5b}\u{25}\u{66}\u{2c}\u{20}\u{25}\u{66}\u{5d}",totalrounds,low,up))
751751end
752752do
753753local up = 0
@@ -780,7 +780,7 @@ if not testnear(counts[i],expected,0.1) then
780780goto doagain
781781end
782782end
783−print(string.format("\105\110\116\101\103\101\114\32\114\97\110\100\111\109\32\114\97\110\103\101\32\105\110\32\37\100\32\99\97\108\108\115\58\32\91\109\105\110\105\110\116\32\43\32\37\46\48\102\112\112\109\44\32\109\97\120\105\110\116\32\45\32\37\46\48\102\112\112\109\93",totalrounds,(minint - low) / minint * 1e6,(maxint - up) / maxint * 1e6))
783+print(string.format("\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}\u{20}\u{69}\u{6e}\u{20}\u{25}\u{64}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{3a}\u{20}\u{5b}\u{6d}\u{69}\u{6e}\u{69}\u{6e}\u{74}\u{20}\u{2b}\u{20}\u{25}\u{2e}\u{30}\u{66}\u{70}\u{70}\u{6d}\u{2c}\u{20}\u{6d}\u{61}\u{78}\u{69}\u{6e}\u{74}\u{20}\u{2d}\u{20}\u{25}\u{2e}\u{30}\u{66}\u{70}\u{70}\u{6d}\u{5d}",totalrounds,(minint - low) / minint * 1e6,(maxint - up) / maxint * 1e6))
784784end
785785do
786786local count = {0,0,0,0,0,0}
@@ -876,4 +876,4 @@ assert(not pcall(random,1,2,3))
876876assert(not pcall(random,minint + 1,minint))
877877assert(not pcall(random,maxint,maxint - 1))
878878assert(not pcall(random,maxint,minint))
879−print("\79\75")
879+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/nextvar.lua+108−108
@@ -1,4 +1,4 @@
1−print("\116\101\115\116\105\110\103\32\116\97\98\108\101\115\44\32\110\101\120\116\44\32\97\110\100\32\102\111\114")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{2c}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{2c}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{66}\u{6f}\u{72}")
22local function checkerror
33(msg,f, ...)
44local s,err = pcall(f,...)
@@ -18,11 +18,11 @@ end
1818local a = {}
1919for i = 1, 100
2020do
21−a[i .. "\43"]=true
21+a[i .. "\u{2b}"]=true
2222end
2323for i = 1, 100
2424do
25−a[i .. "\43"]=undef
25+a[i .. "\u{2b}"]=undef
2626end
2727for i = 1, 100
2828do
@@ -58,12 +58,12 @@ end
5858assert(a.x == 1)
5959end
6060local x = 0
61−for k,v in ipairs({10,20,30,["\120"] = 12})
61+for k,v in ipairs({10,20,30,["\u{78}"] = 12})
6262do
6363x=x + 1
6464assert(k == x and v == x * 10)
6565end
66−for _ in ipairs({["\120"] = 12,["\121"] = 24})
66+for _ in ipairs({["\u{78}"] = 12,["\u{79}"] = 24})
6767do
6868assert(nil)
6969end
@@ -76,7 +76,7 @@ x=not x
7676assert(x == v)
7777end
7878assert(i == 4)
79−assert(type(ipairs({})) == "\102\117\110\99\116\105\111\110" and ipairs({}) == ipairs({}))
79+assert(type(ipairs({})) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and ipairs({}) == ipairs({}))
8080do
8181local f = ipairs({})
8282local k,v = f({[math.mininteger] = 10},math.maxinteger)
@@ -85,7 +85,7 @@ k,v=f({[math.mininteger] = 10},k)
8585assert(k == nil)
8686end
8787if not T then
88−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\116\101\115\116\115\32\102\111\114\32\116\97\98\108\101\32\115\105\122\101\115\32\60\60\60\10")
88+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
8989else
9090local function mp2
9191(n)
@@ -104,21 +104,21 @@ end
104104local sizes = {0,1,2,3,4,5,7,8,9,15,16,17,30,31,32,33,34,254,255,256,500,1000}
105105for _,sa in ipairs(sizes)
106106do
107−local arr = {"\114\101\116\117\114\110\32\123"}
107+local arr = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}"}
108108for i = 1, sa
109109do
110−arr[1 + i]="\49\44"
110+arr[1 + i]="\u{31}\u{2c}"
111111end
112112for _,sh in ipairs(sizes)
113113do
114114for j = 1, sh
115115do
116−arr[1 + sa + j]=string.format("\107\37\120\61\37\100\44",j,j)
116+arr[1 + sa + j]=string.format("\u{6b}\u{25}\u{78}\u{3d}\u{25}\u{64}\u{2c}",j,j)
117117end
118−arr[1 + sa + sh + 1]="\125"
118+arr[1 + sa + sh + 1]="\u{7d}"
119119local prog = table.concat(arr)
120120local f = assert(load(prog))
121−collectgarbage("\115\116\111\112")
121+collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
122122f()
123123if sa == 0 or sh == 0 then
124124T.alloccount(2)
@@ -130,7 +130,7 @@ end
130130local t = f()
131131T.alloccount()
132132;
133−collectgarbage("\114\101\115\116\97\114\116")
133+collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
134134assert(# t == sa)
135135check(t,sa,mp2(sh))
136136end
@@ -181,7 +181,7 @@ end
181181a={}
182182for i = 1, lim
183183do
184−a["\97" .. i]=1
184+a["\u{61}" .. i]=1
185185assert(# a == 0)
186186check(a,0,mp2(i))
187187end
@@ -239,7 +239,7 @@ local function foo
239239(n, ...)
240240local arg = {...}
241241check(arg,n,0)
242−assert(select("\35",...) == n)
242+assert(select("\u{23}",...) == n)
243243arg[n + 1]=true
244244check(arg,mp2(n + 1),0)
245245arg.x=true
@@ -279,7 +279,7 @@ assert(# {nil,nil} == 0)
279279assert(# {nil,nil,nil} == 0)
280280assert(# {nil,nil,nil,nil} == 0)
281281assert(# {1,2,3,nil,nil} == 3)
282−print("\43")
282+print("\u{2b}")
283283local nofind = {}
284284a,b,c=1,2,3
285285a,b,c=nil
@@ -308,27 +308,27 @@ end
308308end
309309return nil
310310end
311−assert(print == find("\112\114\105\110\116") and print == find1("\112\114\105\110\116"))
312−assert(_G["\112\114\105\110\116"] == find("\112\114\105\110\116"))
313−assert(assert == find1("\97\115\115\101\114\116"))
314−assert(nofind == find("\114\101\116\117\114\110"))
315−assert(not find1("\114\101\116\117\114\110"))
316−_G["\114\101\116" .. "\117\114\110"]=undef
317−assert(nofind == find("\114\101\116\117\114\110"))
318−_G["\120\120\120"]=1
319−assert(xxx == find("\120\120\120"))
320−checkerror("\105\110\118\97\108\105\100\32\107\101\121",next,{10,20},3)
321−checkerror("\98\97\100\32\97\114\103\117\109\101\110\116",pairs)
322−checkerror("\98\97\100\32\97\114\103\117\109\101\110\116",ipairs)
323−print("\43")
311+assert(print == find("\u{70}\u{72}\u{69}\u{6e}\u{74}") and print == find1("\u{70}\u{72}\u{69}\u{6e}\u{74}"))
312+assert(_G["\u{70}\u{72}\u{69}\u{6e}\u{74}"] == find("\u{70}\u{72}\u{69}\u{6e}\u{74}"))
313+assert(assert == find1("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"))
314+assert(nofind == find("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"))
315+assert(not find1("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"))
316+_G["\u{72}\u{65}\u{74}" .. "\u{75}\u{72}\u{6e}"]=undef
317+assert(nofind == find("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"))
318+_G["\u{78}\u{78}\u{78}"]=1
319+assert(xxx == find("\u{78}\u{78}\u{78}"))
320+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6b}\u{65}\u{79}",next,{10,20},3)
321+checkerror("\u{62}\u{61}\u{64}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}",pairs)
322+checkerror("\u{62}\u{61}\u{64}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}",ipairs)
323+print("\u{2b}")
324324a={}
325325for i = 0, 10000
326326do
327327if math.fmod(i,10) ~= 0 then
328−a["\120" .. i]=i
328+a["\u{78}" .. i]=i
329329end
330330end
331−n={["\110"] = 0}
331+n={["\u{6e}"] = 0}
332332for i,v in pairs(a)
333333do
334334n.n=n.n + 1
@@ -344,7 +344,7 @@ a[n]=v
344344end
345345for n,v in pairs(a)
346346do
347−if not package.loaded[n] and type(v) ~= "\102\117\110\99\116\105\111\110" and not string.find(n,"\94\91\37\117\95\93") then
347+if not package.loaded[n] and type(v) ~= "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and not string.find(n,"\u{5e}\u{5b}\u{25}\u{75}\u{5f}\u{5d}") then
348348_G[n]=undef
349349end
350350collectgarbage()
@@ -371,11 +371,11 @@ do
371371assert(b[k] == v)
372372end
373373end
374−checknext({1,["\120"] = 1,["\121"] = 2,["\122"] = 3})
375−checknext({1,2,["\120"] = 1,["\121"] = 2,["\122"] = 3})
376−checknext({1,2,3,["\120"] = 1,["\121"] = 2,["\122"] = 3})
377−checknext({1,2,3,4,["\120"] = 1,["\121"] = 2,["\122"] = 3})
378−checknext({1,2,3,4,5,["\120"] = 1,["\121"] = 2,["\122"] = 3})
374+checknext({1,["\u{78}"] = 1,["\u{79}"] = 2,["\u{7a}"] = 3})
375+checknext({1,2,["\u{78}"] = 1,["\u{79}"] = 2,["\u{7a}"] = 3})
376+checknext({1,2,3,["\u{78}"] = 1,["\u{79}"] = 2,["\u{7a}"] = 3})
377+checknext({1,2,3,4,["\u{78}"] = 1,["\u{79}"] = 2,["\u{7a}"] = 3})
378+checknext({1,2,3,4,5,["\u{78}"] = 1,["\u{79}"] = 2,["\u{7a}"] = 3})
379379assert(# {} == 0)
380380assert(# {[- 1] = 2} == 0)
381381for i = 0, 40
@@ -391,13 +391,13 @@ function table.maxn(t)
391391local max = 0
392392for k in pairs(t)
393393do
394−max=(type(k) == "\110\117\109\98\101\114") and math.max(max,k) or max
394+max=(type(k) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") and math.max(max,k) or max
395395end
396396return max
397397end
398398assert(table.maxn({}) == 0)
399−assert(table.maxn({["\49\48\48\48"] = true}) == 0)
400−assert(table.maxn({["\49\48\48\48"] = true,[24.5] = 3}) == 24.5)
399+assert(table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true}) == 0)
400+assert(table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true,[24.5] = 3}) == 24.5)
401401assert(table.maxn({[1000] = true}) == 1000)
402402assert(table.maxn({[10] = true,[100 * math.pi] = print}) == 100 * math.pi)
403403table.maxn=nil
@@ -407,9 +407,9 @@ do
407407a[2 ^ i]=true
408408end
409409assert(a[# a])
410−print("\43")
410+print("\u{2b}")
411411do
412−local a = {[1] = 1,[1.1] = 2,["\120"] = 3,[string.rep("\120",1000)] = 4,[print] = 5,[checkerror] = 6,[coroutine.running()] = 7,[true] = 8,[io.stdin] = 9,[{}] = 10}
412+local a = {[1] = 1,[1.1] = 2,["\u{78}"] = 3,[string.rep("\u{78}",1000)] = 4,[print] = 5,[checkerror] = 6,[coroutine.running()] = 7,[true] = 8,[io.stdin] = 9,[{}] = 10}
413413local b = {}
414414;
415415for i = 1, 10
@@ -424,7 +424,7 @@ b[v]=undef
424424end
425425assert(next(b) == nil)
426426end
427−local t = {[{1}] = 1,[{2}] = 2,[string.rep("\120\32",4)] = 3,[100.3] = 4,[4] = 5}
427+local t = {[{1}] = 1,[{2}] = 2,[string.rep("\u{78}\u{20}",4)] = 3,[100.3] = 4,[4] = 5}
428428local n = 0
429429for k,v in pairs(t)
430430do
@@ -436,14 +436,14 @@ assert(t[k] == undef)
436436end
437437assert(n == 5)
438438do
439−print("\116\101\115\116\105\110\103\32\110\101\120\116\32\120\32\71\67\32\111\102\32\100\101\108\101\116\101\100\32\107\101\121\115")
439+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{78}\u{20}\u{47}\u{43}\u{20}\u{6f}\u{66}\u{20}\u{64}\u{65}\u{6c}\u{65}\u{74}\u{65}\u{64}\u{20}\u{6b}\u{65}\u{79}\u{73}")
440440local co = coroutine.wrap(function (t)
441441for k,v in pairs(t)
442442do
443443local k1 = next(t)
444444assert(k == k1)
445445t[k]=nil
446−local expected = (type(k) == "\116\97\98\108\101" and k[1] or type(k) == "\102\117\110\99\116\105\111\110" and k() or string.sub(k,1,1))
446+local expected = (type(k) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and k[1] or type(k) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and k() or string.sub(k,1,1))
447447assert(expected == v)
448448coroutine.yield(v)
449449end
@@ -451,16 +451,16 @@ end)
451451local t = {}
452452t[{1}]=1
453453t[{2}]=2
454−t[string.rep("\97",50)]="\97"
455−t[string.rep("\98",50)]="\98"
454+t[string.rep("\u{61}",50)]="\u{61}"
455+t[string.rep("\u{62}",50)]="\u{62}"
456456t[{3}]=3
457−t[string.rep("\99",10)]="\99"
457+t[string.rep("\u{63}",10)]="\u{63}"
458458t[function ()
459459return 10
460460end]=10
461461local count = 7
462462while co(t) do
463−collectgarbage("\99\111\108\108\101\99\116")
463+collectgarbage("\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}")
464464count=count - 1
465465end
466466assert(count == 0 and next(t) == nil)
@@ -480,7 +480,7 @@ table.insert(a,40)
480480table.insert(a,# a + 1,50)
481481table.insert(a,2,- 2)
482482assert(a[2] ~= undef)
483−assert(a["\50"] == undef)
483+assert(a["\u{32}"] == undef)
484484assert(not pcall(table.insert,a,0,20))
485485;
486486assert(not pcall(table.insert,a,# a + 2,20))
@@ -495,18 +495,18 @@ assert(table.remove(a,1) == nil)
495495assert(table.remove(a) == nil)
496496assert(table.remove(a,# a) == nil)
497497end
498−a={["\110"] = 0,[- 7] = "\98\97\110"}
498+a={["\u{6e}"] = 0,[- 7] = "\u{62}\u{61}\u{6e}"}
499499test(a)
500−assert(a.n == 0 and a[- 7] == "\98\97\110")
501−a={[- 7] = "\98\97\110"}
500+assert(a.n == 0 and a[- 7] == "\u{62}\u{61}\u{6e}")
501+a={[- 7] = "\u{62}\u{61}\u{6e}"}
502502;
503503test(a)
504−assert(a.n == nil and # a == 0 and a[- 7] == "\98\97\110")
505−a={[- 1] = "\98\97\110"}
504+assert(a.n == nil and # a == 0 and a[- 7] == "\u{62}\u{61}\u{6e}")
505+a={[- 1] = "\u{62}\u{61}\u{6e}"}
506506test(a)
507−assert(# a == 0 and table.remove(a) == nil and a[- 1] == "\98\97\110")
508−a={[0] = "\98\97\110"}
509−assert(# a == 0 and table.remove(a) == "\98\97\110" and a[0] == undef)
507+assert(# a == 0 and table.remove(a) == nil and a[- 1] == "\u{62}\u{61}\u{6e}")
508+a={[0] = "\u{62}\u{61}\u{6e}"}
509+assert(# a == 0 and table.remove(a) == "\u{62}\u{61}\u{6e}" and a[0] == undef)
510510table.insert(a,1,10)
511511;
512512table.insert(a,1,20)
@@ -516,13 +516,13 @@ assert(table.remove(a) == 10)
516516assert(table.remove(a) == 20)
517517assert(table.remove(a) == - 1)
518518assert(table.remove(a) == nil)
519−a={"\99","\100"}
520−table.insert(a,3,"\97")
521−table.insert(a,"\98")
522−assert(table.remove(a,1) == "\99")
523−assert(table.remove(a,1) == "\100")
524−assert(table.remove(a,1) == "\97")
525−assert(table.remove(a,1) == "\98")
519+a={"\u{63}","\u{64}"}
520+table.insert(a,3,"\u{61}")
521+table.insert(a,"\u{62}")
522+assert(table.remove(a,1) == "\u{63}")
523+assert(table.remove(a,1) == "\u{64}")
524+assert(table.remove(a,1) == "\u{61}")
525+assert(table.remove(a,1) == "\u{62}")
526526assert(table.remove(a,1) == nil)
527527assert(# a == 0 and a.n == nil)
528528a={10,20,30,40}
@@ -550,7 +550,7 @@ for i = 1, 10
550550do
551551assert(t[i] == i and proxy[i] == i)
552552end
553−assert(table.concat(proxy,"\44") == "\49\44\50\44\51\44\52\44\53\44\54\44\55\44\56\44\57\44\49\48")
553+assert(table.concat(proxy,"\u{2c}") == "\u{31}\u{2c}\u{32}\u{2c}\u{33}\u{2c}\u{34}\u{2c}\u{35}\u{2c}\u{36}\u{2c}\u{37}\u{2c}\u{38}\u{2c}\u{39}\u{2c}\u{31}\u{30}")
554554for i = 1, 8
555555do
556556assert(table.remove(proxy,1) == i)
@@ -560,27 +560,27 @@ local a,b,c = table.unpack(proxy)
560560assert(a == 9 and b == 10 and c == nil)
561561end
562562local t = {}
563−local proxy = setmetatable({},{["\95\95\108\101\110"] = function ()
563+local proxy = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
564564return # t
565−end,["\95\95\105\110\100\101\120"] = t,["\95\95\110\101\119\105\110\100\101\120"] = t})
565+end,["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = t,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = t})
566566test(proxy,t)
567567local count = 0
568−t=setmetatable({},{["\95\95\110\101\119\105\110\100\101\120"] = function (t,k,v)
568+t=setmetatable({},{["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k,v)
569569count=count + 1
570570;
571571rawset(t,k,v)
572572end})
573573test(t,t)
574574assert(count == 10)
575−t=setmetatable({},{["\95\95\105\110\100\101\120"] = function (_,k)
575+t=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
576576return k + 1
577−end,["\95\95\108\101\110"] = function (_)
577+end,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (_)
578578return 5
579579end})
580−assert(table.concat(t,"\59") == "\50\59\51\59\52\59\53\59\54")
580+assert(table.concat(t,"\u{3b}") == "\u{32}\u{3b}\u{33}\u{3b}\u{34}\u{3b}\u{35}\u{3b}\u{36}")
581581end
582582do
583−local t = setmetatable({},{["\95\95\108\101\110"] = function ()
583+local t = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
584584return math.maxinteger
585585end})
586586table.insert(t,20)
@@ -588,23 +588,23 @@ local k,v = next(t)
588588assert(k == math.mininteger and v == 20)
589589end
590590if not T then
591−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\116\101\115\116\115\32\102\111\114\32\116\97\98\108\101\32\108\105\98\114\97\114\121\32\111\110\32\110\111\110\45\116\97\98\108\101\115\32\60\60\60\10")
591+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}\u{20}\u{6f}\u{6e}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
592592else
593−local debug = require("\100\101\98\117\103")
593+local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
594594local tab = {10,20,30}
595595local mt = {}
596596local u = T.newuserdata(0)
597−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.insert,u,40)
598−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.remove,u)
597+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.insert,u,40)
598+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.remove,u)
599599debug.setmetatable(u,mt)
600−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.insert,u,40)
601−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.remove,u)
600+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.insert,u,40)
601+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.remove,u)
602602mt.__index=tab
603−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.insert,u,40)
604−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.remove,u)
603+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.insert,u,40)
604+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.remove,u)
605605mt.__newindex=tab
606−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.insert,u,40)
607−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.remove,u)
606+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.insert,u,40)
607+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.remove,u)
608608mt.__len=function ()
609609return # tab
610610end
@@ -617,13 +617,13 @@ mt.__newindex=nil
617617mt.__len=nil
618618local tab2 = {}
619619local u2 = T.newuserdata(0)
620−debug.setmetatable(u2,{["\95\95\110\101\119\105\110\100\101\120"] = function (_,k,v)
620+debug.setmetatable(u2,{["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k,v)
621621tab2[k]=v
622622end})
623623table.move(u,1,4,1,u2)
624624assert(# tab2 == 4 and tab2[1] == tab[1] and tab2[4] == tab[4])
625625end
626−print("\43")
626+print("\u{2b}")
627627a={}
628628for i = 1, 1000
629629do
@@ -636,15 +636,15 @@ assert(next({}) == nil)
636636assert(next({},nil) == nil)
637637for a,b in pairs({})
638638do
639−error("\110\111\116\32\104\101\114\101")
639+error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
640640end
641641for i = 1, 0
642642do
643−error("\110\111\116\32\104\101\114\101")
643+error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
644644end
645645for i = 0, 1, - 1
646646do
647−error("\110\111\116\32\104\101\114\101")
647+error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
648648end
649649a=nil
650650;
@@ -667,7 +667,7 @@ end
667667;
668668assert(a)
669669do
670−print("\116\101\115\116\105\110\103\32\102\108\111\97\116\115\32\105\110\32\110\117\109\101\114\105\99\32\102\111\114")
670+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{6e}\u{75}\u{6d}\u{65}\u{72}\u{69}\u{63}\u{20}\u{66}\u{6f}\u{72}")
671671local a
672672a=0
673673;
@@ -774,7 +774,7 @@ for i = 1, 10
774774do
775775a=a + 1
776776;
777−i="\120"
777+i="\u{78}"
778778end
779779;
780780assert(a == 10)
@@ -784,14 +784,14 @@ for i = 10.0, 1, - 1
784784do
785785a=a + 1
786786;
787−i="\120"
787+i="\u{78}"
788788end
789789;
790790assert(a == 10)
791791end
792792a=0
793793;
794−for i = "\49\48", "\49", "\45\50"
794+for i = "\u{31}\u{30}", "\u{31}", "\u{2d}\u{32}"
795795do
796796a=a + 1
797797end
@@ -801,7 +801,7 @@ do
801801local c
802802local function checkfloat
803803(i)
804−assert(math.type(i) == "\102\108\111\97\116")
804+assert(math.type(i) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
805805c=c + 1
806806end
807807c=0
@@ -820,7 +820,7 @@ end
820820assert(c == 10)
821821local function checkint
822822(i)
823−assert(math.type(i) == "\105\110\116\101\103\101\114")
823+assert(math.type(i) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
824824c=c + 1
825825end
826826local m = math.maxinteger
@@ -847,28 +847,28 @@ end
847847assert(c == 10)
848848c=0
849849;
850−for i = 1, "\49\48\46\56"
850+for i = 1, "\u{31}\u{30}\u{2e}\u{38}"
851851do
852852checkint(i)
853853end
854854assert(c == 10)
855855c=0
856856;
857−for i = 9, "\51\46\52", - 1
857+for i = 9, "\u{33}\u{2e}\u{34}", - 1
858858do
859859checkint(i)
860860end
861861assert(c == 6)
862862c=0
863863;
864−for i = 0, "\32\45\51\46\52\32\32", - 1
864+for i = 0, "\u{20}\u{2d}\u{33}\u{2e}\u{34}\u{20}\u{20}", - 1
865865do
866866checkint(i)
867867end
868868assert(c == 4)
869869c=0
870870;
871−for i = 100, "\57\54\46\51", - 2
871+for i = 100, "\u{39}\u{36}\u{2e}\u{33}", - 2
872872do
873873checkint(i)
874874end
@@ -944,19 +944,19 @@ checkfor(maxi,maxi,mini,{maxi})
944944checkfor(mini,mini,maxi,{mini})
945945checkfor(mini,mini,mini,{mini})
946946end
947−checkerror("\39\102\111\114\39\32\115\116\101\112\32\105\115\32\122\101\114\111",function ()
947+checkerror("\u{27}\u{66}\u{6f}\u{72}\u{27}\u{20}\u{73}\u{74}\u{65}\u{70}\u{20}\u{69}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}",function ()
948948for i = 1, 10, 0
949949do
950950
951951end
952952end)
953−checkerror("\39\102\111\114\39\32\115\116\101\112\32\105\115\32\122\101\114\111",function ()
953+checkerror("\u{27}\u{66}\u{6f}\u{72}\u{27}\u{20}\u{73}\u{74}\u{65}\u{70}\u{20}\u{69}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}",function ()
954954for i = 1, - 10, 0
955955do
956956
957957end
958958end)
959−checkerror("\39\102\111\114\39\32\115\116\101\112\32\105\115\32\122\101\114\111",function ()
959+checkerror("\u{27}\u{66}\u{6f}\u{72}\u{27}\u{20}\u{73}\u{74}\u{65}\u{70}\u{20}\u{69}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}",function ()
960960for i = 1.0, - 10, 0.0
961961do
962962
@@ -972,7 +972,7 @@ do
972972t[i]=i * 10
973973end
974974return function (_,n, ...)
975−assert(select("\35",...) == 0)
975+assert(select("\u{23}",...) == 0)
976976if n > 0 then
977977n=n - 1
978978return n,table.unpack(t)
@@ -989,7 +989,7 @@ assert(x == 5)
989989a={}
990990do
991991local x,y,z = pairs(a)
992−assert(type(x) == "\102\117\110\99\116\105\111\110" and y == a and z == nil)
992+assert(type(x) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and y == a and z == nil)
993993end
994994local function foo
995995(e,i)
@@ -1006,7 +1006,7 @@ if i <= e.n then
10061006return i,a[i]
10071007end
10081008end
1009−setmetatable(a,{["\95\95\112\97\105\114\115"] = function (x)
1009+setmetatable(a,{["\u{5f}\u{5f}\u{70}\u{61}\u{69}\u{72}\u{73}"] = function (x)
10101010return foo,x,0
10111011end})
10121012local i = 0
@@ -1017,8 +1017,8 @@ assert(k == i and v == k + 1)
10171017end
10181018a.n=5
10191019a[3]=30
1020−a={["\110"] = 10}
1021−setmetatable(a,{["\95\95\105\110\100\101\120"] = function (t,k)
1020+a={["\u{6e}"] = 10}
1021+setmetatable(a,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k)
10221022if k <= t.n then
10231023return k * 10
10241024end
@@ -1031,7 +1031,7 @@ assert(k == i and v == i * 10)
10311031end
10321032assert(i == a.n)
10331033do
1034−local t = setmetatable({10,20,30},{["\95\95\112\97\105\114\115"] = function (t)
1034+local t = setmetatable({10,20,30},{["\u{5f}\u{5f}\u{70}\u{61}\u{69}\u{72}\u{73}"] = function (t)
10351035local inc = coroutine.yield()
10361036return function (t,i)
10371037if i > 1 then
@@ -1052,4 +1052,4 @@ co()
10521052co(1)
10531053assert(res[1] == 30 and res[2] == 20 and res[3] == 10 and # res == 3)
10541054end
1055−print("\79\75")
1055+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/pm.lua+221−221
@@ -1,4 +1,4 @@
1−print("\116\101\115\116\105\110\103\32\112\97\116\116\101\114\110\32\109\97\116\99\104\105\110\103")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{74}\u{74}\u{65}\u{72}\u{6e}\u{20}\u{6d}\u{61}\u{74}\u{63}\u{68}\u{69}\u{6e}\u{67}")
22local function checkerror
33(msg,f, ...)
44local s,err = pcall(f,...)
@@ -14,97 +14,97 @@ end
1414local a,b = string.find("","")
1515assert(a == 1 and b == 0)
1616;
17−a,b=string.find("\97\108\111","")
17+a,b=string.find("\u{61}\u{6c}\u{6f}","")
1818assert(a == 1 and b == 0)
19−a,b=string.find("\97\111\32\97\111\32\97\111","\97",1)
19+a,b=string.find("\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}","\u{61}",1)
2020assert(a == 1 and b == 1)
21−a,b=string.find("\97\111\32\97\111\32\97\111","\97\111",2)
21+a,b=string.find("\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}","\u{61}\u{0}\u{6f}",2)
2222assert(a == 5 and b == 7)
23−a,b=string.find("\97\111\32\97\111\32\97\111","\97\111",9)
23+a,b=string.find("\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}","\u{61}\u{0}\u{6f}",9)
2424assert(a == 9 and b == 11)
25−a,b=string.find("\97\97\97\97\97\98","\97\98",2)
25+a,b=string.find("\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{0}\u{61}\u{62}","\u{0}\u{61}\u{62}",2)
2626;
2727assert(a == 9 and b == 11)
2828;
29−a,b=string.find("\97\97\97\97\97\98","\98")
29+a,b=string.find("\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{0}\u{61}\u{62}","\u{62}")
3030assert(a == 11 and b == 11)
31−assert(not string.find("\97\97\97\97\97\98","\98"))
32−assert(not string.find("",""))
33−assert(string.find("\97\108\111\49\50\51\97\108\111","\49\50") == 4)
34−assert(not string.find("\97\108\111\49\50\51\97\108\111","\94\49\50"))
35−assert(string.match("\97\97\97\98","\46\42\98") == "\97\97\97\98")
36−assert(string.match("\97\97\97","\46\42\97") == "\97\97\97")
37−assert(string.match("\98","\46\42\98") == "\98")
38−assert(string.match("\97\97\97\98","\46\43\98") == "\97\97\97\98")
39−assert(string.match("\97\97\97","\46\43\97") == "\97\97\97")
40−assert(not string.match("\98","\46\43\98"))
41−assert(string.match("\97\97\97\98","\46\63\98") == "\97\98")
42−assert(string.match("\97\97\97","\46\63\97") == "\97\97")
43−assert(string.match("\98","\46\63\98") == "\98")
44−assert(f("\97\108\111\65\76\79","\37\108\42") == "\97\108\111")
45−assert(f("\97\76\111\95\65\76\79","\37\97\42") == "\97\76\111")
46−assert(f("\32\32\10\13\42\38\10\13\32\32\32\120\117\120\117\32\32\10\10","\37\103\37\103\37\103\43") == "\120\117\120\117")
31+assert(not string.find("\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{0}\u{61}\u{62}","\u{62}\u{0}"))
32+assert(not string.find("","\u{0}"))
33+assert(string.find("\u{61}\u{6c}\u{6f}\u{31}\u{32}\u{33}\u{61}\u{6c}\u{6f}","\u{31}\u{32}") == 4)
34+assert(not string.find("\u{61}\u{6c}\u{6f}\u{31}\u{32}\u{33}\u{61}\u{6c}\u{6f}","\u{5e}\u{31}\u{32}"))
35+assert(string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{2a}\u{62}") == "\u{61}\u{61}\u{61}\u{62}")
36+assert(string.match("\u{61}\u{61}\u{61}","\u{2e}\u{2a}\u{61}") == "\u{61}\u{61}\u{61}")
37+assert(string.match("\u{62}","\u{2e}\u{2a}\u{62}") == "\u{62}")
38+assert(string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{2b}\u{62}") == "\u{61}\u{61}\u{61}\u{62}")
39+assert(string.match("\u{61}\u{61}\u{61}","\u{2e}\u{2b}\u{61}") == "\u{61}\u{61}\u{61}")
40+assert(not string.match("\u{62}","\u{2e}\u{2b}\u{62}"))
41+assert(string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{3f}\u{62}") == "\u{61}\u{62}")
42+assert(string.match("\u{61}\u{61}\u{61}","\u{2e}\u{3f}\u{61}") == "\u{61}\u{61}")
43+assert(string.match("\u{62}","\u{2e}\u{3f}\u{62}") == "\u{62}")
44+assert(f("\u{61}\u{6c}\u{6f}\u{41}\u{4c}\u{4f}","\u{25}\u{6c}\u{2a}") == "\u{61}\u{6c}\u{6f}")
45+assert(f("\u{61}\u{4c}\u{6f}\u{5f}\u{41}\u{4c}\u{4f}","\u{25}\u{61}\u{2a}") == "\u{61}\u{4c}\u{6f}")
46+assert(f("\u{20}\u{20}\u{a}\u{d}\u{2a}\u{26}\u{a}\u{d}\u{20}\u{20}\u{20}\u{78}\u{75}\u{78}\u{75}\u{20}\u{20}\u{a}\u{a}","\u{25}\u{67}\u{25}\u{67}\u{25}\u{67}\u{2b}") == "\u{78}\u{75}\u{78}\u{75}")
4747local function PU
4848(p)
49−p=string.gsub(p,"\40" .. utf8.charpattern .. "\41\37\63",function (c)
50−return string.gsub(c,"\46","\37\48\63")
49+p=string.gsub(p,"\u{28}" .. utf8.charpattern .. "\u{29}\u{25}\u{3f}",function (c)
50+return string.gsub(c,"\u{2e}","\u{25}\u{30}\u{3f}")
5151end)
52−p=string.gsub(p,"\37\46",utf8.charpattern)
52+p=string.gsub(p,"\u{25}\u{2e}",utf8.charpattern)
5353return p
5454end
55−assert(f("\97\97\97\98","\97\42") == "\97\97\97")
55+assert(f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2a}") == "\u{61}\u{61}\u{61}")
5656;
57−assert(f("\97\97\97","\94\46\42\36") == "\97\97\97")
57+assert(f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2a}\u{24}") == "\u{61}\u{61}\u{61}")
5858;
59−assert(f("\97\97\97","\98\42") == "")
59+assert(f("\u{61}\u{61}\u{61}","\u{62}\u{2a}") == "")
6060;
61−assert(f("\97\97\97","\97\98\42\97") == "\97\97")
62−assert(f("\97\98\97","\97\98\42\97") == "\97\98\97")
63−assert(f("\97\97\97\98","\97\43") == "\97\97\97")
64−assert(f("\97\97\97","\94\46\43\36") == "\97\97\97")
65−assert(not f("\97\97\97","\98\43"))
66−assert(not f("\97\97\97","\97\98\43\97"))
67−assert(f("\97\98\97","\97\98\43\97") == "\97\98\97")
68−assert(f("\97\36\97","\46\36") == "\97")
69−assert(f("\97\36\97","\46\37\36") == "\97\36")
70−assert(f("\97\36\97","\46\36\46") == "\97\36\97")
71−assert(not f("\97\36\97","\36\36"))
72−assert(not f("\97\36\98","\97\36"))
73−assert(f("\97\36\97","\36") == "")
74−assert(f("","\98\42") == "")
75−assert(not f("\97\97\97","\98\98\42"))
76−assert(f("\97\97\97\98","\97\45") == "")
77−assert(f("\97\97\97","\94\46\45\36") == "\97\97\97")
78−assert(f("\97\97\98\97\97\97\98\97\97\97\98\97\97\97\98\97","\98\46\42\98") == "\98\97\97\97\98\97\97\97\98\97\97\97\98")
79−assert(f("\97\97\98\97\97\97\98\97\97\97\98\97\97\97\98\97","\98\46\45\98") == "\98\97\97\97\98")
80−assert(f("\97\108\111\32\120\111","\46\111\36") == "\120\111")
81−assert(f("\32\10\32\105\115\116\111\32\195\169\32\97\115\115\105\109","\37\83\37\83\42") == "\105\115\116\111")
82−assert(f("\32\10\32\105\115\116\111\32\195\169\32\97\115\115\105\109","\37\83\42\36") == "\97\115\115\105\109")
83−assert(f("\32\10\32\105\115\116\111\32\195\169\32\97\115\115\105\109","\91\97\45\122\93\42\36") == "\97\115\115\105\109")
84−assert(f("\117\109\32\99\97\114\97\99\116\101\114\32\63\32\101\120\116\114\97","\91\94\37\115\97\45\122\93") == "\63")
85−assert(f("","\97\63") == "")
86−assert(f("\195\161",PU("\195\161\63")) == "\195\161")
87−assert(f("\195\161\98\108",PU("\195\161\63\98\63\108\63")) == "\195\161\98\108")
88−assert(f("\32\32\195\161\98\108",PU("\195\161\63\98\63\108\63")) == "")
89−assert(f("\97\97","\94\97\97\63\97\63\97") == "\97\97")
90−assert(f("\93\93\93\195\161\98","\91\94\93\93\43") == "\195\161\98")
91−assert(f("\48\97\108\111\32\97\108\111","\37\120\42") == "\48\97")
92−assert(f("\97\108\111\32\97\108\111","\37\67\43") == "\97\108\111\32\97\108\111")
93−print("\43")
61+assert(f("\u{61}\u{61}\u{61}","\u{61}\u{62}\u{2a}\u{61}") == "\u{61}\u{61}")
62+assert(f("\u{61}\u{62}\u{61}","\u{61}\u{62}\u{2a}\u{61}") == "\u{61}\u{62}\u{61}")
63+assert(f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2b}") == "\u{61}\u{61}\u{61}")
64+assert(f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2b}\u{24}") == "\u{61}\u{61}\u{61}")
65+assert(not f("\u{61}\u{61}\u{61}","\u{62}\u{2b}"))
66+assert(not f("\u{61}\u{61}\u{61}","\u{61}\u{62}\u{2b}\u{61}"))
67+assert(f("\u{61}\u{62}\u{61}","\u{61}\u{62}\u{2b}\u{61}") == "\u{61}\u{62}\u{61}")
68+assert(f("\u{61}\u{24}\u{61}","\u{2e}\u{24}") == "\u{61}")
69+assert(f("\u{61}\u{24}\u{61}","\u{2e}\u{25}\u{24}") == "\u{61}\u{24}")
70+assert(f("\u{61}\u{24}\u{61}","\u{2e}\u{24}\u{2e}") == "\u{61}\u{24}\u{61}")
71+assert(not f("\u{61}\u{24}\u{61}","\u{24}\u{24}"))
72+assert(not f("\u{61}\u{24}\u{62}","\u{61}\u{24}"))
73+assert(f("\u{61}\u{24}\u{61}","\u{24}") == "")
74+assert(f("","\u{62}\u{2a}") == "")
75+assert(not f("\u{61}\u{61}\u{61}","\u{62}\u{62}\u{2a}"))
76+assert(f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2d}") == "")
77+assert(f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2d}\u{24}") == "\u{61}\u{61}\u{61}")
78+assert(f("\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}","\u{62}\u{2e}\u{2a}\u{62}") == "\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}")
79+assert(f("\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}","\u{62}\u{2e}\u{2d}\u{62}") == "\u{62}\u{61}\u{61}\u{61}\u{62}")
80+assert(f("\u{61}\u{6c}\u{6f}\u{20}\u{78}\u{6f}","\u{2e}\u{6f}\u{24}") == "\u{78}\u{6f}")
81+assert(f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{25}\u{53}\u{25}\u{53}\u{2a}") == "\u{69}\u{73}\u{74}\u{6f}")
82+assert(f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{25}\u{53}\u{2a}\u{24}") == "\u{61}\u{73}\u{73}\u{69}\u{6d}")
83+assert(f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{5b}\u{61}\u{2d}\u{7a}\u{5d}\u{2a}\u{24}") == "\u{61}\u{73}\u{73}\u{69}\u{6d}")
84+assert(f("\u{75}\u{6d}\u{20}\u{63}\u{61}\u{72}\u{61}\u{63}\u{74}\u{65}\u{72}\u{20}\u{3f}\u{20}\u{65}\u{78}\u{74}\u{72}\u{61}","\u{5b}\u{5e}\u{25}\u{73}\u{61}\u{2d}\u{7a}\u{5d}") == "\u{3f}")
85+assert(f("","\u{61}\u{3f}") == "")
86+assert(f("\u{c3}\u{a1}",PU("\u{c3}\u{a1}\u{3f}")) == "\u{c3}\u{a1}")
87+assert(f("\u{c3}\u{a1}\u{62}\u{6c}",PU("\u{c3}\u{a1}\u{3f}\u{62}\u{3f}\u{6c}\u{3f}")) == "\u{c3}\u{a1}\u{62}\u{6c}")
88+assert(f("\u{20}\u{20}\u{c3}\u{a1}\u{62}\u{6c}",PU("\u{c3}\u{a1}\u{3f}\u{62}\u{3f}\u{6c}\u{3f}")) == "")
89+assert(f("\u{61}\u{61}","\u{5e}\u{61}\u{61}\u{3f}\u{61}\u{3f}\u{61}") == "\u{61}\u{61}")
90+assert(f("\u{5d}\u{5d}\u{5d}\u{c3}\u{a1}\u{62}","\u{5b}\u{5e}\u{5d}\u{5d}\u{2b}") == "\u{c3}\u{a1}\u{62}")
91+assert(f("\u{30}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{78}\u{2a}") == "\u{30}\u{61}")
92+assert(f("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{43}\u{2b}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}")
93+print("\u{2b}")
9494local function f1
9595(s,p)
96−p=string.gsub(p,"\37\37\40\91\48\45\57\93\41",function (s)
97−return "\37" .. (tonumber(s) + 1)
96+p=string.gsub(p,"\u{25}\u{25}\u{28}\u{5b}\u{30}\u{2d}\u{39}\u{5d}\u{29}",function (s)
97+return "\u{25}" .. (tonumber(s) + 1)
9898end)
99−p=string.gsub(p,"\94\40\94\63\41","\37\49\40\41",1)
100−p=string.gsub(p,"\40\36\63\41\36","\40\41\37\49",1)
99+p=string.gsub(p,"\u{5e}\u{28}\u{5e}\u{3f}\u{29}","\u{25}\u{31}\u{28}\u{29}",1)
100+p=string.gsub(p,"\u{28}\u{24}\u{3f}\u{29}\u{24}","\u{28}\u{29}\u{25}\u{31}",1)
101101local t = {string.match(s,p)}
102102return string.sub(s,t[1],t[# t] - 1)
103103end
104−assert(f1("\97\108\111\32\97\108\120\32\49\50\51\32\98\111\32\98\111","\40\46\46\42\41\32\37\49") == "\98\111\32\98\111")
105−assert(f1("\97\120\122\49\50\51\61\32\52\61\32\52\32\51\52","\40\46\43\41\61\40\46\42\41\61\37\50\32\37\49") == "\51\61\32\52\61\32\52\32\51")
106−assert(f1("\61\61\61\61\61\61\61","\94\40\61\42\41\61\37\49\36") == "\61\61\61\61\61\61\61")
107−assert(not string.match("\61\61\61\61\61\61\61\61\61\61","\94\40\91\61\93\42\41\61\37\49\36"))
104+assert(f1("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{78}\u{20}\u{31}\u{32}\u{33}\u{20}\u{62}\u{0}\u{6f}\u{20}\u{62}\u{0}\u{6f}","\u{28}\u{2e}\u{2e}\u{2a}\u{29}\u{20}\u{25}\u{31}") == "\u{62}\u{0}\u{6f}\u{20}\u{62}\u{0}\u{6f}")
105+assert(f1("\u{61}\u{78}\u{7a}\u{31}\u{32}\u{33}\u{3d}\u{20}\u{34}\u{3d}\u{20}\u{34}\u{20}\u{33}\u{34}","\u{28}\u{2e}\u{2b}\u{29}\u{3d}\u{28}\u{2e}\u{2a}\u{29}\u{3d}\u{25}\u{32}\u{20}\u{25}\u{31}") == "\u{33}\u{3d}\u{20}\u{34}\u{3d}\u{20}\u{34}\u{20}\u{33}")
106+assert(f1("\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}","\u{5e}\u{28}\u{3d}\u{2a}\u{29}\u{3d}\u{25}\u{31}\u{24}") == "\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}")
107+assert(not string.match("\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}","\u{5e}\u{28}\u{5b}\u{3d}\u{5d}\u{2a}\u{29}\u{3d}\u{25}\u{31}\u{24}"))
108108local function range
109109(i,j)
110110if i <= j then
@@ -116,91 +116,91 @@ local abc = string.char(range(0,127)) .. string.char(range(128,255))
116116assert(string.len(abc) == 256)
117117local function strset
118118(p)
119−local res = {["\115"] = ""}
119+local res = {["\u{73}"] = ""}
120120string.gsub(abc,p,function (c)
121121res.s=res.s .. c
122122end)
123123return res.s
124124end
125125;
126−assert(string.len(strset("\91\200\45\210\93")) == 11)
127−assert(strset("\91\97\45\122\93") == "\97\98\99\100\101\102\103\104\105\106\107\108\109\110\111\112\113\114\115\116\117\118\119\120\121\122")
128−assert(strset("\91\97\45\122\37\100\93") == strset("\91\37\100\97\45\117\117\45\122\93"))
129−assert(strset("\91\97\45\93") == "\45\97")
130−assert(strset("\91\94\37\87\93") == strset("\91\37\119\93"))
131−assert(strset("\91\93\37\37\93") == "\37\93")
132−assert(strset("\91\97\37\45\122\93") == "\45\97\122")
133−assert(strset("\91\37\94\37\91\37\45\97\37\93\37\45\98\93") == "\45\91\93\94\97\98")
134−assert(strset("\37\90") == strset("\91\1\45\255\93"))
135−assert(strset("\46") == strset("\91\1\45\255\37\122\93"))
136−print("\43")
126+assert(string.len(strset("\u{5b}\u{c8}\u{2d}\u{d2}\u{5d}")) == 11)
127+assert(strset("\u{5b}\u{61}\u{2d}\u{7a}\u{5d}") == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}\u{6a}\u{6b}\u{6c}\u{6d}\u{6e}\u{6f}\u{70}\u{71}\u{72}\u{73}\u{74}\u{75}\u{76}\u{77}\u{78}\u{79}\u{7a}")
128+assert(strset("\u{5b}\u{61}\u{2d}\u{7a}\u{25}\u{64}\u{5d}") == strset("\u{5b}\u{25}\u{64}\u{61}\u{2d}\u{75}\u{75}\u{2d}\u{7a}\u{5d}"))
129+assert(strset("\u{5b}\u{61}\u{2d}\u{5d}") == "\u{2d}\u{61}")
130+assert(strset("\u{5b}\u{5e}\u{25}\u{57}\u{5d}") == strset("\u{5b}\u{25}\u{77}\u{5d}"))
131+assert(strset("\u{5b}\u{5d}\u{25}\u{25}\u{5d}") == "\u{25}\u{5d}")
132+assert(strset("\u{5b}\u{61}\u{25}\u{2d}\u{7a}\u{5d}") == "\u{2d}\u{61}\u{7a}")
133+assert(strset("\u{5b}\u{25}\u{5e}\u{25}\u{5b}\u{25}\u{2d}\u{61}\u{25}\u{5d}\u{25}\u{2d}\u{62}\u{5d}") == "\u{2d}\u{5b}\u{5d}\u{5e}\u{61}\u{62}")
134+assert(strset("\u{25}\u{5a}") == strset("\u{5b}\u{1}\u{2d}\u{ff}\u{5d}"))
135+assert(strset("\u{2e}") == strset("\u{5b}\u{1}\u{2d}\u{ff}\u{25}\u{7a}\u{5d}"))
136+print("\u{2b}")
137137;
138−assert(string.match("\97\108\111\32\120\121\122\75","\40\37\119\43\41\75") == "\120\121\122")
139−assert(string.match("\50\53\52\32\75","\40\37\100\42\41\75") == "")
140−assert(string.match("\97\108\111\32","\40\37\119\42\41\36") == "")
141−assert(not string.match("\97\108\111\32","\40\37\119\43\41\36"))
142−assert(string.find("\40\195\161\108\111\41","\37\40\195\161") == 1)
143−local a,b,c,d,e = string.match("\195\162\108\111\32\97\108\111",PU("\94\40\40\40\46\41\46\41\46\32\40\37\119\42\41\41\36"))
144−assert(a == "\195\162\108\111\32\97\108\111" and b == "\195\162\108" and c == "\195\162" and d == "\97\108\111" and e == nil)
145−a,b,c,d=string.match("\48\49\50\51\52\53\54\55\56\57","\40\46\43\40\46\63\41\40\41\41")
146−assert(a == "\48\49\50\51\52\53\54\55\56\57" and b == "" and c == 11 and d == nil)
147−print("\43")
148−assert(string.gsub("\195\188\108\111\32\195\188\108\111","\195\188","\120") == "\120\108\111\32\120\108\111")
149−assert(string.gsub("\97\108\111\32\195\186\108\111\32\32","\32\43\36","") == "\97\108\111\32\195\186\108\111")
150−assert(string.gsub("\32\32\97\108\111\32\97\108\111\32\32","\94\37\115\42\40\46\45\41\37\115\42\36","\37\49") == "\97\108\111\32\97\108\111")
151−assert(string.gsub("\97\108\111\32\32\97\108\111\32\32\10\32\49\50\51\10\32","\37\115\43","\32") == "\97\108\111\32\97\108\111\32\49\50\51\32")
152−local t = "\97\98\195\167\32\100"
153−a,b=string.gsub(t,PU("\40\46\41"),"\37\49\64")
154−assert(a == "\97\64\98\64\195\167\64\32\64\100\64" and b == 5)
155−a,b=string.gsub("\97\98\195\167\100",PU("\40\46\41"),"\37\48\64",2)
156−assert(a == "\97\64\98\64\195\167\100" and b == 2)
157−assert(string.gsub("\97\108\111\32\97\108\111","\40\41\91\97\108\93","\37\49") == "\49\50\111\32\53\54\111")
158−assert(string.gsub("\97\98\99\61\120\121\122","\40\37\119\42\41\40\37\112\41\40\37\119\43\41","\37\51\37\50\37\49\45\37\48") == "\120\121\122\61\97\98\99\45\97\98\99\61\120\121\122")
159−assert(string.gsub("\97\98\99","\37\119","\37\49\37\48") == "\97\97\98\98\99\99")
160−assert(string.gsub("\97\98\99","\37\119\43","\37\48\37\49") == "\97\98\99\97\98\99")
161−assert(string.gsub("\195\161\195\169\195\173","\36","\195\179\195\186") == "\195\161\195\169\195\173\195\179\195\186")
162−assert(string.gsub("","\94","\114") == "\114")
163−assert(string.gsub("","\36","\114") == "\114")
164−print("\43")
138+assert(string.match("\u{61}\u{6c}\u{6f}\u{20}\u{78}\u{79}\u{7a}\u{4b}","\u{28}\u{25}\u{77}\u{2b}\u{29}\u{4b}") == "\u{78}\u{79}\u{7a}")
139+assert(string.match("\u{32}\u{35}\u{34}\u{20}\u{4b}","\u{28}\u{25}\u{64}\u{2a}\u{29}\u{4b}") == "")
140+assert(string.match("\u{61}\u{6c}\u{6f}\u{20}","\u{28}\u{25}\u{77}\u{2a}\u{29}\u{24}") == "")
141+assert(not string.match("\u{61}\u{6c}\u{6f}\u{20}","\u{28}\u{25}\u{77}\u{2b}\u{29}\u{24}"))
142+assert(string.find("\u{28}\u{c3}\u{a1}\u{6c}\u{6f}\u{29}","\u{25}\u{28}\u{c3}\u{a1}") == 1)
143+local a,b,c,d,e = string.match("\u{c3}\u{a2}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}",PU("\u{5e}\u{28}\u{28}\u{28}\u{2e}\u{29}\u{2e}\u{29}\u{2e}\u{20}\u{28}\u{25}\u{77}\u{2a}\u{29}\u{29}\u{24}"))
144+assert(a == "\u{c3}\u{a2}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}" and b == "\u{c3}\u{a2}\u{6c}" and c == "\u{c3}\u{a2}" and d == "\u{61}\u{6c}\u{6f}" and e == nil)
145+a,b,c,d=string.match("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{28}\u{2e}\u{2b}\u{28}\u{2e}\u{3f}\u{29}\u{28}\u{29}\u{29}")
146+assert(a == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}" and b == "" and c == 11 and d == nil)
147+print("\u{2b}")
148+assert(string.gsub("\u{c3}\u{bc}\u{6c}\u{6f}\u{20}\u{c3}\u{bc}\u{6c}\u{6f}","\u{c3}\u{bc}","\u{78}") == "\u{78}\u{6c}\u{6f}\u{20}\u{78}\u{6c}\u{6f}")
149+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{c3}\u{ba}\u{6c}\u{6f}\u{20}\u{20}","\u{20}\u{2b}\u{24}","") == "\u{61}\u{6c}\u{6f}\u{20}\u{c3}\u{ba}\u{6c}\u{6f}")
150+assert(string.gsub("\u{20}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{20}","\u{5e}\u{25}\u{73}\u{2a}\u{28}\u{2e}\u{2d}\u{29}\u{25}\u{73}\u{2a}\u{24}","\u{25}\u{31}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}")
151+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{a}\u{20}\u{31}\u{32}\u{33}\u{a}\u{20}","\u{25}\u{73}\u{2b}","\u{20}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{31}\u{32}\u{33}\u{20}")
152+local t = "\u{61}\u{62}\u{c3}\u{a7}\u{20}\u{64}"
153+a,b=string.gsub(t,PU("\u{28}\u{2e}\u{29}"),"\u{25}\u{31}\u{40}")
154+assert(a == "\u{61}\u{40}\u{62}\u{40}\u{c3}\u{a7}\u{40}\u{20}\u{40}\u{64}\u{40}" and b == 5)
155+a,b=string.gsub("\u{61}\u{62}\u{c3}\u{a7}\u{64}",PU("\u{28}\u{2e}\u{29}"),"\u{25}\u{30}\u{40}",2)
156+assert(a == "\u{61}\u{40}\u{62}\u{40}\u{c3}\u{a7}\u{64}" and b == 2)
157+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{29}\u{5b}\u{61}\u{6c}\u{5d}","\u{25}\u{31}") == "\u{31}\u{32}\u{6f}\u{20}\u{35}\u{36}\u{6f}")
158+assert(string.gsub("\u{61}\u{62}\u{63}\u{3d}\u{78}\u{79}\u{7a}","\u{28}\u{25}\u{77}\u{2a}\u{29}\u{28}\u{25}\u{70}\u{29}\u{28}\u{25}\u{77}\u{2b}\u{29}","\u{25}\u{33}\u{25}\u{32}\u{25}\u{31}\u{2d}\u{25}\u{30}") == "\u{78}\u{79}\u{7a}\u{3d}\u{61}\u{62}\u{63}\u{2d}\u{61}\u{62}\u{63}\u{3d}\u{78}\u{79}\u{7a}")
159+assert(string.gsub("\u{61}\u{62}\u{63}","\u{25}\u{77}","\u{25}\u{31}\u{25}\u{30}") == "\u{61}\u{61}\u{62}\u{62}\u{63}\u{63}")
160+assert(string.gsub("\u{61}\u{62}\u{63}","\u{25}\u{77}\u{2b}","\u{25}\u{30}\u{25}\u{31}") == "\u{61}\u{62}\u{63}\u{61}\u{62}\u{63}")
161+assert(string.gsub("\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}","\u{24}","\u{0}\u{c3}\u{b3}\u{c3}\u{ba}") == "\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}\u{0}\u{c3}\u{b3}\u{c3}\u{ba}")
162+assert(string.gsub("","\u{5e}","\u{72}") == "\u{72}")
163+assert(string.gsub("","\u{24}","\u{72}") == "\u{72}")
164+print("\u{2b}")
165165do
166−assert(string.gsub("\97\32\98\32\99\100","\32\42","\45") == "\45\97\45\98\45\99\45\100\45")
166+assert(string.gsub("\u{61}\u{20}\u{62}\u{20}\u{63}\u{64}","\u{20}\u{2a}","\u{2d}") == "\u{2d}\u{61}\u{2d}\u{62}\u{2d}\u{63}\u{2d}\u{64}\u{2d}")
167167local res = ""
168−local sub = "\97\32\32\10\98\99\9\9\100"
168+local sub = "\u{61}\u{20}\u{20}\u{a}\u{62}\u{63}\u{9}\u{9}\u{64}"
169169local i = 1
170−for p,e in string.gmatch(sub,"\40\41\37\115\42\40\41")
170+for p,e in string.gmatch(sub,"\u{28}\u{29}\u{25}\u{73}\u{2a}\u{28}\u{29}")
171171do
172−res=res .. string.sub(sub,i,p - 1) .. "\45"
172+res=res .. string.sub(sub,i,p - 1) .. "\u{2d}"
173173i=e
174174end
175−assert(res == "\45\97\45\98\45\99\45\100\45")
175+assert(res == "\u{2d}\u{61}\u{2d}\u{62}\u{2d}\u{63}\u{2d}\u{64}\u{2d}")
176176end
177−assert(string.gsub("\117\109\32\40\100\111\105\115\41\32\116\114\101\115\32\40\113\117\97\116\114\111\41","\40\37\40\37\119\43\37\41\41",string.upper) == "\117\109\32\40\68\79\73\83\41\32\116\114\101\115\32\40\81\85\65\84\82\79\41")
177+assert(string.gsub("\u{75}\u{6d}\u{20}\u{28}\u{64}\u{6f}\u{69}\u{73}\u{29}\u{20}\u{74}\u{72}\u{65}\u{73}\u{20}\u{28}\u{71}\u{75}\u{61}\u{74}\u{72}\u{6f}\u{29}","\u{28}\u{25}\u{28}\u{25}\u{77}\u{2b}\u{25}\u{29}\u{29}",string.upper) == "\u{75}\u{6d}\u{20}\u{28}\u{44}\u{4f}\u{49}\u{53}\u{29}\u{20}\u{74}\u{72}\u{65}\u{73}\u{20}\u{28}\u{51}\u{55}\u{41}\u{54}\u{52}\u{4f}\u{29}")
178178do
179179local function setglobal
180180(n,v)
181181rawset(_G,n,v)
182182end
183−string.gsub("\97\61\114\111\98\101\114\116\111\44\114\111\98\101\114\116\111\61\97","\40\37\119\43\41\61\40\37\119\37\119\42\41",setglobal)
184−assert(_G.a == "\114\111\98\101\114\116\111" and _G.roberto == "\97")
183+string.gsub("\u{61}\u{3d}\u{72}\u{6f}\u{62}\u{65}\u{72}\u{74}\u{6f}\u{2c}\u{72}\u{6f}\u{62}\u{65}\u{72}\u{74}\u{6f}\u{3d}\u{61}","\u{28}\u{25}\u{77}\u{2b}\u{29}\u{3d}\u{28}\u{25}\u{77}\u{25}\u{77}\u{2a}\u{29}",setglobal)
184+assert(_G.a == "\u{72}\u{6f}\u{62}\u{65}\u{72}\u{74}\u{6f}" and _G.roberto == "\u{61}")
185185_G.a=nil
186186;
187187_G.roberto=nil
188188end
189189function f(a,b)
190−return string.gsub(a,"\46",b)
190+return string.gsub(a,"\u{2e}",b)
191191end
192−assert(string.gsub("\116\114\111\99\97\114\32\116\117\100\111\32\101\109\32\124\116\101\115\116\101\124\98\124\32\195\169\32\124\98\101\108\101\122\97\124\97\108\124","\124\40\91\94\124\93\42\41\124\40\91\94\124\93\42\41\124",f) == "\116\114\111\99\97\114\32\116\117\100\111\32\101\109\32\98\98\98\98\98\32\195\169\32\97\108\97\108\97\108\97\108\97\108\97\108")
192+assert(string.gsub("\u{74}\u{72}\u{6f}\u{63}\u{61}\u{72}\u{20}\u{74}\u{75}\u{64}\u{6f}\u{20}\u{65}\u{6d}\u{20}\u{7c}\u{74}\u{65}\u{73}\u{74}\u{65}\u{7c}\u{62}\u{7c}\u{20}\u{c3}\u{a9}\u{20}\u{7c}\u{62}\u{65}\u{6c}\u{65}\u{7a}\u{61}\u{7c}\u{61}\u{6c}\u{7c}","\u{7c}\u{28}\u{5b}\u{5e}\u{7c}\u{5d}\u{2a}\u{29}\u{7c}\u{28}\u{5b}\u{5e}\u{7c}\u{5d}\u{2a}\u{29}\u{7c}",f) == "\u{74}\u{72}\u{6f}\u{63}\u{61}\u{72}\u{20}\u{74}\u{75}\u{64}\u{6f}\u{20}\u{65}\u{6d}\u{20}\u{62}\u{62}\u{62}\u{62}\u{62}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}")
193193local function dostring
194194(s)
195195return load(s,"")() or ""
196196end
197−assert(string.gsub("\97\108\111\32\36\97\61\39\120\39\36\32\110\111\118\97\109\101\110\116\101\32\36\114\101\116\117\114\110\32\97\36","\36\40\91\94\36\93\42\41\37\36",dostring) == "\97\108\111\32\32\110\111\118\97\109\101\110\116\101\32\120")
198−local x = string.gsub("\36\120\61\115\116\114\105\110\103\46\103\115\117\98\40\39\97\108\111\39\44\32\39\46\39\44\32\115\116\114\105\110\103\46\117\112\112\101\114\41\36\32\97\115\115\105\109\32\118\97\105\32\112\97\114\97\32\36\114\101\116\117\114\110\32\120\36","\36\40\91\94\36\93\42\41\37\36",dostring)
199−assert(x == "\32\97\115\115\105\109\32\118\97\105\32\112\97\114\97\32\65\76\79")
197+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{24}\u{61}\u{3d}\u{27}\u{78}\u{27}\u{24}\u{20}\u{6e}\u{6f}\u{76}\u{61}\u{6d}\u{65}\u{6e}\u{74}\u{65}\u{20}\u{24}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{24}","\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2a}\u{29}\u{25}\u{24}",dostring) == "\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{6e}\u{6f}\u{76}\u{61}\u{6d}\u{65}\u{6e}\u{74}\u{65}\u{20}\u{78}")
198+local x = string.gsub("\u{24}\u{78}\u{3d}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{67}\u{73}\u{75}\u{62}\u{28}\u{27}\u{61}\u{6c}\u{6f}\u{27}\u{2c}\u{20}\u{27}\u{2e}\u{27}\u{2c}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{75}\u{70}\u{70}\u{65}\u{72}\u{29}\u{24}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}\u{20}\u{76}\u{61}\u{69}\u{20}\u{70}\u{61}\u{72}\u{61}\u{20}\u{24}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{24}","\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2a}\u{29}\u{25}\u{24}",dostring)
199+assert(x == "\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}\u{20}\u{76}\u{61}\u{69}\u{20}\u{70}\u{61}\u{72}\u{61}\u{20}\u{41}\u{4c}\u{4f}")
200200_G.a,_G.x=nil
201201local t = {}
202−local s = "\97\32\97\108\111\32\106\111\115\101\32\32\106\111\97\111"
203−local r = string.gsub(s,"\40\41\40\37\119\43\41\40\41",function (a,w,b)
202+local s = "\u{61}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{6a}\u{6f}\u{73}\u{65}\u{20}\u{20}\u{6a}\u{6f}\u{61}\u{6f}"
203+local r = string.gsub(s,"\u{28}\u{29}\u{28}\u{25}\u{77}\u{2b}\u{29}\u{28}\u{29}",function (a,w,b)
204204assert(string.len(w) == b - a)
205205;
206206t[a]=b - a
@@ -209,88 +209,88 @@ end)
209209assert(s == r and t[1] == 1 and t[3] == 3 and t[7] == 4 and t[13] == 4)
210210local function isbalanced
211211(s)
212−return not string.find(string.gsub(s,"\37\98\40\41",""),"\91\40\41\93")
212+return not string.find(string.gsub(s,"\u{25}\u{62}\u{28}\u{29}",""),"\u{5b}\u{28}\u{29}\u{5d}")
213213end
214−assert(isbalanced("\40\57\32\40\40\56\41\41\40\41\32\55\41\32\32\97\32\98\32\40\41\40\99\41\40\41\32\97"))
215−assert(not isbalanced("\40\57\32\40\40\56\41\32\55\41\32\97\32\98\32\40\32\99\41\32\97"))
216−assert(string.gsub("\97\108\111\32\39\111\105\39\32\97\108\111","\37\98\39\39","\34") == "\97\108\111\32\34\32\97\108\111")
217−local t = {"\97\112\112\108\101","\111\114\97\110\103\101","\108\105\109\101",["\110"] = 0}
218−assert(string.gsub("\120\32\97\110\100\32\120\32\97\110\100\32\120","\120",function ()
214+assert(isbalanced("\u{28}\u{39}\u{20}\u{28}\u{28}\u{38}\u{29}\u{29}\u{28}\u{0}\u{29}\u{20}\u{37}\u{29}\u{20}\u{0}\u{0}\u{20}\u{61}\u{20}\u{62}\u{20}\u{28}\u{29}\u{28}\u{63}\u{29}\u{28}\u{29}\u{20}\u{61}"))
215+assert(not isbalanced("\u{28}\u{39}\u{20}\u{28}\u{28}\u{38}\u{29}\u{20}\u{37}\u{29}\u{20}\u{61}\u{20}\u{62}\u{20}\u{28}\u{0}\u{20}\u{63}\u{29}\u{20}\u{61}"))
216+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{27}\u{6f}\u{69}\u{27}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{62}\u{27}\u{27}","\u{22}") == "\u{61}\u{6c}\u{6f}\u{20}\u{22}\u{20}\u{61}\u{6c}\u{6f}")
217+local t = {"\u{61}\u{70}\u{70}\u{6c}\u{65}","\u{6f}\u{72}\u{61}\u{6e}\u{67}\u{65}","\u{6c}\u{69}\u{6d}\u{65}",["\u{6e}"] = 0}
218+assert(string.gsub("\u{78}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{78}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{78}","\u{78}",function ()
219219t.n=t.n + 1
220220;
221221return t[t.n]
222−end) == "\97\112\112\108\101\32\97\110\100\32\111\114\97\110\103\101\32\97\110\100\32\108\105\109\101")
223−t={["\110"] = 0}
224−string.gsub("\102\105\114\115\116\32\115\101\99\111\110\100\32\119\111\114\100","\37\119\37\119\42",function (w)
222+end) == "\u{61}\u{70}\u{70}\u{6c}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6f}\u{72}\u{61}\u{6e}\u{67}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6d}\u{65}")
223+t={["\u{6e}"] = 0}
224+string.gsub("\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}","\u{25}\u{77}\u{25}\u{77}\u{2a}",function (w)
225225t.n=t.n + 1
226226;
227227t[t.n]=w
228228end)
229−assert(t[1] == "\102\105\114\115\116" and t[2] == "\115\101\99\111\110\100" and t[3] == "\119\111\114\100" and t.n == 3)
230−t={["\110"] = 0}
231−assert(string.gsub("\102\105\114\115\116\32\115\101\99\111\110\100\32\119\111\114\100","\37\119\43",function (w)
229+assert(t[1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[3] == "\u{77}\u{6f}\u{72}\u{64}" and t.n == 3)
230+t={["\u{6e}"] = 0}
231+assert(string.gsub("\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}","\u{25}\u{77}\u{2b}",function (w)
232232t.n=t.n + 1
233233;
234234t[t.n]=w
235−end,2) == "\102\105\114\115\116\32\115\101\99\111\110\100\32\119\111\114\100")
236−assert(t[1] == "\102\105\114\115\116" and t[2] == "\115\101\99\111\110\100" and t[3] == undef)
237−checkerror("\105\110\118\97\108\105\100\32\114\101\112\108\97\99\101\109\101\110\116\32\118\97\108\117\101\32\37\40\97\32\116\97\98\108\101\37\41",string.gsub,"\97\108\111","\46",{["\97"] = {}})
238−checkerror("\105\110\118\97\108\105\100\32\99\97\112\116\117\114\101\32\105\110\100\101\120\32\37\37\50",string.gsub,"\97\108\111","\46","\37\50")
239−checkerror("\105\110\118\97\108\105\100\32\99\97\112\116\117\114\101\32\105\110\100\101\120\32\37\37\48",string.gsub,"\97\108\111","\40\37\48\41","\97")
240−checkerror("\105\110\118\97\108\105\100\32\99\97\112\116\117\114\101\32\105\110\100\101\120\32\37\37\49",string.gsub,"\97\108\111","\40\37\49\41","\97")
241−checkerror("\105\110\118\97\108\105\100\32\117\115\101\32\111\102\32\39\37\37\39",string.gsub,"\97\108\111","\46","\37\120")
235+end,2) == "\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}")
236+assert(t[1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[3] == undef)
237+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{25}\u{28}\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{25}\u{29}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{2e}",{["\u{61}"] = {}})
238+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}\u{25}\u{32}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{2e}","\u{25}\u{32}")
239+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}\u{25}\u{30}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{28}\u{25}\u{30}\u{29}","\u{61}")
240+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}\u{25}\u{31}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{28}\u{25}\u{31}\u{29}","\u{61}")
241+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{75}\u{73}\u{65}\u{20}\u{6f}\u{66}\u{20}\u{27}\u{25}\u{25}\u{27}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{2e}","\u{25}\u{78}")
242242if not _soft then
243−print("\98\105\103\32\115\116\114\105\110\103\115")
244−local a = string.rep("\97",300000)
245−assert(string.find(a,"\94\97\42\46\63\36"))
246−assert(not string.find(a,"\94\97\42\46\63\98\36"))
247−assert(string.find(a,"\94\97\45\46\63\36"))
248−a=string.rep("\97",10000) .. string.rep("\98",10000)
249−assert(not pcall(string.gsub,a,"\98"))
243+print("\u{62}\u{69}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}")
244+local a = string.rep("\u{61}",300000)
245+assert(string.find(a,"\u{5e}\u{61}\u{2a}\u{2e}\u{3f}\u{24}"))
246+assert(not string.find(a,"\u{5e}\u{61}\u{2a}\u{2e}\u{3f}\u{62}\u{24}"))
247+assert(string.find(a,"\u{5e}\u{61}\u{2d}\u{2e}\u{3f}\u{24}"))
248+a=string.rep("\u{61}",10000) .. string.rep("\u{62}",10000)
249+assert(not pcall(string.gsub,a,"\u{62}"))
250250end
251251local function rev
252252(s)
253−return string.gsub(s,"\40\46\41\40\46\43\41",function (c,s1)
253+return string.gsub(s,"\u{28}\u{2e}\u{29}\u{28}\u{2e}\u{2b}\u{29}",function (c,s1)
254254return rev(s1) .. c
255255end)
256256end
257−local x = "\97\98\99\100\101\102"
257+local x = "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}"
258258assert(rev(rev(x)) == x)
259−assert(string.gsub("\97\108\111\32\97\108\111","\46",{}) == "\97\108\111\32\97\108\111")
260−assert(string.gsub("\97\108\111\32\97\108\111","\40\46\41",{["\97"] = "\65\65",["\108"] = ""}) == "\65\65\111\32\65\65\111")
261−assert(string.gsub("\97\108\111\32\97\108\111","\40\46\41\46",{["\97"] = "\65\65",["\108"] = "\75"}) == "\65\65\111\32\65\65\111")
262−assert(string.gsub("\97\108\111\32\97\108\111","\40\40\46\41\40\46\63\41\41",{["\97\108"] = "\65\65",["\111"] = false}) == "\65\65\111\32\65\65\111")
263−assert(string.gsub("\97\108\111\32\97\108\111","\40\41\46",{"\120","\121\121","\122\122\122"}) == "\120\121\121\122\122\122\32\97\108\111")
259+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{2e}",{}) == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}")
260+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{2e}\u{29}",{["\u{61}"] = "\u{41}\u{41}",["\u{6c}"] = ""}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}")
261+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{2e}\u{29}\u{2e}",{["\u{61}"] = "\u{41}\u{41}",["\u{6c}"] = "\u{4b}"}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}")
262+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{28}\u{2e}\u{29}\u{28}\u{2e}\u{3f}\u{29}\u{29}",{["\u{61}\u{6c}"] = "\u{41}\u{41}",["\u{6f}"] = false}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}")
263+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{29}\u{2e}",{"\u{78}","\u{79}\u{79}","\u{7a}\u{7a}\u{7a}"}) == "\u{78}\u{79}\u{79}\u{7a}\u{7a}\u{7a}\u{20}\u{61}\u{6c}\u{6f}")
264264t={}
265265;
266−setmetatable(t,{["\95\95\105\110\100\101\120"] = function (t,s)
266+setmetatable(t,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,s)
267267return string.upper(s)
268268end})
269−assert(string.gsub("\97\32\97\108\111\32\98\32\104\105","\37\119\37\119\43",t) == "\97\32\65\76\79\32\98\32\72\73")
269+assert(string.gsub("\u{61}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{62}\u{20}\u{68}\u{69}","\u{25}\u{77}\u{25}\u{77}\u{2b}",t) == "\u{61}\u{20}\u{41}\u{4c}\u{4f}\u{20}\u{62}\u{20}\u{48}\u{49}")
270270local a = 0
271−for i in string.gmatch("\97\98\99\100\101","\40\41")
271+for i in string.gmatch("\u{61}\u{62}\u{63}\u{64}\u{65}","\u{28}\u{29}")
272272do
273273assert(i == a + 1)
274274;
275275a=i
276276end
277277assert(a == 6)
278−t={["\110"] = 0}
279−for w in string.gmatch("\102\105\114\115\116\32\115\101\99\111\110\100\32\119\111\114\100","\37\119\43")
278+t={["\u{6e}"] = 0}
279+for w in string.gmatch("\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}","\u{25}\u{77}\u{2b}")
280280do
281281t.n=t.n + 1
282282;
283283t[t.n]=w
284284end
285−assert(t[1] == "\102\105\114\115\116" and t[2] == "\115\101\99\111\110\100" and t[3] == "\119\111\114\100")
285+assert(t[1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[3] == "\u{77}\u{6f}\u{72}\u{64}")
286286t={3,6,9}
287−for i in string.gmatch("\120\117\120\120\32\117\117\32\112\112\97\114\32\114","\40\41\40\46\41\37\50")
287+for i in string.gmatch("\u{78}\u{75}\u{78}\u{78}\u{20}\u{75}\u{75}\u{20}\u{70}\u{70}\u{61}\u{72}\u{20}\u{72}","\u{28}\u{29}\u{28}\u{2e}\u{29}\u{25}\u{32}")
288288do
289289assert(i == table.remove(t,1))
290290end
291291assert(# t == 0)
292292t={}
293−for i,j in string.gmatch("\49\51\32\49\52\32\49\48\32\61\32\49\49\44\32\49\53\61\32\49\54\44\32\50\50\61\50\51","\40\37\100\43\41\37\115\42\61\37\115\42\40\37\100\43\41")
293+for i,j in string.gmatch("\u{31}\u{33}\u{20}\u{31}\u{34}\u{20}\u{31}\u{30}\u{20}\u{3d}\u{20}\u{31}\u{31}\u{2c}\u{20}\u{31}\u{35}\u{3d}\u{20}\u{31}\u{36}\u{2c}\u{20}\u{32}\u{32}\u{3d}\u{32}\u{33}","\u{28}\u{25}\u{64}\u{2b}\u{29}\u{25}\u{73}\u{2a}\u{3d}\u{25}\u{73}\u{2a}\u{28}\u{25}\u{64}\u{2b}\u{29}")
294294do
295295t[tonumber(i)]=tonumber(j)
296296end
@@ -304,101 +304,101 @@ end
304304assert(a == 3)
305305do
306306local s = 0
307−for k in string.gmatch("\49\48\32\50\48\32\51\48","\37\100\43",3)
307+for k in string.gmatch("\u{31}\u{30}\u{20}\u{32}\u{30}\u{20}\u{33}\u{30}","\u{25}\u{64}\u{2b}",3)
308308do
309309s=s + tonumber(k)
310310end
311311assert(s == 50)
312312s=0
313−for k in string.gmatch("\49\49\32\50\49\32\51\49","\37\100\43",- 4)
313+for k in string.gmatch("\u{31}\u{31}\u{20}\u{32}\u{31}\u{20}\u{33}\u{31}","\u{25}\u{64}\u{2b}",- 4)
314314do
315315s=s + tonumber(k)
316316end
317317assert(s == 32)
318318s=0
319−for k in string.gmatch("\49\49\32\50\49\32\51\49","\37\119\42",9)
319+for k in string.gmatch("\u{31}\u{31}\u{20}\u{32}\u{31}\u{20}\u{33}\u{31}","\u{25}\u{77}\u{2a}",9)
320320do
321321s=s + 1
322322end
323323assert(s == 1)
324324s=0
325−for k in string.gmatch("\49\49\32\50\49\32\51\49","\37\119\42",10)
325+for k in string.gmatch("\u{31}\u{31}\u{20}\u{32}\u{31}\u{20}\u{33}\u{31}","\u{25}\u{77}\u{2a}",10)
326326do
327327s=s + 1
328328end
329329assert(s == 0)
330330end
331−assert(string.gsub("\97\97\97\32\97\97\32\97\32\97\97\97\32\97","\37\102\91\37\119\93\97","\120") == "\120\97\97\32\120\97\32\120\32\120\97\97\32\120")
332−assert(string.gsub("\91\91\93\93\32\91\93\91\93\32\91\91\91\91","\37\102\91\91\93\46","\120") == "\120\91\93\93\32\120\93\120\93\32\120\91\91\91")
333−assert(string.gsub("\48\49\97\98\99\52\53\100\101\51","\37\102\91\37\100\93","\46") == "\46\48\49\97\98\99\46\52\53\100\101\46\51")
334−assert(string.gsub("\48\49\97\98\99\52\53\32\100\101\51\120","\37\102\91\37\68\93\37\119","\46") == "\48\49\46\98\99\52\53\32\100\101\51\46")
335−assert(string.gsub("\102\117\110\99\116\105\111\110","\37\102\91\1\45\255\93\37\119","\46") == "\46\117\110\99\116\105\111\110")
336−assert(string.gsub("\102\117\110\99\116\105\111\110","\37\102\91\94\1\45\255\93","\46") == "\102\117\110\99\116\105\111\110\46")
337−assert(string.find("\97","\37\102\91\97\93") == 1)
338−assert(string.find("\97","\37\102\91\94\37\122\93") == 1)
339−assert(string.find("\97","\37\102\91\94\37\108\93") == 2)
340−assert(string.find("\97\98\97","\37\102\91\97\37\122\93") == 3)
341−assert(string.find("\97\98\97","\37\102\91\37\122\93") == 4)
342−assert(not string.find("\97\98\97","\37\102\91\37\108\37\122\93"))
343−assert(not string.find("\97\98\97","\37\102\91\94\37\108\37\122\93"))
344−local i,e = string.find("\32\97\108\111\32\97\97\108\111\32\97\108\108\111","\37\102\91\37\83\93\46\45\37\102\91\37\115\93\46\45\37\102\91\37\83\93")
331+assert(string.gsub("\u{61}\u{61}\u{61}\u{20}\u{61}\u{61}\u{20}\u{61}\u{20}\u{61}\u{61}\u{61}\u{20}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{77}\u{5d}\u{61}","\u{78}") == "\u{78}\u{61}\u{61}\u{20}\u{78}\u{61}\u{20}\u{78}\u{20}\u{78}\u{61}\u{61}\u{20}\u{78}")
332+assert(string.gsub("\u{5b}\u{5b}\u{5d}\u{5d}\u{20}\u{5b}\u{5d}\u{5b}\u{5d}\u{20}\u{5b}\u{5b}\u{5b}\u{5b}","\u{25}\u{66}\u{5b}\u{5b}\u{5d}\u{2e}","\u{78}") == "\u{78}\u{5b}\u{5d}\u{5d}\u{20}\u{78}\u{5d}\u{78}\u{5d}\u{20}\u{78}\u{5b}\u{5b}\u{5b}")
333+assert(string.gsub("\u{30}\u{31}\u{61}\u{62}\u{63}\u{34}\u{35}\u{64}\u{65}\u{33}","\u{25}\u{66}\u{5b}\u{25}\u{64}\u{5d}","\u{2e}") == "\u{2e}\u{30}\u{31}\u{61}\u{62}\u{63}\u{2e}\u{34}\u{35}\u{64}\u{65}\u{2e}\u{33}")
334+assert(string.gsub("\u{30}\u{31}\u{61}\u{62}\u{63}\u{34}\u{35}\u{20}\u{64}\u{65}\u{33}\u{78}","\u{25}\u{66}\u{5b}\u{25}\u{44}\u{5d}\u{25}\u{77}","\u{2e}") == "\u{30}\u{31}\u{2e}\u{62}\u{63}\u{34}\u{35}\u{20}\u{64}\u{65}\u{33}\u{2e}")
335+assert(string.gsub("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}","\u{25}\u{66}\u{5b}\u{1}\u{2d}\u{ff}\u{5d}\u{25}\u{77}","\u{2e}") == "\u{2e}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
336+assert(string.gsub("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}","\u{25}\u{66}\u{5b}\u{5e}\u{1}\u{2d}\u{ff}\u{5d}","\u{2e}") == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{2e}")
337+assert(string.find("\u{61}","\u{25}\u{66}\u{5b}\u{61}\u{5d}") == 1)
338+assert(string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{7a}\u{5d}") == 1)
339+assert(string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{6c}\u{5d}") == 2)
340+assert(string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{61}\u{25}\u{7a}\u{5d}") == 3)
341+assert(string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{7a}\u{5d}") == 4)
342+assert(not string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{6c}\u{25}\u{7a}\u{5d}"))
343+assert(not string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{6c}\u{25}\u{7a}\u{5d}"))
344+local i,e = string.find("\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6c}\u{6f}","\u{25}\u{66}\u{5b}\u{25}\u{53}\u{5d}\u{2e}\u{2d}\u{25}\u{66}\u{5b}\u{25}\u{73}\u{5d}\u{2e}\u{2d}\u{25}\u{66}\u{5b}\u{25}\u{53}\u{5d}")
345345assert(i == 2 and e == 5)
346−local k = string.match("\32\97\108\111\32\97\97\108\111\32\97\108\108\111","\37\102\91\37\83\93\40\46\45\37\102\91\37\115\93\46\45\37\102\91\37\83\93\41")
347−assert(k == "\97\108\111\32")
346+local k = string.match("\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6c}\u{6f}","\u{25}\u{66}\u{5b}\u{25}\u{53}\u{5d}\u{28}\u{2e}\u{2d}\u{25}\u{66}\u{5b}\u{25}\u{73}\u{5d}\u{2e}\u{2d}\u{25}\u{66}\u{5b}\u{25}\u{53}\u{5d}\u{29}")
347+assert(k == "\u{61}\u{6c}\u{6f}\u{20}")
348348local a = {1,5,9,14,17}
349−for k in string.gmatch("\97\108\111\32\97\108\111\32\116\104\48\50\32\105\115\32\49\104\97\116","\40\41\37\102\91\37\119\37\100\93")
349+for k in string.gmatch("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{74}\u{68}\u{30}\u{32}\u{20}\u{69}\u{73}\u{20}\u{31}\u{68}\u{61}\u{74}","\u{28}\u{29}\u{25}\u{66}\u{5b}\u{25}\u{77}\u{25}\u{64}\u{5d}")
350350do
351351assert(table.remove(a,1) == k)
352352end
353353assert(# a == 0)
354354local function malform
355355(p,m)
356−m=m or "\109\97\108\102\111\114\109\101\100"
357−local r,msg = pcall(string.find,"\97",p)
356+m=m or "\u{6d}\u{61}\u{6c}\u{66}\u{6f}\u{72}\u{6d}\u{65}\u{64}"
357+local r,msg = pcall(string.find,"\u{61}",p)
358358assert(not r and string.find(msg,m))
359359end
360−malform("\40\46","\117\110\102\105\110\105\115\104\101\100\32\99\97\112\116\117\114\101")
361−malform("\46\41","\105\110\118\97\108\105\100\32\112\97\116\116\101\114\110\32\99\97\112\116\117\114\101")
362−malform("\91\97")
363−malform("\91\93")
364−malform("\91\94\93")
365−malform("\91\97\37\93")
366−malform("\91\97\37")
367−malform("\37\98")
368−malform("\37\98\97")
369−malform("\37")
370−malform("\37\102","\109\105\115\115\105\110\103")
371−assert(string.match("\97\98\1\2\99","\91\45\2\93\43") == "\1\2")
372−assert(string.match("\97\98\1\2\99","\91\45\93\43") == "")
373−assert(string.find("\98\36\97","\36\63") == 2)
374−assert(string.find("\97\98\99\101\102\103","\37") == 4)
375−assert(string.match("\97\98\99\101\102\103\1\101\1\103","\37\98\1") == "\101\102\103\1\101\1")
376−assert(string.match("\97\98\99","\37\43") == "")
377−assert(string.match("\97\98\99","\37\37\63") == "")
378−assert(string.find("\97\98\99","\46") == 4)
379−assert(string.find("\97\98\99\120\97\98\99\97\98\99","\120\97\98\99\97\46") == 4)
360+malform("\u{28}\u{2e}","\u{75}\u{6e}\u{66}\u{69}\u{6e}\u{69}\u{73}\u{68}\u{65}\u{64}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}")
361+malform("\u{2e}\u{29}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{70}\u{61}\u{74}\u{74}\u{65}\u{72}\u{6e}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}")
362+malform("\u{5b}\u{61}")
363+malform("\u{5b}\u{5d}")
364+malform("\u{5b}\u{5e}\u{5d}")
365+malform("\u{5b}\u{61}\u{25}\u{5d}")
366+malform("\u{5b}\u{61}\u{25}")
367+malform("\u{25}\u{62}")
368+malform("\u{25}\u{62}\u{61}")
369+malform("\u{25}")
370+malform("\u{25}\u{66}","\u{6d}\u{69}\u{73}\u{73}\u{69}\u{6e}\u{67}")
371+assert(string.match("\u{61}\u{62}\u{0}\u{1}\u{2}\u{63}","\u{5b}\u{0}\u{2d}\u{2}\u{5d}\u{2b}") == "\u{0}\u{1}\u{2}")
372+assert(string.match("\u{61}\u{62}\u{0}\u{1}\u{2}\u{63}","\u{5b}\u{0}\u{2d}\u{0}\u{5d}\u{2b}") == "\u{0}")
373+assert(string.find("\u{62}\u{24}\u{61}","\u{24}\u{0}\u{3f}") == 2)
374+assert(string.find("\u{61}\u{62}\u{63}\u{0}\u{65}\u{66}\u{67}","\u{25}\u{0}") == 4)
375+assert(string.match("\u{61}\u{62}\u{63}\u{0}\u{65}\u{66}\u{67}\u{0}\u{1}\u{65}\u{1}\u{67}","\u{25}\u{62}\u{0}\u{1}") == "\u{0}\u{65}\u{66}\u{67}\u{0}\u{1}\u{65}\u{1}")
376+assert(string.match("\u{61}\u{62}\u{63}\u{0}\u{0}\u{0}","\u{25}\u{0}\u{2b}") == "\u{0}\u{0}\u{0}")
377+assert(string.match("\u{61}\u{62}\u{63}\u{0}\u{0}\u{0}","\u{25}\u{0}\u{25}\u{0}\u{3f}") == "\u{0}\u{0}")
378+assert(string.find("\u{61}\u{62}\u{63}\u{0}\u{0}","\u{0}\u{2e}") == 4)
379+assert(string.find("\u{61}\u{62}\u{63}\u{78}\u{0}\u{0}\u{61}\u{62}\u{63}\u{0}\u{61}\u{62}\u{63}","\u{78}\u{0}\u{0}\u{61}\u{62}\u{63}\u{0}\u{61}\u{2e}") == 4)
380380do
381−local s = string.rep("\97",100)
382−local r = string.gsub(s,"\98","\99")
383−assert(string.format("\37\112",s) == string.format("\37\112",r))
384−r=string.gsub(s,"\46",{["\120"] = "\121"})
385−assert(string.format("\37\112",s) == string.format("\37\112",r))
381+local s = string.rep("\u{61}",100)
382+local r = string.gsub(s,"\u{62}","\u{63}")
383+assert(string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r))
384+r=string.gsub(s,"\u{2e}",{["\u{78}"] = "\u{79}"})
385+assert(string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r))
386386local count = 0
387−r=string.gsub(s,"\46",function (x)
388−assert(x == "\97")
387+r=string.gsub(s,"\u{2e}",function (x)
388+assert(x == "\u{61}")
389389count=count + 1
390390return nil
391391end)
392−r=string.gsub(r,"\46",{["\98"] = "\120"})
392+r=string.gsub(r,"\u{2e}",{["\u{62}"] = "\u{78}"})
393393assert(count == 100)
394−assert(string.format("\37\112",s) == string.format("\37\112",r))
394+assert(string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r))
395395count=0
396−r=string.gsub(s,"\46",function (x)
397−assert(x == "\97")
396+r=string.gsub(s,"\u{2e}",function (x)
397+assert(x == "\u{61}")
398398count=count + 1
399399return x
400400end)
401401assert(count == 100)
402−assert(r == s and string.format("\37\112",s) ~= string.format("\37\112",r))
402+assert(r == s and string.format("\u{25}\u{70}",s) ~= string.format("\u{25}\u{70}",r))
403403end
404−print("\79\75")
404+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/sort.lua+47−47
@@ -1,5 +1,5 @@
1−print("\116\101\115\116\105\110\103\32\40\112\97\114\116\115\32\111\102\41\32\116\97\98\108\101\32\108\105\98\114\97\114\121")
2−print("\116\101\115\116\105\110\103\32\117\110\112\97\99\107")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{28}\u{70}\u{61}\u{72}\u{74}\u{73}\u{20}\u{6f}\u{66}\u{29}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}")
2+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{75}\u{6e}\u{70}\u{61}\u{63}\u{6b}")
33local unpack = table.unpack
44local maxI = math.maxinteger
55local minI = math.mininteger
@@ -8,7 +8,7 @@ local function checkerror
88local s,err = pcall(f,...)
99assert(not s and string.find(err,msg))
1010end
11−checkerror("\119\114\111\110\103\32\110\117\109\98\101\114\32\111\102\32\97\114\103\117\109\101\110\116\115",table.insert,{},2,3,4)
11+checkerror("\u{77}\u{72}\u{6f}\u{6e}\u{67}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{6f}\u{66}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{73}",table.insert,{},2,3,4)
1212local x,y,z,a,n
1313a={}
1414;
@@ -17,7 +17,7 @@ for i = 1, lim
1717do
1818a[i]=i
1919end
20−assert(select(lim,unpack(a)) == lim and select("\35",unpack(a)) == lim)
20+assert(select(lim,unpack(a)) == lim and select("\u{23}",unpack(a)) == lim)
2121x=unpack(a)
2222assert(x == 1)
2323x={unpack(a)}
@@ -39,13 +39,13 @@ assert(a == 1 and x == nil)
3939do
4040local maxi = (1 << 31) - 1
4141local mini = - (1 << 31)
42−checkerror("\116\111\111\32\109\97\110\121\32\114\101\115\117\108\116\115",unpack,{},0,maxi)
43−checkerror("\116\111\111\32\109\97\110\121\32\114\101\115\117\108\116\115",unpack,{},1,maxi)
44−checkerror("\116\111\111\32\109\97\110\121\32\114\101\115\117\108\116\115",unpack,{},0,maxI)
45−checkerror("\116\111\111\32\109\97\110\121\32\114\101\115\117\108\116\115",unpack,{},1,maxI)
46−checkerror("\116\111\111\32\109\97\110\121\32\114\101\115\117\108\116\115",unpack,{},mini,maxi)
47−checkerror("\116\111\111\32\109\97\110\121\32\114\101\115\117\108\116\115",unpack,{},- maxi,maxi)
48−checkerror("\116\111\111\32\109\97\110\121\32\114\101\115\117\108\116\115",unpack,{},minI,maxI)
42+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},0,maxi)
43+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},1,maxi)
44+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},0,maxI)
45+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},1,maxI)
46+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},mini,maxi)
47+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},- maxi,maxi)
48+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},minI,maxI)
4949unpack({},maxi,0)
5050unpack({},maxi,1)
5151unpack({},maxI,minI)
@@ -76,13 +76,13 @@ a,b=unpack(t,minI + 1,minI)
7676assert(a == nil and b == nil)
7777end
7878do
79−local t = setmetatable({},{["\95\95\108\101\110"] = function ()
80−return "\97\98\99"
79+local t = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
80+return "\u{61}\u{62}\u{63}"
8181end})
82−assert(# t == "\97\98\99")
83−checkerror("\111\98\106\101\99\116\32\108\101\110\103\116\104\32\105\115\32\110\111\116\32\97\110\32\105\110\116\101\103\101\114",table.insert,t,1)
82+assert(# t == "\u{61}\u{62}\u{63}")
83+checkerror("\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{6e}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}",table.insert,t,1)
8484end
85−print("\116\101\115\116\105\110\103\32\112\97\99\107")
85+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}")
8686a=table.pack()
8787assert(a[1] == undef and a.n == 0)
8888a=table.pack(table)
@@ -90,7 +90,7 @@ assert(a[1] == table and a.n == 1)
9090a=table.pack(nil,nil,nil,nil)
9191assert(a[1] == nil and a.n == 4)
9292do
93−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.move,1,2,3,4)
93+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.move,1,2,3,4)
9494local function eqT
9595(a,b)
9696for k,v in pairs(a)
@@ -129,17 +129,17 @@ a=table.move({[maxI] = 100},maxI,maxI,minI)
129129eqT(a,{[minI] = 100,[maxI] = 100})
130130a=table.move({[minI] = 100},minI,minI,maxI)
131131eqT(a,{[minI] = 100,[maxI] = 100})
132−a=setmetatable({},{["\95\95\105\110\100\101\120"] = function (_,k)
132+a=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
133133return k * 10
134−end,["\95\95\110\101\119\105\110\100\101\120"] = error})
134+end,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = error})
135135local b = table.move(a,1,10,3,{})
136136eqT(a,{})
137137eqT(b,{nil,nil,10,20,30,40,50,60,70,80,90,100})
138−b=setmetatable({""},{["\95\95\105\110\100\101\120"] = error,["\95\95\110\101\119\105\110\100\101\120"] = function (t,k,v)
139−t[1]=string.format("\37\115\40\37\100\44\37\100\41",t[1],k,v)
138+b=setmetatable({""},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = error,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k,v)
139+t[1]=string.format("\u{25}\u{73}\u{28}\u{25}\u{64}\u{2c}\u{25}\u{64}\u{29}",t[1],k,v)
140140end})
141141table.move(a,10,13,3,b)
142−assert(b[1] == "\40\51\44\49\48\48\41\40\52\44\49\49\48\41\40\53\44\49\50\48\41\40\54\44\49\51\48\41")
142+assert(b[1] == "\u{28}\u{33}\u{2c}\u{31}\u{30}\u{30}\u{29}\u{28}\u{34}\u{2c}\u{31}\u{31}\u{30}\u{29}\u{28}\u{35}\u{2c}\u{31}\u{32}\u{30}\u{29}\u{28}\u{36}\u{2c}\u{31}\u{33}\u{30}\u{29}")
143143local stat,msg = pcall(table.move,b,10,13,3,b)
144144assert(not stat and msg == b)
145145end
@@ -147,9 +147,9 @@ do
147147local function checkmove
148148(f,e,t,x,y)
149149local pos1,pos2
150−local a = setmetatable({},{["\95\95\105\110\100\101\120"] = function (_,k)
150+local a = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
151151pos1=k
152−end,["\95\95\110\101\119\105\110\100\101\120"] = function (_,k)
152+end,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
153153pos2=k
154154;
155155error()
@@ -164,23 +164,23 @@ checkmove(minI + 1,- 1,- 2,- 1,maxI - 3)
164164checkmove(minI,- 2,0,minI,0)
165165checkmove(minI + 1,- 1,1,minI + 1,1)
166166end
167−checkerror("\116\111\111\32\109\97\110\121",table.move,{},0,maxI,1)
168−checkerror("\116\111\111\32\109\97\110\121",table.move,{},- 1,maxI - 1,1)
169−checkerror("\116\111\111\32\109\97\110\121",table.move,{},minI,- 1,1)
170−checkerror("\116\111\111\32\109\97\110\121",table.move,{},minI,maxI,1)
171−checkerror("\119\114\97\112\32\97\114\111\117\110\100",table.move,{},1,maxI,2)
172−checkerror("\119\114\97\112\32\97\114\111\117\110\100",table.move,{},1,2,maxI)
173−checkerror("\119\114\97\112\32\97\114\111\117\110\100",table.move,{},minI,- 2,2)
174−print("\116\101\115\116\105\110\103\32\115\111\114\116")
175−local a = setmetatable({},{["\95\95\108\101\110"] = function ()
167+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},0,maxI,1)
168+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},- 1,maxI - 1,1)
169+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,- 1,1)
170+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,maxI,1)
171+checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},1,maxI,2)
172+checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},1,2,maxI)
173+checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},minI,- 2,2)
174+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{6f}\u{72}\u{74}")
175+local a = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
176176return - 1
177177end})
178178assert(# a == - 1)
179179table.sort(a,error)
180−a=setmetatable({},{["\95\95\108\101\110"] = function ()
180+a=setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
181181return maxI
182182end})
183−checkerror("\116\111\111\32\98\105\103",table.sort,a)
183+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{62}\u{69}\u{67}",table.sort,a)
184184local function check
185185(t)
186186local function f
@@ -189,7 +189,7 @@ assert(a and b)
189189;
190190return true
191191end
192−checkerror("\105\110\118\97\108\105\100\32\111\114\100\101\114\32\102\117\110\99\116\105\111\110",table.sort,t,f)
192+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6f}\u{72}\u{64}\u{65}\u{72}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}",table.sort,t,f)
193193end
194194check({1,2,3,4})
195195check({1,2,3,4,5})
@@ -204,7 +204,7 @@ do
204204assert(not f(a[n],a[n - 1]))
205205end
206206end
207−a={"\74\97\110","\70\101\98","\77\97\114","\65\112\114","\77\97\121","\74\117\110","\74\117\108","\65\117\103","\83\101\112","\79\99\116","\78\111\118","\68\101\99"}
207+a={"\u{4a}\u{61}\u{6e}","\u{46}\u{65}\u{62}","\u{4d}\u{61}\u{72}","\u{41}\u{70}\u{72}","\u{4d}\u{61}\u{79}","\u{4a}\u{75}\u{6e}","\u{4a}\u{75}\u{6c}","\u{41}\u{75}\u{67}","\u{53}\u{65}\u{70}","\u{4f}\u{63}\u{74}","\u{4e}\u{6f}\u{76}","\u{44}\u{65}\u{63}"}
208208table.sort(a)
209209check(a)
210210local function perm
@@ -239,7 +239,7 @@ local x = os.clock()
239239table.sort(a,func)
240240x=(os.clock() - x) * 1000
241241pre=pre or ""
242−print(string.format("\37\115\115\111\114\116\105\110\103\32\37\100\32\37\115\32\101\108\101\109\101\110\116\115\32\105\110\32\37\46\50\102\32\109\115\101\99\46",pre,n,msg,x))
242+print(string.format("\u{25}\u{73}\u{73}\u{6f}\u{72}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{25}\u{64}\u{20}\u{25}\u{73}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{25}\u{2e}\u{32}\u{66}\u{20}\u{6d}\u{73}\u{65}\u{63}\u{2e}",pre,n,msg,x))
243243check(a,func)
244244end
245245local limit = 50000
@@ -251,8 +251,8 @@ for i = 1, limit
251251do
252252a[i]=math.random()
253253end
254−timesort(a,limit,nil,"\114\97\110\100\111\109")
255−timesort(a,limit,nil,"\115\111\114\116\101\100","\114\101\45")
254+timesort(a,limit,nil,"\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}")
255+timesort(a,limit,nil,"\u{73}\u{6f}\u{72}\u{74}\u{65}\u{64}","\u{72}\u{65}\u{2d}")
256256a={}
257257for i = 1, limit
258258do
@@ -267,7 +267,7 @@ i=i + 1
267267return y < x
268268end)
269269x=(os.clock() - x) * 1000
270−print(string.format("\73\110\118\101\114\116\45\115\111\114\116\105\110\103\32\111\116\104\101\114\32\37\100\32\101\108\101\109\101\110\116\115\32\105\110\32\37\46\50\102\32\109\115\101\99\46\44\32\119\105\116\104\32\37\105\32\99\111\109\112\97\114\105\115\111\110\115",limit,x,i))
270+print(string.format("\u{49}\u{6e}\u{76}\u{65}\u{72}\u{74}\u{2d}\u{73}\u{6f}\u{72}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{25}\u{64}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{25}\u{2e}\u{32}\u{66}\u{20}\u{6d}\u{73}\u{65}\u{63}\u{2e}\u{2c}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{25}\u{69}\u{20}\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{69}\u{73}\u{6f}\u{6e}\u{73}",limit,x,i))
271271check(a,function (x,y)
272272return y < x
273273end)
@@ -278,27 +278,27 @@ a[i]=false
278278end
279279timesort(a,limit,function (x,y)
280280return nil
281−end,"\101\113\117\97\108")
281+end,"\u{65}\u{71}\u{75}\u{61}\u{6c}")
282282for i,v in pairs(a)
283283do
284284assert(v == false)
285285end
286−AA={"\225\108\111","\102\105\114\115\116\32\58\45\41","\97\108\111","\116\104\101\110\32\116\104\105\115\32\111\110\101","\52\53","\97\110\100\32\97\32\110\101\119"}
286+AA={"\u{e1}\u{6c}\u{6f}","\u{0}\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{3a}\u{2d}\u{29}","\u{61}\u{6c}\u{6f}","\u{74}\u{68}\u{65}\u{6e}\u{20}\u{74}\u{68}\u{69}\u{73}\u{20}\u{6f}\u{6e}\u{65}","\u{34}\u{35}","\u{61}\u{6e}\u{64}\u{20}\u{61}\u{20}\u{6e}\u{65}\u{77}"}
287287table.sort(AA)
288288check(AA)
289289table.sort(AA,function (x,y)
290−load(string.format("\65\65\91\37\113\93\32\61\32\39\39",x),"")()
290+load(string.format("\u{41}\u{41}\u{5b}\u{25}\u{71}\u{5d}\u{20}\u{3d}\u{20}\u{27}\u{27}",x),"")()
291291collectgarbage()
292292return x < y
293293end)
294294_G.AA=nil
295−local tt = {["\95\95\108\116"] = function (a,b)
295+local tt = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
296296return a.val < b.val
297297end}
298298a={}
299299for i = 1, 10
300300do
301−a[i]={["\118\97\108"] = math.random(100)}
301+a[i]={["\u{76}\u{61}\u{6c}"] = math.random(100)}
302302;
303303setmetatable(a[i],tt)
304304;
@@ -306,4 +306,4 @@ end
306306table.sort(a)
307307check(a,tt.__lt)
308308check(a)
309−print("\79\75")
309+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/strings.lua+299−299
@@ -1,4 +1,4 @@
1−print("\116\101\115\116\105\110\103\32\115\116\114\105\110\103\115\32\97\110\100\32\115\116\114\105\110\103\32\108\105\98\114\97\114\121")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}")
22local maxi <const> = math.maxinteger
33local mini <const> = math.mininteger
44local function checkerror
@@ -6,187 +6,187 @@ local function checkerror
66local s,err = pcall(f,...)
77assert(not s and string.find(err,msg))
88end
9−assert("\97\108\111" < "\97\108\111\49")
10−assert("" < "\97")
11−assert("\97\108\111\97\108\111" < "\97\108\111\98")
12−assert("\97\108\111\97\108\111" > "\97\108\111\97\108\111")
13−assert("\97\108\111" < "\97\108\111")
14−assert("\97\108\111" > "\97\108\111")
15−assert("" < "\1")
16−assert("" < "\1")
17−assert("\1\97\97" <= "\1\97\97")
18−assert(not ("\1\97\98" <= "\1\97\97"))
19−assert("" < "")
20−assert(not ("" < ""))
21−assert("" <= "")
22−assert(not ("" <= ""))
23−assert("" <= "")
24−assert("" >= "")
25−assert(not ("\98" < "\97"))
26−assert(string.sub("\49\50\51\52\53\54\55\56\57",2,4) == "\50\51\52")
27−assert(string.sub("\49\50\51\52\53\54\55\56\57",7) == "\55\56\57")
28−assert(string.sub("\49\50\51\52\53\54\55\56\57",7,6) == "")
29−assert(string.sub("\49\50\51\52\53\54\55\56\57",7,7) == "\55")
30−assert(string.sub("\49\50\51\52\53\54\55\56\57",0,0) == "")
31−assert(string.sub("\49\50\51\52\53\54\55\56\57",- 10,10) == "\49\50\51\52\53\54\55\56\57")
32−assert(string.sub("\49\50\51\52\53\54\55\56\57",1,9) == "\49\50\51\52\53\54\55\56\57")
33−assert(string.sub("\49\50\51\52\53\54\55\56\57",- 10,- 20) == "")
34−assert(string.sub("\49\50\51\52\53\54\55\56\57",- 1) == "\57")
35−assert(string.sub("\49\50\51\52\53\54\55\56\57",- 4) == "\54\55\56\57")
36−assert(string.sub("\49\50\51\52\53\54\55\56\57",- 6,- 4) == "\52\53\54")
37−assert(string.sub("\49\50\51\52\53\54\55\56\57",mini,- 4) == "\49\50\51\52\53\54")
38−assert(string.sub("\49\50\51\52\53\54\55\56\57",mini,maxi) == "\49\50\51\52\53\54\55\56\57")
39−assert(string.sub("\49\50\51\52\53\54\55\56\57",mini,mini) == "")
40−assert(string.sub("\49\50\51\52\53\54\55\56\57",3,5) == "\50\51\52")
41−assert(("\49\50\51\52\53\54\55\56\57"):sub(8) == "\55\56\57")
42−assert(string.find("\49\50\51\52\53\54\55\56\57","\51\52\53") == 3)
43−local a,b = string.find("\49\50\51\52\53\54\55\56\57","\51\52\53")
44−assert(string.sub("\49\50\51\52\53\54\55\56\57",a,b) == "\51\52\53")
45−assert(string.find("\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57","\51\52\53",3) == 3)
46−assert(string.find("\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57","\51\52\53",4) == 13)
47−assert(not string.find("\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57","\51\52\54",4))
48−assert(string.find("\49\50\51\52\53\54\55\56\57\48\49\50\51\52\53\54\55\56\57","\46\52\53",- 9) == 13)
49−assert(not string.find("\97\98\99\100\101\102\103","",5,1))
9+assert("\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{31}")
10+assert("" < "\u{61}")
11+assert("\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{0}\u{62}")
12+assert("\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}\u{0}\u{0}" > "\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}\u{0}")
13+assert("\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{0}")
14+assert("\u{61}\u{6c}\u{6f}\u{0}" > "\u{61}\u{6c}\u{6f}")
15+assert("\u{0}" < "\u{1}")
16+assert("\u{0}\u{0}" < "\u{0}\u{1}")
17+assert("\u{1}\u{0}\u{61}\u{0}\u{61}" <= "\u{1}\u{0}\u{61}\u{0}\u{61}")
18+assert(not ("\u{1}\u{0}\u{61}\u{0}\u{62}" <= "\u{1}\u{0}\u{61}\u{0}\u{61}"))
19+assert("\u{0}\u{0}\u{0}" < "\u{0}\u{0}\u{0}\u{0}")
20+assert(not ("\u{0}\u{0}\u{0}\u{0}" < "\u{0}\u{0}\u{0}"))
21+assert("\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}\u{0}")
22+assert(not ("\u{0}\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}"))
23+assert("\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}")
24+assert("\u{0}\u{0}\u{0}" >= "\u{0}\u{0}\u{0}")
25+assert(not ("\u{0}\u{0}\u{62}" < "\u{0}\u{0}\u{61}\u{0}"))
26+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",2,4) == "\u{32}\u{33}\u{34}")
27+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",7) == "\u{37}\u{38}\u{39}")
28+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",7,6) == "")
29+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",7,7) == "\u{37}")
30+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0,0) == "")
31+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 10,10) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
32+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",1,9) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
33+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 10,- 20) == "")
34+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 1) == "\u{39}")
35+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 4) == "\u{36}\u{37}\u{38}\u{39}")
36+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 6,- 4) == "\u{34}\u{35}\u{36}")
37+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,- 4) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}")
38+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,maxi) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
39+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,mini) == "")
40+assert(string.sub("\u{0}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",3,5) == "\u{32}\u{33}\u{34}")
41+assert(("\u{0}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"):sub(8) == "\u{37}\u{38}\u{39}")
42+assert(string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}") == 3)
43+local a,b = string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}")
44+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",a,b) == "\u{33}\u{34}\u{35}")
45+assert(string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}",3) == 3)
46+assert(string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}",4) == 13)
47+assert(not string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{36}",4))
48+assert(string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{2e}\u{34}\u{35}",- 9) == 13)
49+assert(not string.find("\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}","\u{0}",5,1))
5050assert(string.find("","") == 1)
5151assert(string.find("","",1) == 1)
5252assert(not string.find("","",2))
53−assert(not string.find("","\97\97\97",1))
54−assert(("\97\108\111\40\46\41\97\108\111"):find("\40\46\41",1,1) == 4)
53+assert(not string.find("","\u{61}\u{61}\u{61}",1))
54+assert(("\u{61}\u{6c}\u{6f}\u{28}\u{2e}\u{29}\u{61}\u{6c}\u{6f}"):find("\u{28}\u{2e}\u{29}",1,1) == 4)
5555assert(string.len("") == 0)
56−assert(string.len("") == 3)
57−assert(string.len("\49\50\51\52\53\54\55\56\57\48") == 10)
56+assert(string.len("\u{0}\u{0}\u{0}") == 3)
57+assert(string.len("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}") == 10)
5858assert(# "" == 0)
59−assert(# "" == 3)
60−assert(# "\49\50\51\52\53\54\55\56\57\48" == 10)
61−assert(string.byte("\97") == 97)
62−assert(string.byte("\228") > 127)
59+assert(# "\u{0}\u{0}\u{0}" == 3)
60+assert(# "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}" == 10)
61+assert(string.byte("\u{61}") == 97)
62+assert(string.byte("\u{e4}") > 127)
6363assert(string.byte(string.char(255)) == 255)
6464assert(string.byte(string.char(0)) == 0)
65−assert(string.byte("") == 0)
66−assert(string.byte("\97\108\111\120",- 1) == string.byte("\120"))
67−assert(string.byte("\98\97",2) == 97)
68−assert(string.byte("\10\10",2,- 1) == 10)
69−assert(string.byte("\10\10",2,2) == 10)
65+assert(string.byte("\u{0}") == 0)
66+assert(string.byte("\u{0}\u{0}\u{61}\u{6c}\u{6f}\u{0}\u{78}",- 1) == string.byte("\u{78}"))
67+assert(string.byte("\u{62}\u{61}",2) == 97)
68+assert(string.byte("\u{a}\u{a}",2,- 1) == 10)
69+assert(string.byte("\u{a}\u{a}",2,2) == 10)
7070assert(string.byte("") == nil)
71−assert(string.byte("\104\105",- 3) == nil)
72−assert(string.byte("\104\105",3) == nil)
73−assert(string.byte("\104\105",9,10) == nil)
74−assert(string.byte("\104\105",2,1) == nil)
71+assert(string.byte("\u{68}\u{69}",- 3) == nil)
72+assert(string.byte("\u{68}\u{69}",3) == nil)
73+assert(string.byte("\u{68}\u{69}",9,10) == nil)
74+assert(string.byte("\u{68}\u{69}",2,1) == nil)
7575assert(string.char() == "")
76−assert(string.char(0,255,0) == "\255")
77−assert(string.char(0,string.byte("\228"),0) == "\228")
78−assert(string.char(string.byte("\228\108\243\117",1,- 1)) == "\228\108\243\117")
79−assert(string.char(string.byte("\228\108\243\117",1,0)) == "")
80−assert(string.char(string.byte("\228\108\243\117",- 10,100)) == "\228\108\243\117")
81−checkerror("\111\117\116\32\111\102\32\114\97\110\103\101",string.char,256)
82−checkerror("\111\117\116\32\111\102\32\114\97\110\103\101",string.char,- 1)
83−checkerror("\111\117\116\32\111\102\32\114\97\110\103\101",string.char,math.maxinteger)
84−checkerror("\111\117\116\32\111\102\32\114\97\110\103\101",string.char,math.mininteger)
85−assert(string.upper("\97\98\99") == "\65\66\67")
86−assert(string.lower("\65\66\67\99\37\36") == "\97\98\99\99\37\36")
87−assert(string.rep("\116\101\115\116\101",0) == "")
88−assert(string.rep("\116\233\115\116\234",2) == "\116\233\115\116\234\116\233\115\116\234")
76+assert(string.char(0,255,0) == "\u{0}\u{ff}\u{0}")
77+assert(string.char(0,string.byte("\u{e4}"),0) == "\u{0}\u{e4}\u{0}")
78+assert(string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",1,- 1)) == "\u{e4}\u{6c}\u{0}\u{f3}\u{75}")
79+assert(string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",1,0)) == "")
80+assert(string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",- 10,100)) == "\u{e4}\u{6c}\u{0}\u{f3}\u{75}")
81+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,256)
82+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,- 1)
83+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,math.maxinteger)
84+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,math.mininteger)
85+assert(string.upper("\u{61}\u{62}\u{0}\u{63}") == "\u{41}\u{42}\u{0}\u{43}")
86+assert(string.lower("\u{0}\u{41}\u{42}\u{43}\u{63}\u{25}\u{24}") == "\u{0}\u{61}\u{62}\u{63}\u{63}\u{25}\u{24}")
87+assert(string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0) == "")
88+assert(string.rep("\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}",2) == "\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}")
8989assert(string.rep("",10) == "")
90−if string.packsize("\105") == 4 then
91−checkerror("\116\111\111\32\108\97\114\103\101",string.rep,"\97\97",(1 << 30))
92−checkerror("\116\111\111\32\108\97\114\103\101",string.rep,"\97",(1 << 30),"\44")
93−end
94−assert(string.rep("\116\101\115\116\101",0,"\120\117\120\117") == "")
95−assert(string.rep("\116\101\115\116\101",1,"\120\117\120\117") == "\116\101\115\116\101")
96−assert(string.rep("\1\1",2,"") == "\1\1\1\1")
97−assert(string.rep("",10,"\46") == string.rep("\46",9))
98−assert(not pcall(string.rep,"\97\97",maxi // 2 + 10))
99−assert(not pcall(string.rep,"",maxi // 2 + 10,"\97\97"))
90+if string.packsize("\u{69}") == 4 then
91+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",string.rep,"\u{61}\u{61}",(1 << 30))
92+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",string.rep,"\u{61}",(1 << 30),"\u{2c}")
93+end
94+assert(string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0,"\u{78}\u{75}\u{78}\u{75}") == "")
95+assert(string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",1,"\u{78}\u{75}\u{78}\u{75}") == "\u{74}\u{65}\u{73}\u{74}\u{65}")
96+assert(string.rep("\u{1}\u{0}\u{1}",2,"\u{0}\u{0}") == "\u{1}\u{0}\u{1}\u{0}\u{0}\u{1}\u{0}\u{1}")
97+assert(string.rep("",10,"\u{2e}") == string.rep("\u{2e}",9))
98+assert(not pcall(string.rep,"\u{61}\u{61}",maxi // 2 + 10))
99+assert(not pcall(string.rep,"",maxi // 2 + 10,"\u{61}\u{61}"))
100100assert(string.reverse("") == "")
101−assert(string.reverse("\1\2\3") == "\3\2\1")
102−assert(string.reverse("\49\50\51\52") == "\52\51\50\49")
101+assert(string.reverse("\u{0}\u{1}\u{2}\u{3}") == "\u{3}\u{2}\u{1}\u{0}")
102+assert(string.reverse("\u{0}\u{31}\u{32}\u{33}\u{34}") == "\u{34}\u{33}\u{32}\u{31}\u{0}")
103103for i = 0, 30
104104do
105−assert(string.len(string.rep("\97",i)) == i)
106−end
107−assert(type(tostring(nil)) == "\115\116\114\105\110\103")
108−assert(type(tostring(12)) == "\115\116\114\105\110\103")
109−assert(string.find(tostring({}),"\116\97\98\108\101\58"))
110−assert(string.find(tostring(print),"\102\117\110\99\116\105\111\110\58"))
111−assert(# tostring("") == 1)
112−assert(tostring(true) == "\116\114\117\101")
113−assert(tostring(false) == "\102\97\108\115\101")
114−assert(tostring(- 1203) == "\45\49\50\48\51")
115−assert(tostring(1203.125) == "\49\50\48\51\46\49\50\53")
116−assert(tostring(- 0.5) == "\45\48\46\53")
117−assert(tostring(- 32767) == "\45\51\50\55\54\55")
105+assert(string.len(string.rep("\u{61}",i)) == i)
106+end
107+assert(type(tostring(nil)) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
108+assert(type(tostring(12)) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
109+assert(string.find(tostring({}),"\u{74}\u{61}\u{62}\u{6c}\u{65}\u{3a}"))
110+assert(string.find(tostring(print),"\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{3a}"))
111+assert(# tostring("\u{0}") == 1)
112+assert(tostring(true) == "\u{74}\u{72}\u{75}\u{65}")
113+assert(tostring(false) == "\u{66}\u{61}\u{6c}\u{73}\u{65}")
114+assert(tostring(- 1203) == "\u{2d}\u{31}\u{32}\u{30}\u{33}")
115+assert(tostring(1203.125) == "\u{31}\u{32}\u{30}\u{33}\u{2e}\u{31}\u{32}\u{35}")
116+assert(tostring(- 0.5) == "\u{2d}\u{30}\u{2e}\u{35}")
117+assert(tostring(- 32767) == "\u{2d}\u{33}\u{32}\u{37}\u{36}\u{37}")
118118if math.tointeger(2147483647) then
119−assert(tostring(- 2147483647) == "\45\50\49\52\55\52\56\51\54\52\55")
119+assert(tostring(- 2147483647) == "\u{2d}\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}")
120120end
121121if math.tointeger(4611686018427387904) then
122−assert(tostring(4611686018427387904) == "\52\54\49\49\54\56\54\48\49\56\52\50\55\51\56\55\57\48\52")
123−assert(tostring(- 4611686018427387904) == "\45\52\54\49\49\54\56\54\48\49\56\52\50\55\51\56\55\57\48\52")
122+assert(tostring(4611686018427387904) == "\u{34}\u{36}\u{31}\u{31}\u{36}\u{38}\u{36}\u{30}\u{31}\u{38}\u{34}\u{32}\u{37}\u{33}\u{38}\u{37}\u{39}\u{30}\u{34}")
123+assert(tostring(- 4611686018427387904) == "\u{2d}\u{34}\u{36}\u{31}\u{31}\u{36}\u{38}\u{36}\u{30}\u{31}\u{38}\u{34}\u{32}\u{37}\u{33}\u{38}\u{37}\u{39}\u{30}\u{34}")
124124end
125−if tostring(0.0) == "\48\46\48" then
126−assert("" .. 12 == "\49\50" and 12.0 .. "" == "\49\50\46\48")
127−assert(tostring(- 1203 + 0.0) == "\45\49\50\48\51\46\48")
125+if tostring(0.0) == "\u{30}\u{2e}\u{30}" then
126+assert("" .. 12 == "\u{31}\u{32}" and 12.0 .. "" == "\u{31}\u{32}\u{2e}\u{30}")
127+assert(tostring(- 1203 + 0.0) == "\u{2d}\u{31}\u{32}\u{30}\u{33}\u{2e}\u{30}")
128128else
129−assert(tostring(0.0) == "\48")
130−assert("" .. 12 == "\49\50" and 12.0 .. "" == "\49\50")
131−assert(tostring(- 1203 + 0.0) == "\45\49\50\48\51")
129+assert(tostring(0.0) == "\u{30}")
130+assert("" .. 12 == "\u{31}\u{32}" and 12.0 .. "" == "\u{31}\u{32}")
131+assert(tostring(- 1203 + 0.0) == "\u{2d}\u{31}\u{32}\u{30}\u{33}")
132132end
133133do
134−local null = "\40\110\117\108\108\41"
135−assert(string.format("\37\112",4) == null)
136−assert(string.format("\37\112",true) == null)
137−assert(string.format("\37\112",nil) == null)
138−assert(string.format("\37\112",{}) ~= null)
139−assert(string.format("\37\112",print) ~= null)
140−assert(string.format("\37\112",coroutine.running()) ~= null)
141−assert(string.format("\37\112",io.stdin) ~= null)
142−assert(string.format("\37\112",io.stdin) == string.format("\37\112",io.stdin))
143−assert(string.format("\37\112",print) == string.format("\37\112",print))
144−assert(string.format("\37\112",print) ~= string.format("\37\112",assert))
145−assert(# string.format("\37\57\48\112",{}) == 90)
146−assert(# string.format("\37\45\54\48\112",{}) == 60)
147−assert(string.format("\37\49\48\112",false) == string.rep("\32",10 - # null) .. null)
148−assert(string.format("\37\45\49\50\112",1.5) == null .. string.rep("\32",12 - # null))
134+local null = "\u{28}\u{6e}\u{75}\u{6c}\u{6c}\u{29}"
135+assert(string.format("\u{25}\u{70}",4) == null)
136+assert(string.format("\u{25}\u{70}",true) == null)
137+assert(string.format("\u{25}\u{70}",nil) == null)
138+assert(string.format("\u{25}\u{70}",{}) ~= null)
139+assert(string.format("\u{25}\u{70}",print) ~= null)
140+assert(string.format("\u{25}\u{70}",coroutine.running()) ~= null)
141+assert(string.format("\u{25}\u{70}",io.stdin) ~= null)
142+assert(string.format("\u{25}\u{70}",io.stdin) == string.format("\u{25}\u{70}",io.stdin))
143+assert(string.format("\u{25}\u{70}",print) == string.format("\u{25}\u{70}",print))
144+assert(string.format("\u{25}\u{70}",print) ~= string.format("\u{25}\u{70}",assert))
145+assert(# string.format("\u{25}\u{39}\u{30}\u{70}",{}) == 90)
146+assert(# string.format("\u{25}\u{2d}\u{36}\u{30}\u{70}",{}) == 60)
147+assert(string.format("\u{25}\u{31}\u{30}\u{70}",false) == string.rep("\u{20}",10 - # null) .. null)
148+assert(string.format("\u{25}\u{2d}\u{31}\u{32}\u{70}",1.5) == null .. string.rep("\u{20}",12 - # null))
149149do
150150local t1 = {}
151151;
152152local t2 = {}
153−assert(string.format("\37\112",t1) ~= string.format("\37\112",t2))
153+assert(string.format("\u{25}\u{70}",t1) ~= string.format("\u{25}\u{70}",t2))
154154end
155155do
156−local s1 = string.rep("\97",10)
157−local s2 = string.rep("\97\97",5)
158−assert(string.format("\37\112",s1) == string.format("\37\112",s2))
156+local s1 = string.rep("\u{61}",10)
157+local s2 = string.rep("\u{61}\u{61}",5)
158+assert(string.format("\u{25}\u{70}",s1) == string.format("\u{25}\u{70}",s2))
159159end
160160do
161−local s1 = string.rep("\97",300)
161+local s1 = string.rep("\u{61}",300)
162162;
163−local s2 = string.rep("\97",300)
164−assert(string.format("\37\112",s1) ~= string.format("\37\112",s2))
163+local s2 = string.rep("\u{61}",300)
164+assert(string.format("\u{25}\u{70}",s1) ~= string.format("\u{25}\u{70}",s2))
165165end
166166end
167−local x = "\34\237\108\111\34\10\92"
168−assert(string.format("\37\113\37\115",x,x) == "\34\92\34\237\108\111\92\34\92\10\92\92\34\34\237\108\111\34\10\92")
169−assert(string.format("\37\113","") == "\34\92\48\34")
170−assert(load(string.format("\114\101\116\117\114\110\32\37\113",x))() == x)
171−x="\1\2\51\5\57"
172−assert(load(string.format("\114\101\116\117\114\110\32\37\113",x))() == x)
173−assert(string.format("\37\99\37\99\37\120",string.byte("\228"),string.byte("\98"),140) == "\228\98\56\99")
167+local x = "\u{22}\u{ed}\u{6c}\u{6f}\u{22}\u{a}\u{5c}"
168+assert(string.format("\u{25}\u{71}\u{25}\u{73}",x,x) == "\u{22}\u{5c}\u{22}\u{ed}\u{6c}\u{6f}\u{5c}\u{22}\u{5c}\u{a}\u{5c}\u{5c}\u{22}\u{22}\u{ed}\u{6c}\u{6f}\u{22}\u{a}\u{5c}")
169+assert(string.format("\u{25}\u{71}","\u{0}") == "\u{22}\u{5c}\u{30}\u{22}")
170+assert(load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",x))() == x)
171+x="\u{0}\u{1}\u{2}\u{33}\u{5}\u{0}\u{39}"
172+assert(load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",x))() == x)
173+assert(string.format("\u{0}\u{25}\u{63}\u{0}\u{25}\u{63}\u{25}\u{78}\u{0}",string.byte("\u{e4}"),string.byte("\u{62}"),140) == "\u{0}\u{e4}\u{0}\u{62}\u{38}\u{63}\u{0}")
174174assert(string.format("") == "")
175−assert(string.format("\37\99",34) .. string.format("\37\99",48) .. string.format("\37\99",90) .. string.format("\37\99",100) == string.format("\37\49\99\37\45\99\37\45\49\99\37\99",34,48,90,100))
176−assert(string.format("\37\115\32\105\115\32\110\111\116\32\37\115","\110\111\116\32\98\101","\98\101") == "\110\111\116\32\98\101\32\105\115\32\110\111\116\32\98\101")
177−assert(string.format("\37\37\37\100\32\37\48\49\48\100",10,23) == "\37\49\48\32\48\48\48\48\48\48\48\48\50\51")
178−assert(tonumber(string.format("\37\102",10.3)) == 10.3)
179−assert(string.format("\34\37\45\53\48\115\34","\97") == "\34\97" .. string.rep("\32",49) .. "\34")
180−assert(string.format("\45\37\46\50\48\115\46\50\48\115",string.rep("\37",2000)) == "\45" .. string.rep("\37",20) .. "\46\50\48\115")
181−assert(string.format("\34\45\37\50\48\115\46\50\48\115\34",string.rep("\37",2000)) == string.format("\37\113","\45" .. string.rep("\37",2000) .. "\46\50\48\115"))
175+assert(string.format("\u{25}\u{63}",34) .. string.format("\u{25}\u{63}",48) .. string.format("\u{25}\u{63}",90) .. string.format("\u{25}\u{63}",100) == string.format("\u{25}\u{31}\u{63}\u{25}\u{2d}\u{63}\u{25}\u{2d}\u{31}\u{63}\u{25}\u{63}",34,48,90,100))
176+assert(string.format("\u{25}\u{73}\u{0}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{0}\u{25}\u{73}","\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}","\u{62}\u{65}") == "\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{0}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{0}\u{62}\u{65}")
177+assert(string.format("\u{25}\u{25}\u{25}\u{64}\u{20}\u{25}\u{30}\u{31}\u{30}\u{64}",10,23) == "\u{25}\u{31}\u{30}\u{20}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{32}\u{33}")
178+assert(tonumber(string.format("\u{25}\u{66}",10.3)) == 10.3)
179+assert(string.format("\u{22}\u{25}\u{2d}\u{35}\u{30}\u{73}\u{22}","\u{61}") == "\u{22}\u{61}" .. string.rep("\u{20}",49) .. "\u{22}")
180+assert(string.format("\u{2d}\u{25}\u{2e}\u{32}\u{30}\u{73}\u{2e}\u{32}\u{30}\u{73}",string.rep("\u{25}",2000)) == "\u{2d}" .. string.rep("\u{25}",20) .. "\u{2e}\u{32}\u{30}\u{73}")
181+assert(string.format("\u{22}\u{2d}\u{25}\u{32}\u{30}\u{73}\u{2e}\u{32}\u{30}\u{73}\u{22}",string.rep("\u{25}",2000)) == string.format("\u{25}\u{71}","\u{2d}" .. string.rep("\u{25}",2000) .. "\u{2e}\u{32}\u{30}\u{73}"))
182182do
183183local function checkQ
184184(v)
185−local s = string.format("\37\113",v)
186−local nv = load("\114\101\116\117\114\110\32" .. s)()
185+local s = string.format("\u{25}\u{71}",v)
186+local nv = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. s)()
187187assert(v == nv and math.type(v) == math.type(nv))
188188end
189−checkQ("\1\255\52\2")
189+checkQ("\u{0}\u{0}\u{1}\u{ff}\u{234}")
190190checkQ(math.maxinteger)
191191checkQ(math.mininteger)
192192checkQ(math.pi)
@@ -196,29 +196,29 @@ checkQ(nil)
196196checkQ(false)
197197checkQ(math.huge)
198198checkQ(- math.huge)
199−assert(string.format("\37\113",0 / 0) == "\40\48\47\48\41")
200−checkerror("\110\111\32\108\105\116\101\114\97\108",string.format,"\37\113",{})
201−end
202−assert(string.format("\37\115","\1") == "\1")
203−checkerror("\99\111\110\116\97\105\110\115\32\122\101\114\111\115",string.format,"\37\49\48\115","")
204−assert(string.format("\37\115\32\37\115",nil,true) == "\110\105\108\32\116\114\117\101")
205−assert(string.format("\37\115\32\37\46\52\115",false,true) == "\102\97\108\115\101\32\116\114\117\101")
206−assert(string.format("\37\46\51\115\32\37\46\51\115",false,true) == "\102\97\108\32\116\114\117")
207−local m = setmetatable({},{["\95\95\116\111\115\116\114\105\110\103"] = function ()
208−return "\104\101\108\108\111"
209−end,["\95\95\110\97\109\101"] = "\104\105"})
210−assert(string.format("\37\115\32\37\46\49\48\115",m,m) == "\104\101\108\108\111\32\104\101\108\108\111")
199+assert(string.format("\u{25}\u{71}",0 / 0) == "\u{28}\u{30}\u{2f}\u{30}\u{29}")
200+checkerror("\u{6e}\u{6f}\u{20}\u{6c}\u{69}\u{74}\u{65}\u{72}\u{61}\u{6c}",string.format,"\u{25}\u{71}",{})
201+end
202+assert(string.format("\u{0}\u{25}\u{73}\u{0}","\u{0}\u{0}\u{1}") == "\u{0}\u{0}\u{0}\u{1}\u{0}")
203+checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{61}\u{69}\u{6e}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}\u{73}",string.format,"\u{25}\u{31}\u{30}\u{73}","\u{0}")
204+assert(string.format("\u{25}\u{73}\u{20}\u{25}\u{73}",nil,true) == "\u{6e}\u{69}\u{6c}\u{20}\u{74}\u{72}\u{75}\u{65}")
205+assert(string.format("\u{25}\u{73}\u{20}\u{25}\u{2e}\u{34}\u{73}",false,true) == "\u{66}\u{61}\u{6c}\u{73}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}")
206+assert(string.format("\u{25}\u{2e}\u{33}\u{73}\u{20}\u{25}\u{2e}\u{33}\u{73}",false,true) == "\u{66}\u{61}\u{6c}\u{20}\u{74}\u{72}\u{75}")
207+local m = setmetatable({},{["\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = function ()
208+return "\u{68}\u{65}\u{6c}\u{6c}\u{6f}"
209+end,["\u{5f}\u{5f}\u{6e}\u{61}\u{6d}\u{65}"] = "\u{68}\u{69}"})
210+assert(string.format("\u{25}\u{73}\u{20}\u{25}\u{2e}\u{31}\u{30}\u{73}",m,m) == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
211211getmetatable(m).__tostring=nil
212−assert(string.format("\37\46\52\115",m) == "\104\105\58\32")
212+assert(string.format("\u{25}\u{2e}\u{34}\u{73}",m) == "\u{68}\u{69}\u{3a}\u{20}")
213213getmetatable(m).__tostring=function ()
214214return {}
215215end
216−checkerror("\39\95\95\116\111\115\116\114\105\110\103\39\32\109\117\115\116\32\114\101\116\117\114\110\32\97\32\115\116\114\105\110\103",tostring,m)
217−assert(string.format("\37\120",0.0) == "\48")
218−assert(string.format("\37\48\50\120",0.0) == "\48\48")
219−assert(string.format("\37\48\56\88",4294967295) == "\70\70\70\70\70\70\70\70")
220−assert(string.format("\37\43\48\56\100",31501) == "\43\48\48\51\49\53\48\49")
221−assert(string.format("\37\43\48\56\100",- 30927) == "\45\48\48\51\48\57\50\55")
216+checkerror("\u{27}\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{20}\u{6d}\u{75}\u{73}\u{74}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",tostring,m)
217+assert(string.format("\u{25}\u{78}",0.0) == "\u{30}")
218+assert(string.format("\u{25}\u{30}\u{32}\u{78}",0.0) == "\u{30}\u{30}")
219+assert(string.format("\u{25}\u{30}\u{38}\u{58}",4294967295) == "\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}")
220+assert(string.format("\u{25}\u{2b}\u{30}\u{38}\u{64}",31501) == "\u{2b}\u{30}\u{30}\u{33}\u{31}\u{35}\u{30}\u{31}")
221+assert(string.format("\u{25}\u{2b}\u{30}\u{38}\u{64}",- 30927) == "\u{2d}\u{30}\u{30}\u{33}\u{30}\u{39}\u{32}\u{37}")
222222do
223223local i = 1
224224local j = 10000
@@ -231,172 +231,172 @@ j=m
231231end
232232end
233233assert(10 ^ i < math.huge and 10 ^ j == math.huge)
234−local s = string.format("\37\46\57\57\102",- (10 ^ i))
234+local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",- (10 ^ i))
235235assert(string.len(s) >= i + 101)
236236assert(tonumber(s) == - (10 ^ i))
237237assert(10 ^ 38 < math.huge)
238−local s = string.format("\37\46\57\57\102",- (10 ^ 38))
238+local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",- (10 ^ 38))
239239assert(string.len(s) >= 38 + 101)
240240assert(tonumber(s) == - (10 ^ 38))
241241end
242242do
243243local max,min = 2147483647,- 2147483648
244−assert(string.sub(string.format("\37\56\120",- 1),- 8) == "\102\102\102\102\102\102\102\102")
245−assert(string.format("\37\120",max) == "\55\102\102\102\102\102\102\102")
246−assert(string.sub(string.format("\37\120",min),- 8) == "\56\48\48\48\48\48\48\48")
247−assert(string.format("\37\100",max) == "\50\49\52\55\52\56\51\54\52\55")
248−assert(string.format("\37\100",min) == "\45\50\49\52\55\52\56\51\54\52\56")
249−assert(string.format("\37\117",4294967295) == "\52\50\57\52\57\54\55\50\57\53")
250−assert(string.format("\37\111",43981) == "\49\50\53\55\49\53")
244+assert(string.sub(string.format("\u{25}\u{38}\u{78}",- 1),- 8) == "\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}")
245+assert(string.format("\u{25}\u{78}",max) == "\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}")
246+assert(string.sub(string.format("\u{25}\u{78}",min),- 8) == "\u{38}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}")
247+assert(string.format("\u{25}\u{64}",max) == "\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}")
248+assert(string.format("\u{25}\u{64}",min) == "\u{2d}\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{38}")
249+assert(string.format("\u{25}\u{75}",4294967295) == "\u{34}\u{32}\u{39}\u{34}\u{39}\u{36}\u{37}\u{32}\u{39}\u{35}")
250+assert(string.format("\u{25}\u{6f}",43981) == "\u{31}\u{32}\u{35}\u{37}\u{31}\u{35}")
251251max,min=9223372036854775807,- 9223372036854775808
252252if max > 2.0 ^ 53 then
253−assert(string.format("\37\120",(2 ^ 52 | 0) - 1) == "\102\102\102\102\102\102\102\102\102\102\102\102\102")
254−assert(string.format("\48\120\37\56\88",2399141891) == "\48\120\56\70\48\48\48\48\48\51")
255−assert(string.format("\37\100",2 ^ 53) == "\57\48\48\55\49\57\57\50\53\52\55\52\48\57\57\50")
256−assert(string.format("\37\105",- 2 ^ 53) == "\45\57\48\48\55\49\57\57\50\53\52\55\52\48\57\57\50")
257−assert(string.format("\37\120",max) == "\55\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102")
258−assert(string.format("\37\120",min) == "\56\48\48\48\48\48\48\48\48\48\48\48\48\48\48\48")
259−assert(string.format("\37\100",max) == "\57\50\50\51\51\55\50\48\51\54\56\53\52\55\55\53\56\48\55")
260−assert(string.format("\37\100",min) == "\45\57\50\50\51\51\55\50\48\51\54\56\53\52\55\55\53\56\48\56")
261−assert(string.format("\37\117",~ (- 1 << 64)) == "\49\56\52\52\54\55\52\52\48\55\51\55\48\57\53\53\49\54\49\53")
262−assert(tostring(1234567890123) == "\49\50\51\52\53\54\55\56\57\48\49\50\51")
253+assert(string.format("\u{25}\u{78}",(2 ^ 52 | 0) - 1) == "\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}")
254+assert(string.format("\u{30}\u{78}\u{25}\u{38}\u{58}",2399141891) == "\u{30}\u{78}\u{38}\u{46}\u{30}\u{30}\u{30}\u{30}\u{30}\u{33}")
255+assert(string.format("\u{25}\u{64}",2 ^ 53) == "\u{39}\u{30}\u{30}\u{37}\u{31}\u{39}\u{39}\u{32}\u{35}\u{34}\u{37}\u{34}\u{30}\u{39}\u{39}\u{32}")
256+assert(string.format("\u{25}\u{69}",- 2 ^ 53) == "\u{2d}\u{39}\u{30}\u{30}\u{37}\u{31}\u{39}\u{39}\u{32}\u{35}\u{34}\u{37}\u{34}\u{30}\u{39}\u{39}\u{32}")
257+assert(string.format("\u{25}\u{78}",max) == "\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}")
258+assert(string.format("\u{25}\u{78}",min) == "\u{38}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}")
259+assert(string.format("\u{25}\u{64}",max) == "\u{39}\u{32}\u{32}\u{33}\u{33}\u{37}\u{32}\u{30}\u{33}\u{36}\u{38}\u{35}\u{34}\u{37}\u{37}\u{35}\u{38}\u{30}\u{37}")
260+assert(string.format("\u{25}\u{64}",min) == "\u{2d}\u{39}\u{32}\u{32}\u{33}\u{33}\u{37}\u{32}\u{30}\u{33}\u{36}\u{38}\u{35}\u{34}\u{37}\u{37}\u{35}\u{38}\u{30}\u{38}")
261+assert(string.format("\u{25}\u{75}",~ (- 1 << 64)) == "\u{31}\u{38}\u{34}\u{34}\u{36}\u{37}\u{34}\u{34}\u{30}\u{37}\u{33}\u{37}\u{30}\u{39}\u{35}\u{35}\u{31}\u{36}\u{31}\u{35}")
262+assert(tostring(1234567890123) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}")
263263end
264264end
265265do
266−print("\116\101\115\116\105\110\103\32\39\102\111\114\109\97\116\32\37\97\32\37\65\39")
266+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{20}\u{25}\u{61}\u{20}\u{25}\u{41}\u{27}")
267267local function matchhexa
268268(n)
269−local s = string.format("\37\97",n)
270−assert(string.find(s,"\94\37\45\63\48\120\91\49\45\57\97\45\102\93\37\46\63\91\48\45\57\97\45\102\93\42\112\91\45\43\93\63\37\100\43\36"))
269+local s = string.format("\u{25}\u{61}",n)
270+assert(string.find(s,"\u{5e}\u{25}\u{2d}\u{3f}\u{30}\u{78}\u{5b}\u{31}\u{2d}\u{39}\u{61}\u{2d}\u{66}\u{5d}\u{25}\u{2e}\u{3f}\u{5b}\u{30}\u{2d}\u{39}\u{61}\u{2d}\u{66}\u{5d}\u{2a}\u{70}\u{5b}\u{2d}\u{2b}\u{5d}\u{3f}\u{25}\u{64}\u{2b}\u{24}"))
271271assert(tonumber(s) == n)
272−s=string.format("\37\65",n)
273−assert(string.find(s,"\94\37\45\63\48\88\91\49\45\57\65\45\70\93\37\46\63\91\48\45\57\65\45\70\93\42\80\91\45\43\93\63\37\100\43\36"))
272+s=string.format("\u{25}\u{41}",n)
273+assert(string.find(s,"\u{5e}\u{25}\u{2d}\u{3f}\u{30}\u{58}\u{5b}\u{31}\u{2d}\u{39}\u{41}\u{2d}\u{46}\u{5d}\u{25}\u{2e}\u{3f}\u{5b}\u{30}\u{2d}\u{39}\u{41}\u{2d}\u{46}\u{5d}\u{2a}\u{50}\u{5b}\u{2d}\u{2b}\u{5d}\u{3f}\u{25}\u{64}\u{2b}\u{24}"))
274274assert(tonumber(s) == n)
275275end
276276for _,n in ipairs({0.1,- 0.1,1 / 3,- 1 / 3,1e30,- 1e30,- 45 / 247,1,- 1,2,- 2,3e-20,- 3e-20})
277277do
278278matchhexa(n)
279279end
280−assert(string.find(string.format("\37\65",0.0),"\94\48\88\48\37\46\63\48\42\80\37\43\63\48\36"))
281−assert(string.find(string.format("\37\97",- 0.0),"\94\37\45\48\120\48\37\46\63\48\42\112\37\43\63\48\36"))
280+assert(string.find(string.format("\u{25}\u{41}",0.0),"\u{5e}\u{30}\u{58}\u{30}\u{25}\u{2e}\u{3f}\u{30}\u{2a}\u{50}\u{25}\u{2b}\u{3f}\u{30}\u{24}"))
281+assert(string.find(string.format("\u{25}\u{61}",- 0.0),"\u{5e}\u{25}\u{2d}\u{30}\u{78}\u{30}\u{25}\u{2e}\u{3f}\u{30}\u{2a}\u{70}\u{25}\u{2b}\u{3f}\u{30}\u{24}"))
282282if not _port then
283−assert(string.find(string.format("\37\97",1 / 0),"\94\105\110\102"))
284−assert(string.find(string.format("\37\65",- 1 / 0),"\94\37\45\73\78\70"))
285−assert(string.find(string.format("\37\97",0 / 0),"\94\37\45\63\110\97\110"))
286−assert(string.find(string.format("\37\97",- 0.0),"\94\37\45\48\120\48"))
283+assert(string.find(string.format("\u{25}\u{61}",1 / 0),"\u{5e}\u{69}\u{6e}\u{66}"))
284+assert(string.find(string.format("\u{25}\u{41}",- 1 / 0),"\u{5e}\u{25}\u{2d}\u{49}\u{4e}\u{46}"))
285+assert(string.find(string.format("\u{25}\u{61}",0 / 0),"\u{5e}\u{25}\u{2d}\u{3f}\u{6e}\u{61}\u{6e}"))
286+assert(string.find(string.format("\u{25}\u{61}",- 0.0),"\u{5e}\u{25}\u{2d}\u{30}\u{78}\u{30}"))
287287end
288−if not pcall(string.format,"\37\46\51\97",0) then
289−(Message or print)("\10\32\62\62\62\32\109\111\100\105\102\105\101\114\115\32\102\111\114\32\102\111\114\109\97\116\32\39\37\97\39\32\110\111\116\32\97\118\97\105\108\97\98\108\101\32\60\60\60\10")
288+if not pcall(string.format,"\u{25}\u{2e}\u{33}\u{61}",0) then
289+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{6d}\u{6f}\u{64}\u{69}\u{66}\u{69}\u{65}\u{72}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{20}\u{27}\u{25}\u{61}\u{27}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{76}\u{61}\u{69}\u{6c}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
290290else
291−assert(string.find(string.format("\37\43\46\50\65",12),"\94\37\43\48\88\37\120\37\46\37\120\48\80\37\43\63\37\100\36"))
292−assert(string.find(string.format("\37\46\52\65",- 12),"\94\37\45\48\88\37\120\37\46\37\120\48\48\48\80\37\43\63\37\100\36"))
293−end
294−end
295−assert(string.format("\37\35\49\50\111",10) == "\32\32\32\32\32\32\32\32\32\48\49\50")
296−assert(string.format("\37\35\49\48\120",100) == "\32\32\32\32\32\32\48\120\54\52")
297−assert(string.format("\37\35\45\49\55\88",100) == "\48\88\54\52\32\32\32\32\32\32\32\32\32\32\32\32\32")
298−assert(string.format("\37\48\49\51\105",- 100) == "\45\48\48\48\48\48\48\48\48\48\49\48\48")
299−assert(string.format("\37\50\46\53\100",- 100) == "\45\48\48\49\48\48")
300−assert(string.format("\37\46\117",0) == "")
301−assert(string.format("\37\43\35\48\49\52\46\48\102",100) == "\43\48\48\48\48\48\48\48\48\48\49\48\48\46")
302−assert(string.format("\37\45\49\54\99",97) == "\97\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32")
303−assert(string.format("\37\43\46\51\71",1.5) == "\43\49\46\53")
304−assert(string.format("\37\46\48\115","\97\108\111") == "")
305−assert(string.format("\37\46\115","\97\108\111") == "")
306−assert(string.match(string.format("\37\32\49\46\48\69",100),"\94\32\49\69\37\43\48\43\50\36"))
307−assert(string.match(string.format("\37\32\46\49\103",2 ^ 10),"\94\32\49\101\37\43\48\43\51\36"))
291+assert(string.find(string.format("\u{25}\u{2b}\u{2e}\u{32}\u{41}",12),"\u{5e}\u{25}\u{2b}\u{30}\u{58}\u{25}\u{78}\u{25}\u{2e}\u{25}\u{78}\u{30}\u{50}\u{25}\u{2b}\u{3f}\u{25}\u{64}\u{24}"))
292+assert(string.find(string.format("\u{25}\u{2e}\u{34}\u{41}",- 12),"\u{5e}\u{25}\u{2d}\u{30}\u{58}\u{25}\u{78}\u{25}\u{2e}\u{25}\u{78}\u{30}\u{30}\u{30}\u{50}\u{25}\u{2b}\u{3f}\u{25}\u{64}\u{24}"))
293+end
294+end
295+assert(string.format("\u{25}\u{23}\u{31}\u{32}\u{6f}",10) == "\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{30}\u{31}\u{32}")
296+assert(string.format("\u{25}\u{23}\u{31}\u{30}\u{78}",100) == "\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{30}\u{78}\u{36}\u{34}")
297+assert(string.format("\u{25}\u{23}\u{2d}\u{31}\u{37}\u{58}",100) == "\u{30}\u{58}\u{36}\u{34}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}")
298+assert(string.format("\u{25}\u{30}\u{31}\u{33}\u{69}",- 100) == "\u{2d}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{30}\u{30}")
299+assert(string.format("\u{25}\u{32}\u{2e}\u{35}\u{64}",- 100) == "\u{2d}\u{30}\u{30}\u{31}\u{30}\u{30}")
300+assert(string.format("\u{25}\u{2e}\u{75}",0) == "")
301+assert(string.format("\u{25}\u{2b}\u{23}\u{30}\u{31}\u{34}\u{2e}\u{30}\u{66}",100) == "\u{2b}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{30}\u{30}\u{2e}")
302+assert(string.format("\u{25}\u{2d}\u{31}\u{36}\u{63}",97) == "\u{61}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}")
303+assert(string.format("\u{25}\u{2b}\u{2e}\u{33}\u{47}",1.5) == "\u{2b}\u{31}\u{2e}\u{35}")
304+assert(string.format("\u{25}\u{2e}\u{30}\u{73}","\u{61}\u{6c}\u{6f}") == "")
305+assert(string.format("\u{25}\u{2e}\u{73}","\u{61}\u{6c}\u{6f}") == "")
306+assert(string.match(string.format("\u{25}\u{20}\u{31}\u{2e}\u{30}\u{45}",100),"\u{5e}\u{20}\u{31}\u{45}\u{25}\u{2b}\u{30}\u{2b}\u{32}\u{24}"))
307+assert(string.match(string.format("\u{25}\u{20}\u{2e}\u{31}\u{67}",2 ^ 10),"\u{5e}\u{20}\u{31}\u{65}\u{25}\u{2b}\u{30}\u{2b}\u{33}\u{24}"))
308308local function check
309309(fmt,msg)
310310checkerror(msg,string.format,fmt,10)
311311end
312−local aux = string.rep("\48",600)
313−check("\37\49\48\48\46\51\100","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
314−check("\37\49" .. aux .. "\46\51\100","\116\111\111\32\108\111\110\103")
315−check("\37\49\46\49\48\48\100","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
316−check("\37\49\48\46\49" .. aux .. "\48\48\52\100","\116\111\111\32\108\111\110\103")
317−check("\37\116","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
318−check("\37" .. aux .. "\100","\116\111\111\32\108\111\110\103")
319−check("\37\100\32\37\100","\110\111\32\118\97\108\117\101")
320−check("\37\48\49\48\99","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
321−check("\37\46\49\48\99","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
322−check("\37\48\46\51\52\115","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
323−check("\37\35\105","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
324−check("\37\51\46\49\112","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
325−check("\37\48\46\115","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
326−check("\37\49\48\113","\99\97\110\110\111\116\32\104\97\118\101\32\109\111\100\105\102\105\101\114\115")
327−check("\37\70","\105\110\118\97\108\105\100\32\99\111\110\118\101\114\115\105\111\110")
328−assert(load("\114\101\116\117\114\110\32\49\10\45\45\99\111\109\109\101\110\116\32\119\105\116\104\111\117\116\32\101\110\100\105\110\103\32\69\79\76")() == 1)
329−checkerror("\116\97\98\108\101\32\101\120\112\101\99\116\101\100",table.concat,3)
330−checkerror("\97\116\32\105\110\100\101\120\32" .. maxi,table.concat,{},"\32",maxi,maxi)
331−checkerror("\97\116\32\105\110\100\101\120\32\37" .. mini,table.concat,{},"\32",mini,mini)
312+local aux = string.rep("\u{30}",600)
313+check("\u{25}\u{31}\u{30}\u{30}\u{2e}\u{33}\u{64}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
314+check("\u{25}\u{31}" .. aux .. "\u{2e}\u{33}\u{64}","\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
315+check("\u{25}\u{31}\u{2e}\u{31}\u{30}\u{30}\u{64}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
316+check("\u{25}\u{31}\u{30}\u{2e}\u{31}" .. aux .. "\u{30}\u{30}\u{34}\u{64}","\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
317+check("\u{25}\u{74}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
318+check("\u{25}" .. aux .. "\u{64}","\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
319+check("\u{25}\u{64}\u{20}\u{25}\u{64}","\u{6e}\u{6f}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
320+check("\u{25}\u{30}\u{31}\u{30}\u{63}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
321+check("\u{25}\u{2e}\u{31}\u{30}\u{63}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
322+check("\u{25}\u{30}\u{2e}\u{33}\u{34}\u{73}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
323+check("\u{25}\u{23}\u{69}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
324+check("\u{25}\u{33}\u{2e}\u{31}\u{70}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
325+check("\u{25}\u{30}\u{2e}\u{73}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
326+check("\u{25}\u{31}\u{30}\u{71}","\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{61}\u{76}\u{65}\u{20}\u{6d}\u{6f}\u{64}\u{69}\u{66}\u{69}\u{65}\u{72}\u{73}")
327+check("\u{25}\u{46}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
328+assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}\u{2d}\u{2d}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{45}\u{4f}\u{4c}")() == 1)
329+checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.concat,3)
330+checkerror("\u{61}\u{74}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}" .. maxi,table.concat,{},"\u{20}",maxi,maxi)
331+checkerror("\u{61}\u{74}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}" .. mini,table.concat,{},"\u{20}",mini,mini)
332332assert(table.concat({}) == "")
333−assert(table.concat({},"\120") == "")
334−assert(table.concat({"","\1","\1\2"},"\46\46") == "\46\46\1\46\46\1\2")
333+assert(table.concat({},"\u{78}") == "")
334+assert(table.concat({"\u{0}","\u{0}\u{1}","\u{0}\u{1}\u{2}"},"\u{2e}\u{0}\u{2e}") == "\u{0}\u{2e}\u{0}\u{2e}\u{0}\u{1}\u{2e}\u{0}\u{2e}\u{0}\u{1}\u{2}")
335335local a = {}
336336;
337337for i = 1, 300
338338do
339−a[i]="\120\117\120\117"
340−end
341−assert(table.concat(a,"\49\50\51") .. "\49\50\51" == string.rep("\120\117\120\117\49\50\51",300))
342−assert(table.concat(a,"\98",20,20) == "\120\117\120\117")
343−assert(table.concat(a,"",20,21) == "\120\117\120\117\120\117\120\117")
344−assert(table.concat(a,"\120",22,21) == "")
345−assert(table.concat(a,"\51",299) == "\120\117\120\117\51\120\117\120\117")
346−assert(table.concat({},"\120",maxi,maxi - 1) == "")
347−assert(table.concat({},"\120",mini + 1,mini) == "")
348−assert(table.concat({},"\120",maxi,mini) == "")
349−assert(table.concat({[maxi] = "\97\108\111"},"\120",maxi,maxi) == "\97\108\111")
350−assert(table.concat({[maxi] = "\97\108\111",[maxi - 1] = "\121"},"\45",maxi - 1,maxi) == "\121\45\97\108\111")
351−assert(not pcall(table.concat,{"\97","\98",{}}))
352−a={"\97","\98","\99"}
353−assert(table.concat(a,"\44",1,0) == "")
354−assert(table.concat(a,"\44",1,1) == "\97")
355−assert(table.concat(a,"\44",1,2) == "\97\44\98")
356−assert(table.concat(a,"\44",2) == "\98\44\99")
357−assert(table.concat(a,"\44",3) == "\99")
358−assert(table.concat(a,"\44",4) == "")
339+a[i]="\u{78}\u{75}\u{78}\u{75}"
340+end
341+assert(table.concat(a,"\u{31}\u{32}\u{33}") .. "\u{31}\u{32}\u{33}" == string.rep("\u{78}\u{75}\u{78}\u{75}\u{31}\u{32}\u{33}",300))
342+assert(table.concat(a,"\u{62}",20,20) == "\u{78}\u{75}\u{78}\u{75}")
343+assert(table.concat(a,"",20,21) == "\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}")
344+assert(table.concat(a,"\u{78}",22,21) == "")
345+assert(table.concat(a,"\u{33}",299) == "\u{78}\u{75}\u{78}\u{75}\u{33}\u{78}\u{75}\u{78}\u{75}")
346+assert(table.concat({},"\u{78}",maxi,maxi - 1) == "")
347+assert(table.concat({},"\u{78}",mini + 1,mini) == "")
348+assert(table.concat({},"\u{78}",maxi,mini) == "")
349+assert(table.concat({[maxi] = "\u{61}\u{6c}\u{6f}"},"\u{78}",maxi,maxi) == "\u{61}\u{6c}\u{6f}")
350+assert(table.concat({[maxi] = "\u{61}\u{6c}\u{6f}",[maxi - 1] = "\u{79}"},"\u{2d}",maxi - 1,maxi) == "\u{79}\u{2d}\u{61}\u{6c}\u{6f}")
351+assert(not pcall(table.concat,{"\u{61}","\u{62}",{}}))
352+a={"\u{61}","\u{62}","\u{63}"}
353+assert(table.concat(a,"\u{2c}",1,0) == "")
354+assert(table.concat(a,"\u{2c}",1,1) == "\u{61}")
355+assert(table.concat(a,"\u{2c}",1,2) == "\u{61}\u{2c}\u{62}")
356+assert(table.concat(a,"\u{2c}",2) == "\u{62}\u{2c}\u{63}")
357+assert(table.concat(a,"\u{2c}",3) == "\u{63}")
358+assert(table.concat(a,"\u{2c}",4) == "")
359359if not _port then
360−local locales = {"\112\116\98","\112\116\95\66\82\46\105\115\111\56\56\53\57\49","\73\83\79\45\56\56\53\57\45\49"}
360+local locales = {"\u{70}\u{74}\u{62}","\u{70}\u{74}\u{5f}\u{42}\u{52}\u{2e}\u{69}\u{73}\u{6f}\u{38}\u{38}\u{35}\u{39}\u{31}","\u{49}\u{53}\u{4f}\u{2d}\u{38}\u{38}\u{35}\u{39}\u{2d}\u{31}"}
361361local function trylocale
362362(w)
363363for i = 1, # locales
364364do
365365if os.setlocale(locales[i],w) then
366−print(string.format("\39\37\115\39\32\108\111\99\97\108\101\32\115\101\116\32\116\111\32\39\37\115\39",w,locales[i]))
366+print(string.format("\u{27}\u{25}\u{73}\u{27}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{65}\u{20}\u{73}\u{65}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{27}\u{25}\u{73}\u{27}",w,locales[i]))
367367return locales[i]
368368end
369369end
370−print(string.format("\39\37\115\39\32\108\111\99\97\108\101\32\110\111\116\32\102\111\117\110\100",w))
370+print(string.format("\u{27}\u{25}\u{73}\u{27}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{65}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{6f}\u{75}\u{6e}\u{64}",w))
371371return false
372372end
373−if trylocale("\99\111\108\108\97\116\101") then
374−assert("\97\108\111" < "\225\108\111" and "\225\108\111" < "\97\109\111")
373+if trylocale("\u{63}\u{6f}\u{6c}\u{6c}\u{61}\u{74}\u{65}") then
374+assert("\u{61}\u{6c}\u{6f}" < "\u{e1}\u{6c}\u{6f}" and "\u{e1}\u{6c}\u{6f}" < "\u{61}\u{6d}\u{6f}")
375375end
376−if trylocale("\99\116\121\112\101") then
377−assert(string.gsub("\225\233\237\243\250","\37\97","\120") == "\120\120\120\120\120")
378−assert(string.gsub("\225\193\233\201","\37\108","\120") == "\120\193\120\201")
379−assert(string.gsub("\225\193\233\201","\37\117","\120") == "\225\120\233\120")
380−assert(string.upper("\225\193\233\123\120\117\120\117\125\231\227\111") == "\193\193\201\123\88\85\88\85\125\199\195\79")
376+if trylocale("\u{63}\u{74}\u{79}\u{70}\u{65}") then
377+assert(string.gsub("\u{e1}\u{e9}\u{ed}\u{f3}\u{fa}","\u{25}\u{61}","\u{78}") == "\u{78}\u{78}\u{78}\u{78}\u{78}")
378+assert(string.gsub("\u{e1}\u{c1}\u{e9}\u{c9}","\u{25}\u{6c}","\u{78}") == "\u{78}\u{c1}\u{78}\u{c9}")
379+assert(string.gsub("\u{e1}\u{c1}\u{e9}\u{c9}","\u{25}\u{75}","\u{78}") == "\u{e1}\u{78}\u{e9}\u{78}")
380+assert(string.upper("\u{e1}\u{c1}\u{e9}\u{7b}\u{78}\u{75}\u{78}\u{75}\u{7d}\u{e7}\u{e3}\u{6f}") == "\u{c1}\u{c1}\u{c9}\u{7b}\u{58}\u{55}\u{58}\u{55}\u{7d}\u{c7}\u{c3}\u{4f}")
381381end
382−os.setlocale("\67")
383−assert(os.setlocale() == "\67")
384−assert(os.setlocale(nil,"\110\117\109\101\114\105\99") == "\67")
382+os.setlocale("\u{43}")
383+assert(os.setlocale() == "\u{43}")
384+assert(os.setlocale(nil,"\u{6e}\u{75}\u{6d}\u{65}\u{72}\u{69}\u{63}") == "\u{43}")
385385end
386386do
387−local f = string.gmatch("\49\32\50\32\51\32\52\32\53","\37\100\43")
388−assert(f() == "\49")
387+local f = string.gmatch("\u{31}\u{20}\u{32}\u{20}\u{33}\u{20}\u{34}\u{20}\u{35}","\u{25}\u{64}\u{2b}")
388+assert(f() == "\u{31}")
389389local co = coroutine.wrap(f)
390−assert(co() == "\50")
390+assert(co() == "\u{32}")
391391end
392392if T == nil then
393−(Message or print)("\10\32\62\62\62\32\116\101\115\116\67\32\110\111\116\32\97\99\116\105\118\101\58\32\115\107\105\112\112\105\110\103\32\39\112\117\115\104\102\115\116\114\105\110\103\39\32\116\101\115\116\115\32\60\60\60\10")
393+(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{70}\u{75}\u{73}\u{68}\u{66}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
394394else
395−print("\116\101\115\116\105\110\103\32\39\112\117\115\104\102\115\116\114\105\110\103\39")
395+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{70}\u{75}\u{73}\u{68}\u{66}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}")
396396local blen = 200
397397local function callpfs
398398(op,fmt,n)
399−local x = {T.testC("\112\117\115\104\102\115\116\114\105\110\103" .. op .. "\59\32\114\101\116\117\114\110\32\42",fmt,n)}
399+local x = {T.testC("\u{70}\u{75}\u{73}\u{68}\u{66}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" .. op .. "\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",fmt,n)}
400400assert(# x == 4)
401401return x[4]
402402end
@@ -404,38 +404,38 @@ local function testpfs
404404(op,fmt,n)
405405assert(callpfs(op,fmt,n) == string.format(fmt,n))
406406end
407−testpfs("\73","",0)
408−testpfs("\73",string.rep("\97",blen - 1),0)
409−testpfs("\73",string.rep("\97",blen),0)
410−testpfs("\73",string.rep("\97",blen + 1),0)
411−local str = string.rep("\97\98",blen) .. "\37\100" .. string.rep("\100",blen / 2)
412−testpfs("\73",str,2 ^ 14)
413−testpfs("\73",str,- 2 ^ 15)
414−str="\37\100" .. string.rep("\99\100",blen)
415−testpfs("\73",str,2 ^ 14)
416−testpfs("\73",str,- 2 ^ 15)
417−str=string.rep("\99",blen - 2) .. "\37\100"
418−testpfs("\73",str,2 ^ 14)
419−testpfs("\73",str,- 2 ^ 15)
407+testpfs("\u{49}","",0)
408+testpfs("\u{49}",string.rep("\u{61}",blen - 1),0)
409+testpfs("\u{49}",string.rep("\u{61}",blen),0)
410+testpfs("\u{49}",string.rep("\u{61}",blen + 1),0)
411+local str = string.rep("\u{61}\u{62}",blen) .. "\u{25}\u{64}" .. string.rep("\u{64}",blen / 2)
412+testpfs("\u{49}",str,2 ^ 14)
413+testpfs("\u{49}",str,- 2 ^ 15)
414+str="\u{25}\u{64}" .. string.rep("\u{63}\u{64}",blen)
415+testpfs("\u{49}",str,2 ^ 14)
416+testpfs("\u{49}",str,- 2 ^ 15)
417+str=string.rep("\u{63}",blen - 2) .. "\u{25}\u{64}"
418+testpfs("\u{49}",str,2 ^ 14)
419+testpfs("\u{49}",str,- 2 ^ 15)
420420for l = 12, 14
421421do
422−local str1 = string.rep("\97",l)
422+local str1 = string.rep("\u{61}",l)
423423for i = 0, 500, 13
424424do
425425for j = 0, 500, 13
426426do
427−str=string.rep("\97",i) .. "\37\115" .. string.rep("\100",j)
428−testpfs("\83",str,str1)
429−testpfs("\83",str,str)
427+str=string.rep("\u{61}",i) .. "\u{25}\u{73}" .. string.rep("\u{64}",j)
428+testpfs("\u{53}",str,str1)
429+testpfs("\u{53}",str,str)
430430end
431431end
432432end
433−str="\97\98\99\32\37\99\32\100\101\102"
434−testpfs("\73",str,string.byte("\65"))
435−testpfs("\73",str,255)
436−str=string.rep("\97",blen - 1) .. "\37\112" .. string.rep("\99\100",blen)
437−testpfs("\80",str,{})
438−str=string.rep("\37\37",3 * blen) .. "\37\112" .. string.rep("\37\37",2 * blen)
439−testpfs("\80",str,{})
433+str="\u{61}\u{62}\u{63}\u{20}\u{25}\u{63}\u{20}\u{64}\u{65}\u{66}"
434+testpfs("\u{49}",str,string.byte("\u{41}"))
435+testpfs("\u{49}",str,255)
436+str=string.rep("\u{61}",blen - 1) .. "\u{25}\u{70}" .. string.rep("\u{63}\u{64}",blen)
437+testpfs("\u{50}",str,{})
438+str=string.rep("\u{25}\u{25}",3 * blen) .. "\u{25}\u{70}" .. string.rep("\u{25}\u{25}",2 * blen)
439+testpfs("\u{50}",str,{})
440440end
441−print("\79\75")
441+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/tpack.lua+163−163
@@ -1,108 +1,108 @@
11local pack = string.pack
22local packsize = string.packsize
33local unpack = string.unpack
4−print("\116\101\115\116\105\110\103\32\112\97\99\107\47\117\110\112\97\99\107")
4+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}\u{2f}\u{75}\u{6e}\u{70}\u{61}\u{63}\u{6b}")
55local NB = 16
6−local sizeshort = packsize("\104")
7−local sizeint = packsize("\105")
8−local sizelong = packsize("\108")
9−local sizesize_t = packsize("\84")
10−local sizeLI = packsize("\106")
11−local sizefloat = packsize("\102")
12−local sizedouble = packsize("\100")
13−local sizenumber = packsize("\110")
14−local little = (pack("\105\50",1) == "\1")
15−local align = packsize("\33\120\88\105\49\54")
6+local sizeshort = packsize("\u{68}")
7+local sizeint = packsize("\u{69}")
8+local sizelong = packsize("\u{6c}")
9+local sizesize_t = packsize("\u{54}")
10+local sizeLI = packsize("\u{6a}")
11+local sizefloat = packsize("\u{66}")
12+local sizedouble = packsize("\u{64}")
13+local sizenumber = packsize("\u{6e}")
14+local little = (pack("\u{69}\u{32}",1) == "\u{1}\u{0}")
15+local align = packsize("\u{21}\u{78}\u{58}\u{69}\u{31}\u{36}")
1616assert(1 <= sizeshort and sizeshort <= sizeint and sizeint <= sizelong and sizefloat <= sizedouble)
17−print("\112\108\97\116\102\111\114\109\58")
18−print(string.format("\9\115\104\111\114\116\32\37\100\44\32\105\110\116\32\37\100\44\32\108\111\110\103\32\37\100\44\32\115\105\122\101\95\116\32\37\100\44\32\102\108\111\97\116\32\37\100\44\32\100\111\117\98\108\101\32\37\100\44\10\9\108\117\97\32\73\110\116\101\103\101\114\32\37\100\44\32\108\117\97\32\78\117\109\98\101\114\32\37\100",sizeshort,sizeint,sizelong,sizesize_t,sizefloat,sizedouble,sizeLI,sizenumber))
19−print("\9" .. (little and "\108\105\116\116\108\101" or "\98\105\103") .. "\32\101\110\100\105\97\110")
20−print("\9\97\108\105\103\110\109\101\110\116\58\32" .. align)
17+print("\u{70}\u{6c}\u{61}\u{74}\u{66}\u{6f}\u{72}\u{6d}\u{3a}")
18+print(string.format("\u{9}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{69}\u{6e}\u{74}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{5f}\u{74}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{64}\u{6f}\u{75}\u{62}\u{6c}\u{65}\u{20}\u{25}\u{64}\u{2c}\u{a}\u{9}\u{6c}\u{75}\u{61}\u{20}\u{49}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{4e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{25}\u{64}",sizeshort,sizeint,sizelong,sizesize_t,sizefloat,sizedouble,sizeLI,sizenumber))
19+print("\u{9}" .. (little and "\u{6c}\u{69}\u{74}\u{74}\u{6c}\u{65}" or "\u{62}\u{69}\u{67}") .. "\u{20}\u{65}\u{6e}\u{64}\u{69}\u{61}\u{6e}")
20+print("\u{9}\u{61}\u{6c}\u{69}\u{67}\u{6e}\u{6d}\u{65}\u{6e}\u{74}\u{3a}\u{20}" .. align)
2121local function checkerror
2222(msg,f, ...)
2323local status,err = pcall(f,...)
2424assert(not status and string.find(err,msg))
2525end
26−assert(unpack("\66",pack("\66",255)) == 255)
27−assert(unpack("\98",pack("\98",127)) == 127)
28−assert(unpack("\98",pack("\98",- 128)) == - 128)
29−assert(unpack("\72",pack("\72",65535)) == 65535)
30−assert(unpack("\104",pack("\104",32767)) == 32767)
31−assert(unpack("\104",pack("\104",- 32768)) == - 32768)
32−assert(unpack("\76",pack("\76",4294967295)) == 4294967295)
33−assert(unpack("\108",pack("\108",2147483647)) == 2147483647)
34−assert(unpack("\108",pack("\108",- 2147483648)) == - 2147483648)
26+assert(unpack("\u{42}",pack("\u{42}",255)) == 255)
27+assert(unpack("\u{62}",pack("\u{62}",127)) == 127)
28+assert(unpack("\u{62}",pack("\u{62}",- 128)) == - 128)
29+assert(unpack("\u{48}",pack("\u{48}",65535)) == 65535)
30+assert(unpack("\u{68}",pack("\u{68}",32767)) == 32767)
31+assert(unpack("\u{68}",pack("\u{68}",- 32768)) == - 32768)
32+assert(unpack("\u{4c}",pack("\u{4c}",4294967295)) == 4294967295)
33+assert(unpack("\u{6c}",pack("\u{6c}",2147483647)) == 2147483647)
34+assert(unpack("\u{6c}",pack("\u{6c}",- 2147483648)) == - 2147483648)
3535for i = 1, NB
3636do
37−local s = string.rep("\255",i)
38−assert(pack("\105" .. i,- 1) == s)
39−assert(packsize("\105" .. i) == # s)
40−assert(unpack("\105" .. i,s) == - 1)
41−s="\170" .. string.rep("",i - 1)
42−assert(pack("\60\73" .. i,170) == s)
43−assert(unpack("\60\73" .. i,s) == 170)
44−assert(pack("\62\73" .. i,170) == s:reverse())
45−assert(unpack("\62\73" .. i,s:reverse()) == 170)
37+local s = string.rep("\u{ff}",i)
38+assert(pack("\u{69}" .. i,- 1) == s)
39+assert(packsize("\u{69}" .. i) == # s)
40+assert(unpack("\u{69}" .. i,s) == - 1)
41+s="\u{aa}" .. string.rep("\u{0}",i - 1)
42+assert(pack("\u{3c}\u{49}" .. i,170) == s)
43+assert(unpack("\u{3c}\u{49}" .. i,s) == 170)
44+assert(pack("\u{3e}\u{49}" .. i,170) == s:reverse())
45+assert(unpack("\u{3e}\u{49}" .. i,s:reverse()) == 170)
4646end
4747do
4848local lnum = 1510926445411202934483812811265
49−local s = pack("\60\106",lnum)
50−assert(unpack("\60\106",s) == lnum)
51−assert(unpack("\60\105" .. sizeLI + 1,s .. "") == lnum)
52−assert(unpack("\60\105" .. sizeLI + 1,s .. "") == lnum)
49+local s = pack("\u{3c}\u{6a}",lnum)
50+assert(unpack("\u{3c}\u{6a}",s) == lnum)
51+assert(unpack("\u{3c}\u{69}" .. sizeLI + 1,s .. "\u{0}") == lnum)
52+assert(unpack("\u{3c}\u{69}" .. sizeLI + 1,s .. "\u{0}") == lnum)
5353for i = sizeLI + 1, NB
5454do
55−local s = pack("\60\106",- lnum)
56−assert(unpack("\60\106",s) == - lnum)
57−assert(unpack("\60\105" .. i,s .. ("\255"):rep(i - sizeLI)) == - lnum)
58−assert(unpack("\62\105" .. i,("\255"):rep(i - sizeLI) .. s:reverse()) == - lnum)
59−assert(unpack("\60\73" .. i,s .. (""):rep(i - sizeLI)) == - lnum)
60−checkerror("\100\111\101\115\32\110\111\116\32\102\105\116",unpack,"\60\73" .. i,(""):rep(i - 1) .. "\1")
61−checkerror("\100\111\101\115\32\110\111\116\32\102\105\116",unpack,"\62\105" .. i,"\1" .. (""):rep(i - 1))
55+local s = pack("\u{3c}\u{6a}",- lnum)
56+assert(unpack("\u{3c}\u{6a}",s) == - lnum)
57+assert(unpack("\u{3c}\u{69}" .. i,s .. ("\u{ff}"):rep(i - sizeLI)) == - lnum)
58+assert(unpack("\u{3e}\u{69}" .. i,("\u{ff}"):rep(i - sizeLI) .. s:reverse()) == - lnum)
59+assert(unpack("\u{3c}\u{49}" .. i,s .. ("\u{0}"):rep(i - sizeLI)) == - lnum)
60+checkerror("\u{64}\u{6f}\u{65}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{69}\u{74}",unpack,"\u{3c}\u{49}" .. i,("\u{0}"):rep(i - 1) .. "\u{1}")
61+checkerror("\u{64}\u{6f}\u{65}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{69}\u{74}",unpack,"\u{3e}\u{69}" .. i,"\u{1}" .. ("\u{0}"):rep(i - 1))
6262end
6363end
6464for i = 1, sizeLI
6565do
66−local lstr = "\1\2\3\4\5\6\7\8\9\10\11\12\13"
66+local lstr = "\u{1}\u{2}\u{3}\u{4}\u{5}\u{6}\u{7}\u{8}\u{9}\u{a}\u{b}\u{c}\u{d}"
6767local lnum = 1510926445411202934483812811265
6868local n = lnum & (~ (- 1 << (i * 8)))
6969local s = string.sub(lstr,1,i)
70−assert(pack("\60\105" .. i,n) == s)
71−assert(pack("\62\105" .. i,n) == s:reverse())
72−assert(unpack("\62\105" .. i,s:reverse()) == n)
70+assert(pack("\u{3c}\u{69}" .. i,n) == s)
71+assert(pack("\u{3e}\u{69}" .. i,n) == s:reverse())
72+assert(unpack("\u{3e}\u{69}" .. i,s:reverse()) == n)
7373end
7474do
7575local u = 240
7676for i = 1, sizeLI - 1
7777do
78−assert(unpack("\60\105" .. i,"\240" .. ("\255"):rep(i - 1)) == - 16)
79−assert(unpack("\62\73" .. i,"\240" .. ("\255"):rep(i - 1)) == u)
78+assert(unpack("\u{3c}\u{69}" .. i,"\u{f0}" .. ("\u{ff}"):rep(i - 1)) == - 16)
79+assert(unpack("\u{3e}\u{49}" .. i,"\u{f0}" .. ("\u{ff}"):rep(i - 1)) == u)
8080u=u * 256 + 255
8181end
8282end
8383do
84−assert(pack("\62\105\50\32\60\105\50",10,20) == "\10\20")
85−local a,b = unpack("\60\105\50\32\62\105\50","\10\20")
84+assert(pack("\u{3e}\u{69}\u{32}\u{20}\u{3c}\u{69}\u{32}",10,20) == "\u{0}\u{a}\u{14}\u{0}")
85+local a,b = unpack("\u{3c}\u{69}\u{32}\u{20}\u{3e}\u{69}\u{32}","\u{a}\u{0}\u{0}\u{14}")
8686assert(a == 10 and b == 20)
87−assert(pack("\61\105\52",2001) == pack("\105\52",2001))
87+assert(pack("\u{3d}\u{69}\u{34}",2001) == pack("\u{69}\u{34}",2001))
8888end
89−print("\116\101\115\116\105\110\103\32\105\110\118\97\108\105\100\32\102\111\114\109\97\116\115")
90−checkerror("\111\117\116\32\111\102\32\108\105\109\105\116\115",pack,"\105\48",0)
91−checkerror("\111\117\116\32\111\102\32\108\105\109\105\116\115",pack,"\105" .. NB + 1,0)
92−checkerror("\111\117\116\32\111\102\32\108\105\109\105\116\115",pack,"\33" .. NB + 1,0)
93−checkerror("\37\40\49\55\37\41\32\111\117\116\32\111\102\32\108\105\109\105\116\115\32\37\91\49\44\49\54\37\93",pack,"\88\105" .. NB + 1)
94−checkerror("\105\110\118\97\108\105\100\32\102\111\114\109\97\116\32\111\112\116\105\111\110\32\39\114\39",pack,"\105\51\114",0)
95−checkerror("\49\54\37\45\98\121\116\101\32\105\110\116\101\103\101\114",unpack,"\105\49\54",string.rep("\3",16))
96−checkerror("\110\111\116\32\112\111\119\101\114\32\111\102\32\50",pack,"\33\52\105\51",0)
89+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{73}")
90+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,"\u{69}\u{30}",0)
91+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,"\u{69}" .. NB + 1,0)
92+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,"\u{21}" .. NB + 1,0)
93+checkerror("\u{25}\u{28}\u{31}\u{37}\u{25}\u{29}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}\u{20}\u{25}\u{5b}\u{31}\u{2c}\u{31}\u{36}\u{25}\u{5d}",pack,"\u{58}\u{69}" .. NB + 1)
94+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{72}\u{27}",pack,"\u{69}\u{33}\u{72}",0)
95+checkerror("\u{31}\u{36}\u{25}\u{2d}\u{62}\u{79}\u{74}\u{65}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}",unpack,"\u{69}\u{31}\u{36}",string.rep("\u{3}",16))
96+checkerror("\u{6e}\u{6f}\u{74}\u{20}\u{70}\u{6f}\u{77}\u{65}\u{72}\u{20}\u{6f}\u{66}\u{20}\u{32}",pack,"\u{21}\u{34}\u{69}\u{33}",0)
9797;
98−checkerror("\109\105\115\115\105\110\103\32\115\105\122\101",pack,"\99","")
99−checkerror("\118\97\114\105\97\98\108\101\37\45\108\101\110\103\116\104\32\102\111\114\109\97\116",packsize,"\115")
100−checkerror("\118\97\114\105\97\98\108\101\37\45\108\101\110\103\116\104\32\102\111\114\109\97\116",packsize,"\122")
101−checkerror("\105\110\118\97\108\105\100\32\102\111\114\109\97\116",packsize,"\99\49" .. string.rep("\48",40))
102−if packsize("\105") == 4 then
103−local s = string.rep("\99\50\54\56\52\51\53\52\53\54",2 ^ 3)
104−checkerror("\116\111\111\32\108\97\114\103\101",packsize,s)
105−s=string.rep("\99\50\54\56\52\51\53\52\53\54",2 ^ 3 - 1) .. "\99\50\54\56\52\51\53\52\53\53"
98+checkerror("\u{6d}\u{69}\u{73}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{69}\u{7a}\u{65}",pack,"\u{63}","")
99+checkerror("\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{25}\u{2d}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",packsize,"\u{73}")
100+checkerror("\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{25}\u{2d}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",packsize,"\u{7a}")
101+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",packsize,"\u{63}\u{31}" .. string.rep("\u{30}",40))
102+if packsize("\u{69}") == 4 then
103+local s = string.rep("\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{36}",2 ^ 3)
104+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",packsize,s)
105+s=string.rep("\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{36}",2 ^ 3 - 1) .. "\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{35}"
106106assert(packsize(s) == 2147483647)
107107end
108108for i = 1, sizeLI - 1
@@ -110,150 +110,150 @@ do
110110local umax = (1 << (i * 8)) - 1
111111local max = umax >> 1
112112local min = ~ max
113−checkerror("\111\118\101\114\102\108\111\119",pack,"\60\73" .. i,- 1)
114−checkerror("\111\118\101\114\102\108\111\119",pack,"\60\73" .. i,min)
115−checkerror("\111\118\101\114\102\108\111\119",pack,"\62\73" .. i,umax + 1)
116−checkerror("\111\118\101\114\102\108\111\119",pack,"\62\105" .. i,umax)
117−checkerror("\111\118\101\114\102\108\111\119",pack,"\62\105" .. i,max + 1)
118−checkerror("\111\118\101\114\102\108\111\119",pack,"\60\105" .. i,min - 1)
119−assert(unpack("\62\105" .. i,pack("\62\105" .. i,max)) == max)
120−assert(unpack("\60\105" .. i,pack("\60\105" .. i,min)) == min)
121−assert(unpack("\62\73" .. i,pack("\62\73" .. i,umax)) == umax)
113+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3c}\u{49}" .. i,- 1)
114+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3c}\u{49}" .. i,min)
115+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3e}\u{49}" .. i,umax + 1)
116+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3e}\u{69}" .. i,umax)
117+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3e}\u{69}" .. i,max + 1)
118+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3c}\u{69}" .. i,min - 1)
119+assert(unpack("\u{3e}\u{69}" .. i,pack("\u{3e}\u{69}" .. i,max)) == max)
120+assert(unpack("\u{3c}\u{69}" .. i,pack("\u{3c}\u{69}" .. i,min)) == min)
121+assert(unpack("\u{3e}\u{49}" .. i,pack("\u{3e}\u{49}" .. i,umax)) == umax)
122122end
123−assert(unpack("\62\106",pack("\62\106",math.maxinteger)) == math.maxinteger)
124−assert(unpack("\60\106",pack("\60\106",math.mininteger)) == math.mininteger)
125−assert(unpack("\60\74",pack("\60\106",- 1)) == - 1)
123+assert(unpack("\u{3e}\u{6a}",pack("\u{3e}\u{6a}",math.maxinteger)) == math.maxinteger)
124+assert(unpack("\u{3c}\u{6a}",pack("\u{3c}\u{6a}",math.mininteger)) == math.mininteger)
125+assert(unpack("\u{3c}\u{4a}",pack("\u{3c}\u{6a}",- 1)) == - 1)
126126if little then
127−assert(pack("\102",24) == pack("\60\102",24))
127+assert(pack("\u{66}",24) == pack("\u{3c}\u{66}",24))
128128else
129−assert(pack("\102",24) == pack("\62\102",24))
129+assert(pack("\u{66}",24) == pack("\u{3e}\u{66}",24))
130130end
131−print("\116\101\115\116\105\110\103\32\112\97\99\107\47\117\110\112\97\99\107\32\111\102\32\102\108\111\97\116\105\110\103\45\112\111\105\110\116\32\110\117\109\98\101\114\115")
131+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}\u{2f}\u{75}\u{6e}\u{70}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{66}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{2d}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{73}")
132132for _,n in ipairs({0,- 1.1,1.9,1 / 0,- 1 / 0,1e20,- 1e20,0.1,2000.7})
133133do
134−assert(unpack("\110",pack("\110",n)) == n)
135−assert(unpack("\60\110",pack("\60\110",n)) == n)
136−assert(unpack("\62\110",pack("\62\110",n)) == n)
137−assert(pack("\60\102",n) == pack("\62\102",n):reverse())
138−assert(pack("\62\100",n) == pack("\60\100",n):reverse())
134+assert(unpack("\u{6e}",pack("\u{6e}",n)) == n)
135+assert(unpack("\u{3c}\u{6e}",pack("\u{3c}\u{6e}",n)) == n)
136+assert(unpack("\u{3e}\u{6e}",pack("\u{3e}\u{6e}",n)) == n)
137+assert(pack("\u{3c}\u{66}",n) == pack("\u{3e}\u{66}",n):reverse())
138+assert(pack("\u{3e}\u{64}",n) == pack("\u{3c}\u{64}",n):reverse())
139139end
140140for _,n in ipairs({0,- 1.5,1 / 0,- 1 / 0,1e10,- 1e9,0.5,2000.25})
141141do
142−assert(unpack("\60\102",pack("\60\102",n)) == n)
143−assert(unpack("\62\102",pack("\62\102",n)) == n)
144−assert(unpack("\60\100",pack("\60\100",n)) == n)
145−assert(unpack("\62\100",pack("\62\100",n)) == n)
142+assert(unpack("\u{3c}\u{66}",pack("\u{3c}\u{66}",n)) == n)
143+assert(unpack("\u{3e}\u{66}",pack("\u{3e}\u{66}",n)) == n)
144+assert(unpack("\u{3c}\u{64}",pack("\u{3c}\u{64}",n)) == n)
145+assert(unpack("\u{3e}\u{64}",pack("\u{3e}\u{64}",n)) == n)
146146end
147−print("\116\101\115\116\105\110\103\32\112\97\99\107\47\117\110\112\97\99\107\32\111\102\32\115\116\114\105\110\103\115")
147+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}\u{2f}\u{75}\u{6e}\u{70}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{66}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}")
148148do
149−local s = string.rep("\97\98\99",1000)
150−assert(pack("\122\66",s,247) == s .. "\247")
151−local s1,b = unpack("\122\66",s .. "\249")
149+local s = string.rep("\u{61}\u{62}\u{63}",1000)
150+assert(pack("\u{7a}\u{42}",s,247) == s .. "\u{0}\u{f7}")
151+local s1,b = unpack("\u{7a}\u{42}",s .. "\u{0}\u{f9}")
152152assert(b == 249 and s1 == s)
153−s1=pack("\115",s)
154−assert(unpack("\115",s1) == s)
155−checkerror("\100\111\101\115\32\110\111\116\32\102\105\116",pack,"\115\49",s)
156−checkerror("\99\111\110\116\97\105\110\115\32\122\101\114\111\115",pack,"\122","\97\108\111")
153+s1=pack("\u{73}",s)
154+assert(unpack("\u{73}",s1) == s)
155+checkerror("\u{64}\u{6f}\u{65}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{69}\u{74}",pack,"\u{73}\u{31}",s)
156+checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{61}\u{69}\u{6e}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}\u{73}",pack,"\u{7a}","\u{61}\u{6c}\u{6f}\u{0}")
157157;
158−checkerror("\117\110\102\105\110\105\115\104\101\100\32\115\116\114\105\110\103",unpack,"\122\99\49\48\48\48\48\48\48\48","\97\108\111")
158+checkerror("\u{75}\u{6e}\u{66}\u{69}\u{6e}\u{69}\u{73}\u{68}\u{65}\u{64}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",unpack,"\u{7a}\u{63}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}","\u{61}\u{6c}\u{6f}")
159159for i = 2, NB
160160do
161−local s1 = pack("\115" .. i,s)
162−assert(unpack("\115" .. i,s1) == s and # s1 == # s + i)
161+local s1 = pack("\u{73}" .. i,s)
162+assert(unpack("\u{73}" .. i,s1) == s and # s1 == # s + i)
163163end
164164end
165165do
166−local x = pack("\115","\97\108\111")
167−checkerror("\116\111\111\32\115\104\111\114\116",unpack,"\115",x:sub(1,- 2))
168−checkerror("\116\111\111\32\115\104\111\114\116",unpack,"\99\53","\97\98\99\100")
169−checkerror("\111\117\116\32\111\102\32\108\105\109\105\116\115",pack,"\115\49\48\48","\97\108\111")
166+local x = pack("\u{73}","\u{61}\u{6c}\u{6f}")
167+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{73}\u{68}\u{6f}\u{72}\u{74}",unpack,"\u{73}",x:sub(1,- 2))
168+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{73}\u{68}\u{6f}\u{72}\u{74}",unpack,"\u{63}\u{35}","\u{61}\u{62}\u{63}\u{64}")
169+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,"\u{73}\u{31}\u{30}\u{30}","\u{61}\u{6c}\u{6f}")
170170end
171171do
172−assert(pack("\99\48","") == "")
173−assert(packsize("\99\48") == 0)
174−assert(unpack("\99\48","") == "")
175−assert(pack("\60\33\32\99\51","\97\98\99") == "\97\98\99")
176−assert(packsize("\60\33\32\99\51") == 3)
177−assert(pack("\62\33\52\32\99\54","\97\98\99\100\101\102") == "\97\98\99\100\101\102")
178−assert(pack("\99\51","\49\50\51") == "\49\50\51")
179−assert(pack("\99\48","") == "")
180−assert(pack("\99\56","\49\50\51\52\53\54") == "\49\50\51\52\53\54")
181−assert(pack("\99\56\56","") == string.rep("",88))
182−assert(pack("\99\49\56\56","\97\98") == "\97\98" .. string.rep("",188 - 2))
183−local a,b,c = unpack("\33\52\32\122\32\99\51","\97\98\99\100\101\102\103\104\105\120\121\122")
184−assert(a == "\97\98\99\100\101\102\103\104\105" and b == "\120\121\122" and c == 14)
185−checkerror("\108\111\110\103\101\114\32\116\104\97\110",pack,"\99\51","\49\50\51\52")
172+assert(pack("\u{63}\u{30}","") == "")
173+assert(packsize("\u{63}\u{30}") == 0)
174+assert(unpack("\u{63}\u{30}","") == "")
175+assert(pack("\u{3c}\u{21}\u{20}\u{63}\u{33}","\u{61}\u{62}\u{63}") == "\u{61}\u{62}\u{63}")
176+assert(packsize("\u{3c}\u{21}\u{20}\u{63}\u{33}") == 3)
177+assert(pack("\u{3e}\u{21}\u{34}\u{20}\u{63}\u{36}","\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}") == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}")
178+assert(pack("\u{63}\u{33}","\u{31}\u{32}\u{33}") == "\u{31}\u{32}\u{33}")
179+assert(pack("\u{63}\u{30}","") == "")
180+assert(pack("\u{63}\u{38}","\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}") == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{0}\u{0}")
181+assert(pack("\u{63}\u{38}\u{38}","") == string.rep("\u{0}",88))
182+assert(pack("\u{63}\u{31}\u{38}\u{38}","\u{61}\u{62}") == "\u{61}\u{62}" .. string.rep("\u{0}",188 - 2))
183+local a,b,c = unpack("\u{21}\u{34}\u{20}\u{7a}\u{20}\u{63}\u{33}","\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}\u{0}\u{78}\u{79}\u{7a}")
184+assert(a == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}" and b == "\u{78}\u{79}\u{7a}" and c == 14)
185+checkerror("\u{6c}\u{6f}\u{6e}\u{67}\u{65}\u{72}\u{20}\u{74}\u{68}\u{61}\u{6e}",pack,"\u{63}\u{33}","\u{31}\u{32}\u{33}\u{34}")
186186end
187187do
188−local x = pack("\60\98\32\104\32\98\32\102\32\100\32\102\32\110\32\105",1,2,3,4,5,6,7,8)
189−assert(# x == packsize("\60\98\32\104\32\98\32\102\32\100\32\102\32\110\32\105"))
190−local a,b,c,d,e,f,g,h = unpack("\60\98\32\104\32\98\32\102\32\100\32\102\32\110\32\105",x)
188+local x = pack("\u{3c}\u{62}\u{20}\u{68}\u{20}\u{62}\u{20}\u{66}\u{20}\u{64}\u{20}\u{66}\u{20}\u{6e}\u{20}\u{69}",1,2,3,4,5,6,7,8)
189+assert(# x == packsize("\u{3c}\u{62}\u{20}\u{68}\u{20}\u{62}\u{20}\u{66}\u{20}\u{64}\u{20}\u{66}\u{20}\u{6e}\u{20}\u{69}"))
190+local a,b,c,d,e,f,g,h = unpack("\u{3c}\u{62}\u{20}\u{68}\u{20}\u{62}\u{20}\u{66}\u{20}\u{64}\u{20}\u{66}\u{20}\u{6e}\u{20}\u{69}",x)
191191assert(a == 1 and b == 2 and c == 3 and d == 4 and e == 5 and f == 6 and g == 7 and h == 8)
192192end
193−print("\116\101\115\116\105\110\103\32\97\108\105\103\110\109\101\110\116")
193+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{6c}\u{69}\u{67}\u{6e}\u{6d}\u{65}\u{6e}\u{74}")
194194do
195−assert(pack("\32\60\32\105\49\32\105\50\32",2,3) == "\2\3")
196−local x = pack("\62\33\56\32\98\32\88\104\32\105\52\32\105\56\32\99\49\32\88\105\56",- 12,100,200,"\236")
197−assert(# x == packsize("\62\33\56\32\98\32\88\104\32\105\52\32\105\56\32\99\49\32\88\105\56"))
198−assert(x == "\244" .. "" .. "\100" .. "\200" .. "\236" .. "")
199−local a,b,c,d,pos = unpack("\62\33\56\32\99\49\32\88\104\32\105\52\32\105\56\32\98\32\88\105\56\32\88\73\32\88\72",x)
200−assert(a == "\244" and b == 100 and c == 200 and d == - 20 and (pos - 1) == # x)
201−x=pack("\62\33\52\32\99\51\32\99\52\32\99\50\32\122\32\105\52\32\99\53\32\99\50\32\88\105\52","\97\98\99","\97\98\99\100","\120\122","\104\101\108\108\111",5,"\119\111\114\108\100","\120\121")
202−assert(x == "\97\98\99\97\98\99\100\120\122\104\101\108\108\111\5\119\111\114\108\100\120\121")
203−local a,b,c,d,e,f,g,pos = unpack("\62\33\52\32\99\51\32\99\52\32\99\50\32\122\32\105\52\32\99\53\32\99\50\32\88\104\32\88\105\52",x)
204−assert(a == "\97\98\99" and b == "\97\98\99\100" and c == "\120\122" and d == "\104\101\108\108\111" and e == 5 and f == "\119\111\114\108\100" and g == "\120\121" and (pos - 1) % 4 == 0)
205−x=pack("\32\98\32\98\32\88\100\32\98\32\88\98\32\120",1,2,3)
206−assert(packsize("\32\98\32\98\32\88\100\32\98\32\88\98\32\120") == 4)
207−assert(x == "\1\2\3")
208−a,b,c,pos=unpack("\98\98\88\100\98",x)
195+assert(pack("\u{20}\u{3c}\u{20}\u{69}\u{31}\u{20}\u{69}\u{32}\u{20}",2,3) == "\u{2}\u{3}\u{0}")
196+local x = pack("\u{3e}\u{21}\u{38}\u{20}\u{62}\u{20}\u{58}\u{68}\u{20}\u{69}\u{34}\u{20}\u{69}\u{38}\u{20}\u{63}\u{31}\u{20}\u{58}\u{69}\u{38}",- 12,100,200,"\u{ec}")
197+assert(# x == packsize("\u{3e}\u{21}\u{38}\u{20}\u{62}\u{20}\u{58}\u{68}\u{20}\u{69}\u{34}\u{20}\u{69}\u{38}\u{20}\u{63}\u{31}\u{20}\u{58}\u{69}\u{38}"))
198+assert(x == "\u{f4}" .. "\u{0}\u{0}\u{0}" .. "\u{0}\u{0}\u{0}\u{64}" .. "\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{c8}" .. "\u{ec}" .. "\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}")
199+local a,b,c,d,pos = unpack("\u{3e}\u{21}\u{38}\u{20}\u{63}\u{31}\u{20}\u{58}\u{68}\u{20}\u{69}\u{34}\u{20}\u{69}\u{38}\u{20}\u{62}\u{20}\u{58}\u{69}\u{38}\u{20}\u{58}\u{49}\u{20}\u{58}\u{48}",x)
200+assert(a == "\u{f4}" and b == 100 and c == 200 and d == - 20 and (pos - 1) == # x)
201+x=pack("\u{3e}\u{21}\u{34}\u{20}\u{63}\u{33}\u{20}\u{63}\u{34}\u{20}\u{63}\u{32}\u{20}\u{7a}\u{20}\u{69}\u{34}\u{20}\u{63}\u{35}\u{20}\u{63}\u{32}\u{20}\u{58}\u{69}\u{34}","\u{61}\u{62}\u{63}","\u{61}\u{62}\u{63}\u{64}","\u{78}\u{7a}","\u{68}\u{65}\u{6c}\u{6c}\u{6f}",5,"\u{77}\u{6f}\u{72}\u{6c}\u{64}","\u{78}\u{79}")
202+assert(x == "\u{61}\u{62}\u{63}\u{61}\u{62}\u{63}\u{64}\u{78}\u{7a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{0}\u{0}\u{0}\u{0}\u{0}\u{5}\u{77}\u{6f}\u{72}\u{6c}\u{64}\u{78}\u{79}\u{0}")
203+local a,b,c,d,e,f,g,pos = unpack("\u{3e}\u{21}\u{34}\u{20}\u{63}\u{33}\u{20}\u{63}\u{34}\u{20}\u{63}\u{32}\u{20}\u{7a}\u{20}\u{69}\u{34}\u{20}\u{63}\u{35}\u{20}\u{63}\u{32}\u{20}\u{58}\u{68}\u{20}\u{58}\u{69}\u{34}",x)
204+assert(a == "\u{61}\u{62}\u{63}" and b == "\u{61}\u{62}\u{63}\u{64}" and c == "\u{78}\u{7a}" and d == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}" and e == 5 and f == "\u{77}\u{6f}\u{72}\u{6c}\u{64}" and g == "\u{78}\u{79}" and (pos - 1) % 4 == 0)
205+x=pack("\u{20}\u{62}\u{20}\u{62}\u{20}\u{58}\u{64}\u{20}\u{62}\u{20}\u{58}\u{62}\u{20}\u{78}",1,2,3)
206+assert(packsize("\u{20}\u{62}\u{20}\u{62}\u{20}\u{58}\u{64}\u{20}\u{62}\u{20}\u{58}\u{62}\u{20}\u{78}") == 4)
207+assert(x == "\u{1}\u{2}\u{3}\u{0}")
208+a,b,c,pos=unpack("\u{62}\u{62}\u{58}\u{64}\u{62}",x)
209209assert(a == 1 and b == 2 and c == 3 and pos == # x)
210−assert(packsize("\33\56\32\120\88\105\56") == 8)
211−local pos = unpack("\33\56\32\120\88\105\56","\48\49\50\51\52\53\54\55\48\49\50\51\52\53\54\55")
210+assert(packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{38}") == 8)
211+local pos = unpack("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{38}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
212212;
213213assert(pos == 9)
214−assert(packsize("\33\56\32\120\88\105\50") == 2)
215−local pos = unpack("\33\56\32\120\88\105\50","\48\49\50\51\52\53\54\55\48\49\50\51\52\53\54\55")
214+assert(packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{32}") == 2)
215+local pos = unpack("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{32}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
216216;
217217assert(pos == 3)
218−assert(packsize("\33\50\32\120\88\105\50") == 2)
219−local pos = unpack("\33\50\32\120\88\105\50","\48\49\50\51\52\53\54\55\48\49\50\51\52\53\54\55")
218+assert(packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{32}") == 2)
219+local pos = unpack("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{32}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
220220;
221221assert(pos == 3)
222−assert(packsize("\33\50\32\120\88\105\56") == 2)
223−local pos = unpack("\33\50\32\120\88\105\56","\48\49\50\51\52\53\54\55\48\49\50\51\52\53\54\55")
222+assert(packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{38}") == 2)
223+local pos = unpack("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{38}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
224224;
225225assert(pos == 3)
226−assert(packsize("\33\49\54\32\120\88\105\49\54") == 16)
227−local pos = unpack("\33\49\54\32\120\88\105\49\54","\48\49\50\51\52\53\54\55\48\49\50\51\52\53\54\55")
226+assert(packsize("\u{21}\u{31}\u{36}\u{20}\u{78}\u{58}\u{69}\u{31}\u{36}") == 16)
227+local pos = unpack("\u{21}\u{31}\u{36}\u{20}\u{78}\u{58}\u{69}\u{31}\u{36}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
228228;
229229assert(pos == 17)
230−checkerror("\105\110\118\97\108\105\100\32\110\101\120\116\32\111\112\116\105\111\110",pack,"\88")
231−checkerror("\105\110\118\97\108\105\100\32\110\101\120\116\32\111\112\116\105\111\110",unpack,"\88\88\105","")
232−checkerror("\105\110\118\97\108\105\100\32\110\101\120\116\32\111\112\116\105\111\110",unpack,"\88\32\105","")
233−checkerror("\105\110\118\97\108\105\100\32\110\101\120\116\32\111\112\116\105\111\110",pack,"\88\99\49")
230+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}",pack,"\u{58}")
231+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}",unpack,"\u{58}\u{58}\u{69}","")
232+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}",unpack,"\u{58}\u{20}\u{69}","")
233+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}",pack,"\u{58}\u{63}\u{31}")
234234end
235235do
236−local x = pack("\105\52\105\52\105\52\105\52",1,2,3,4)
236+local x = pack("\u{69}\u{34}\u{69}\u{34}\u{69}\u{34}\u{69}\u{34}",1,2,3,4)
237237for pos = 1, 16, 4
238238do
239−local i,p = unpack("\105\52",x,pos)
239+local i,p = unpack("\u{69}\u{34}",x,pos)
240240assert(i == pos // 4 + 1 and p == pos + 4)
241241end
242242for pos = 0, 12
243243do
244−local i,p = unpack("\33\52\32\105\52",x,pos + 1)
244+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,pos + 1)
245245assert(i == (pos + 3) // 4 + 1 and p == i * 4 + 1)
246246end
247−local i,p = unpack("\33\52\32\105\52",x,- 4)
247+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- 4)
248248assert(i == 4 and p == 17)
249−local i,p = unpack("\33\52\32\105\52",x,- 7)
249+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- 7)
250250assert(i == 4 and p == 17)
251−local i,p = unpack("\33\52\32\105\52",x,- # x)
251+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- # x)
252252assert(i == 1 and p == 5)
253253for i = 1, # x + 1
254254do
255−assert(unpack("\99\48",x,i) == "")
255+assert(unpack("\u{63}\u{30}",x,i) == "")
256256end
257−checkerror("\111\117\116\32\111\102\32\115\116\114\105\110\103",unpack,"\99\48",x,# x + 2)
257+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",unpack,"\u{63}\u{30}",x,# x + 2)
258258end
259−print("\79\75")
259+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/tracegc.lua+1−1
@@ -4,7 +4,7 @@ _ENV=nil
44local active = false
55local mt = {}
66function mt.__gc(o)
7−stderr:write("\46")
7+stderr:write("\u{2e}")
88if active then
99setmetatable(o,mt)
1010end
zod/luau/res/lua/cycled/utf8.lua+70−70
@@ -1,5 +1,5 @@
1−print("\116\101\115\116\105\110\103\32\85\84\70\45\56\32\108\105\98\114\97\114\121")
2−local utf8 = require("\117\116\102\56")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{55}\u{54}\u{46}\u{2d}\u{38}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}")
2+local utf8 = require("\u{75}\u{74}\u{66}\u{38}")
33local function checkerror
44(msg,f, ...)
55local s,err = pcall(f,...)
@@ -7,22 +7,22 @@ assert(not s and string.find(err,msg))
77end
88local function len
99(s)
10−return # string.gsub(s,"\91\128\45\191\93","")
10+return # string.gsub(s,"\u{5b}\u{80}\u{2d}\u{bf}\u{5d}","")
1111end
12−local justone = "\94" .. utf8.charpattern .. "\36"
12+local justone = "\u{5e}" .. utf8.charpattern .. "\u{24}"
1313local function checksyntax
1414(s,t)
15−local ts = {"\114\101\116\117\114\110\32\39"}
15+local ts = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}"}
1616for i = 1, # t
1717do
18−ts[i + 1]=string.format("\92\117\123\37\120\125",t[i])
18+ts[i + 1]=string.format("\u{5c}\u{75}\u{7b}\u{25}\u{78}\u{7d}",t[i])
1919end
20−ts[# t + 2]="\39"
20+ts[# t + 2]="\u{27}"
2121ts=table.concat(ts)
2222assert(assert(load(ts))() == s)
2323end
24−assert(not utf8.offset("\97\108\111",5))
25−assert(not utf8.offset("\97\108\111",- 4))
24+assert(not utf8.offset("\u{61}\u{6c}\u{6f}",5))
25+assert(not utf8.offset("\u{61}\u{6c}\u{6f}",- 4))
2626local function check
2727(s,t,nonstrict)
2828local l = utf8.len(s,1,- 1,nonstrict)
@@ -84,112 +84,112 @@ local function check
8484local a,b = utf8.len(s)
8585assert(not a and b == p)
8686end
87−check("\97\98\99\227\100\101\102",4)
88−check("\244\159\191",1)
89−check("\244\159\191\191",1)
90−check("\230\177\137\229\173\151\128",# ("\230\177\137\229\173\151") + 1)
91−check("\128\104\101\108\108\111",1)
92−check("\104\101\108\128\108\111",4)
93−check("\230\177\137\229\173\151\191",# ("\230\177\137\229\173\151") + 1)
94−check("\191\104\101\108\108\111",1)
95−check("\104\101\108\191\108\111",4)
87+check("\u{61}\u{62}\u{63}\u{e3}\u{64}\u{65}\u{66}",4)
88+check("\u{f4}\u{9f}\u{bf}",1)
89+check("\u{f4}\u{9f}\u{bf}\u{bf}",1)
90+check("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}\u{80}",# ("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}") + 1)
91+check("\u{80}\u{68}\u{65}\u{6c}\u{6c}\u{6f}",1)
92+check("\u{68}\u{65}\u{6c}\u{80}\u{6c}\u{6f}",4)
93+check("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}\u{bf}",# ("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}") + 1)
94+check("\u{bf}\u{68}\u{65}\u{6c}\u{6c}\u{6f}",1)
95+check("\u{68}\u{65}\u{6c}\u{bf}\u{6c}\u{6f}",4)
9696end
9797do
9898local function errorcodes
9999(s)
100−checkerror("\105\110\118\97\108\105\100\32\85\84\70\37\45\56\32\99\111\100\101",function ()
100+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{55}\u{54}\u{46}\u{25}\u{2d}\u{38}\u{20}\u{63}\u{6f}\u{64}\u{65}",function ()
101101for c in utf8.codes(s)
102102do
103103assert(c)
104104end
105105end)
106106end
107−errorcodes("\97\98\255")
108−errorcodes("\0\0\17")
109−errorcodes("\105\110\128\118\97\108\105\100")
110−errorcodes("\191\105\110\118\97\108\105\100")
111−errorcodes("\206\177\206\187\207\134\191\206\177")
107+errorcodes("\u{61}\u{62}\u{ff}")
108+errorcodes("\u{110000}")
109+errorcodes("\u{69}\u{6e}\u{80}\u{76}\u{61}\u{6c}\u{69}\u{64}")
110+errorcodes("\u{bf}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}")
111+errorcodes("\u{ce}\u{b1}\u{ce}\u{bb}\u{cf}\u{86}\u{bf}\u{ce}\u{b1}")
112112local f = utf8.codes("")
113113assert(f("",2) == nil)
114114assert(f("",- 1) == nil)
115115assert(f("",math.mininteger) == nil)
116116end
117−checkerror("\112\111\115\105\116\105\111\110\32\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.offset,"\97\98\99",1,5)
118−checkerror("\112\111\115\105\116\105\111\110\32\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.offset,"\97\98\99",1,- 4)
119−checkerror("\112\111\115\105\116\105\111\110\32\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.offset,"",1,2)
120−checkerror("\112\111\115\105\116\105\111\110\32\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.offset,"",1,- 1)
121−checkerror("\99\111\110\116\105\110\117\97\116\105\111\110\32\98\121\116\101",utf8.offset,"\240\166\167\186",1,2)
122−checkerror("\99\111\110\116\105\110\117\97\116\105\111\110\32\98\121\116\101",utf8.offset,"\240\166\167\186",1,2)
123−checkerror("\99\111\110\116\105\110\117\97\116\105\111\110\32\98\121\116\101",utf8.offset,"\128",1)
124−checkerror("\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.len,"\97\98\99",0,2)
125−checkerror("\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.len,"\97\98\99",1,4)
126−local s = "\104\101\108\108\111\32\87\111\114\108\100"
117+checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"\u{61}\u{62}\u{63}",1,5)
118+checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"\u{61}\u{62}\u{63}",1,- 4)
119+checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"",1,2)
120+checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"",1,- 1)
121+checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{62}\u{79}\u{74}\u{65}",utf8.offset,"\u{f0}\u{a6}\u{a7}\u{ba}",1,2)
122+checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{62}\u{79}\u{74}\u{65}",utf8.offset,"\u{f0}\u{a6}\u{a7}\u{ba}",1,2)
123+checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{62}\u{79}\u{74}\u{65}",utf8.offset,"\u{80}",1)
124+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.len,"\u{61}\u{62}\u{63}",0,2)
125+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.len,"\u{61}\u{62}\u{63}",1,4)
126+local s = "\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{57}\u{6f}\u{72}\u{6c}\u{64}"
127127local t = {string.byte(s,1,- 1)}
128128for i = 1, utf8.len(s)
129129do
130130assert(t[i] == string.byte(s,i))
131131end
132132check(s,t)
133−check("\230\177\137\229\173\151\47\230\188\162\229\173\151",{27721,23383,47,28450,23383})
133+check("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}\u{2f}\u{e6}\u{bc}\u{a2}\u{e5}\u{ad}\u{97}",{27721,23383,47,28450,23383})
134134do
135−local s = "\195\161\195\169\195\173\128"
135+local s = "\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}\u{80}"
136136local t = {utf8.codepoint(s,1,# s - 1)}
137137assert(# t == 3 and t[1] == 225 and t[2] == 233 and t[3] == 237)
138−checkerror("\105\110\118\97\108\105\100\32\85\84\70\37\45\56\32\99\111\100\101",utf8.codepoint,s,1,# s)
139−checkerror("\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.codepoint,s,# s + 1)
138+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{55}\u{54}\u{46}\u{25}\u{2d}\u{38}\u{20}\u{63}\u{6f}\u{64}\u{65}",utf8.codepoint,s,1,# s)
139+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,# s + 1)
140140t={utf8.codepoint(s,4,3)}
141141assert(# t == 0)
142−checkerror("\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.codepoint,s,- (# s + 1),1)
143−checkerror("\111\117\116\32\111\102\32\98\111\117\110\100\115",utf8.codepoint,s,1,# s + 1)
144−assert(utf8.codepoint("\255\215") == 55296 - 1)
145−assert(utf8.codepoint("\0\224") == 57343 + 1)
146−assert(utf8.codepoint("\0\216",1,1,true) == 55296)
147−assert(utf8.codepoint("\255\223",1,1,true) == 57343)
148−assert(utf8.codepoint("\255\255\255\127",1,1,true) == 2147483647)
142+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,- (# s + 1),1)
143+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,1,# s + 1)
144+assert(utf8.codepoint("\u{d7ff}") == 55296 - 1)
145+assert(utf8.codepoint("\u{e000}") == 57343 + 1)
146+assert(utf8.codepoint("\u{d800}",1,1,true) == 55296)
147+assert(utf8.codepoint("\u{dfff}",1,1,true) == 57343)
148+assert(utf8.codepoint("\u{7fffffff}",1,1,true) == 2147483647)
149149end
150150assert(utf8.char() == "")
151−assert(utf8.char(0,97,98,99,1) == "\97\98\99\1")
151+assert(utf8.char(0,97,98,99,1) == "\u{0}\u{61}\u{62}\u{63}\u{1}")
152152assert(utf8.codepoint(utf8.char(1114111)) == 1114111)
153153assert(utf8.codepoint(utf8.char(2147483647),1,1,true) == (1 << 31) - 1)
154−checkerror("\118\97\108\117\101\32\111\117\116\32\111\102\32\114\97\110\103\101",utf8.char,2147483647 + 1)
155−checkerror("\118\97\108\117\101\32\111\117\116\32\111\102\32\114\97\110\103\101",utf8.char,- 1)
154+checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",utf8.char,2147483647 + 1)
155+checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",utf8.char,- 1)
156156local function invalid
157157(s)
158−checkerror("\105\110\118\97\108\105\100\32\85\84\70\37\45\56\32\99\111\100\101",utf8.codepoint,s)
158+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{55}\u{54}\u{46}\u{25}\u{2d}\u{38}\u{20}\u{63}\u{6f}\u{64}\u{65}",utf8.codepoint,s)
159159assert(not utf8.len(s))
160160end
161−invalid("\244\159\191\191")
162−invalid("\0\216")
163−invalid("\255\223")
164−invalid("\192\128")
165−invalid("\193\191")
166−invalid("\224\159\191")
167−invalid("\240\143\191\191")
168−invalid("\128")
169−invalid("\191")
170−invalid("\254")
171−invalid("\255")
161+invalid("\u{f4}\u{9f}\u{bf}\u{bf}")
162+invalid("\u{d800}")
163+invalid("\u{dfff}")
164+invalid("\u{c0}\u{80}")
165+invalid("\u{c1}\u{bf}")
166+invalid("\u{e0}\u{9f}\u{bf}")
167+invalid("\u{f0}\u{8f}\u{bf}\u{bf}")
168+invalid("\u{80}")
169+invalid("\u{bf}")
170+invalid("\u{fe}")
171+invalid("\u{ff}")
172172check("",{})
173−s="\32\127\194\128\32\223\191\224\160\128\32\239\191\191\240\144\128\128\32\32\244\143\191\191"
174−s=string.gsub(s,"\32","")
173+s="\u{0}\u{20}\u{7f}\u{c2}\u{80}\u{20}\u{df}\u{bf}\u{e0}\u{a0}\u{80}\u{20}\u{ef}\u{bf}\u{bf}\u{f0}\u{90}\u{80}\u{80}\u{20}\u{20}\u{f4}\u{8f}\u{bf}\u{bf}"
174+s=string.gsub(s,"\u{20}","")
175175check(s,{0,127,128,2047,2048,65535,65536,1114111})
176176do
177−local s = "\0\0\0\4\255\255\255\127"
177+local s = "\u{4000000}\u{7fffffff}"
178178assert(# s == 12)
179179check(s,{67108864,2147483647},true)
180−s="\0\0\32\255\255\255\3"
180+s="\u{200000}\u{3ffffff}"
181181assert(# s == 10)
182182check(s,{2097152,67108863},true)
183−s="\0\0\1\255\255\31"
183+s="\u{10000}\u{1fffff}"
184184assert(# s == 8)
185185check(s,{65536,2097151},true)
186186end
187−local x = "\230\151\165\230\156\172\232\170\158\97\45\52\195\169\195\179"
187+local x = "\u{e6}\u{97}\u{a5}\u{e6}\u{9c}\u{ac}\u{e8}\u{aa}\u{9e}\u{61}\u{2d}\u{34}\u{0}\u{c3}\u{a9}\u{c3}\u{b3}"
188188check(x,{26085,26412,35486,97,45,52,0,233,243})
189−check("\240\163\178\183\240\160\156\142\240\160\177\147\240\161\129\187\240\160\181\188\97\98\240\160\186\162",{146615,132878,134227,135291,134524,97,98,134818})
190−check("\240\168\179\138\240\169\182\152\240\166\167\186\240\168\179\146\240\165\132\171\240\164\147\147\244\143\191\191",{167114,171416,158202,167122,151851,148691,1114111})
189+check("\u{f0}\u{a3}\u{b2}\u{b7}\u{f0}\u{a0}\u{9c}\u{8e}\u{f0}\u{a0}\u{b1}\u{93}\u{f0}\u{a1}\u{81}\u{bb}\u{f0}\u{a0}\u{b5}\u{bc}\u{61}\u{62}\u{f0}\u{a0}\u{ba}\u{a2}",{146615,132878,134227,135291,134524,97,98,134818})
190+check("\u{f0}\u{a8}\u{b3}\u{8a}\u{f0}\u{a9}\u{b6}\u{98}\u{f0}\u{a6}\u{a7}\u{ba}\u{f0}\u{a8}\u{b3}\u{92}\u{f0}\u{a5}\u{84}\u{ab}\u{f0}\u{a4}\u{93}\u{93}\u{f4}\u{8f}\u{bf}\u{bf}",{167114,171416,158202,167122,151851,148691,1114111})
191191local i = 0
192−for p,c in string.gmatch(x,"\40\41\40" .. utf8.charpattern .. "\41")
192+for p,c in string.gmatch(x,"\u{28}\u{29}\u{28}" .. utf8.charpattern .. "\u{29}")
193193do
194194i=i + 1
195195assert(utf8.offset(x,i) == p)
@@ -200,4 +200,4 @@ do
200200assert(utf8.offset(x,0,p + j - 1) == p)
201201end
202202end
203−print("\111\107")
203+print("\u{6f}\u{6b}")
zod/luau/res/lua/cycled/vararg.lua+14−14
@@ -1,7 +1,7 @@
1−print("\116\101\115\116\105\110\103\32\118\97\114\97\114\103")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}")
22local function f
33(a, ...)
4−local x = {["\110"] = select("\35",...),...}
4+local x = {["\u{6e}"] = select("\u{23}",...),...}
55for i = 1, x.n
66do
77assert(a[i] == x[i])
@@ -22,30 +22,30 @@ return res,2
2222end
2323local function vararg
2424(...)
25−return {["\110"] = select("\35",...),...}
25+return {["\u{6e}"] = select("\u{23}",...),...}
2626end
2727local call = function (f,args)
2828return f(table.unpack(args,1,args.n))
2929end
3030assert(f() == 0)
3131assert(f({1,2,3},1,2,3) == 3)
32−assert(f({"\97\108\111",nil,45,f,nil},"\97\108\111",nil,45,f,nil) == 5)
32+assert(f({"\u{61}\u{6c}\u{6f}",nil,45,f,nil},"\u{61}\u{6c}\u{6f}",nil,45,f,nil) == 5)
3333assert(vararg().n == 0)
3434assert(vararg(nil,nil).n == 2)
3535assert(c12(1,2) == 55)
3636local a,b = assert(call(c12,{1,2}))
3737assert(a == 55 and b == 2)
38−a=call(c12,{1,2,["\110"] = 2})
38+a=call(c12,{1,2,["\u{6e}"] = 2})
3939assert(a == 55 and b == 2)
40−a=call(c12,{1,2,["\110"] = 1})
40+a=call(c12,{1,2,["\u{6e}"] = 1})
4141assert(not a)
4242assert(c12(1,2,3) == false)
43−local a = vararg(call(next,{_G,nil,["\110"] = 2}))
43+local a = vararg(call(next,{_G,nil,["\u{6e}"] = 2}))
4444local b,c = next(_G)
4545assert(a[1] == b and a[2] == c and a.n == 2)
4646a=vararg(call(call,{c12,{1,2}}))
4747assert(a.n == 2 and a[1] == 55 and a[2] == 2)
48−a=call(print,{"\43"})
48+a=call(print,{"\u{2b}"})
4949assert(a == nil)
5050local t = {1,10}
5151function t:f(...)
@@ -54,7 +54,7 @@ local arg = {...}
5454return self[...] + # arg
5555end
5656assert(t:f(1,4) == 3 and t:f(2) == 11)
57−print("\43")
57+print("\u{2b}")
5858local lim = 20
5959local i,a = 1,{}
6060while i <= lim do
@@ -80,7 +80,7 @@ a[i]=i
8080i=i + 1
8181end
8282assert(call(math.max,a) == lim)
83−print("\43")
83+print("\u{2b}")
8484local function oneless
8585(a, ...)
8686return ...
@@ -101,11 +101,11 @@ a,b,c,d,e=assert(f(10,5,4,3,2,1))
101101assert(a == 5 and b == 4 and c == 3 and d == 2 and e == 1)
102102a,b,c,d,e=f(4)
103103assert(a == nil and b == nil and c == nil and d == nil and e == nil)
104−local f = load("\32\114\101\116\117\114\110\32\123\46\46\46\125\32")
104+local f = load("\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{2e}\u{2e}\u{2e}\u{7d}\u{20}")
105105local x = f(2,3)
106106assert(x[1] == 2 and x[2] == 3 and x[3] == undef)
107−f=load("\32\32\108\111\99\97\108\32\120\32\61\32\123\46\46\46\125\10\32\32\102\111\114\32\105\61\49\44\115\101\108\101\99\116\40\39\35\39\44\32\46\46\46\41\32\100\111\32\97\115\115\101\114\116\40\120\91\105\93\32\61\61\32\115\101\108\101\99\116\40\105\44\32\46\46\46\41\41\32\101\110\100\10\32\32\97\115\115\101\114\116\40\120\91\115\101\108\101\99\116\40\39\35\39\44\32\46\46\46\41\43\49\93\32\61\61\32\117\110\100\101\102\41\10\32\32\114\101\116\117\114\110\32\116\114\117\101\10")
108−assert(f("\97","\98",nil,{},assert))
107+f=load("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{7b}\u{2e}\u{2e}\u{2e}\u{7d}\u{a}\u{20}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{3d}\u{31}\u{2c}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{27}\u{23}\u{27}\u{2c}\u{20}\u{2e}\u{2e}\u{2e}\u{29}\u{20}\u{64}\u{6f}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{78}\u{5b}\u{69}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{69}\u{2c}\u{20}\u{2e}\u{2e}\u{2e}\u{29}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{78}\u{5b}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{27}\u{23}\u{27}\u{2c}\u{20}\u{2e}\u{2e}\u{2e}\u{29}\u{2b}\u{31}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{75}\u{6e}\u{64}\u{65}\u{66}\u{29}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{74}\u{72}\u{75}\u{65}\u{a}")
108+assert(f("\u{61}","\u{62}",nil,{},assert))
109109assert(f())
110110a={select(3,table.unpack({10,20,30,40}))}
111111assert(# a == 2 and a[1] == 30 and a[2] == 40)
@@ -134,4 +134,4 @@ end
134134local a,b = g()
135135assert(a == nil and b == 2)
136136end
137−print("\79\75")
137+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/verybig.lua+11−11
@@ -1,11 +1,11 @@
1−print("\116\101\115\116\105\110\103\32\82\75")
1+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{52}\u{4b}")
22local function foo
33()
44local dummy = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256}
55assert(24.5 + 0.6 == 25.1)
6−local t = {["\102\111\111"] = function (self,x)
6+local t = {["\u{66}\u{6f}\u{6f}"] = function (self,x)
77return x + self.x
8−end,["\120"] = 10}
8+end,["\u{78}"] = 10}
99t.t=t
1010assert(t:foo(1.5) == 11.5)
1111assert(t.t:foo(0.5) == 10.5)
@@ -19,31 +19,31 @@ foo=nil
1919if _soft then
2020return 10
2121end
22−print("\116\101\115\116\105\110\103\32\108\97\114\103\101\32\112\114\111\103\114\97\109\115\32\40\62\54\52\107\41")
23−local prog = "\36\10\10\108\111\99\97\108\32\97\44\98\10\10\98\32\61\32\123\36\49\36\10\32\32\98\51\48\48\48\57\32\61\32\54\53\53\51\52\44\10\32\32\98\51\48\48\49\48\32\61\32\54\53\53\51\53\44\10\32\32\98\51\48\48\49\49\32\61\32\54\53\53\51\54\44\10\32\32\98\51\48\48\49\50\32\61\32\54\53\53\51\55\44\10\32\32\98\51\48\48\49\51\32\61\32\49\54\55\55\55\50\49\52\44\10\32\32\98\51\48\48\49\52\32\61\32\49\54\55\55\55\50\49\53\44\10\32\32\98\51\48\48\49\53\32\61\32\49\54\55\55\55\50\49\54\44\10\32\32\98\51\48\48\49\54\32\61\32\49\54\55\55\55\50\49\55\44\10\32\32\98\51\48\48\49\55\32\61\32\48\120\55\102\102\102\102\102\44\10\32\32\98\51\48\48\49\56\32\61\32\45\48\120\55\102\102\102\102\102\44\10\32\32\98\51\48\48\49\57\32\61\32\48\120\49\102\102\102\102\102\102\44\10\32\32\98\51\48\48\50\48\32\61\32\45\48\120\49\102\102\102\102\100\44\10\32\32\98\51\48\48\50\49\32\61\32\45\54\53\53\51\52\44\10\32\32\98\51\48\48\50\50\32\61\32\45\54\53\53\51\53\44\10\32\32\98\51\48\48\50\51\32\61\32\45\54\53\53\51\54\44\10\32\32\98\51\48\48\50\52\32\61\32\45\48\120\102\102\102\102\102\102\44\10\32\32\98\51\48\48\50\53\32\61\32\49\53\48\49\50\46\53\44\10\32\32\36\50\36\10\125\59\10\10\97\115\115\101\114\116\40\98\46\97\53\48\48\48\56\32\61\61\32\50\53\48\48\52\32\97\110\100\32\98\91\34\97\49\49\34\93\32\61\61\32\45\53\46\53\41\10\97\115\115\101\114\116\40\98\46\97\51\51\48\48\55\32\61\61\32\45\49\54\53\48\51\46\53\32\97\110\100\32\98\46\97\53\48\48\48\57\32\61\61\32\45\50\53\48\48\52\46\53\41\10\97\115\115\101\114\116\40\98\91\34\98\34\46\46\51\48\48\50\52\93\32\61\61\32\45\48\120\102\102\102\102\102\102\41\10\10\102\117\110\99\116\105\111\110\32\98\58\120\120\120\32\40\97\44\98\41\32\114\101\116\117\114\110\32\97\43\98\32\101\110\100\10\97\115\115\101\114\116\40\98\58\120\120\120\40\49\48\44\32\49\50\41\32\61\61\32\50\50\41\32\32\32\45\45\32\112\117\115\104\115\101\108\102\32\119\105\116\104\32\110\111\110\45\99\111\110\115\116\97\110\116\32\105\110\100\101\120\10\98\91\34\120\120\120\34\93\32\61\32\117\110\100\101\102\10\10\108\111\99\97\108\32\115\32\61\32\48\59\32\108\111\99\97\108\32\110\61\48\10\102\111\114\32\97\44\98\32\105\110\32\112\97\105\114\115\40\98\41\32\100\111\32\115\61\115\43\98\59\32\110\61\110\43\49\32\101\110\100\10\45\45\32\119\105\116\104\32\51\50\45\98\105\116\32\102\108\111\97\116\115\44\32\101\120\97\99\116\32\118\97\108\117\101\32\111\102\32\39\115\39\32\100\101\112\101\110\100\115\32\111\110\32\115\117\109\109\97\116\105\111\110\32\111\114\100\101\114\10\97\115\115\101\114\116\40\56\49\56\48\48\48\48\48\46\48\32\60\32\115\32\97\110\100\32\115\32\60\32\56\49\56\54\48\48\48\48\32\97\110\100\32\110\32\61\61\32\55\48\48\48\49\41\10\10\97\32\61\32\110\105\108\59\32\98\32\61\32\110\105\108\10\112\114\105\110\116\39\43\39\10\10\108\111\99\97\108\32\102\117\110\99\116\105\111\110\32\102\40\120\41\32\98\61\120\32\101\110\100\10\10\97\32\61\32\102\123\36\51\36\125\32\111\114\32\49\48\10\10\97\115\115\101\114\116\40\97\61\61\49\48\41\10\97\115\115\101\114\116\40\98\91\49\93\32\61\61\32\34\97\49\48\34\32\97\110\100\32\98\91\50\93\32\61\61\32\53\32\97\110\100\32\98\91\35\98\45\49\93\32\61\61\32\34\97\53\48\48\48\57\34\41\10\10\10\102\117\110\99\116\105\111\110\32\120\120\120\120\32\40\120\41\32\114\101\116\117\114\110\32\98\91\120\93\32\101\110\100\10\10\97\115\115\101\114\116\40\120\120\120\120\40\51\41\32\61\61\32\34\97\49\49\34\41\10\10\97\32\61\32\110\105\108\59\32\98\61\110\105\108\10\120\120\120\120\32\61\32\110\105\108\10\10\114\101\116\117\114\110\32\49\48\10\10"
22+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}\u{20}\u{70}\u{72}\u{6f}\u{67}\u{72}\u{61}\u{6d}\u{73}\u{20}\u{28}\u{3e}\u{36}\u{34}\u{6b}\u{29}")
23+local prog = "\u{24}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{a}\u{a}\u{62}\u{20}\u{3d}\u{20}\u{7b}\u{24}\u{31}\u{24}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{30}\u{39}\u{20}\u{3d}\u{20}\u{36}\u{35}\u{35}\u{33}\u{34}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{30}\u{20}\u{3d}\u{20}\u{36}\u{35}\u{35}\u{33}\u{35}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{31}\u{20}\u{3d}\u{20}\u{36}\u{35}\u{35}\u{33}\u{36}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{32}\u{20}\u{3d}\u{20}\u{36}\u{35}\u{35}\u{33}\u{37}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{33}\u{20}\u{3d}\u{20}\u{31}\u{36}\u{37}\u{37}\u{37}\u{32}\u{31}\u{34}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{34}\u{20}\u{3d}\u{20}\u{31}\u{36}\u{37}\u{37}\u{37}\u{32}\u{31}\u{35}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{35}\u{20}\u{3d}\u{20}\u{31}\u{36}\u{37}\u{37}\u{37}\u{32}\u{31}\u{36}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{36}\u{20}\u{3d}\u{20}\u{31}\u{36}\u{37}\u{37}\u{37}\u{32}\u{31}\u{37}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{37}\u{20}\u{3d}\u{20}\u{30}\u{78}\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{38}\u{20}\u{3d}\u{20}\u{2d}\u{30}\u{78}\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{39}\u{20}\u{3d}\u{20}\u{30}\u{78}\u{31}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{30}\u{20}\u{3d}\u{20}\u{2d}\u{30}\u{78}\u{31}\u{66}\u{66}\u{66}\u{66}\u{64}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{31}\u{20}\u{3d}\u{20}\u{2d}\u{36}\u{35}\u{35}\u{33}\u{34}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{32}\u{20}\u{3d}\u{20}\u{2d}\u{36}\u{35}\u{35}\u{33}\u{35}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{33}\u{20}\u{3d}\u{20}\u{2d}\u{36}\u{35}\u{35}\u{33}\u{36}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{34}\u{20}\u{3d}\u{20}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{35}\u{20}\u{3d}\u{20}\u{31}\u{35}\u{30}\u{31}\u{32}\u{2e}\u{35}\u{2c}\u{a}\u{20}\u{20}\u{24}\u{32}\u{24}\u{a}\u{7d}\u{3b}\u{a}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{2e}\u{61}\u{35}\u{30}\u{30}\u{30}\u{38}\u{20}\u{3d}\u{3d}\u{20}\u{32}\u{35}\u{30}\u{30}\u{34}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{5b}\u{22}\u{61}\u{31}\u{31}\u{22}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{35}\u{2e}\u{35}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{2e}\u{61}\u{33}\u{33}\u{30}\u{30}\u{37}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{31}\u{36}\u{35}\u{30}\u{33}\u{2e}\u{35}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{2e}\u{61}\u{35}\u{30}\u{30}\u{30}\u{39}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{32}\u{35}\u{30}\u{30}\u{34}\u{2e}\u{35}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{5b}\u{22}\u{62}\u{22}\u{2e}\u{2e}\u{33}\u{30}\u{30}\u{32}\u{34}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{29}\u{a}\u{a}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{62}\u{3a}\u{78}\u{78}\u{78}\u{20}\u{28}\u{61}\u{2c}\u{62}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2b}\u{62}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{3a}\u{78}\u{78}\u{78}\u{28}\u{31}\u{30}\u{2c}\u{20}\u{31}\u{32}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{32}\u{32}\u{29}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{65}\u{6c}\u{66}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{a}\u{62}\u{5b}\u{22}\u{78}\u{78}\u{78}\u{22}\u{5d}\u{20}\u{3d}\u{20}\u{75}\u{6e}\u{64}\u{65}\u{66}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{73}\u{20}\u{3d}\u{20}\u{30}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{6e}\u{3d}\u{30}\u{a}\u{66}\u{6f}\u{72}\u{20}\u{61}\u{2c}\u{62}\u{20}\u{69}\u{6e}\u{20}\u{70}\u{61}\u{69}\u{72}\u{73}\u{28}\u{62}\u{29}\u{20}\u{64}\u{6f}\u{20}\u{73}\u{3d}\u{73}\u{2b}\u{62}\u{3b}\u{20}\u{6e}\u{3d}\u{6e}\u{2b}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{2d}\u{2d}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{33}\u{32}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}\u{2c}\u{20}\u{65}\u{78}\u{61}\u{63}\u{74}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{6f}\u{66}\u{20}\u{27}\u{73}\u{27}\u{20}\u{64}\u{65}\u{70}\u{65}\u{6e}\u{64}\u{73}\u{20}\u{6f}\u{6e}\u{20}\u{73}\u{75}\u{6d}\u{6d}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{72}\u{64}\u{65}\u{72}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{38}\u{31}\u{38}\u{30}\u{30}\u{30}\u{30}\u{30}\u{2e}\u{30}\u{20}\u{3c}\u{20}\u{73}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{73}\u{20}\u{3c}\u{20}\u{38}\u{31}\u{38}\u{36}\u{30}\u{30}\u{30}\u{30}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6e}\u{20}\u{3d}\u{3d}\u{20}\u{37}\u{30}\u{30}\u{30}\u{31}\u{29}\u{a}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{3b}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{27}\u{2b}\u{27}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{28}\u{78}\u{29}\u{20}\u{62}\u{3d}\u{78}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{66}\u{7b}\u{24}\u{33}\u{24}\u{7d}\u{20}\u{6f}\u{72}\u{20}\u{31}\u{30}\u{a}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{3d}\u{3d}\u{31}\u{30}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{5b}\u{31}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{61}\u{31}\u{30}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{5b}\u{32}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{35}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{5b}\u{23}\u{62}\u{2d}\u{31}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{61}\u{35}\u{30}\u{30}\u{30}\u{39}\u{22}\u{29}\u{a}\u{a}\u{a}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{78}\u{78}\u{78}\u{78}\u{20}\u{28}\u{78}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{62}\u{5b}\u{78}\u{5d}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{78}\u{78}\u{78}\u{78}\u{28}\u{33}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{61}\u{31}\u{31}\u{22}\u{29}\u{a}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{3b}\u{20}\u{62}\u{3d}\u{6e}\u{69}\u{6c}\u{a}\u{78}\u{78}\u{78}\u{78}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}\u{a}\u{a}"
2424local function sig
2525(x)
26−return (x % 2 == 0) and "" or "\45"
26+return (x % 2 == 0) and "" or "\u{2d}"
2727end
2828local F = {function ()
2929for i = 10, 50009
3030do
31−io.write("\97",i,"\32\61\32",sig(i),5 + ((i - 10) / 2),"\44\10")
31+io.write("\u{61}",i,"\u{20}\u{3d}\u{20}",sig(i),5 + ((i - 10) / 2),"\u{2c}\u{a}")
3232end
3333end,function ()
3434for i = 30026, 50009
3535do
36−io.write("\98",i,"\32\61\32",sig(i),15013 + ((i - 30026) / 2),"\44\10")
36+io.write("\u{62}",i,"\u{20}\u{3d}\u{20}",sig(i),15013 + ((i - 30026) / 2),"\u{2c}\u{a}")
3737end
3838end,function ()
3939for i = 10, 50009
4040do
41−io.write("\34\97",i,"\34\44\32",sig(i),5 + ((i - 10) / 2),"\44\10")
41+io.write("\u{22}\u{61}",i,"\u{22}\u{2c}\u{20}",sig(i),5 + ((i - 10) / 2),"\u{2c}\u{a}")
4242end
4343end}
4444local file = os.tmpname()
4545io.output(file)
46−for s in string.gmatch(prog,"\36\40\91\94\36\93\43\41")
46+for s in string.gmatch(prog,"\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2b}\u{29}")
4747do
4848local n = tonumber(s)
4949if not n then
@@ -55,5 +55,5 @@ end
5555io.close()
5656local result = dofile(file)
5757assert(os.remove(file))
58−print("\79\75")
58+print("\u{4f}\u{4b}")
5959return result
zod/luau/sur/lua.hoon+1−1
@@ -19,7 +19,7 @@
1919 [%false ~]
2020 [%nil ~]
2121 ==
22−+$ string @t
22++$ string (list @)
2323+$ table field-list
2424+$ field-list (list field)
2525+$ field