on master help sign in
zod/luau/TODO.md → TODO.mdrenamed+5−1
since splitsnapshots
unifiedsplit
@@ -4,4 +4,8 @@
4- [x] any string apart from the basic string with no escapes
4- [x] any string apart from the basic string with no escapes
5- [x] check if int fits in int or make it a float
5- [x] check if int fits in int or make it a float
6- [x] should `print-blok` have `do`-`end`? This is fucked.
6- [x] should `print-blok` have `do`-`end`? This is fucked.
7−- [ ] binary operator priority
7+- [x] binary operator priority
8+- [x] ^ should be higher priority than unary ops
9+- [x] Unifiy parened exprs
10+- [ ] pow
11+- [ ] attributes
desk/desk.shipnew file+1
@@ -0,0 +1 @@
1+~racfer-hattes
desk/lib/interlist.hoonnew file+79
@@ -0,0 +1,79 @@
1+/- *interlist
2+=<
3+|%
4+++ new
5+ |* [a=* b=(list [* *])]
6+ ^- (interlist _?<(?=(~ b) -.i.b) _a)
7+ ?~ b single+a
8+ double+[a -.i.b (new +.i.b t.b)]
9+++ turn-inter
10+ |* [l=(interlist) f=$-(* *)]
11+ ^- (interlist _$:f _?>(?=(%single -.l) +.l))
12+ ?- -.l
13+ %single [%single +.l]
14+ %double [%double val.l (f sep.l) $(l tail.l)]
15+ ==
16+++ turn
17+ |* [l=(interlist) f=$-(* *)]
18+ ^- (interlist _?>(?=(%double -.l) sep.l) _$:f)
19+ ?- -.l
20+ %single single+(f +.l)
21+ %double double+[(f val.l) sep.l $(l tail.l)]
22+ ==
23+++ reverse
24+ |* l=(interlist)
25+ ^+ l
26+ =/ tmp=(unit _?>(?=(%double -.l) +>.l)) ~
27+ |-
28+ ^+ l
29+ ?- -.l
30+ %single
31+ ?~ tmp l [%double +.l u.tmp]
32+ %double
33+ %= $
34+ l +>+.l
35+ tmp
36+ ?~ tmp `[+>-.l [%single +<.l]]
37+ `[+>-.l [%double +<.l u.tmp]]
38+ ==
39+ ==
40+++ parse
41+ |* [s=rule v=rule]
42+ =/ val (rule-type v)
43+ =/ sep (rule-type s)
44+ %+ cook
45+ |* [v=* rest=(list [* *])]
46+ ^- (interlist sep val)
47+ =/ rrest (flop rest)
48+ ?~ rrest [%single v]
49+ =/ tail
50+ %+ roll t.rrest
51+ |* [[s=* v=*] _[acc=`(interlist sep val)`[%single +.i.rrest] last-sep=-.i.rrest]]
52+ [[%double v last-sep acc] s]
53+ [%double v +.tail -.tail]
54+ ;~(plug v (star ;~(plug s v)))
55+++ split-left-on
56+ |* [is-pivot=$-(* ?) l=(interlist)]
57+ ^- (unit _[lhs=l pivot=+<.is-pivot rhs=l])
58+ ?- -.l
59+ %single ~
60+ %double
61+ ?: (is-pivot sep.l) `[[%single val.l] sep.l tail.l]
62+ =/ rest $(l tail.l)
63+ ?~ rest ~
64+ `[[%double val.l sep.l lhs.u.rest] pivot.u.rest rhs.u.rest]
65+ ==
66+++ split-right-on
67+ |* [is-pivot=$-(* ?) l=(interlist * *)]
68+ ^- (unit _[lhs=l pivot=+<.is-pivot rhs=l])
69+ %+ bind (split-left-on is-pivot (reverse l))
70+ |* [a=(interlist * *) b=* c=(interlist * *)] [(reverse c) b (reverse a)]
71+--
72+|%
73+++ rule-type
74+ |* =rule
75+ $_
76+ =/ ret q:$:rule
77+ ?> ?=(^ ret)
78+ p.u.ret
79+--
desk/lib/lua.hoonnew file+1
@@ -0,0 +1 @@
1+/+ lua-interpreter
desk/lib/lua/interpreter.hoonnew file+554
@@ -0,0 +1,554 @@
1+/- *lua
2+/+ st
3+=<
4+|= =chunk
5+((eval-chunk chunk) *state)
6+|%
7+++ eval-chunk
8+ |= =chunk
9+ ^- (eval-m value)
10+ ?- -.chunk
11+ %blok (eval-blok +.chunk)
12+ ==
13+++ object-id |$ obj @
14+++ objects
15+ |$ obj [objs=(map (object-id obj) obj) next-id=(object-id obj)]
16++$ value
17+ $%
18+ [%table val=(object-id table) meta=(unit (object-id table))]
19+ [%string string]
20+ [%num numeral]
21+ [%multires (lest value)]
22+ [%true ~]
23+ [%false ~]
24+ [%nil ~]
25+ ==
26++$ lval
27+ $%
28+ [%var name]
29+ [%table-field (object-id table) value]
30+ ==
31++$ table (map value value)
32++$ state
33+ $:
34+ tables=$~([(malt ~[[0 *table]]) 1] (objects table))
35+ global-env=table
36+ local-envs=$~(~[(malt ~[['_ENV' table+[0 ~]]])] (lest (map name value)))
37+ ==
38+++ eval-m
39+ |$ [val]
40+ $-(state [st=state val=val])
41+++ pure
42+ |* x=*
43+ ^- (eval-m _x)
44+ |=(st=state [st x])
45+++ bind
46+ |* =mold
47+ |* [prev=(eval-m) cont=$-(* (eval-m mold))]
48+ ^+ $:cont
49+ |= st=state
50+ =/ [st=state val=_val:$:prev] (prev st)
51+ ((cont val) st)
52+++ get-state
53+ ^- (eval-m state)
54+ |= st=state
55+ [st st]
56+++ set-state
57+ |= st=state
58+ ^- (eval-m ~)
59+ |= state
60+ [st ~]
61+++ eval-blok
62+ =<
63+ |= =blok
64+ ^- (eval-m value)
65+ %- with-local
66+ =/ body body.blok
67+ |-
68+ ^- (eval-m value)
69+ ?~ body
70+ ?~ ret.blok (pure nil+~)
71+ ?~ u.ret.blok (pure nil+~)
72+ ;< rets=(lest value) bind (eval-exprlist u.u.ret.blok)
73+ (pure (multires rets))
74+ ;< ~ bind (eval-stat i.body)
75+ ;< ret=value bind $(body t.body)
76+ (pure ret)
77+ |%
78+ ++ with-local
79+ |* act=(eval-m)
80+ ^- _act
81+ ;< ~ bind push-local
82+ ;< res=_val:$:act bind act
83+ ;< ~ bind pop-local
84+ (pure res)
85+ ++ push-local
86+ ^- (eval-m ~)
87+ |= st=state
88+ =. local-envs.st [*(map name value) local-envs.st]
89+ [st ~]
90+ ++ pop-local
91+ ^- (eval-m ~)
92+ |= st=state
93+ =. local-envs.st
94+ ?~ t.local-envs.st !!
95+ t.local-envs.st
96+ [st ~]
97+ --
98+++ multires
99+ |= vals=(lest value)
100+ ^- value
101+ ?~ t.vals i.vals
102+ multires+vals
103+++ eval-exprlist
104+ |= vals=exprlist
105+ ^- (eval-m (lest value))
106+ ;< val=value bind (eval-expr i.vals)
107+ ?~ t.vals (pure [val ~])
108+ ;< tail=(list value) bind $(vals t.vals)
109+ (pure [val tail])
110+++ eval-stat
111+ |= =stat
112+ ^- (eval-m ~)
113+ ?+ -.stat !!
114+ %asmnt
115+ ;< lhs=(lest lval) bind (process-varlist +<.stat)
116+ ;< rhs=(lest value) bind (eval-exprlist +>.stat)
117+ =/ asmnts (zip lhs (normalize-multires-exprlist rhs))
118+ |-
119+ ?~ asmnts (pure ~)
120+ ;< * bind
121+ ?- -<.i.asmnts
122+ %var ((set-var ->.i.asmnts) +.i.asmnts)
123+ %table-field
124+ ;< tabl=table bind (get-table ->-.i.asmnts)
125+ (set-table ->-.i.asmnts (~(put by tabl) ->+.i.asmnts +.i.asmnts))
126+ ==
127+ $(asmnts t.asmnts)
128+ %local-asmnt
129+ =/ lhs=(list name)
130+ %+ turn attrnamelist.stat
131+ |= [=name attr=(unit attrib)]
132+ ?> ?=(~ attr)
133+ name
134+ ;< actual-values=(list [name value]) bind
135+ ?~ rhs.stat (pure ~)
136+ ;< rhs=(list value) bind (eval-exprlist u.rhs.stat)
137+ (pure (zip lhs rhs))
138+ ;< st=state bind get-state
139+ =. i.local-envs.st
140+ %- ~(uni by i.local-envs.st)
141+ %- malt
142+ (weld (turn lhs |=(=name [name `value`nil+~])) actual-values)
143+ (set-state st)
144+ ==
145+++ set-var
146+ |= var=name
147+ |= val=value
148+ ^- (eval-m ~)
149+ ;< envs=(list (map name value)) bind get-local-envs
150+ =/ new-envs=(unit (lest (map name value)))
151+ |-
152+ ^- (unit (lest (map name value)))
153+ ?~ envs ~
154+ ?. (~(has by i.envs) var)
155+ =/ rest $(envs t.envs)
156+ ?~ rest ~
157+ `[i.envs u.rest]
158+ `[(~(put by i.envs) var val) t.envs]
159+ ^- (eval-m ~)
160+ ?. ?=(~ new-envs)
161+ |= st=state
162+ =. local-envs.st u.new-envs
163+ [st ~]
164+ =/ global-env (need ((get-from-local-envs envs) '_ENV'))
165+ :: TODO: proper error
166+ ?+ -.global-env !!
167+ %table
168+ ;< tabl=table bind (get-table +<.global-env)
169+ (set-table +<.global-env (~(put by tabl) (string-val var) val))
170+ ==
171+++ normalize-multires-exprlist
172+ |= vals=(list value)
173+ ^- (list value)
174+ ?~ vals ~
175+ ?~ t.vals ~[(normalize-multires i.vals)]
176+ [i.vals $(vals t.vals)]
177+++ normalize-multires
178+ |= val=value
179+ ^- value
180+ ?+ -.val val
181+ %multires
182+ =/ res=(lest value)
183+ =/ vals=(lest value) +.val
184+ |-
185+ ?~ t.vals
186+ =/ tail=value (normalize-multires i.vals)
187+ ?: ?=(%multires -.tail) +.tail [tail ~]
188+ [i.vals $(vals t.vals)]
189+ ?~ t.res i.res
190+ multires+res
191+ ==
192+++ process-varlist
193+ =<
194+ |= =varlist
195+ ^- (eval-m (lest lval))
196+ ;< val=lval bind (process-var i.varlist)
197+ ?~ t.varlist (pure ~[val])
198+ ;< tail=(list lval) bind $(varlist t.varlist)
199+ (pure [val tail])
200+ |%
201+ ++ process-var
202+ |= =var
203+ ^- (eval-m lval)
204+ ?- -.var
205+ %name (pure var++.var)
206+ %indexed
207+ ;< prefix=value bind (eval-prefix-expr +<.var)
208+ ;< idx=value bind (eval-expr +>.var)
209+ :: TODO: proper error
210+ ?. ?=(%table -.prefix) !!
211+ (pure table-field+[val.prefix idx])
212+ %dot
213+ ;< prefix=value bind (eval-prefix-expr +<.var)
214+ :: TODO: proper error
215+ ?. ?=(%table -.prefix) !!
216+ (pure table-field+[val.prefix (string-val +>.var)])
217+ ==
218+ --
219+++ eval-expr
220+ |= =expr
221+ ^- (eval-m value)
222+ ?+ -.expr !!
223+ %false (pure expr)
224+ %true (pure expr)
225+ %nil (pure expr)
226+ %string (pure expr)
227+ %num (pure expr)
228+ %binop (eval-binop +.expr)
229+ %prefix-expr (eval-prefix-expr +.expr)
230+ %unop (eval-unop +.expr)
231+ %table
232+ ;< tabl-id=(object-id table) bind (eval-table +.expr)
233+ (pure table+[tabl-id ~])
234+ ==
235+++ eval-table
236+ |= tabl=^table
237+ =<
238+ ^- (eval-m (object-id table))
239+ ;< felds=(list [value value]) bind
240+ =/ counter 1
241+ |-
242+ ?~ tabl (pure ~)
243+ ?- -.i.tabl
244+ %keyed
245+ ;< k=value bind (eval-expr +<.i.tabl)
246+ ;< v=value bind (eval-expr +>.i.tabl)
247+ ;< tail=(list [value value]) bind $(tabl t.tabl)
248+ (pure [[k v] tail])
249+ %unkeyed
250+ ;< v=value bind (eval-expr +.i.tabl)
251+ ?: &(?=(~ t.tabl) ?=(%multires -.v))
252+ =/ vals=(list value) +.v
253+ %- pure
254+ ^- (list [value value])
255+ |-
256+ ?~ vals ~
257+ [[num+int+(new:st counter) i.vals] $(vals t.vals, counter +(counter))]
258+ ;< tail=(list [value value]) bind $(tabl t.tabl, counter +(counter))
259+ (pure [[num+int+(new:st counter) v] tail])
260+ ==
261+ (new-table (malt felds))
262+ |%
263+ --
264+++ eval-unop
265+ |= [op=unop =expr]
266+ ^- (eval-m value)
267+ ?+ op !!
268+ %minus
269+ ;< val=value bind (eval-expr expr)
270+ ;< num=numeral bind (assert-numeral val)
271+ %- pure
272+ ?- -.num
273+ %int num+int+(neg:st +.num)
274+ %float num+float+(sub:rd *@rd +.num)
275+ ==
276+ %not
277+ ;< val=value bind (eval-expr expr)
278+ %- pure
279+ ?: (falsy val) [%false ~] [%true ~]
280+ %sig
281+ ;< val=value bind (eval-expr expr)
282+ ;< n=numeral bind (assert-numeral val)
283+ ;< i=@st bind (to-int n)
284+ %- pure
285+ num+int+(mix i mask:st)
286+ ==
287+++ eval-binop
288+ |= [lhs=expr op=binop rhs=expr]
289+ ^- (eval-m value)
290+ =<
291+ ?+ op !!
292+ %add
293+ ;< lhs=value bind (eval-expr lhs)
294+ ;< rhs=value bind (eval-expr rhs)
295+ ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
296+ %- pure
297+ :- %num
298+ ?- -.unified
299+ %i :- %int (add:st a.unified b.unified)
300+ %f :- %float (add:rd a.unified b.unified)
301+ ==
302+ %sub
303+ ;< lhs=value bind (eval-expr lhs)
304+ ;< rhs=value bind (eval-expr rhs)
305+ ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
306+ %- pure
307+ :- %num
308+ ?- -.unified
309+ %i :- %int (sub:st a.unified b.unified)
310+ %f :- %float (sub:rd a.unified b.unified)
311+ ==
312+ %mul
313+ ;< lhs=value bind (eval-expr lhs)
314+ ;< rhs=value bind (eval-expr rhs)
315+ ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
316+ %- pure
317+ :- %num
318+ ?- -.unified
319+ %i :- %int (mul:st a.unified b.unified)
320+ %f :- %float (mul:rd a.unified b.unified)
321+ ==
322+ %int-div
323+ ;< lhs=value bind (eval-expr lhs)
324+ ;< rhs=value bind (eval-expr rhs)
325+ ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
326+ %- pure
327+ :- %num
328+ ?- -.unified
329+ %i :- %int (div:st +.unified)
330+ %f :- %float (int-div-float +.unified)
331+ ==
332+ %mod
333+ ;< lhs=value bind (eval-expr lhs)
334+ ;< rhs=value bind (eval-expr rhs)
335+ ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
336+ %- pure
337+ :- %num
338+ ?- -.unified
339+ %i :- %int (mod:st +.unified)
340+ %f
341+ :- %float
342+ (sub:rd a.unified (mul:rd (int-div-float +.unified) b.unified))
343+ ==
344+ %div
345+ ;< lhs=value bind (eval-expr lhs)
346+ ;< rhs=value bind (eval-expr rhs)
347+ ;< lhs=numeral bind (assert-numeral lhs)
348+ ;< rhs=numeral bind (assert-numeral rhs)
349+ %- pure num+float+(div:rd (to-float lhs) (to-float rhs))
350+ %exp !!
351+ %band
352+ ;< lhs=value bind (eval-expr lhs)
353+ ;< rhs=value bind (eval-expr rhs)
354+ ;< lhs=numeral bind (assert-numeral lhs)
355+ ;< rhs=numeral bind (assert-numeral rhs)
356+ ;< lhs=@st bind (to-int lhs)
357+ ;< rhs=@st bind (to-int rhs)
358+ %- pure
359+ num+int+(dis lhs rhs)
360+ %bor
361+ ;< lhs=value bind (eval-expr lhs)
362+ ;< rhs=value bind (eval-expr rhs)
363+ ;< lhs=numeral bind (assert-numeral lhs)
364+ ;< rhs=numeral bind (assert-numeral rhs)
365+ ;< lhs=@st bind (to-int lhs)
366+ ;< rhs=@st bind (to-int rhs)
367+ %- pure
368+ num+int+(con lhs rhs)
369+ %bxor
370+ ;< lhs=value bind (eval-expr lhs)
371+ ;< rhs=value bind (eval-expr rhs)
372+ ;< lhs=numeral bind (assert-numeral lhs)
373+ ;< rhs=numeral bind (assert-numeral rhs)
374+ ;< lhs=@st bind (to-int lhs)
375+ ;< rhs=@st bind (to-int rhs)
376+ %- pure
377+ num+int+(mix lhs rhs)
378+ %rshft
379+ ;< lhs=value bind (eval-expr lhs)
380+ ;< rhs=value bind (eval-expr rhs)
381+ ;< lhs=numeral bind (assert-numeral lhs)
382+ ;< rhs=numeral bind (assert-numeral rhs)
383+ ;< lhs=@st bind (to-int lhs)
384+ ;< rhs=@st bind (to-int rhs)
385+ %- pure
386+ num+int+(dis mask:st (?:((sig:st rhs) lsh rsh) [0 (abs:st rhs)] lhs))
387+ %lshft
388+ ;< lhs=value bind (eval-expr lhs)
389+ ;< rhs=value bind (eval-expr rhs)
390+ ;< lhs=numeral bind (assert-numeral lhs)
391+ ;< rhs=numeral bind (assert-numeral rhs)
392+ ;< lhs=@st bind (to-int lhs)
393+ ;< rhs=@st bind (to-int rhs)
394+ %- pure
395+ num+int+(dis mask:st (?:((sig:st rhs) rsh lsh) [0 (abs:st rhs)] lhs))
396+ %or
397+ ;< lhs=value bind (eval-expr lhs)
398+ ?. (falsy lhs) (pure lhs)
399+ (eval-expr rhs)
400+ %and
401+ ;< lhs=value bind (eval-expr lhs)
402+ ?: (falsy lhs) (pure lhs)
403+ (eval-expr rhs)
404+ ==
405+ |%
406+ ++ show-numeral
407+ |= n=numeral
408+ ^- tape
409+ ?- -.n
410+ %int (scow %s (to-s:st +.n))
411+ %float (scow %rd +.n)
412+ ==
413+ ++ int-div-float
414+ |= [a=@rd b=@rd]
415+ =/ whole=(unit @s) (~(toi rd %d) (div:rd a b))
416+ ?~ whole (div:rd .~0 .~0)
417+ (san:rd u.whole)
418+ +$ unified-numerals $%([%i a=@st b=@st] [%f a=@rd b=@rd])
419+ ++ unify-numeral-values
420+ |= [a=value b=value]
421+ ^- (eval-m unified-numerals)
422+ ;< a=numeral bind (assert-numeral a)
423+ ;< b=numeral bind (assert-numeral b)
424+ (pure (unify-numerals a b))
425+ ++ unify-numerals
426+ |= [a=numeral b=numeral]
427+ ^- unified-numerals
428+ ?: &(?=(%int -.a) ?=(%int -.b)) [%i +.a +.b]
429+ [%f (to-float a) (to-float b)]
430+ ++ to-float
431+ |= n=numeral
432+ ^- @rd
433+ ?: ?=(%float -.n) +.n
434+ (san:rd (to-s:st +.n))
435+ --
436+++ to-int
437+ |= n=numeral
438+ ^- (eval-m @st)
439+ ?: ?=(%int -.n) (pure +.n)
440+ =/ i=(unit @s) (toi:rd +.n)
441+ :: TODO: proper error
442+ ?~ i !!
443+ =/ i u.i
444+ =/ cycled (san:rd i)
445+ :: TODO: proper error
446+ :: checks that we don't lose any information
447+ ?. =(+.n cycled) !!
448+ (pure (from-s:st i))
449+++ falsy
450+ |= v=value
451+ ^- ?
452+ ?+ -.v |
453+ %false &
454+ %nil &
455+ ==
456+++ assert-numeral
457+ |= [a=value]
458+ ^- (eval-m numeral)
459+ :: TODO: throw a proper error
460+ ?. ?=(%num -.a) !!
461+ (pure +.a)
462+++ eval-prefix-expr
463+ |= =prefix-expr
464+ ^- (eval-m value)
465+ ?- -.prefix-expr
466+ %expr (eval-expr +.prefix-expr)
467+ %call (eval-functioncall +.prefix-expr)
468+ %var
469+ ?- +<.prefix-expr
470+ %name (lookup-var +>.prefix-expr)
471+ %dot
472+ ;< tabl=value bind (eval-prefix-expr +>-.prefix-expr)
473+ (lookup-table-field tabl (string-val +>+.prefix-expr))
474+ %indexed
475+ ;< tabl=value bind (eval-prefix-expr +>-.prefix-expr)
476+ ;< idx=value bind (eval-expr +>+.prefix-expr)
477+ (lookup-table-field tabl idx)
478+ ==
479+ ==
480+++ lookup-table-field
481+ |= [val=value fild=value]
482+ ^- (eval-m value)
483+ :: TODO: proper error
484+ ?+ -.val !!
485+ %table
486+ ;< tabl=table bind (get-table val.val)
487+ =/ res (~(get by tabl) fild)
488+ :: TODO: error
489+ ?~ res !!
490+ (pure u.res)
491+ ==
492+++ lookup-var
493+ |= =name
494+ ^- (eval-m value)
495+ ;< envs=(list (map ^name value)) bind get-local-envs
496+ =/ get-local (get-from-local-envs envs)
497+ =/ local=(unit value) (get-local name)
498+ ?. ?=(~ local) (pure u.local)
499+ =/ global-env (get-local '_ENV')
500+ ?~ global-env !!
501+ (lookup-table-field u.global-env (string-val name))
502+++ get-from-local-envs
503+ |= envs=(list (map name value))
504+ |= =name
505+ ^- (unit value)
506+ ?~ envs ~
507+ =/ val=(unit value) (~(get by i.envs) name)
508+ ?~ val $(envs t.envs)
509+ val
510+++ string-val
511+ |= val=@t
512+ ^- value
513+ string+(trip val)
514+++ get
515+ |* f=$-(state *)
516+ ^- (eval-m _$:f)
517+ |= st=state
518+ [st (f st)]
519+++ get-table
520+ |= id=(object-id table)
521+ ^- (eval-m table)
522+ ;< tables=(objects table) bind
523+ %- get |=(st=state tables.st)
524+ =/ table (~(get by objs.tables) id)
525+ :: TODO: proper error
526+ ?~ table !!
527+ (pure u.table)
528+++ set-table
529+ |= [id=(object-id table) tabl=table]
530+ ^- (eval-m ~)
531+ |= st=state
532+ =. objs.tables.st (~(put by objs.tables.st) id tabl)
533+ [st ~]
534+++ get-local-envs
535+ ^- (eval-m (list (map name value)))
536+ %- get |=(st=state local-envs.st)
537+++ eval-functioncall
538+ |= =functioncall
539+ ^- (eval-m value)
540+ !!
541+++ new-table
542+ |= tabl=table
543+ ^- (eval-m (object-id table))
544+ |= st=state
545+ =/ id next-id.tables.st
546+ =. next-id.tables.st +(id)
547+ =. objs.tables.st (~(put by objs.tables.st) id tabl)
548+ [st id]
549+++ zip
550+ |* [lhs=(list) rhs=(list)]
551+ ^- (list [_?<(?=(~ lhs) i.lhs) _?<(?=(~ rhs) i.rhs)])
552+ ?: |(?=(~ lhs) ?=(~ rhs)) ~
553+ [[i.lhs i.rhs] $(lhs t.lhs, rhs t.rhs)]
554+--
zod/luau/lib/lua/parser.hoon → desk/lib/lua/parser.hoonrenamed+230−60
@@ -1,11 +1,12 @@
1/- *lua
1/- *lua
2+/- *interlist
2/+ st
3/+ st
3−/+ *interlist
4+/+ inter=interlist
4=<
5=<
5apex
6apex
6|%
7|%
7++ apex
8++ apex
8− %^ tnee %apex ast
9+ %^ tnee %apex chunk
9 ;~ pfix
10 ;~ pfix
10 %- punt
11 %- punt
11 ;~ plug
12 ;~ plug
@@ -32,7 +33,7 @@ apex
32 parse-numeral
33 parse-numeral
33 ::
34 ::
34 %+ cook
35 %+ cook
35− |=(=prefix-expr [%prefix-expr prefix-expr])
36+ |=(=prefix-expr (unwrap-prefix [%prefix-expr prefix-expr]))
36 (knee *prefix-expr |.(parse-prefix-expr))
37 (knee *prefix-expr |.(parse-prefix-expr))
37 ::
38 ::
38 %+ cook
39 %+ cook
@@ -53,42 +54,187 @@ apex
53 parse-funcbody
54 parse-funcbody
54 ==
55 ==
55 ::
56 ::
56− %+ cook |= [=unop =expr] [%unop unop expr]
57− ;~ plug
58− ;~ pose
59− ;~ sfix
60− ;~ pose
61− (cold %minus (just '-'))
62− (cold %sig (just '~'))
63− (cold %hax (just '#'))
64− ==
65− ws
66− ==
67− ;~ sfix
68− (cold %not (jest 'not'))
69− ;~(less parse-name ws)
70− ==
71− ==
72− %+ knee *expr |.(parse-expr)
73− ==
74 ==
57 ==
75:: Parse expressions separated by binary operators
58:: Parse expressions separated by binary operators
76::
59::
77++ parse-expr-list
60++ parse-expr-list
78− %^ tnee %parse-expr-list (interlist binop expr)
61+ %^ tnee %parse-expr-list ,(interlist binop [(list unop) expr])
79− %+ parse-interlist (ifix [ws ws] parse-binop) parse-atomic-expr
62+ %+ parse:inter (ifix [ws ws] parse-binop)
80−:: TODO: This is mock and should take operator priority into account.
63+ ;~ plug
81−::
64+ %- star
65+ ;~ pose
66+ ;~ sfix
67+ ;~ pose
68+ (cold %minus (just '-'))
69+ (cold %sig (just '~'))
70+ (cold %hax (just '#'))
71+ ==
72+ ws
73+ ==
74+ ;~ sfix
75+ (cold %not (jest 'not'))
76+ ;~(less parse-name ws)
77+ ==
78+ ==
79+ ::
80+ parse-atomic-expr
81+ ==
82++ process-expr-list
82++ process-expr-list
83+ =<
83− |= l=(interlist binop expr)
84+ |= l=(interlist binop [(list unop) expr])
84 ^- expr
85 ^- expr
85− ?- -.l
86+ %- strip-tree
87+ %- (process-right-assoc ~[%pow])
88+ %- process-unops
89+ %- (process-left-assoc ~[%mul %div %int-div %mod])
90+ %- (process-left-assoc ~[%add %sub])
91+ %- (process-right-assoc ~[%concat])
92+ %- (process-left-assoc ~[%rshft %lshft])
93+ %- (process-left-assoc ~[%band])
94+ %- (process-left-assoc ~[%bxor])
95+ %- (process-left-assoc ~[%bor])
96+ %- (process-left-assoc ~[%lt %gt %lteq %gteq %neq %eq])
97+ %- (process-left-assoc ~[%and])
98+ %- (process-left-assoc ~[%or])
99+ (preprocess-tree l)
100+ |%
101+ +$ working-tree
102+ $%
103+ [%node l=working-tree n=binop r=working-tree]
104+ [%branch b=unop t=working-tree]
105+ [%tbd-unop l=(list [=expr =binop]) =unop r=working-tree]
106+ [%unoped l=(list [=expr =binop]) r=working-tree]
107+ [%leaf (interlist binop expr)]
108+ ==
109+ ++ preprocess-tree
110+ |= l=(interlist binop [(list unop) expr])
111+ ^- working-tree
112+ =/ splitted (find-unop l)
113+ ?~ splitted leaf+(turn:inter l |=([* =expr] expr))
114+ tbd-unop+[l.u.splitted unop.u.splitted $(l r.u.splitted)]
115+ ++ apply-unops
116+ |= [unops=(list unop) =expr]
117+ ^+ expr
118+ ?~ unops expr
119+ [%unop i.unops $(unops t.unops)]
120+ ++ strip-tree
121+ |= tree=working-tree
122+ ^- expr
123+ ?- -.tree
124+ %leaf ?> ?=(%single +<.tree) +>.tree
125+ %node [%binop $(tree l.tree) n.tree $(tree r.tree)]
126+ %branch [%unop b.tree $(tree t.tree)]
127+ %tbd-unop !!
128+ %unoped ?> =(~ l.tree) $(tree r.tree)
129+ ==
130+ ++ find-unop
131+ |= l=(interlist binop [(list unop) expr])
132+ ^- (unit [l=(list [=expr =binop]) =unop r=(interlist binop [(list unop) expr])])
133+ ?- -.l
86− %single val.l
134+ %single
87− %double [%binop val.l sep.l (process-expr-list tail.l)]
135+ ?~ +<.l ~
136+ %- some
137+ [~ i.-.val.l single+[t.-.val.l +.val.l]]
138+ %double
139+ ?~ -.val.l
140+ %+ ^^bind $(l tail.l)
141+ |= [k=(list [expr binop]) =unop tail=(interlist binop [(list unop) expr])]
142+ [[[+.val.l sep.l] k] unop tail]
143+ %- some
144+ [~ i.-.val.l double+[[t.-.val.l +.val.l] sep.l tail.l]]
145+ ==
146+ ++ process-unops
147+ |= tree=working-tree
148+ ^- working-tree
149+ ?- -.tree
150+ %node node+[$(tree l.tree) n.tree $(tree r.tree)]
151+ %branch branch+[b.tree $(tree t.tree)]
152+ %tbd-unop unoped+[l.tree branch+[unop.tree $(tree r.tree)]]
153+ %leaf tree
154+ %unoped unoped+[l.tree $(tree r.tree)]
155+ ==
156+ ++ split-left-unop-list
157+ |= [is-pivot=$-(binop ?) l=(list [=expr =binop])]
158+ ^- (unit [l=(interlist binop expr) =binop r=(list [=expr =binop])])
159+ ?~ l ~
160+ ?: (is-pivot binop.i.l) `[single+expr.i.l binop.i.l t.l]
161+ =/ rest $(l t.l)
162+ ?~ rest ~
163+ `[double+[expr.i.l binop.i.l -.u.rest] +.u.rest]
164+ ++ split-right-unop-list
165+ |= [is-pivot=$-(binop ?) l=(list [=expr =binop])]
166+ ^- (unit [l=(interlist binop expr) =binop r=(list [=expr =binop])])
167+ =/ reversed=(unit [l=(list [=binop =expr]) =binop r=(interlist binop expr)])
168+ =/ l=(list [=binop =expr]) (flop (turn l swap))
169+ |-
170+ ?~ l ~
171+ ?: (is-pivot binop.i.l) `[~ binop.i.l (new:inter expr.i.l t.l)]
172+ =/ rest=(unit [l=(list [=binop =expr]) =binop r=(interlist binop expr)]) $(l t.l)
173+ ?~ rest ~
174+ `[[i.l l.u.rest] +.u.rest]
175+ ?~ reversed ~
176+ `[(reverse:inter r.u.reversed) binop.u.reversed (turn (flop l.u.reversed) swap)]
177+ ++ swap |*([a=* b=*] [b a])
178+ ++ process-right-assoc
179+ |= ops=(lest binop)
180+ |= tree=working-tree
181+ ^- working-tree
182+ ?- -.tree
183+ %leaf
184+ =/ l +.tree
185+ |-
186+ =/ splitted (split-left-on:inter |=(op=binop (elem op ops)) l)
187+ ?~ splitted [%leaf l]
188+ [%node $(l lhs.u.splitted) pivot.u.splitted $(l rhs.u.splitted)]
189+ %branch branch+[b.tree $(tree t.tree)]
190+ %tbd-unop
191+ =/ splitted
192+ (split-left-unop-list |=(op=binop (elem op ops)) l.tree)
193+ ?~ splitted tbd-unop+[l.tree unop.tree $(tree r.tree)]
194+ $(tree [%node $(tree leaf+l.u.splitted) binop.u.splitted tbd-unop+[r.u.splitted +>.tree]])
195+ %node
196+ [%node $(tree l.tree) n.tree $(tree r.tree)]
197+ %unoped
198+ =/ splitted
199+ (split-left-unop-list |=(op=binop (elem op ops)) l.tree)
200+ ?~ splitted unoped+[l.tree $(tree r.tree)]
201+ [%node $(tree leaf+l.u.splitted) binop.u.splitted $(tree unoped+[r.u.splitted r.tree])]
88− ==
202+ ==
203+ ++ process-left-assoc
204+ |= ops=(lest binop)
205+ |= tree=working-tree
206+ ^- working-tree
207+ ?- -.tree
208+ %leaf
209+ =/ l +.tree
210+ |-
211+ ^- working-tree
212+ =/ splitted (split-right-on:inter |=(op=binop (elem op ops)) l)
213+ ?~ splitted [%leaf l]
214+ [%node $(l lhs.u.splitted) pivot.u.splitted $(l rhs.u.splitted)]
215+ %tbd-unop
216+ =/ splitted
217+ (split-right-unop-list |=(op=binop (elem op ops)) l.tree)
218+ ?~ splitted tbd-unop+[l.tree unop.tree $(tree r.tree)]
219+ $(tree [%node $(tree leaf+l.u.splitted) binop.u.splitted tbd-unop+[r.u.splitted +>.tree]])
220+ %node
221+ [%node $(tree l.tree) n.tree $(tree r.tree)]
222+ %branch
223+ [%branch b.tree $(tree t.tree)]
224+ %unoped
225+ =/ splitted
226+ (split-right-unop-list |=(op=binop (elem op ops)) l.tree)
227+ ?~ splitted unoped+[l.tree $(tree r.tree)]
228+ [%node $(tree leaf+l.u.splitted) binop.u.splitted $(tree unoped+[r.u.splitted +>.tree])]
229+ ==
230+ --
89++ parse-expr
231++ parse-expr
90 %^ tnee %parse-expr expr
232 %^ tnee %parse-expr expr
233+ %+ cook unwrap-prefix
234+ ;~ pose
91− %+ cook process-expr-list parse-expr-list
235+ %+ cook process-expr-list parse-expr-list
236+ (ifix [;~(plug (just '(') ws) ;~(plug ws (just ')'))] (knee *expr |.(parse-expr)))
237+ ==
92++ parse-parened-expr
238++ parse-parened-expr
93 %^ tnee %parse-parened-expr prefix-expr
239 %^ tnee %parse-parened-expr prefix-expr
94 %+ cook
240 %+ cook
@@ -422,7 +568,7 @@ apex
422++ parse-local-asmnt
568++ parse-local-asmnt
423 %^ tnee %parse-local-asmnt local-asmnt
569 %^ tnee %parse-local-asmnt local-asmnt
424 %+ cook
570 %+ cook
425− |= [* * =attnamelist rhs=(unit explist)] [attnamelist rhs]
571+ |= [* * =attrnamelist rhs=(unit explist)] [attrnamelist rhs]
426 ;~ plug
572 ;~ plug
427 (jest 'local')
573 (jest 'local')
428 wss
574 wss
@@ -436,7 +582,7 @@ apex
436 ==
582 ==
437 ==
583 ==
438++ parse-attnamelist
584++ parse-attnamelist
439− %^ tnee %parse-attnamelist attnamelist
585+ %^ tnee %parse-attnamelist attrnamelist
440 %+ most (ifix [ws ws] com)
586 %+ most (ifix [ws ws] com)
441 ;~ plug
587 ;~ plug
442 parse-name
588 parse-name
@@ -718,10 +864,10 @@ apex
718 ++ name-fst-char ;~(pose alf:ab (just '_'))
864 ++ name-fst-char ;~(pose alf:ab (just '_'))
719 --
865 --
720 %+ cook |= =tape (crip tape)
866 %+ cook |= =tape (crip tape)
721− ;~(less ;~(plug keyword ;~(less name-char (easy ~))) ;~(plug name-fst-char (star name-char)))
867+ ;~(less keyword ;~(plug name-fst-char (star name-char)))
722++ bind
868++ bind
723 |* =mold
869 |* =mold
724− |* [prev=rule cont=$-(mold rule)]
870+ |* [prev=rule cont=$-(* rule)]
725 |= =nail
871 |= =nail
726 =/ prev-edge (prev nail)
872 =/ prev-edge (prev nail)
727 ?~ q.prev-edge prev-edge
873 ?~ q.prev-edge prev-edge
@@ -852,31 +998,39 @@ apex
852 ;< res=_p:(need q:$:$:inner) bind (inner closing)
998 ;< res=_p:(need q:$:$:inner) bind (inner closing)
853 %+ cold res closing
999 %+ cold res closing
854++ keyword
1000++ keyword
855− %+ cold ~
1001+ =<
856− ;~ pose
1002+ %+ sear
1003+ |= word=tape
1004+ ^- (unit ~)
1005+ ?: (elem word keyword-names) `~ ~
1006+ (plus alf:ab)
1007+ |%
1008+ ++ keyword-names
1009+ :~
857− (jest 'and')
1010+ "and"
858− (jest 'break')
1011+ "break"
859− (jest 'do')
1012+ "do"
860− (jest 'else')
1013+ "else"
861− (jest 'elseif')
1014+ "elseif"
862− (jest 'end')
1015+ "end"
863− (jest 'false')
1016+ "false"
864− (jest 'for')
1017+ "for"
865− (jest 'function')
1018+ "function"
866− (jest 'goto')
1019+ "goto"
867− (jest 'if')
1020+ "if"
868− (jest 'in')
1021+ "in"
869− (jest 'local')
1022+ "local"
870− (jest 'nil')
1023+ "nil"
871− (jest 'not')
1024+ "not"
872− (jest 'or')
1025+ "or"
873− (jest 'repeat')
1026+ "repeat"
874− (jest 'return')
1027+ "return"
875− (jest 'then')
1028+ "then"
876− (jest 'true')
1029+ "true"
877− (jest 'until')
1030+ "until"
878− (jest 'while')
1031+ "while"
879− ==
1032+ ==
1033+ --
880++ tnee
1034++ tnee
881 |* [=term gar=mold sef=rule]
1035 |* [=term gar=mold sef=rule]
882 |= tub=nail
1036 |= tub=nail
@@ -888,9 +1042,25 @@ apex
888 ?~ q.res
1042 ?~ q.res
889 ~& [term %nope] res
1043 ~& [term %nope] res
890 ~& > [term %ok] res
1044 ~& > [term %ok] res
1045+++ neg
1046+ |* =rule
1047+ |= =nail
1048+ ^- (like ~)
1049+ =/ x (rule nail)
1050+ :- p.nail
1051+ ?~ q.x `[~ nail] ~
891++ blok-is-empty
1052++ blok-is-empty
892 |= =blok
1053 |= =blok
893 ^- ?
1054 ^- ?
894 &(?=(~ body.blok) ?=(~ ret.blok))
1055 &(?=(~ body.blok) ?=(~ ret.blok))
895++ max-int 9.223.372.036.854.775.807
1056++ max-int 9.223.372.036.854.775.807
1057+++ elem
1058+ |= [nedl=* stak=(list *)]
1059+ ^- ?
1060+ ?=(^ (find ~[nedl] stak))
1061+++ unwrap-prefix
1062+ |= x=expr
1063+ ^- expr
1064+ ?: ?=([%prefix-expr %expr *] x) $(x +>.x)
1065+ x
896--
1066--
zod/luau/lib/lua/printer.hoon → desk/lib/lua/printer.hoonrenamed+15−10
@@ -6,10 +6,10 @@ print
6:: AST
6:: AST
7::
7::
8++ print
8++ print
9− |= [=ast]
9+ |= [=chunk]
10 ^- tape
10 ^- tape
11− ?- -.ast
11+ ?- -.chunk
12− %blok (print-blok +.ast)
12+ %blok (print-blok +.chunk)
13 ==
13 ==
14:: Expr
14:: Expr
15::
15::
@@ -24,11 +24,13 @@ print
24 %binop
24 %binop
25 %- zing
25 %- zing
26 :~
26 :~
27+ "("
27 (print-expr +<.expr)
28 (print-expr +<.expr)
28 " "
29 " "
29 (print-binop +>-.expr)
30 (print-binop +>-.expr)
30 " "
31 " "
31 (print-expr +>+.expr)
32 (print-expr +>+.expr)
33+ ")"
32 ==
34 ==
33 %num (print-numeral +.expr)
35 %num (print-numeral +.expr)
34 %table (print-table +.expr)
36 %table (print-table +.expr)
@@ -38,9 +40,11 @@ print
38 %unop
40 %unop
39 %- zing
41 %- zing
40 :~
42 :~
43+ "("
41 (print-unop +<.expr)
44 (print-unop +<.expr)
42 " "
45 " "
43 (print-expr +>.expr)
46 (print-expr +>.expr)
47+ ")"
44 ==
48 ==
45 ==
49 ==
46:: unop
50:: unop
@@ -56,7 +60,6 @@ print
56 ==
60 ==
57:: string
61:: string
58::
62::
59−:: NOTE: does not handle escaping chars
60++ print-string
63++ print-string
61 |= =string
64 |= =string
62 %- zing
65 %- zing
@@ -188,7 +191,9 @@ print
188 |= [=prefix-expr]
191 |= [=prefix-expr]
189 ?- -.prefix-expr
192 ?- -.prefix-expr
190 %var (print-var +.prefix-expr)
193 %var (print-var +.prefix-expr)
191− %expr
194+ %expr
195+ :: since binops already have parens
196+ ?: ?=(%binop +<.prefix-expr) (print-expr +.prefix-expr)
192 %- zing
197 %- zing
193 :~
198 :~
194 "("
199 "("
@@ -259,7 +264,7 @@ print
259 %- zing
264 %- zing
260 :~
265 :~
261 "local "
266 "local "
262− (print-attnamelist attnamelist.local-asmnt)
267+ (print-attrnamelist attrnamelist.local-asmnt)
263 ?~ rhs.local-asmnt ""
268 ?~ rhs.local-asmnt ""
264 %- zing
269 %- zing
265 :~
270 :~
@@ -267,13 +272,13 @@ print
267 (print-explist u.rhs.local-asmnt)
272 (print-explist u.rhs.local-asmnt)
268 ==
273 ==
269 ==
274 ==
270−:: attnamelist
275+:: attrnamelist
271::
276::
272−++ print-attnamelist
277+++ print-attrnamelist
273− |= =attnamelist
278+ |= =attrnamelist
274 ^- tape
279 ^- tape
275 %- commaed
280 %- commaed
276− %+ turn attnamelist
281+ %+ turn attrnamelist
277 |= [=name attr=(unit attrib)]
282 |= [=name attr=(unit attrib)]
278 %- zing
283 %- zing
279 :~
284 :~
zod/luau/lib/lua.hoon → desk/lib/lua/utils.hoonrenamed

The content is the same.

desk/lib/st.hoonnew file+64
@@ -0,0 +1,64 @@
1+:: Two's complement encoded 64-bit signed integer
2+=<
3+|%
4+:: coerce an unsigned int to a signed int
5+::
6+++ new
7+ |= x=@u
8+ ^- @st
9+ (dis mask x)
10+++ to-s
11+ |= x=@st
12+ ^- @s
13+ (new:si ?!((sig x)) (abs x))
14+++ from-s
15+ |= x=@s
16+ ^- @st
17+ %- ?. (syn:si x) neg |=(x=@st x)
18+ (dis abs-mask (abs:si x))
19+++ neg
20+ |= x=@st
21+ ^- @st
22+ (dis mask +((mix mask x)))
23+++ sig
24+ |= x=@st
25+ ^- ?
26+ ?! =(0 (dis sign-mask x))
27+++ abs
28+ |= x=@st
29+ ^- @u
30+ ?. (sig x) `@u`x `@u`(neg x)
31+++ inc
32+ |= x=@st
33+ ^- @st
34+ (dis mask +(x))
35+++ add
36+ |= [x=@st y=@st]
37+ ^- @st
38+ (dis mask (^add x y))
39+++ sub
40+ |= [x=@st y=@st]
41+ ^- @st
42+ (from-s (dif:si (to-s x) (to-s y)))
43+++ mul
44+ |= [x=@st y=@st]
45+ ^- @st
46+ (from-s (pro:si (to-s x) (to-s y)))
47+++ div
48+ |= [x=@st y=@st]
49+ ^- @st
50+ =/ [x=@s y=@s] [(to-s x) (to-s y)]
51+ =/ fra (fra:si x y)
52+ =/ res (from-s fra)
53+ ?: |(=(0 (rem:si x y)) (syn:si fra)) res
54+ (dec res)
55+++ mod
56+ |= [x=@st y=@st]
57+ ^- @st
58+ (sub x (mul (div x y) y))
59+++ mask 0xffff.ffff.ffff.ffff
60+--
61+|%
62+++ abs-mask 0x7fff.ffff.ffff.ffff
63+++ sign-mask 0x8000.0000.0000.0000
64+--
zod/luau/lib/strand.hoon → desk/lib/strand.hoonrenamed

The content is the same.

zod/luau/lib/strandio.hoon → desk/lib/strandio.hoonrenamed+21−1
@@ -197,6 +197,20 @@
197 `[%done +>.sign-arvo.u.in.tin]
197 `[%done +>.sign-arvo.u.in.tin]
198 ==
198 ==
199::
199::
200+++ take-near
201+ |= =wire
202+ =/ m (strand ,[spar:ames (unit (unit page))])
203+ ^- form:m
204+ |= tin=strand-input:strand
205+ ?+ in.tin `[%skip ~]
206+ ~ `[%wait ~]
207+ ::
208+ [~ %sign * %ames %near ^ *]
209+ ?. =(wire wire.u.in.tin)
210+ `[%skip ~]
211+ `[%done +>.sign-arvo.u.in.tin]
212+ ==
213+::
200++ take-poke-ack
214++ take-poke-ack
201 |= =wire
215 |= =wire
202 =/ m (strand ,~)
216 =/ m (strand ,~)
@@ -335,7 +349,13 @@
335 |= [=wire =spar:ames]
349 |= [=wire =spar:ames]
336 =/ m (strand ,~)
350 =/ m (strand ,~)
337 ^- form:m
351 ^- form:m
338− (send-raw-card %pass wire %arvo %a %keen spar)
352+ (send-raw-card %pass wire %arvo %a %keen ~ spar)
353+::
354+++ keen-shut
355+ |= [=wire =spar:ames]
356+ =/ m (strand ,~)
357+ ^- form:m
358+ (send-raw-card %pass wire %keen & spar)
339::
359::
340++ sleep
360++ sleep
341 |= for=@dr
361 |= for=@dr
zod/luau/mar/atom.hoon → desk/mar/atom.hoonrenamed

The content is the same.

zod/luau/mar/bill.hoon → desk/mar/bill.hoonrenamed

The content is the same.

zod/luau/mar/docket-0.hoon → desk/mar/docket-0.hoonrenamed

The content is the same.

zod/luau/mar/hoon.hoon → desk/mar/hoon.hoonrenamed

The content is the same.

zod/luau/mar/kelvin.hoon → desk/mar/kelvin.hoonrenamed

The content is the same.

zod/luau/mar/lua.hoon → desk/mar/lua.hoonrenamed

The content is the same.

zod/luau/mar/mime.hoon → desk/mar/mime.hoonrenamed

The content is the same.

zod/luau/mar/noun.hoon → desk/mar/noun.hoonrenamed

The content is the same.

zod/luau/mar/ship.hoon → desk/mar/ship.hoonrenamed

The content is the same.

zod/luau/mar/txt.hoon → desk/mar/txt.hoonrenamed

The content is the same.

zod/luau/res/lua/all.lua → desk/res/lua/all.luarenamed

The content is the same.

zod/luau/res/lua/api.lua → desk/res/lua/api.luarenamed

The content is the same.

zod/luau/res/lua/attrib.lua → desk/res/lua/attrib.luarenamed

The content is the same.

desk/res/lua/bar.luanew file+23
@@ -0,0 +1,23 @@
1+assert(010 .. 020 .. -030 == "1020-30")
2+x = - 2 ^ - 3^4
3+
4+x = 1
5+
6+print(_ENV)
7+print(_ENV._ENV)
8+
9+local foo = _ENV
10+
11+-- local x = 8
12+
13+do
14+ _ENV = {x = 2, print = print}
15+ -- local x = 3
16+ print(x)
17+ print(_ENV)
18+end
19+
20+print(_ENV)
21+print(_ENV._ENV)
22+
23+print(foo._ENV)
desk/res/lua/baz.luanew file+6
@@ -0,0 +1,6 @@
1+x = 8
2+
3+local y = x + 3
4+
5+
6+return y / 2
zod/luau/res/lua/big.lua → desk/res/lua/big.luarenamed

The content is the same.

zod/luau/res/lua/bitwise.lua → desk/res/lua/bitwise.luarenamed

The content is the same.

zod/luau/res/lua/bwcoercion.lua → desk/res/lua/bwcoercion.luarenamed

The content is the same.

zod/luau/res/lua/calls.lua → desk/res/lua/calls.luarenamed

The content is the same.

zod/luau/res/lua/closure.lua → desk/res/lua/closure.luarenamed

The content is the same.

zod/luau/res/lua/code.lua → desk/res/lua/code.luarenamed

The content is the same.

zod/luau/res/lua/constructs.lua → desk/res/lua/constructs.luarenamed

The content is the same.

zod/luau/res/lua/coroutine.lua → desk/res/lua/coroutine.luarenamed

The content is the same.

zod/luau/res/lua/cstack.lua → desk/res/lua/cstack.luarenamed

The content is the same.

zod/luau/res/lua/cycled/all.lua → desk/res/lua/cycled/all.luarenamed+41−41
@@ -1,12 +1,12 @@
1local version = "\u{4c}\u{75}\u{61}\u{20}\u{35}\u{2e}\u{34}"
1local version = "\u{4c}\u{75}\u{61}\u{20}\u{35}\u{2e}\u{34}"
2−if _VERSION ~= version then
2+if (_VERSION ~= version) then
3io.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}")
3io.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}")
4return
4return
5end
5end
6_G.ARG=arg
6_G.ARG=arg
7−_soft=rawget(_G,"\u{5f}\u{73}\u{6f}\u{66}\u{74}") or false
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
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
9+_nomsg=(rawget(_G,"\u{5f}\u{6e}\u{6f}\u{6d}\u{73}\u{67}") or false)
10local usertests = rawget(_G,"\u{5f}\u{55}")
10local usertests = rawget(_G,"\u{5f}\u{55}")
11if usertests then
11if usertests then
12_soft=true
12_soft=true
@@ -24,7 +24,7 @@ do
24local random_x,random_y = math.randomseed()
24local random_x,random_y = math.randomseed()
25print(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))
25print(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))
26end
26end
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}")
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}")))
28local initclock = os.clock()
28local initclock = os.clock()
29local lastclock = initclock
29local lastclock = initclock
30local walltime = os.time()
30local walltime = os.time()
@@ -32,9 +32,9 @@ local collectgarbage = collectgarbage
32do
32do
33local msgs = {}
33local msgs = {}
34function Message(m)
34function Message(m)
35−if not _nomsg then
35+if (not _nomsg) then
36print(m)
36print(m)
37−msgs[# msgs + 0x1]=string.sub(m,0x3,- 0x3)
37+msgs[(# (msgs + 0x1))]=string.sub(m,0x3,(- 0x3))
38end
38end
39end
39end
40assert(os.setlocale("\u{43}"))
40assert(os.setlocale("\u{43}"))
@@ -43,27 +43,27 @@ local function F
43(m)
43(m)
44local function round
44local function round
45(m)
45(m)
46−m=m + 0.04999
46+m=(m + 0.04999)
47return format("\u{25}\u{2e}\u{31}\u{66}",m)
47return format("\u{25}\u{2e}\u{31}\u{66}",m)
48end
48end
49−if m < 0x3e8 then
49+if (m < 0x3e8) then
50return m
50return m
51else
51else
52−m=m / 0x3e8
52+m=(m / 0x3e8)
53−if m < 0x3e8 then
53+if (m < 0x3e8) then
54−return round(m) .. "\u{4b}"
54+return (round(m) .. "\u{4b}")
55else
55else
56−return round(m / 0x3e8) .. "\u{4d}"
56+return (round((m / 0x3e8)) .. "\u{4d}")
57end
57end
58end
58end
59end
59end
60local Cstacklevel
60local Cstacklevel
61local showmem
61local showmem
62−if not T then
62+if (not T) then
63local max = 0x0
63local max = 0x0
64showmem=function ()
64showmem=function ()
65−local m = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400
65+local m = (collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400)
66−max=(m > max) and m or max
66+max=(((m > max) and m) or max)
67print(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)))
67print(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)))
68end
68end
69Cstacklevel=function ()
69Cstacklevel=function ()
@@ -75,7 +75,7 @@ T.checkmemory()
75local total,numblocks,maxmem = T.totalmem()
75local total,numblocks,maxmem = T.totalmem()
76local count = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
76local count = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
77print(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))
77print(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}")))
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}")))
79end
79end
80Cstacklevel=function ()
80Cstacklevel=function ()
81local _,_,ncalls = T.stacklevel()
81local _,_,ncalls = T.stacklevel()
@@ -85,13 +85,13 @@ end
85local Cstack = Cstacklevel()
85local Cstack = Cstacklevel()
86local function report
86local function report
87(n)
87(n)
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}")
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}")))
89end
89end
90local olddofile = dofile
90local olddofile = dofile
91local dofile = function (n,strip)
91local dofile = function (n,strip)
92showmem()
92showmem()
93local c = os.clock()
93local c = os.clock()
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))
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)))
95lastclock=c
95lastclock=c
96report(n)
96report(n)
97local f = assert(loadfile(n))
97local f = assert(loadfile(n))
@@ -105,28 +105,28 @@ report("\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}")
105local f = assert(loadfile("\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}"))
105local f = assert(loadfile("\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}"))
106f()
106f()
107dofile("\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}")
107dofile("\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)
108+assert(((dofile("\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == deep) and deep))
109_G.deep=nil
109_G.deep=nil
110olddofile("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
110olddofile("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
111olddofile("\u{6c}\u{69}\u{74}\u{65}\u{72}\u{61}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
111olddofile("\u{6c}\u{69}\u{74}\u{65}\u{72}\u{61}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
112dofile("\u{74}\u{70}\u{61}\u{63}\u{6b}\u{2e}\u{6c}\u{75}\u{61}")
112dofile("\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}") == 0x1b)
113+assert((dofile("\u{61}\u{74}\u{74}\u{72}\u{69}\u{62}\u{2e}\u{6c}\u{75}\u{61}") == 0x1b))
114dofile("\u{67}\u{65}\u{6e}\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}")
114dofile("\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}") == 0x5)
115+assert((dofile("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == 0x5))
116dofile("\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}")
116dofile("\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}")
117dofile("\u{63}\u{6f}\u{64}\u{65}\u{2e}\u{6c}\u{75}\u{61}",true)
117dofile("\u{63}\u{6f}\u{64}\u{65}\u{2e}\u{6c}\u{75}\u{61}",true)
118−if not _G._soft then
118+if (not _G._soft) then
119report("\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}")
119report("\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}")
120local f = coroutine.wrap(assert(loadfile("\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}")))
120local f = coroutine.wrap(assert(loadfile("\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}")))
121−assert(f() == "\u{62}")
121+assert((f() == "\u{62}"))
122−assert(f() == "\u{61}")
122+assert((f() == "\u{61}"))
123end
123end
124dofile("\u{63}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{2e}\u{6c}\u{75}\u{61}")
124dofile("\u{63}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{2e}\u{6c}\u{75}\u{61}")
125dofile("\u{6e}\u{65}\u{78}\u{74}\u{76}\u{61}\u{72}\u{2e}\u{6c}\u{75}\u{61}")
125dofile("\u{6e}\u{65}\u{78}\u{74}\u{76}\u{61}\u{72}\u{2e}\u{6c}\u{75}\u{61}")
126dofile("\u{70}\u{6d}\u{2e}\u{6c}\u{75}\u{61}")
126dofile("\u{70}\u{6d}\u{2e}\u{6c}\u{75}\u{61}")
127dofile("\u{75}\u{74}\u{66}\u{38}\u{2e}\u{6c}\u{75}\u{61}")
127dofile("\u{75}\u{74}\u{66}\u{38}\u{2e}\u{6c}\u{75}\u{61}")
128dofile("\u{61}\u{70}\u{69}\u{2e}\u{6c}\u{75}\u{61}")
128dofile("\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}") == 0xc)
129+assert((dofile("\u{65}\u{76}\u{65}\u{6e}\u{74}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == 0xc))
130dofile("\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{2e}\u{6c}\u{75}\u{61}")
130dofile("\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{2e}\u{6c}\u{75}\u{61}")
131dofile("\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
131dofile("\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
132dofile("\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}")
132dofile("\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}")
@@ -135,11 +135,11 @@ dofile("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
135dofile("\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{6c}\u{75}\u{61}")
135dofile("\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{6c}\u{75}\u{61}")
136dofile("\u{73}\u{6f}\u{72}\u{74}\u{2e}\u{6c}\u{75}\u{61}",true)
136dofile("\u{73}\u{6f}\u{72}\u{74}\u{2e}\u{6c}\u{75}\u{61}",true)
137dofile("\u{62}\u{69}\u{74}\u{77}\u{69}\u{73}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
137dofile("\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) == 0xa)
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) == 0xa))
139;
139;
140collectgarbage()
140collectgarbage()
141dofile("\u{66}\u{69}\u{6c}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
141dofile("\u{66}\u{69}\u{6c}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
142−if # msgs > 0x0 then
142+if (# (msgs > 0x0)) then
143local m = table.concat(msgs,"\u{a}\u{20}\u{20}")
143local m = table.concat(msgs,"\u{a}\u{20}\u{20}")
144warn("\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}")
144warn("\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}")
145end
145end
@@ -151,19 +151,19 @@ 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
151warn("\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}")
151warn("\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}")
152warn("\u{40}\u{6f}\u{6e}")
152warn("\u{40}\u{6f}\u{6e}")
153warn("\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}")
153warn("\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}")
154−assert(debug == nil)
154+assert((debug == nil))
155local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
155local 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}") * 0x8,string.packsize("\u{6e}") * 0x8))
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}") * 0x8),(string.packsize("\u{6e}") * 0x8)))
157debug.sethook(function (a)
157debug.sethook(function (a)
158−assert(type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
158+assert((type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
159end,"\u{63}\u{72}")
159end,"\u{63}\u{72}")
160_G.showmem=showmem
160_G.showmem=showmem
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}")
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}")
162end
162end
163local _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
163local _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 "\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}"
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}")
165local lasttime
165local lasttime
166−if not usertests then
166+if (not usertests) then
167local f = io.open(fname)
167local f = io.open(fname)
168if f then
168if f then
169lasttime=assert(tonumber(f:read("\u{61}")))
169lasttime=assert(tonumber(f:read("\u{61}")))
@@ -176,7 +176,7 @@ end
176print("\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}")
176print("\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}")
177for n in pairs(_G)
177for n in pairs(_G)
178do
178do
179−if not ({["\u{5f}\u{5f}\u{5f}\u{47}\u{6c}\u{6f}\u{62}"] = 0x1,["\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = 0x1})[n] then
179+if (not ({["\u{5f}\u{5f}\u{5f}\u{47}\u{6c}\u{6f}\u{62}"] = 0x1,["\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = 0x1})[n]) then
180_G[n]=undef
180_G[n]=undef
181end
181end
182end
182end
@@ -188,15 +188,15 @@ collectgarbage()
188collectgarbage()
188collectgarbage()
189;
189;
190showmem()
190showmem()
191−local clocktime = clock() - initclock
191+local clocktime = (clock() - initclock)
192walltime=difftime(time(),walltime)
192walltime=difftime(time(),walltime)
193print(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))
193print(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))
194−if not usertests then
194+if (not usertests) then
195−lasttime=lasttime or clocktime
195+lasttime=(lasttime or clocktime)
196−local diff = (clocktime - lasttime) / lasttime
196+local diff = ((clocktime - lasttime) / lasttime)
197local tolerance = 0.05
197local tolerance = 0.05
198−if (diff >= tolerance or diff <= - tolerance) then
198+if ((diff >= tolerance) or (diff <= (- tolerance))) then
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 * 0x64))
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 * 0x64)))
200end
200end
201assert(open(fname,"\u{77}")):write(clocktime):close()
201assert(open(fname,"\u{77}")):write(clocktime):close()
202end
202end
zod/luau/res/lua/cycled/api.lua → desk/res/lua/cycled/api.luarenamed+308−308
@@ -1,4 +1,4 @@
1−if T == nil then
1+if (T == nil) then
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}")
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}")
3return
3return
4end
4end
@@ -7,42 +7,42 @@ local pack = table.pack
7local 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}"
7local 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}"
8local function tcheck
8local function tcheck
9(t1,t2)
9(t1,t2)
10−assert(t1.n == (t2.n or # t2) + 0x1)
10+assert((t1.n == ((t2.n or (# t2)) + 0x1)))
11for i = 0x2, t1.n
11for i = 0x2, t1.n
12do
12do
13−assert(t1[i] == t2[i - 0x1])
13+assert((t1[i] == t2[(i - 0x1)]))
14end
14end
15end
15end
16local function checkerr
16local function checkerr
17(msg,f, ...)
17(msg,f, ...)
18local stat,err = pcall(f,...)
18local stat,err = pcall(f,...)
19−assert(not stat and string.find(err,msg))
19+assert((not (stat and string.find(err,msg))))
20end
20end
21print("\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}")
21print("\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}")
22local 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}")
22local 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}")
23−assert(a == debug.getregistry())
23+assert((a == debug.getregistry()))
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}") == 0xa)
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}") == 0xa))
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}") == 0x1)
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}") == 0x1))
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}") == 0x1)
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}") == 0x1))
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}") < - 0xa)
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}") < (- 0xa)))
28a=T.d2s(12458954321123.0)
28a=T.d2s(12458954321123.0)
29−assert(a == string.pack("\u{64}",12458954321123.0))
29+assert((a == string.pack("\u{64}",12458954321123.0)))
30−assert(T.s2d(a) == 12458954321123.0)
30+assert((T.s2d(a) == 12458954321123.0))
31local 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}")
31local 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}")
32−assert(a == 0x2 and b == 0x3 and not c)
32+assert((((a == 0x2) and (b == 0x3)) and (not c)))
33local 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}")
33local 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}")
34a,b,c=f()
34a,b,c=f()
35−assert(a == 0x2 and b == 0x3 and not c)
35+assert((((a == 0x2) and (b == 0x3)) and (not c)))
36a,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}")
36a,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}")
37−assert(a == b and a == true and c == false)
37+assert((((a == b) and (a == true)) and (c == false)))
38a,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}")
38a,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}")
39−assert(a == false and b == true and c == false)
39+assert((((a == false) and (b == true)) and (c == false)))
40a,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}",0xa,0x14,0x1e,0x28)
40a,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}",0xa,0x14,0x1e,0x28)
41−assert(a == 0x28 and b == 0x5 and not c)
41+assert((((a == 0x28) and (b == 0x5)) and (not c)))
42local 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}",0x2,0x3))
42local 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}",0x2,0x3))
43tcheck(t,{["\u{6e}"] = 0x4,0x2,0x3})
43tcheck(t,{["\u{6e}"] = 0x4,0x2,0x3})
44t=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}",0x3,0x1,0x17))
44t=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}",0x3,0x1,0x17))
45−assert(t.n == 0xa and t[0x1] == nil and t[0xa] == nil)
45+assert((((t.n == 0xa) and (t[0x1] == nil)) and (t[0xa] == nil)))
46t=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}",0x2,0x3,0x4))
46t=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}",0x2,0x3,0x4))
47tcheck(t,{["\u{6e}"] = 0x2,0x2,0x4})
47tcheck(t,{["\u{6e}"] = 0x2,0x2,0x4})
48t=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}",0x2,0x3))
48t=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}",0x2,0x3))
@@ -61,7 +61,7 @@ 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{3
61tcheck(t,{["\u{6e}"] = 0x4,0x2,0x3,0x4,0x3})
61tcheck(t,{["\u{6e}"] = 0x4,0x2,0x3,0x4,0x3})
62do
62do
63local t = {0xa,0x14,0x1e,0x28,0x32,0x3c}
63local t = {0xa,0x14,0x1e,0x28,0x32,0x3c}
64−for i = - 0x6, 0x6
64+for i = (- 0x6), 0x6
65do
65do
66local 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)
66local 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)
67local t1 = pack(T.testC(s,0xa,0x14,0x1e,0x28,0x32,0x3c))
67local t1 = pack(T.testC(s,0xa,0x14,0x1e,0x28,0x32,0x3c))
@@ -83,9 +83,9 @@ 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
83do
83do
84local 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}")
84local 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}")
85local msg,st = f(string.upper)
85local msg,st = f(string.upper)
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}")
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}")))
87local msg,st = f(string.len)
87local msg,st = f(string.len)
88−assert(st == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and msg == 0x4)
88+assert(((st == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}") and (msg == 0x4)))
89end
89end
90t=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}",0x2,0x3,0x4,0x5,0xa,0x28,0x5a))
90t=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}",0x2,0x3,0x4,0x5,0xa,0x28,0x5a))
91tcheck(t,{["\u{6e}"] = 0x7,0x2,0x3,0x4,0x5,0xa,0x28,0x5a})
91tcheck(t,{["\u{6e}"] = 0x7,0x2,0x3,0x4,0x5,0xa,0x28,0x5a})
@@ -104,195 +104,195 @@ end
104;
104;
105a[0x3e7]=0xa
105a[0x3e7]=0xa
106local 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)
106local 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}")
107+assert((b == "\u{31}\u{30}"))
108end
108end
109_G.AA=0xe
109_G.AA=0xe
110;
110;
111_G.BB="\u{61}\u{33}\u{31}"
111_G.BB="\u{61}\u{33}\u{31}"
112local 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}")}
112local 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[0x2] == 0xe and a[0x3] == "\u{61}\u{33}\u{31}" and a[0x4] == nil and _G.AA == "\u{61}\u{33}\u{31}")
113+assert(((((a[0x2] == 0xe) and (a[0x3] == "\u{61}\u{33}\u{31}")) and (a[0x4] == nil)) and (_G.AA == "\u{61}\u{33}\u{31}")))
114_G.AA,_G.BB=nil
114_G.AA,_G.BB=nil
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)
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}") == - 0xa)
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}") == (- 0xa)))
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}") == - 0xc8)
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}") == (- 0xc8)))
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}") == 0x3e8)
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}") == 0x3e8))
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)
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}") == - 0xa)
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}") == (- 0xa)))
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}") == - 0xc8)
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}") == (- 0xc8)))
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}") == 0x3e8)
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}") == 0x3e8))
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}",0x2,0x0) == 10.0 / 0x0)
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}",0x2,0x0) == (10.0 / 0x0)))
124a=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}")
124a=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}")
125+assert(((a == 3.0) and (math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")))
126a=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}")
126a=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 == 0x3 and math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
127+assert(((a == 0x3) and (math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")))
128a=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}"))
128a=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 == 0xd and math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
129+assert(((a == 0xd) and (math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")))
130a=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}"))
130a=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 == 0xd and math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
131+assert(((a == 0xd) and (math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")))
132a,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}")
132a,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 == 0x1 and b == - 0xa and c == "\u{35}")
133+assert(((a == 0x1) and (b == (- (0xa and (c == "\u{35}"))))))
134local mt = {["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = function (a,b)
134local mt = {["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = function (a,b)
135−return setmetatable({a[0x1] + b[0x1]},mt)
135+return setmetatable({(a[0x1] + b[0x1])},mt)
136end,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = function (a,b)
136end,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = function (a,b)
137−return setmetatable({a[0x1] % b[0x1]},mt)
137+return setmetatable({(a[0x1] % b[0x1])},mt)
138end,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = function (a)
138end,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = function (a)
139−return setmetatable({a[0x1] * 0x2},mt)
139+return setmetatable({(a[0x1] * 0x2)},mt)
140end}
140end}
141−a,b,c=setmetatable({0x4},mt),setmetatable({0x8},mt),setmetatable({- 0x3},mt)
141+a,b,c=setmetatable({0x4},mt),setmetatable({0x8},mt),setmetatable({(- 0x3)},mt)
142local 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}",0xa,a,b)
142local 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}",0xa,a,b)
143−assert(x == 0xa and y[0x1] == 0xc and z == nil)
143+assert((((x == 0xa) and (y[0x1] == 0xc)) and (z == nil)))
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)[0x1] == 0x4 % - 0x3)
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)[0x1] == (0x4 % (- 0x3))))
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)[0x1] == 0x8 % (0x4 + (- 0x3) * 0x2))
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)[0x1] == (0x8 % (0x4 + ((- 0x3) * 0x2)))))
146checkerr("\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}",0xa,0x0)
146checkerr("\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}",0xa,0x0)
147checkerr("\u{25}\u{25}\u{30}",T.testC,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}",0xa,0x0)
147checkerr("\u{25}\u{25}\u{30}",T.testC,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}",0xa,0x0)
148assert(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}",0x3,0x2,0x2,0x4,0x2,0x2))
148assert(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}",0x3,0x2,0x2,0x4,0x2,0x2))
149assert(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}",0x3,0x2,0x2,0x4,0x2,0x2))
149assert(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}",0x3,0x2,0x2,0x4,0x2,0x2))
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}",0x3,0x2,0x2,0x4,0x2,0x2))
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}",0x3,0x2,0x2,0x4,0x2,0x2)))
151assert(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}",0x3,0x2,0x2,0x4,0x2,0x2))
151assert(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}",0x3,0x2,0x2,0x4,0x2,0x2))
152assert(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}",0x4,0x2,0x2,0x3,0x2,0x2))
152assert(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}",0x4,0x2,0x2,0x3,0x2,0x2))
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}"))
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}"))
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}"))
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}"))
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}"))
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}")))
158local b = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
158local b = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
159−return a[0x1] < b[0x1]
159+return (a[0x1] < b[0x1])
160end}
160end}
161local a1,a3,a4 = setmetatable({0x1},b),setmetatable({0x3},b),setmetatable({0x4},b)
161local a1,a3,a4 = setmetatable({0x1},b),setmetatable({0x3},b),setmetatable({0x4},b)
162assert(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,0x2,0x2,a4,0x2,0x2))
162assert(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,0x2,0x2,a4,0x2,0x2))
163assert(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,0x2,0x2,a4,0x2,0x2))
163assert(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,0x2,0x2,a4,0x2,0x2))
164assert(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,0x2,0x2,a3,0x2,0x2))
164assert(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,0x2,0x2,a3,0x2,0x2))
165a,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,0x2,0x2,a3,0x2,0x14)
165a,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,0x2,0x2,a3,0x2,0x14)
166−assert(a == 0x14 and b == false)
166+assert(((a == 0x14) and (b == false)))
167a,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,0x2,0x2,a3,0x2,0x14)
167a,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,0x2,0x2,a3,0x2,0x14)
168−assert(a == 0x14 and b == false)
168+assert(((a == 0x14) and (b == false)))
169a,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,0x2,0x2,a1,0x2,0x14)
169a,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,0x2,0x2,a1,0x2,0x14)
170−assert(a == 0x14 and b == true)
170+assert(((a == 0x14) and (b == true)))
171do
171do
172local mt = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
172local mt = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
173−return a[0x1] < b[0x1]
173+return (a[0x1] < b[0x1])
174end,["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
174end,["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
175−return a[0x1] <= b[0x1]
175+return (a[0x1] <= b[0x1])
176end,["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
176end,["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
177−return a[0x1] == b[0x1]
177+return (a[0x1] == b[0x1])
178end}
178end}
179local function O
179local function O
180(x)
180(x)
181return setmetatable({x},mt)
181return setmetatable({x},mt)
182end
182end
183local 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(0x1),O(0x2))
183local 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(0x1),O(0x2))
184−assert(a == true and b == 0xa)
184+assert(((a == true) and (b == 0xa)))
185local 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(0x3),O(0x2))
185local 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(0x3),O(0x2))
186−assert(a == false and b == 0xa)
186+assert(((a == false) and (b == 0xa)))
187local 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(0x3),O(0x3))
187local 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(0x3),O(0x3))
188−assert(a == true and b == 0xa)
188+assert(((a == true) and (b == 0xa)))
189end
189end
190local t = setmetatable({["\u{78}"] = 0x14},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (t)
190local t = setmetatable({["\u{78}"] = 0x14},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (t)
191return t.x
191return t.x
192end})
192end})
193a,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)
193a,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)
194−assert(a == 0x14 and b == 0x14 and c == 0x0)
194+assert((((a == 0x14) and (b == 0x14)) and (c == 0x0)))
195t.x="\u{32}\u{33}\u{34}"
195t.x="\u{32}\u{33}\u{34}"
196;
196;
197t[0x1]=0x14
197t[0x1]=0x14
198a,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)
198a,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 == 0xea and c == 0x1)
199+assert((((a == "\u{32}\u{33}\u{34}") and (b == 0xea)) and (c == 0x1)))
200t.x=print
200t.x=print
201;
201;
202t[0x1]=0x14
202t[0x1]=0x14
203a,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)
203a,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)
204−assert(a == print and c == 0x1)
204+assert(((a == print) and (c == 0x1)))
205a=setmetatable({["\u{78}"] = "\u{75}"},{["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
205a=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
206+return (a.x .. ("\u{2e}" .. b.x))
207end})
207end})
208x,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)
208x,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)
209−assert(x == a .. a and y == 0x5)
209+assert(((x == (a .. a)) and (y == 0x5)))
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}") == "")
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}")
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}"))
212local function B
212local function B
213(x)
213(x)
214−return x and 0x1 or 0x0
214+return ((x and 0x1) or 0x0)
215end
215end
216local function count
216local function count
217(x,n)
217(x,n)
218−n=n or 0x2
218+n=(n or 0x2)
219local 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}"
219local 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}"
220prog=string.format(prog,n,n,n,n,n,n,n,n)
220prog=string.format(prog,n,n,n,n,n,n,n,n)
221local a,b,c,d,e,f,g,h = T.testC(prog,x)
221local a,b,c,d,e,f,g,h = T.testC(prog,x)
222−return B(a) + B(b) + B(c) + B(d) + B(e) + B(f) + B(g) + (0x64 * B(h))
222+return (((((((B(a) + B(b)) + B(c)) + B(d)) + B(e)) + B(f)) + B(g)) + (0x64 * B(h)))
223−end
223+end
224−assert(count(0x3) == 0x2)
224+assert((count(0x3) == 0x2))
225−assert(count("\u{61}\u{6c}\u{6f}") == 0x1)
225+assert((count("\u{61}\u{6c}\u{6f}") == 0x1))
226−assert(count("\u{33}\u{32}") == 0x2)
226+assert((count("\u{33}\u{32}") == 0x2))
227−assert(count({}) == 0x1)
227+assert((count({}) == 0x1))
228−assert(count(print) == 0x2)
228+assert((count(print) == 0x2))
229−assert(count(function ()
229+assert((count(function ()
230
230
231−end) == 0x1)
231+end) == 0x1))
232−assert(count(nil) == 0x1)
232+assert((count(nil) == 0x1))
233−assert(count(io.stdin) == 0x1)
233+assert((count(io.stdin) == 0x1))
234−assert(count(nil,0xf) == 0x64)
234+assert((count(nil,0xf) == 0x64))
235local function to
235local function to
236(s,x,n)
236(s,x,n)
237−n=n or 0x2
237+n=(n or 0x2)
238return 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)
238return 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)
239end
239end
240local null = T.pushuserdata(0x0)
240local null = T.pushuserdata(0x0)
241local hfunc = string.gmatch("","")
241local hfunc = string.gmatch("","")
242assert(debug.getupvalue(hfunc,0x1))
242assert(debug.getupvalue(hfunc,0x1))
243−assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",{}) == nil)
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}")
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}",0xc) == "\u{31}\u{32}")
245+assert((to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",0xc) == "\u{31}\u{32}"))
246−assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",0xc,0x3) == nil)
246+assert((to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",0xc,0x3) == nil))
247−assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{}) == 0x0)
247+assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{}) == 0x0))
248−assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{0x1,0x2,0x3}) == 0x3)
248+assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{0x1,0x2,0x3}) == 0x3))
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}") == 0x6)
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}") == 0x6))
250−assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0x0)) == 0x0)
250+assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0x0)) == 0x0))
251−assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0x65)) == 0x65)
251+assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0x65)) == 0x65))
252−assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",0x7c) == 0x0)
252+assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",0x7c) == 0x0))
253−assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",true) == 0x0)
253+assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",true) == 0x0))
254−assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",{}) == 0x0)
254+assert((to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",{}) == 0x0))
255−assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{31}\u{32}") == 0xc)
255+assert((to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{31}\u{32}") == 0xc))
256−assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{73}\u{32}") == 0x0)
256+assert((to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{73}\u{32}") == 0x0))
257−assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",0x1,0x14) == 0x0)
257+assert((to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",0x1,0x14) == 0x0))
258−assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",0xa) == null)
258+assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",0xa) == null))
259−assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",true) == 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)
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)
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}",0xa)) == to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",string.rep("\u{78}",0xa)))
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}",0xa)) == to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",string.rep("\u{78}",0xa))))
263do
263do
264local s1 = string.rep("\u{78}",0x12c)
264local s1 = string.rep("\u{78}",0x12c)
265local s2 = string.rep("\u{78}",0x12c)
265local s2 = string.rep("\u{78}",0x12c)
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))
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)))
267end
267end
268−assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",T.pushuserdata(0x14)) ~= null)
268+assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",T.pushuserdata(0x14)) ~= 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)
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)
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 ()
271+assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",function ()
272
272
273−end) ~= null)
273+end) ~= null))
274−assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",io.stdin) ~= null)
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}",0x14) == 0x0)
275+assert((to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",0x14) == 0x0))
276−assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",T.pushuserdata(0xa)) == 0x0)
276+assert((to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",T.pushuserdata(0xa)) == 0x0))
277−assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",io.read) ~= 0x0)
277+assert((to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",io.read) ~= 0x0))
278−assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",hfunc) ~= 0x0)
278+assert((to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",hfunc) ~= 0x0))
279a=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)
279a=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)
280−assert(a(0x3) == math.deg(0x3) and a == math.deg)
280+assert(((a(0x3) == math.deg(0x3)) and (a == math.deg)))
281print("\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}")
281print("\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}")
282do
282do
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}")
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}")
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}")
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}"))
286−T.totalmem(T.totalmem() + 0x2710)
286+T.totalmem((T.totalmem() + 0x2710))
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)
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))
288T.totalmem(0x0)
288T.totalmem(0x0)
289−if not _soft then
289+if (not _soft) then
290local 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}")
290local 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}")
291assert(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}"))
291assert(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}"))
292end
292end
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}")
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}"))
294end
294end
295−if not _soft then
295+if (not _soft) then
296print("\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}")
296print("\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}")
297collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
297collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
298checkerr("\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}")
298checkerr("\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}")
@@ -302,42 +302,42 @@ checkerr("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",T.testC,s)
302collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
302collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
303print("\u{2b}")
303print("\u{2b}")
304end
304end
305−local lim = _soft and 0x1f4 or 0x2ee0
305+local lim = ((_soft and 0x1f4) or 0x2ee0)
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 * 0x2 + 0x64) .. "\u{6d}\u{73}\u{67}","\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}"}
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 * 0x2) + 0x64) .. "\u{6d}\u{73}\u{67}")),"\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}"}
307for i = 0x1, lim
307for i = 0x1, lim
308do
308do
309−prog[# prog + 0x1]="\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. i
309+prog[(# (prog + 0x1))]=("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. i)
310−prog[# prog + 0x1]="\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. i * 0xa
310+prog[(# (prog + 0x1))]=("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. (i * 0xa))
311end
311end
312−prog[# prog + 0x1]="\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{32}"
312+prog[(# (prog + 0x1))]="\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 + 0x1]="\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}" .. - (0x2 * lim + 0x2)
313+prog[(# (prog + 0x1))]=("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}" .. (- ((0x2 * lim) + 0x2)))
314for i = 0x1, lim
314for i = 0x1, lim
315do
315do
316−prog[# prog + 0x1]="\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}" .. - (0x2 * (lim - i + 0x1) + 0x1)
316+prog[(# (prog + 0x1))]=("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}" .. (- ((0x2 * ((lim - i) + 0x1)) + 0x1)))
317end
317end
318−prog[# prog + 0x1]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}"
318+prog[(# (prog + 0x1))]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}"
319prog=table.concat(prog,"\u{3b}")
319prog=table.concat(prog,"\u{3b}")
320local g,t = T.testC(prog)
320local g,t = T.testC(prog)
321−assert(g == _G)
321+assert((g == _G))
322for i = 0x1, lim
322for i = 0x1, lim
323do
323do
324−assert(t[i] == i * 0xa)
324+assert((t[i] == (i * 0xa)))
325;
325;
326t[i]=undef
326t[i]=undef
327end
327end
328−assert(next(t) == nil)
328+assert((next(t) == nil))
329prog,g,t=nil
329prog,g,t=nil
330a=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)
330a=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)
331−assert(a == nil)
331+assert((a == nil))
332;
332;
333return 0x3
333return 0x3
334end)
334end)
335−assert(type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and XX == 0x96)
335+assert(((type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (XX == 0x96)))
336_G.XX=nil
336_G.XX=nil
337local function check3
337local function check3
338(p, ...)
338(p, ...)
339local arg = {...}
339local arg = {...}
340−assert(# arg == 0x3)
340+assert((# (arg == 0x3)))
341assert(string.find(arg[0x3],p))
341assert(string.find(arg[0x3],p))
342end
342end
343check3("\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}"))
343check3("\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}"))
@@ -349,9 +349,9 @@ local th = coroutine.create(function ()
349
349
350end)
350end)
351local stt,err = pcall(T.testC,th,code)
351local stt,err = pcall(T.testC,th,code)
352−assert(not stt and string.find(err,msg))
352+assert((not (stt and string.find(err,msg))))
353end
353end
354−if not _soft then
354+if (not _soft) then
355collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
355collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
356checkerrnopro("\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}")
356checkerrnopro("\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}")
357print("\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}")
357print("\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}")
@@ -366,64 +366,64 @@ print("\u{2b}")
366do
366do
367local a = {}
367local a = {}
368local 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,0x14)
368local 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,0x14)
369−assert(a == a1)
369+assert((a == a1))
370−assert(a[T.pushuserdata(0x1)] == 0x14)
370+assert((a[T.pushuserdata(0x1)] == 0x14))
371local 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)
371local 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)
372−assert(a == a1 and res == 0x14)
372+assert(((a == a1) and (res == 0x14)))
373end
373end
374do
374do
375local a = {}
375local a = {}
376a[a]=0xa
376a[a]=0xa
377local 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}"
377local 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}"
378local res = {T.testC(prog,a)}
378local res = {T.testC(prog,a)}
379−assert(# res == 0x2 and res[0x1] == prog and res[0x2] == 0xa)
379+assert((# (((res == 0x2) and (res[0x1] == prog)) and (res[0x2] == 0xa))))
380local 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}"
380local 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}"
381local res = {T.testC(prog,a,0x14)}
381local res = {T.testC(prog,a,0x14)}
382−assert(a[a] == 0x14)
382+assert((a[a] == 0x14))
383−assert(# res == 0x1 and res[0x1] == prog)
383+assert((# ((res == 0x1) and (res[0x1] == prog))))
384a[a]=0xa
384a[a]=0xa
385local 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}"
385local 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}"
386local res = {T.testC(prog,a)}
386local res = {T.testC(prog,a)}
387−assert(# res == 0x2 and res[0x1] == prog and res[0x2] == 0xa)
387+assert((# (((res == 0x2) and (res[0x1] == prog)) and (res[0x2] == 0xa))))
388local 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}"
388local 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}"
389local res = {T.testC(prog,a,0x14)}
389local res = {T.testC(prog,a,0x14)}
390−assert(a[a] == 0x14)
390+assert((a[a] == 0x14))
391−assert(# res == 0x1 and res[0x1] == prog)
391+assert((# ((res == 0x1) and (res[0x1] == prog))))
392local 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}"
392local 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}"
393local res = {T.testC(prog,0x1e,a)}
393local res = {T.testC(prog,0x1e,a)}
394−assert(a[0x1e] == a)
394+assert((a[0x1e] == a))
395−assert(# res == 0x1 and res[0x1] == prog)
395+assert((# ((res == 0x1) and (res[0x1] == prog))))
396local 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}"
396local 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}"
397local res = {T.testC(prog,0x28,a)}
397local res = {T.testC(prog,0x28,a)}
398−assert(a[0x28] == a)
398+assert((a[0x28] == a))
399−assert(# res == 0x1 and res[0x1] == prog)
399+assert((# ((res == 0x1) and (res[0x1] == prog))))
400local 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}"
400local 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}"
401local res = {T.testC(prog,a)}
401local res = {T.testC(prog,a)}
402−assert(a[0x64] == a)
402+assert((a[0x64] == a))
403−assert(# res == 0x1 and res[0x1] == prog)
403+assert((# ((res == 0x1) and (res[0x1] == prog))))
404local 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}"
404local 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}"
405local res = {T.testC(prog,a)}
405local res = {T.testC(prog,a)}
406−assert(a[0xc8] == a)
406+assert((a[0xc8] == a))
407−assert(# res == 0x1 and res[0x1] == prog)
407+assert((# ((res == 0x1) and (res[0x1] == prog))))
408end
408end
409a={["\u{78}"] = 0x0,["\u{79}"] = 0xc}
409a={["\u{78}"] = 0x0,["\u{79}"] = 0xc}
410x,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,0x3,"\u{79}",0x4,"\u{78}")
410x,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,0x3,"\u{79}",0x4,"\u{78}")
411−assert(x == 0x0 and y == 0xc)
411+assert(((x == 0x0) and (y == 0xc)))
412T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{35}",a,0x3,0x4,"\u{78}",0xf)
412T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{35}",a,0x3,0x4,"\u{78}",0xf)
413−assert(a.x == 0xf)
413+assert((a.x == 0xf))
414a[a]=print
414a[a]=print
415x=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)
415x=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)
416−assert(x == print)
416+assert((x == print))
417T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",a,"\u{78}")
417T.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}")
418+assert((a[a] == "\u{78}"))
419b=setmetatable({["\u{70}"] = a},{})
419b=setmetatable({["\u{70}"] = a},{})
420getmetatable(b).__index=function (t,i)
420getmetatable(b).__index=function (t,i)
421return t.p[i]
421return t.p[i]
422end
422end
423local 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}",0x4,b,0x14,0x23,"\u{78}")
423local 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}",0x4,b,0x14,0x23,"\u{78}")
424−assert(x == 0xf and k == 0x23)
424+assert(((x == 0xf) and (k == 0x23)))
425k=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)
425k=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)
426−assert(k == 0xc)
426+assert((k == 0xc))
427getmetatable(b).__index=function (t,i)
427getmetatable(b).__index=function (t,i)
428return a[i]
428return a[i]
429end
429end
@@ -431,20 +431,20 @@ getmetatable(b).__newindex=function (t,i,v)
431a[i]=v
431a[i]=v
432end
432end
433y=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}",0x2,0x3,0x4,"\u{79}",b)
433y=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}",0x2,0x3,0x4,"\u{79}",b)
434−assert(y == 0xc)
434+assert((y == 0xc))
435k=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,0x3,0x4,"\u{78}",0x10)
435k=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,0x3,0x4,"\u{78}",0x10)
436−assert(a.x == 0x10 and k == 0x4)
436+assert(((a.x == 0x10) and (k == 0x4)))
437a[b]="\u{78}\u{75}\u{78}\u{75}"
437a[b]="\u{78}\u{75}\u{78}\u{75}"
438y=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)
438y=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}")
439+assert((y == "\u{78}\u{75}\u{78}\u{75}"))
440T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",b,0x13)
440T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",b,0x13)
441−assert(a[b] == 0x13)
441+assert((a[b] == 0x13))
442do
442do
443local 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}"] = 0x20}
443local 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}"] = 0x20}
444local 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)
444local 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)
445−assert(a == 0x20)
445+assert((a == 0x20))
446local 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}")
446local 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}")
447−assert(_012345678901234567890123456789012345678901234567890123456789 == 0x21)
447+assert((_012345678901234567890123456789012345678901234567890123456789 == 0x21))
448_012345678901234567890123456789012345678901234567890123456789=nil
448_012345678901234567890123456789012345678901234567890123456789=nil
449end
449end
450a={}
450a={}
@@ -458,33 +458,33 @@ tcheck(t,{["\u{6e}"] = 0x1,a})
458do
458do
459local 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}")
459local 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}")
460t,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}")
460t,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 == 0xa and c == 0x14 and type(t) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
461+assert((((b == 0xa) and (c == 0x14)) and (type(t) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")))
462a,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}")
462a,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}")
463−assert(a == nil and b == 0x0)
463+assert(((a == nil) and (b == 0x0)))
464A("\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}")
464A("\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}")
465b,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}")
465b,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}")
466−assert(b == 0x64 and c == 0xc8)
466+assert(((b == 0x64) and (c == 0xc8)))
467A("\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}"] = 0x1},{["\u{78}"] = 0x2})
467A("\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}"] = 0x1},{["\u{78}"] = 0x2})
468b,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}")
468b,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}")
469−assert(b.x == 0x1 and c.x == 0x2)
469+assert(((b.x == 0x1) and (c.x == 0x2)))
470T.checkmemory()
470T.checkmemory()
471end
471end
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)
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)
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)
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))
475local 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}")
475local 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}")
476−assert(T.upvalue(f,0x1) == 0xa and T.upvalue(f,0x2) == 0x14 and T.upvalue(f,0x3) == nil)
476+assert((((T.upvalue(f,0x1) == 0xa) and (T.upvalue(f,0x2) == 0x14)) and (T.upvalue(f,0x3) == nil)))
477T.upvalue(f,0x2,"\u{78}\u{75}\u{78}\u{75}")
477T.upvalue(f,0x2,"\u{78}\u{75}\u{78}\u{75}")
478−assert(T.upvalue(f,0x2) == "\u{78}\u{75}\u{78}\u{75}")
478+assert((T.upvalue(f,0x2) == "\u{78}\u{75}\u{78}\u{75}"))
479do
479do
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}",0xff) .. "\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}"
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}",0xff) .. "\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}"))
481A=T.testC(A)
481A=T.testC(A)
482for i = 0x1, 0xff
482for i = 0x1, 0xff
483do
483do
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)) == 0xa)
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)) == 0xa))
485end
485end
486assert(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}"))
486assert(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}"))
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}")))
488end
488end
489checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",debug.setuservalue,0x3,{})
489checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",debug.setuservalue,0x3,{})
490checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{69}\u{6c}",debug.setuservalue,nil,{})
490checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{69}\u{6c}",debug.setuservalue,nil,{})
@@ -493,13 +493,13 @@ local b = T.newuserdata(0x0,0xa)
493for i = 0x1, 0xa
493for i = 0x1, 0xa
494do
494do
495local v,p = debug.getuservalue(b,i)
495local v,p = debug.getuservalue(b,i)
496−assert(v == nil and p)
496+assert(((v == nil) and p))
497end
497end
498do
498do
499−local v,p = debug.getuservalue(b,- 0x2)
499+local v,p = debug.getuservalue(b,(- 0x2))
500−assert(v == nil and not p)
500+assert(((v == nil) and (not p)))
501local v,p = debug.getuservalue(b,0xb)
501local v,p = debug.getuservalue(b,0xb)
502−assert(v == nil and not p)
502+assert(((v == nil) and (not p)))
503end
503end
504local t = {true,false,4.56,print,{},b,"\u{58}\u{59}\u{5a}"}
504local t = {true,false,4.56,print,{},b,"\u{58}\u{59}\u{5a}"}
505for k,v in ipairs(t)
505for k,v in ipairs(t)
@@ -509,24 +509,24 @@ end
509for k,v in ipairs(t)
509for k,v in ipairs(t)
510do
510do
511local v1,p = debug.getuservalue(b,k)
511local v1,p = debug.getuservalue(b,k)
512−assert(v1 == v and p)
512+assert(((v1 == v) and p))
513end
513end
514−assert(not debug.getuservalue(0x4))
514+assert((not debug.getuservalue(0x4)))
515debug.setuservalue(b,function ()
515debug.setuservalue(b,function ()
516return 0xa
516return 0xa
517end,0xa)
517end,0xa)
518collectgarbage()
518collectgarbage()
519−assert(debug.getuservalue(b,0xa)() == 0xa)
519+assert((debug.getuservalue(b,0xa)() == 0xa))
520debug.setuservalue(b,0x86)
520debug.setuservalue(b,0x86)
521collectgarbage()
521collectgarbage()
522−assert(debug.getuservalue(b) == 0x86)
522+assert((debug.getuservalue(b) == 0x86))
523do
523do
524local oldmode = collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
524local oldmode = collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
525T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
525T.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}")
526+assert((T.gccolor(b) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}"))
527debug.setuservalue(b,{["\u{78}"] = 0x64})
527debug.setuservalue(b,{["\u{78}"] = 0x64})
528T.gcstate("\u{70}\u{61}\u{75}\u{73}\u{65}")
528T.gcstate("\u{70}\u{61}\u{75}\u{73}\u{65}")
529−assert(debug.getuservalue(b).x == 0x64)
529+assert((debug.getuservalue(b).x == 0x64))
530collectgarbage(oldmode)
530collectgarbage(oldmode)
531end
531end
532for i = 0x1, 0x3e8
532for i = 0x1, 0x3e8
@@ -540,21 +540,21 @@ for i = 0x1, 0x3e8
540do
540do
541b=debug.getuservalue(b)
541b=debug.getuservalue(b)
542end
542end
543−assert(debug.getuservalue(b).x == 0x64)
543+assert((debug.getuservalue(b).x == 0x64))
544b=nil
544b=nil
545local i = T.ref({})
545local i = T.ref({})
546T.unref(i)
546T.unref(i)
547−assert(T.ref({}) == i)
547+assert((T.ref({}) == i))
548local Arr = {}
548local Arr = {}
549local Lim = 0x64
549local Lim = 0x64
550for i = 0x1, Lim
550for i = 0x1, Lim
551do
551do
552Arr[i]=T.ref({})
552Arr[i]=T.ref({})
553end
553end
554−assert(T.ref(nil) == - 0x1 and T.getref(- 0x1) == nil)
554+assert((T.ref(nil) == (- (0x1 and (T.getref((- 0x1)) == nil)))))
555−T.unref(- 0x1)
555+T.unref((- 0x1))
556;
556;
557−T.unref(- 0x1)
557+T.unref((- 0x1))
558for i = 0x1, Lim
558for i = 0x1, Lim
559do
559do
560T.unref(Arr[i])
560T.unref(Arr[i])
@@ -577,11 +577,11 @@ for i = 0x1, Lim, 0x2
577do
577do
578T.unref(Arr[i])
578T.unref(Arr[i])
579end
579end
580−assert(type(T.getref(Arr[0x2])) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
580+assert((type(T.getref(Arr[0x2])) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
581−assert(T.getref(- 0x1) == nil)
581+assert((T.getref((- 0x1)) == nil))
582a=T.ref({})
582a=T.ref({})
583collectgarbage()
583collectgarbage()
584−assert(type(T.getref(a)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
584+assert((type(T.getref(a)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
585local tt = {}
585local tt = {}
586local cl = {["\u{6e}"] = 0x0}
586local cl = {["\u{6e}"] = 0x0}
587A=nil
587A=nil
@@ -593,13 +593,13 @@ local udval = T.udataval(x)
593table.insert(cl,udval)
593table.insert(cl,udval)
594local d = T.newuserdata(0x64)
594local d = T.newuserdata(0x64)
595d=nil
595d=nil
596−assert(debug.getmetatable(x).__gc == F)
596+assert((debug.getmetatable(x).__gc == F))
597assert(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}"))()
597assert(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}"))()
598−assert(not collectgarbage())
598+assert((not collectgarbage()))
599local dummy = {}
599local dummy = {}
600−if A ~= nil then
600+if (A ~= nil) then
601−assert(type(A) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
601+assert((type(A) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}"))
602−assert(T.udataval(A) == B)
602+assert((T.udataval(A) == B))
603debug.getmetatable(A)
603debug.getmetatable(A)
604end
604end
605A=x
605A=x
@@ -615,21 +615,21 @@ collectgarbage()
615local x = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
615local x = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
616;
616;
617local a = T.newuserdata(0x1389)
617local a = T.newuserdata(0x1389)
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) == 0x1389)
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) == 0x1389))
619−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 0x4)
619+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= (x + 0x4)))
620a=nil
620a=nil
621collectgarbage()
621collectgarbage()
622;
622;
623−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 0x1)
623+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= (x + 0x1)))
624x=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
624x=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
625collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
625collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
626for i = 0x1, 0x3e8
626for i = 0x1, 0x3e8
627do
627do
628T.newuserdata(0x0)
628T.newuserdata(0x0)
629end
629end
630−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > x + 0xa)
630+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > (x + 0xa)))
631collectgarbage()
631collectgarbage()
632−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 0x1)
632+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= (x + 0x1)))
633collectgarbage()
633collectgarbage()
634x=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
634x=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
635collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
635collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
@@ -640,11 +640,11 @@ for i = 0x1, 0x3e8
640do
640do
641debug.setmetatable(T.newuserdata(0x0),a)
641debug.setmetatable(T.newuserdata(0x0),a)
642end
642end
643−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 0xa)
643+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= (x + 0xa)))
644collectgarbage()
644collectgarbage()
645−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 0xa)
645+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= (x + 0xa)))
646collectgarbage()
646collectgarbage()
647−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 0x1)
647+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= (x + 0x1)))
648collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
648collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
649end
649end
650collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
650collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
@@ -667,7 +667,7 @@ x=T.newuserdata(0x4)
667y=T.newuserdata(0x0)
667y=T.newuserdata(0x0)
668checkerr("\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)
668checkerr("\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)
669checkerr("\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)
669checkerr("\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)
670−assert(debug.getmetatable(x) == nil and debug.getmetatable(y) == nil)
670+assert(((debug.getmetatable(x) == nil) and (debug.getmetatable(y) == nil)))
671local d = T.ref(a)
671local d = T.ref(a)
672;
672;
673local e = T.ref(b)
673local e = T.ref(b)
@@ -675,7 +675,7 @@ local e = T.ref(b)
675local f = T.ref(c)
675local f = T.ref(c)
676;
676;
677t={T.getref(d),T.getref(e),T.getref(f)}
677t={T.getref(d),T.getref(e),T.getref(f)}
678−assert(t[0x1] == a and t[0x2] == b and t[0x3] == c)
678+assert((((t[0x1] == a) and (t[0x2] == b)) and (t[0x3] == c)))
679t=nil
679t=nil
680;
680;
681a=nil
681a=nil
@@ -686,9 +686,9 @@ T.unref(e)
686;
686;
687T.unref(f)
687T.unref(f)
688collectgarbage()
688collectgarbage()
689−assert(# cl == 0x1 and cl[0x1] == nc)
689+assert((# ((cl == 0x1) and (cl[0x1] == nc))))
690x=T.getref(d)
690x=T.getref(d)
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)
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)))
692x=nil
692x=nil
693tt.b=b
693tt.b=b
694tt=nil
694tt=nil
@@ -700,11 +700,11 @@ local n5 = T.newuserdata(0x0)
700debug.setmetatable(n5,{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
700debug.setmetatable(n5,{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
701n5=T.udataval(n5)
701n5=T.udataval(n5)
702collectgarbage()
702collectgarbage()
703−assert(# cl == 0x4)
703+assert((# (cl == 0x4)))
704−assert(cl[0x2] == n5 and cl[0x3] == nb and cl[0x4] == na)
704+assert((((cl[0x2] == n5) and (cl[0x3] == nb)) and (cl[0x4] == na)))
705collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
705collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
706a,na={},{}
706a,na={},{}
707−for i = 0x1e, 0x1, - 0x1
707+for i = 0x1e, 0x1, (- 0x1)
708do
708do
709a[i]=T.newuserdata(0x0)
709a[i]=T.newuserdata(0x0)
710debug.setmetatable(a[i],{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
710debug.setmetatable(a[i],{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
@@ -714,10 +714,10 @@ cl={}
714a=nil
714a=nil
715;
715;
716collectgarbage()
716collectgarbage()
717−assert(# cl == 0x1e)
717+assert((# (cl == 0x1e)))
718for i = 0x1, 0x1e
718for i = 0x1, 0x1e
719do
719do
720−assert(cl[i] == na[i])
720+assert((cl[i] == na[i]))
721end
721end
722na=nil
722na=nil
723for i = 0x2, Lim, 0x2
723for i = 0x2, Lim, 0x2
@@ -727,28 +727,28 @@ end
727x=T.newuserdata(0x29)
727x=T.newuserdata(0x29)
728;
728;
729debug.setmetatable(x,{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
729debug.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) == 0x29)
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) == 0x29))
731cl={}
731cl={}
732a={[x] = 0x1}
732a={[x] = 0x1}
733x=T.udataval(x)
733x=T.udataval(x)
734collectgarbage()
734collectgarbage()
735−assert(# cl == 0x0)
735+assert((# (cl == 0x0)))
736for n in pairs(a)
736for n in pairs(a)
737do
737do
738a[n]=undef
738a[n]=undef
739end
739end
740collectgarbage()
740collectgarbage()
741−assert(# cl == 0x1 and cl[0x1] == x)
741+assert((# ((cl == 0x1) and (cl[0x1] == x))))
742assert(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,0x1,print,0x14))
742assert(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,0x1,print,0x14))
743assert(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}"))
743assert(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}"))
744assert(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))
744assert(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}",{},{}))
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}"))
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}",0x3))
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}",0x3)))
748do
748do
749local map = {}
749local map = {}
750local t = {["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
750local t = {["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
751−return map[a] == map[b]
751+return (map[a] == map[b])
752end}
752end}
753local function f
753local function f
754(x)
754(x)
@@ -757,12 +757,12 @@ debug.setmetatable(u,t)
757map[u]=x
757map[u]=x
758return u
758return u
759end
759end
760−assert(f(0xa) == f(0xa))
760+assert((f(0xa) == f(0xa)))
761−assert(f(0xa) ~= f(0xb))
761+assert((f(0xa) ~= f(0xb)))
762assert(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(0xa),f(0xa)))
762assert(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(0xa),f(0xa)))
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(0xa),f(0x14)))
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(0xa),f(0x14))))
764t.__eq=nil
764t.__eq=nil
765−assert(f(0xa) ~= f(0xa))
765+assert((f(0xa) ~= f(0xa)))
766end
766end
767print("\u{2b}")
767print("\u{2b}")
768_G.TT={}
768_G.TT={}
@@ -774,11 +774,11 @@ a=0x1
774a=0x1
774a=0x1
775debug.sethook()
775debug.sethook()
776local t = _G.TT
776local t = _G.TT
777−assert(t[0x1] == "\u{6c}\u{69}\u{6e}\u{65}")
777+assert((t[0x1] == "\u{6c}\u{69}\u{6e}\u{65}"))
778local line = t[0x2]
778local line = t[0x2]
779−assert(t[0x3] == "\u{6c}\u{69}\u{6e}\u{65}" and t[0x4] == line + 0x1)
779+assert(((t[0x3] == "\u{6c}\u{69}\u{6e}\u{65}") and (t[0x4] == (line + 0x1))))
780−assert(t[0x5] == "\u{6c}\u{69}\u{6e}\u{65}" and t[0x6] == line + 0x2)
780+assert(((t[0x5] == "\u{6c}\u{69}\u{6e}\u{65}") and (t[0x6] == (line + 0x2))))
781−assert(t[0x7] == nil)
781+assert((t[0x7] == nil))
782_G.TT=nil
782_G.TT=nil
783do
783do
784warn("\u{40}\u{6f}\u{66}\u{66}")
784warn("\u{40}\u{6f}\u{66}\u{66}")
@@ -803,7 +803,7 @@ end
803a=nil
803a=nil
804_G.A=0x0
804_G.A=0x0
805collectgarbage()
805collectgarbage()
806−assert(A == 0xa)
806+assert((A == 0xa))
807collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
807collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
808warn("\u{40}\u{6f}\u{6e}")
808warn("\u{40}\u{6f}\u{6e}")
809end
809end
@@ -818,11 +818,11 @@ a[i]=T.pushuserdata(i)
818end
818end
819for i = 0x0, lim
819for i = 0x0, lim
820do
820do
821−assert(T.udataval(a[i]) == i)
821+assert((T.udataval(a[i]) == i))
822end
822end
823for i = 0x0, lim
823for i = 0x0, lim
824do
824do
825−assert(T.pushuserdata(i) == a[i])
825+assert((T.pushuserdata(i) == a[i]))
826end
826end
827for i = 0x0, lim
827for i = 0x0, lim
828do
828do
@@ -832,31 +832,31 @@ for i = 0x0, lim
832do
832do
833a[T.pushuserdata(i)]=i
833a[T.pushuserdata(i)]=i
834end
834end
835−assert(type(tostring(a[0x1])) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
835+assert((type(tostring(a[0x1])) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
836end
836end
837T.closestate(T.newstate())
837T.closestate(T.newstate())
838;
838;
839L1=T.newstate()
839L1=T.newstate()
840assert(L1)
840assert(L1)
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}")
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}")) == 0x0)
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}")) == 0x0)))
843a,b=T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{28}\u{29}")
843a,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}")
844+assert(((a == "\u{61}\u{6c}\u{6f}") and (b == "\u{33}")))
845T.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}")
845T.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}")
846a,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}")
846a,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}")
847−assert(a == nil and c == 0x2)
847+assert(((a == nil) and (c == 0x2)))
848a,b,c=T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2b}")
848a,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 == 0x3 and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
849+assert((((a == nil) and (c == 0x3)) and (type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")))
850T.loadlib(L1)
850T.loadlib(L1)
851a,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}")
851a,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}")
852+assert((a == "\u{6f}\u{6b}"))
853T.closestate(L1)
853T.closestate(L1)
854;
854;
855L1=T.newstate()
855L1=T.newstate()
856T.loadlib(L1)
856T.loadlib(L1)
857T.doremote(L1,"\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}")
857T.doremote(L1,"\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}")
858T.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}")
858T.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}")
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}"))
860T.closestate(L1)
860T.closestate(L1)
861L1=nil
861L1=nil
862print("\u{2b}")
862print("\u{2b}")
@@ -866,35 +866,35 @@ local openresource = {}
866local function newresource
866local function newresource
867()
867()
868local x = setmetatable({0xa},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function (y)
868local x = setmetatable({0xa},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function (y)
869−assert(openresource[# openresource] == y)
869+assert((openresource[(# openresource)] == y))
870−openresource[# openresource]=nil
870+openresource[(# openresource)]=nil
871−y[0x1]=y[0x1] + 0x1
871+y[0x1]=(y[0x1] + 0x1)
872end})
872end})
873−openresource[# openresource + 0x1]=x
873+openresource[(# (openresource + 0x1))]=x
874return x
874return x
875end
875end
876local 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)
876local 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)
877−assert(a[0x1] == 0xb and b == nil)
877+assert(((a[0x1] == 0xb) and (b == nil)))
878−assert(# openresource == 0x0)
878+assert((# (openresource == 0x0)))
879local 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)}
879local 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[0x1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and a[0x2][0x1] == 0xb)
880+assert(((type(a[0x1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (a[0x2][0x1] == 0xb)))
881−assert(# openresource == 0x0)
881+assert((# (openresource == 0x0)))
882local 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)
882local 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)
883−assert(a == false and b[0x1] == 0xb)
883+assert(((a == false) and (b[0x1] == 0xb)))
884−assert(# openresource == 0x0)
884+assert((# (openresource == 0x0)))
885local 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}"))
885local 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}"))
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}")))
887local function check
887local function check
888(n)
888(n)
889−assert(# openresource == n)
889+assert((# (openresource == n)))
890end
890end
891_ENV.xxx=true
891_ENV.xxx=true
892local 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)
892local 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)
893−assert(a == 0x3 and _ENV.xxx == nil)
893+assert(((a == 0x3) and (_ENV.xxx == nil)))
894local 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)
894local 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)
895−assert(a == 0x3)
895+assert((a == 0x3))
896local 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}"))
896local 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}"))
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}"))))
898end
898end
899print("\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}")
899print("\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}")
900checkerr("\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)
900checkerr("\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)
@@ -916,15 +916,15 @@ collectgarbage()
916T.totalmem(M)
916T.totalmem(M)
917a,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)
917a,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)
918T.totalmem(0x0)
918T.totalmem(0x0)
919−if a and b == "\u{4f}\u{4b}" then
919+if (a and (b == "\u{4f}\u{4b}")) then
920break
920break
921end
921end
922−if b ~= "\u{4f}\u{4b}" and b ~= MEMERRMSG then
922+if ((b ~= "\u{4f}\u{4b}") and (b ~= MEMERRMSG)) then
923error(a,0x0)
923error(a,0x0)
924end
924end
925−M=M + 0x7
925+M=(M + 0x7)
926end
926end
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))
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)))
928return a
928return a
929end
929end
930local function testalloc
930local function testalloc
@@ -939,13 +939,13 @@ collectgarbage()
939T.alloccount(M)
939T.alloccount(M)
940a,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)
940a,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)
941T.alloccount()
941T.alloccount()
942−if a and b == "\u{4f}\u{4b}" then
942+if (a and (b == "\u{4f}\u{4b}")) then
943break
943break
944end
944end
945−if b ~= "\u{4f}\u{4b}" and b ~= MEMERRMSG then
945+if ((b ~= "\u{4f}\u{4b}") and (b ~= MEMERRMSG)) then
946error(a,0x0)
946error(a,0x0)
947end
947end
948−M=M + 0x1
948+M=(M + 0x1)
949end
949end
950print(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))
950print(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))
951return a
951return a
@@ -958,7 +958,7 @@ end
958b=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 ()
958b=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 ()
959return 0xa
959return 0xa
960end)
960end)
961−assert(b == 0xa)
961+assert((b == 0xa))
962testamem("\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 ()
962testamem("\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 ()
963local st = T.newstate()
963local st = T.newstate()
964if st then
964if st then
@@ -970,7 +970,7 @@ testamem("\u{65}\u{6d}\u{70}\u{74}\u{79}\u{2d}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2
970return {}
970return {}
971end)
971end)
972testamem("\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 ()
972testamem("\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}"
973+return ("\u{58}\u{58}\u{58}" .. "\u{59}\u{59}\u{59}")
974end)
974end)
975testamem("\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 ()
975testamem("\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 ()
976return coroutine.create(print)
976return coroutine.create(print)
@@ -987,14 +987,14 @@ end
987return flag
987return flag
988end)
988end)
989local 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}")
989local 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)
990+assert(((type(mt) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") and (coroutine.running() == mt)))
991local function expand
991local function expand
992(n,s)
992(n,s)
993−if n == 0x0 then
993+if (n == 0x0) then
994return ""
994return ""
995end
995end
996local e = string.rep("\u{3d}",n)
996local 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 - 0x1,s),e)
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 - 0x1),s),e)
998end
998end
999G=0x0
999G=0x0
1000;
1000;
@@ -1002,13 +1002,13 @@ collectgarbage()
1002;
1002;
1003a=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
1003a=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
1004load(expand(0x14,"\u{47}\u{3d}\u{47}\u{2b}\u{31}"))()
1004load(expand(0x14,"\u{47}\u{3d}\u{47}\u{2b}\u{31}"))()
1005−assert(G == 0x14)
1005+assert((G == 0x14))
1006;
1006;
1007collectgarbage()
1007collectgarbage()
1008;
1008;
1009G=nil
1009G=nil
1010testamem("\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 ()
1010testamem("\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}") == 0x0
1011+return (T.doonnewstack("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{3d}\u{31}") == 0x0)
1012end)
1012end)
1013testamem("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",function ()
1013testamem("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",function ()
1014return load("\u{78}\u{3d}\u{31}")
1014return load("\u{78}\u{3d}\u{31}")
@@ -1021,30 +1021,30 @@ f:write(testprog)
1021f:close()
1021f:close()
1022testamem("\u{64}\u{6f}\u{66}\u{69}\u{6c}\u{65}",function ()
1022testamem("\u{64}\u{6f}\u{66}\u{69}\u{6c}\u{65}",function ()
1023local a = loadfile(t)
1023local a = loadfile(t)
1024−return a and a()
1024+return (a and a())
1025end)
1025end)
1026assert(os.remove(t))
1026assert(os.remove(t))
1027−assert(_G.AA == "\u{61}\u{61}\u{61}\u{78}")
1027+assert((_G.AA == "\u{61}\u{61}\u{61}\u{78}"))
1028testamem("\u{67}\u{73}\u{75}\u{62}",function ()
1028testamem("\u{67}\u{73}\u{75}\u{62}",function ()
1029local 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)
1029local 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}"
1030+return (x .. "\u{62}")
1031end)
1031end)
1032return (a == "\u{61}\u{62}\u{6c}\u{6f}\u{20}\u{61}\u{62}\u{6c}\u{6f}")
1032return (a == "\u{61}\u{62}\u{6c}\u{6f}\u{20}\u{61}\u{62}\u{6c}\u{6f}")
1033end)
1033end)
1034testamem("\u{64}\u{75}\u{6d}\u{70}\u{2f}\u{75}\u{6e}\u{64}\u{75}\u{6d}\u{70}",function ()
1034testamem("\u{64}\u{75}\u{6d}\u{70}\u{2f}\u{75}\u{6e}\u{64}\u{75}\u{6d}\u{70}",function ()
1035local a = load(testprog)
1035local a = load(testprog)
1036−local b = a and string.dump(a)
1036+local b = (a and string.dump(a))
1037−a=b and load(b)
1037+a=(b and load(b))
1038−return a and a()
1038+return (a and a())
1039end)
1039end)
1040_G.AA=nil
1040_G.AA=nil
1041local t = os.tmpname()
1041local t = os.tmpname()
1042testamem("\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 ()
1042testamem("\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 ()
1043local f = assert(io.open(t,"\u{77}"))
1043local 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}"))
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}")))
1045io.close(f)
1045io.close(f)
1046;
1046;
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}")
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}"))
1048end)
1048end)
1049assert(os.remove(t))
1049assert(os.remove(t))
1050testamem("\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 ()
1050testamem("\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 ()
@@ -1053,20 +1053,20 @@ for i = 0x1, lim
1053do
1053do
1054a[i]=i
1054a[i]=i
1055;
1055;
1056−a[i .. "\u{61}"]={}
1056+a[(i .. "\u{61}")]={}
1057end
1057end
1058−return (type(a[lim .. "\u{61}"]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" 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))
1059end)
1059end)
1060testamem("\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 ()
1060testamem("\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 ()
1061local a = {0xa,0x14,0x1e,0x28,0x32,["\u{61}"] = 0x1,["\u{62}"] = 0x2,["\u{63}"] = 0x3,["\u{64}"] = 0x4,["\u{65}"] = 0x5}
1061local a = {0xa,0x14,0x1e,0x28,0x32,["\u{61}"] = 0x1,["\u{62}"] = 0x2,["\u{63}"] = 0x3,["\u{64}"] = 0x4,["\u{65}"] = 0x5}
1062−return (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and a.e == 0x5)
1062+return ((type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and (a.e == 0x5))
1063end)
1063end)
1064local a = 0x1
1064local a = 0x1
1065local close = nil
1065local close = nil
1066testamem("\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 ()
1066testamem("\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 ()
1067function close(b)
1067function close(b)
1068return function (x)
1068return function (x)
1069−return b + x
1069+return (b + x)
1070end
1070end
1071end
1071end
1072return (close(0x2)(0x4) == 0x6)
1072return (close(0x2)(0x4) == 0x6)
@@ -1076,7 +1076,7 @@ local a = coroutine.wrap(function ()
1076coroutine.yield(string.rep("\u{61}",0xa))
1076coroutine.yield(string.rep("\u{61}",0xa))
1077return {}
1077return {}
1078end)
1078end)
1079−assert(string.len(a()) == 0xa)
1079+assert((string.len(a()) == 0xa))
1080return a()
1080return a()
1081end)
1081end)
1082do
1082do
@@ -1088,29 +1088,29 @@ do
1088a[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}"
1088a[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}"
1089end
1089end
1090testamem("\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 ()
1090testamem("\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}") == 0x14 * lim + lim - 0x1)
1091+return (# (table.concat(a,"\u{2c}") == (((0x14 * lim) + lim) - 0x1)))
1092end)
1092end)
1093end
1093end
1094testamem("\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 ()
1094testamem("\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 ()
1095local function foo
1095local function foo
1096(n)
1096(n)
1097−if n == 0x0 then
1097+if (n == 0x0) then
1098return 0x1
1098return 0x1
1099else
1099else
1100−return 0x1 + foo(n - 0x1)
1100+return (0x1 + foo((n - 0x1)))
1101end
1101end
1102end
1102end
1103return foo(0x64)
1103return foo(0x64)
1104end)
1104end)
1105do
1105do
1106local 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}")
1106local 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}")
1107−assert(res == false)
1107+assert((res == false))
1108local L = T.newstate()
1108local L = T.newstate()
1109T.alloccount(0x0)
1109T.alloccount(0x0)
1110res=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}")
1110res=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}")
1111T.alloccount()
1111T.alloccount()
1112T.closestate(L)
1112T.closestate(L)
1113−assert(res == false)
1113+assert((res == false))
1114end
1114end
1115do
1115do
1116local L = T.newstate()
1116local L = T.newstate()
@@ -1121,45 +1121,45 @@ end
1121do
1121do
1122local L = T.newstate()
1122local L = T.newstate()
1123T.loadlib(L)
1123T.loadlib(L)
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}"))
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}")
1125+assert((res == "\u{6f}\u{6b}"))
1126T.closestate(L)
1126T.closestate(L)
1127end
1127end
1128print("\u{2b}")
1128print("\u{2b}")
1129local function gsub
1129local function gsub
1130(a,b,c)
1130(a,b,c)
1131a,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)
1131a,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)
1132−assert(b == 0x5)
1132+assert((b == 0x5))
1133return a
1133return a
1134end
1134end
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}")
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}")
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}") == "")
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}")
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}","") == "")
1139+assert((gsub("\u{2e}\u{2e}\u{2e}","\u{2e}\u{2e}\u{2e}","") == ""))
1140local 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}")
1140local 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 == 0x3)
1141+assert((((type(mt_xuxu) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and res) and (top == 0x3)))
1142local 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}")
1142local 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}")
1143−assert(mt_xuxu == d and not res and top == 0x3)
1143+assert(((mt_xuxu == d) and (not (res and (top == 0x3)))))
1144d,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}")
1144d,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}")
1145−assert(mt_xuxu ~= d and res and top == 0x3)
1145+assert((((mt_xuxu ~= d) and res) and (top == 0x3)))
1146x=T.newuserdata(0x0)
1146x=T.newuserdata(0x0)
1147;
1147;
1148y=T.newuserdata(0x0)
1148y=T.newuserdata(0x0)
1149;
1149;
1150T.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)
1150T.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)
1151−assert(getmetatable(x) == mt_xuxu)
1151+assert((getmetatable(x) == mt_xuxu))
1152local 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)
1152local 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)
1153−assert(res1 and res2 and top == 0x4)
1153+assert(((res1 and res2) and (top == 0x4)))
1154res1,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)
1154res1,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)
1155−assert(not res1 and not res2 and top == 0x4)
1155+assert((not (res1 and (not (res2 and (top == 0x4))))))
1156res1,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)
1156res1,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)
1157−assert(not res1 and not res2 and top == 0x4)
1157+assert((not (res1 and (not (res2 and (top == 0x4))))))
1158res1,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)
1158res1,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)
1159−assert(not res1 and not res2 and top == 0x4)
1159+assert((not (res1 and (not (res2 and (top == 0x4))))))
1160do
1160do
1161local r = debug.getregistry()
1161local r = debug.getregistry()
1162−assert(r.xuxu == mt_xuxu and r.xuxu1 == d)
1162+assert(((r.xuxu == mt_xuxu) and (r.xuxu1 == d)))
1163r.xuxu=nil
1163r.xuxu=nil
1164;
1164;
1165r.xuxu1=nil
1165r.xuxu1=nil
desk/res/lua/cycled/attrib.luanew file+431
@@ -0,0 +1,431 @@
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}")))
14+do
15+local max = ((_soft and 0x64) or 0x7d0)
16+local t = {}
17+for i = 0x1, max
18+do
19+t[i]=string.rep("\u{3f}",((i % 0xa) + 0x1))
20+end
21+t[(# (t + 0x1))]="\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}",0xa))) 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)))))
28+end
29+do
30+local oldpath = package.path
31+package.path={}
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}"))))
34+package.path=oldpath
35+end
36+do
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}")
38+local oldpath = package.path
39+local oldcpath = package.cpath
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}"
44+assert((msg == expected))
45+package.path=oldpath
46+package.cpath=oldcpath
47+end
48+print("\u{2b}")
49+if (not _port) then
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)
52+local function D
53+(x)
54+local x = string.gsub(x,"\u{2f}",dirsep)
55+return (DIR .. x)
56+end
57+local function DC
58+(x)
59+local ext = (((dirsep == "\u{5c}") and "\u{2e}\u{64}\u{6c}\u{6c}") or "\u{2e}\u{73}\u{6f}")
60+return D((x .. ext))
61+end
62+local function createfiles
63+(files,preextras,posextras)
64+for n,c in pairs(files)
65+do
66+io.output(D(n))
67+io.write(string.format(preextras,n))
68+io.write(c)
69+io.write(string.format(posextras,n))
70+io.close(io.output())
71+end
72+end
73+local function removefiles
74+(files)
75+for n in pairs(files)
76+do
77+os.remove(D(n))
78+end
79+end
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}"}
81+AA=nil
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}"
83+createfiles(files,"",extras)
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}")))
90+local oldpath = package.path
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)
92+local try = function (p,n,r,ext)
93+NAME=nil
94+local rr,x = require(p)
95+assert((NAME == n))
96+assert((REQUIRED == p))
97+assert((rr == r))
98+assert((ext == x))
99+end
100+local a = require("\u{6e}\u{61}\u{6d}\u{65}\u{73}")
101+assert(((a[0x1] == "\u{6e}\u{61}\u{6d}\u{65}\u{73}") and (a[0x2] == 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 == 0xf))))
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}") == 0x19))
108+assert((require("\u{43}") == 0x19))
109+AA=nil
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}")
111+assert(package.loaded.B)
112+assert((require("\u{42}") == true))
113+assert(package.loaded.A)
114+assert((require("\u{43}") == 0x19))
115+package.loaded.A=nil
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}")
118+package.loaded.A=nil
119+os.remove(D("\u{41}\u{2e}\u{6c}\u{75}\u{61}"))
120+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))
124+AA=false
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}")
130+removefiles(files)
131+NAME,REQUIRED,AA,B=nil
132+local _G = _G
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}")
136+AA=0x0
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}"))
139+assert(((AA == 0x0) and (m.AA == 0xa)))
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}"))
144+assert(((AA == 0x0) and (m.xuxu.AA == 0x14)))
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 == 0xa)))
149+removefiles(files)
150+AA=nil
151+package.path=""
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}")))
155+package.path=oldpath
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}"
157+local m,err = pcall(require,fname)
158+for t in string.gmatch((package.path .. ("\u{3b}" .. package.cpath)),"\u{5b}\u{5e}\u{3b}\u{5d}\u{2b}")
159+do
160+t=string.gsub(t,"\u{3f}",fname)
161+assert(string.find(err,t,0x1,true))
162+end
163+do
164+local searchers = package.searchers
165+package.searchers=0x3
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}"))))
168+package.searchers=searchers
169+end
170+local function import
171+(...)
172+local f = {...}
173+return function (m)
174+for i = 0x1, (# f)
175+do
176+m[f[i]]=_G[f[i]]
177+end
178+end
179+end
180+assert((not pcall(module,"\u{58}\u{55}\u{58}\u{55}")))
181+local p = ""
182+local st,err,when = package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),"\u{2a}")
183+if (not st) then
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}"))))
186+;
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}")
188+print(err,when)
189+else
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}")))
191+local a,b = f(0xf,0x19)
192+assert(((a == 0x19) and (b == 0xf)))
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(0xa,0x14) == "\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}",0x1,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}",0x1,true))
209+assert((fs.id(0x2d) == 0x2d))
210+_ENV.x,_ENV.y=nil
211+end
212+_ENV=_G
213+do
214+local p = package
215+package={}
216+p.preload.pl=function (...)
217+local _ENV = {...}
218+function xuxu(x)
219+return (x + 0x14)
220+end
221+return _ENV
222+end
223+local pl,ext = require("\u{70}\u{6c}")
224+assert((require("\u{70}\u{6c}") == pl))
225+assert((pl.xuxu(0xa) == 0x1e))
226+assert((((pl[0x1] == "\u{70}\u{6c}") and (pl[0x2] == "\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}")))
227+package=p
228+assert((type(package.path) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
229+end
230+print("\u{2b}")
231+end
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}")
233+local res,res2 = 0x1b
234+local a,b = 0x1,(0x2 + 0x3)
235+assert(((a == 0x1) and (b == 0x5)))
236+a={}
237+local function f
238+()
239+return 0xa,0xb,0xc
240+end
241+a.x,b,a[0x1]=0x1,0x2,f()
242+assert((((a.x == 0x1) and (b == 0x2)) and (a[0x1] == 0xa)))
243+a[f()],b,a[(f() + 0x3)]=f(),a,"\u{78}"
244+assert((((a[0xa] == 0xa) and (b == a)) and (a[0xd] == "\u{78}")))
245+do
246+local f = function (n)
247+local x = {}
248+;
249+for i = 0x1, n
250+do
251+x[i]=i
252+end
253+;
254+return table.unpack(x)
255+end
256+;
257+local a,b,c
258+a,b=0x0,f(0x1)
259+assert(((a == 0x0) and (b == 0x1)))
260+a,b=0x0,f(0x1)
261+assert(((a == 0x0) and (b == 0x1)))
262+a,b,c=0x0,0x5,f(0x4)
263+assert((((a == 0x0) and (b == 0x5)) and (c == 0x1)))
264+a,b,c=0x0,0x5,f(0x0)
265+assert((((a == 0x0) and (b == 0x5)) and (c == nil)))
266+end
267+local a,b,c,d = (0x1 and nil),(0x1 or nil),(0x1 and (nil or 0x1)),0x6
268+assert((not (((a and b) and c) and (d == 0x6))))
269+d=0x14
270+a,b,c,d=f()
271+assert(((((a == 0xa) and (b == 0xb)) and (c == 0xc)) and (d == nil)))
272+a,b=f(),0x1,0x2,0x3,f()
273+assert(((a == 0xa) and (b == 0x1)))
274+assert((((a < b) == false) and ((a > b) == true)))
275+assert(((0xa and 0x2) == 0x2))
276+assert(((0xa or 0x2) == 0xa))
277+assert(((0xa or assert(nil)) == 0xa))
278+assert((not (nil and assert(nil))))
279+assert(((nil or "\u{61}\u{6c}\u{6f}") == "\u{61}\u{6c}\u{6f}"))
280+assert(((nil and 0xa) == nil))
281+assert(((false and 0xa) == false))
282+assert(((true or 0xa) == true))
283+assert(((false or 0xa) == 0xa))
284+assert((false ~= nil))
285+assert((nil ~= false))
286+assert((not (nil == true)))
287+assert((not (not (nil == false))))
288+assert((not (not (0x1 == true))))
289+assert((not (not (a == true))))
290+assert((not (not ((0x6 or nil) == true))))
291+assert((not (not ((nil and 0x38) == false))))
292+assert((not (not ((nil and true) == false))))
293+assert((not (0xa == false)))
294+assert((not ({} == false)))
295+assert((not (0.5 == false)))
296+assert((not ("\u{78}" == false)))
297+assert(({} ~= {}))
298+print("\u{2b}")
299+a={}
300+a[true]=0x14
301+a[false]=0xa
302+assert(((a[(0x1 < 0x2)] == 0x14) and (a[(0x1 > 0x2)] == 0xa)))
303+function f(a)
304+return a
305+end
306+local a = {}
307+for i = 0xbb8, (- 0xbb8), (- 0x1)
308+do
309+a[(i + 0.0)]=i
310+;
311+end
312+a[1e31]="\u{61}\u{6c}\u{6f}"
313+;
314+a[true]=0xa
315+;
316+a[false]=0x14
317+assert((((a[1e31] == "\u{61}\u{6c}\u{6f}") and (a[(not 0x1)] == 0x14)) and (a[(0xa < 0x14)] == 0xa)))
318+for i = 0xbb8, (- 0xbb8), (- 0x1)
319+do
320+assert((a[i] == i))
321+;
322+end
323+a[print]=assert
324+a[f]=print
325+a[a]=a
326+assert((a[a][a][a][a][print] == assert))
327+a[print]((a[a[f]] == a[print]))
328+assert((not pcall(function ()
329+local a = {}
330+;
331+a[nil]=0xa
332+end)))
333+assert((not pcall(function ()
334+local a = {[nil] = 0xa}
335+end)))
336+assert((a[nil] == undef))
337+a=nil
338+local a,b,c
339+a={0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,[(- 0x3)] = "\u{61}",[f] = print,["\u{61}"] = "\u{61}",["\u{62}"] = "\u{61}\u{62}"}
340+a,a.x,a.y=a,a[(- 0x3)]
341+assert((((((a[0x1] == 0xa) and (a[(- 0x3)] == a.a)) and (a[f] == print)) and (a.x == "\u{61}")) and (not a.y)))
342+a[0x1],f(a)[0x2],b,c={["\u{61}\u{6c}\u{6f}"] = assert},0xa,a[0x1],a[f],0x6,0xa,0x17,f(a),0x2
343+a[0x1].alo((((a[0x2] == 0xa) and (b == 0xa)) and (c == print)))
344+a.aVeryLongName012345678901234567890123456789012345678901234567890123456789=0xa
345+local function foo
346+()
347+return a.aVeryLongName012345678901234567890123456789012345678901234567890123456789
348+end
349+assert(((foo() == 0xa) and (a.aVeryLongName012345678901234567890123456789012345678901234567890123456789 == 0xa)))
350+do
351+local function foo
352+()
353+local _ENV <const> = 0xb
354+X="\u{68}\u{69}"
355+end
356+local st,msg = pcall(foo)
357+assert((not (st and string.find(msg,"\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
358+end
359+local maxint = math.maxinteger
360+while ((maxint ~= (maxint + 0.0)) or ((maxint - 0x1) ~= (maxint - 1.0))) do
361+maxint=(maxint // 0x2)
362+end
363+local maxintF = (maxint + 0.0)
364+assert((((maxintF == maxint) and (math.type(maxintF) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")) and (maxintF >= (2.0 ^ 0xe))))
365+a[maxintF]=0xa
366+;
367+a[(maxintF - 1.0)]=0xb
368+;
369+a[(- maxintF)]=0xc
370+;
371+a[(- (maxintF + 1.0))]=0xd
372+;
373+assert(((((a[maxint] == 0xa) and (a[(maxint - 0x1)] == 0xb)) and (a[(- maxint)] == 0xc)) and (a[(- (maxint + 0x1))] == 0xd)))
374+a[maxint]=0x14
375+a[(- maxint)]=0x16
376+assert(((((a[maxintF] == 0x14) and (a[(maxintF - 1.0)] == 0xb)) and (a[(- maxintF)] == 0x16)) and (a[(- (maxintF + 1.0))] == 0xd)))
377+a=nil
378+do
379+local a,i,j,b
380+a={"\u{61}","\u{62}"}
381+;
382+i=0x1
383+;
384+j=0x2
385+;
386+b=a
387+i,a[i],a,j,a[j],a[(i + j)]=j,i,i,b,j,i
388+assert(((((((i == 0x2) and (b[0x1] == 0x1)) and (a == 0x1)) and (j == b)) and (b[0x2] == 0x2)) and (b[0x3] == 0x1)))
389+a={}
390+local function foo
391+()
392+b,a.x,a=a,0xa,0x14
393+end
394+foo()
395+assert(((a == 0x14) and (b.x == 0xa)))
396+end
397+do
398+local a,i,j,b
399+a={"\u{61}","\u{62}"}
400+;
401+i=0x1
402+;
403+j=0x2
404+;
405+b=a
406+local function foo
407+()
408+i,a[i],a,j,a[j],a[(i + j)]=j,i,i,b,j,i
409+end
410+foo()
411+assert(((((((i == 0x2) and (b[0x1] == 0x1)) and (a == 0x1)) and (j == b)) and (b[0x2] == 0x2)) and (b[0x3] == 0x1)))
412+local t = {}
413+(function (a)
414+t[a],a=0xa,0x14
415+end)(0x1)
416+;
417+assert((t[0x1] == 0xa))
418+end
419+local function foo
420+()
421+local a
422+return function ()
423+local b
424+a,b=0x3,0xe
425+return a,b
426+end
427+end
428+local a,b = foo()()
429+assert(((a == 0x3) and (b == 0xe)))
430+print("\u{4f}\u{4b}")
431+return res
desk/res/lua/cycled/bar.luanew file+2
@@ -0,0 +1,2 @@
1+assert((0xa .. (0x14 .. (- (0x1e == "\u{31}\u{30}\u{32}\u{30}\u{2d}\u{33}\u{30}")))))
2+x=(- (0x2 ^ (- (0x3 ^ 0x4))))
zod/luau/res/lua/cycled/big.lua → desk/res/lua/cycled/big.luarenamed+19−19
@@ -3,21 +3,21 @@ return "\u{61}"
3end
3end
4print("\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}")
4print("\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}")
5local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
5local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
6−local lim = 0x2 ^ 0x12 + 0x3e8
6+local lim = ((0x2 ^ 0x12) + 0x3e8)
7local 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}"}
7local 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}"}
8for i = 0x1, lim
8for i = 0x1, lim
9do
9do
10−prog[# prog + 0x1]=i
10+prog[(# (prog + 0x1))]=i
11end
11end
12−prog[# prog + 0x1]="\u{7d}\u{a}"
12+prog[(# (prog + 0x1))]="\u{7d}\u{a}"
13−prog[# prog + 0x1]="\u{58}\u{20}\u{3d}\u{20}\u{79}\u{a}"
13+prog[(# (prog + 0x1))]="\u{58}\u{20}\u{3d}\u{20}\u{79}\u{a}"
14−prog[# prog + 0x1]=("\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 - 0x1,lim - 0x2)
14+prog[(# (prog + 0x1))]=("\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 - 0x1),(lim - 0x2))
15−prog[# prog + 0x1]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{30}"
15+prog[(# (prog + 0x1))]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{30}"
16prog=table.concat(prog,"\u{3b}")
16prog=table.concat(prog,"\u{3b}")
17local 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}
17local 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}
18local f = assert(load(prog,nil,nil,env))
18local f = assert(load(prog,nil,nil,env))
19f()
19f()
20−assert(env.X[lim] == lim - 0x1 and env.X[lim + 0x1] == lim)
20+assert(((env.X[lim] == (lim - 0x1)) and (env.X[(lim + 0x1)] == lim)))
21for k in pairs(env)
21for k in pairs(env)
22do
22do
23env[k]=undef
23env[k]=undef
@@ -33,11 +33,11 @@ _G[n]=v
33end})
33end})
34X=nil
34X=nil
35local co = coroutine.wrap(f)
35local co = coroutine.wrap(f)
36−assert(co() == "\u{73}")
36+assert((co() == "\u{73}"))
37−assert(co() == "\u{67}")
37+assert((co() == "\u{67}"))
38−assert(co() == "\u{67}")
38+assert((co() == "\u{67}"))
39−assert(co() == 0x0)
39+assert((co() == 0x0))
40−assert(X[lim] == lim - 0x1 and X[lim + 0x1] == lim)
40+assert(((X[lim] == (lim - 0x1)) and (X[(lim + 0x1)] == lim)))
41getmetatable(env).__index=function ()
41getmetatable(env).__index=function ()
42
42
43end
43end
@@ -45,23 +45,23 @@ getmetatable(env).__newindex=function ()
45
45
46end
46end
47local e,m = pcall(f)
47local e,m = pcall(f)
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}"))
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}"))))
49getmetatable(env).__newindex=function ()
49getmetatable(env).__newindex=function ()
50error("\u{68}\u{69}")
50error("\u{68}\u{69}")
51end
51end
52local e,m = xpcall(f,debug.traceback)
52local e,m = xpcall(f,debug.traceback)
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}"))
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}"))))
54f,X=nil
54f,X=nil
55coroutine.yield("\u{62}")
55coroutine.yield("\u{62}")
56−if 0x2 ^ 0x20 == 0x0 then
56+if ((0x2 ^ 0x20) == 0x0) then
57print("\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}")
57print("\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}")
58local repstrings = 0xc0
58local repstrings = 0xc0
59−local ssize = math.ceil(2.0 ^ 0x20 / repstrings) + 0x1
59+local ssize = (math.ceil(((2.0 ^ 0x20) / repstrings)) + 0x1)
60−assert(repstrings * ssize > 2.0 ^ 0x20)
60+assert(((repstrings * ssize) > (2.0 ^ 0x20)))
61local longs = string.rep("\u{0}",ssize)
61local 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}")))
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}"))))
63local a,b = pcall(rep,longs)
63local a,b = pcall(rep,longs)
64−assert(not a and string.find(b,"\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
64+assert((not (a and string.find(b,"\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))))
65end
65end
66print("\u{4f}\u{4b}")
66print("\u{4f}\u{4b}")
67return "\u{61}"
67return "\u{61}"
desk/res/lua/cycled/bitwise.luanew file+309
@@ -0,0 +1,309 @@
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}") * 0x8)
4+assert((~ (0x0 == (- 0x1))))
5+assert(((0x1 << (numbits - 0x1)) == math.mininteger))
6+local a,b,c,d
7+a=0xffffffffffffffff
8+assert((a == (- (0x1 and (a & (- ((0x1 == a) and ((a & 0x23) == 0x23))))))))
9+a=0xf0f0f0f0f0f0f0f0
10+assert((a | (- (0x1 == (- 0x1)))))
11+assert(((((a ~ a) == 0x0) and ((a ~ 0x0) == a)) and (a ~ (~ (a == (- 0x1))))))
12+assert(((a >> 0x4) == (~ a)))
13+a=0xf0
14+;
15+b=0xcc
16+;
17+c=0xaa
18+;
19+d=0xfd
20+assert(((a | (b ~ (c & d))) == 0xf4))
21+a=240.0
22+;
23+b=204.0
24+;
25+c="\u{30}\u{78}\u{41}\u{41}\u{2e}\u{30}"
26+;
27+d="\u{30}\u{78}\u{46}\u{44}\u{2e}\u{30}"
28+assert(((a | (b ~ (c & d))) == 0xf4))
29+a=0xf0000000
30+;
31+b=0xcc000000
32+;
33+c=0xaa000000
34+;
35+d=0xfd000000
36+assert(((a | (b ~ (c & d))) == 0xf4000000))
37+assert((~ (~ ((a == a) and (~ (a == (- ((0x1 ~ a) and (- (d == (~ (d + 0x1))))))))))))
38+a=(a << 0x20)
39+b=(b << 0x20)
40+c=(c << 0x20)
41+d=(d << 0x20)
42+assert(((a | (b ~ (c & d))) == (0xf4000000 << 0x20)))
43+assert((~ (~ ((a == a) and (~ (a == (- ((0x1 ~ a) and (- (d == (~ (d + 0x1))))))))))))
44+do
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)
46+assert((load(code)() == 0x0))
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)
48+assert((load(code)() == 0x0))
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)
50+assert((load(code)() == 0x0))
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)
52+assert((load(code)() == 0x0))
53+end
54+assert((- (((0x1 >> 0x1) == ((0x1 << (numbits - 0x1)) - 0x1)) and ((0x1 << 0x1f) == 0x80000000))))
55+assert((- ((0x1 >> (numbits - 0x1)) == 0x1)))
56+assert((- (((0x1 >> numbits) == 0x0) and (- (0x1 >> (- ((numbits == 0x0) and (- (((0x1 << numbits) == 0x0) and (- (0x1 << (- (numbits == 0x0)))))))))))))
57+assert(((0x1 >> math.mininteger) == 0x0))
58+assert(((0x1 >> math.maxinteger) == 0x0))
59+assert(((0x1 << math.mininteger) == 0x0))
60+assert(((0x1 << math.maxinteger) == 0x0))
61+assert(((((0x2 ^ 0x1e) - 0x1) << (0x2 ^ 0x1e)) == 0x0))
62+assert(((((0x2 ^ 0x1e) - 0x1) >> (0x2 ^ 0x1e)) == 0x0))
63+assert((0x1 >> (- ((0x3 == (0x1 << 0x3)) and ((0x3e8 >> 0x5) == (0x3e8 << (- 0x5)))))))
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}" | 0x0) == (- 0x1)))
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}") == (- 0x2)))
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}") == 0x2))
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}") == (- (0x2d * 0x4))))
68+assert((("\u{31}\u{32}\u{33}\u{34}\u{2e}\u{30}" << "\u{35}\u{2e}\u{30}") == (0x4d2 * 0x20)))
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}") == 0x5555))
70+assert((~ ("\u{30}\u{78}\u{30}\u{2e}\u{30}\u{30}\u{30}\u{70}\u{34}" == (- 0x1))))
71+assert(((("\u{37}" .. 0x3) << 0x1) == 0x92))
72+assert(((0xffffffff >> (0x1 .. "\u{39}")) == 0x1fff))
73+assert(((0xa | (0x1 .. "\u{39}")) == 0x1b))
74+do
75+local st,msg = pcall(function ()
76+return (0x4 & "\u{61}")
77+end)
78+assert(string.find(msg,"\u{27}\u{62}\u{61}\u{6e}\u{64}\u{27}"))
79+local st,msg = pcall(function ()
80+return (~ "\u{61}")
81+end)
82+assert(string.find(msg,"\u{27}\u{62}\u{6e}\u{6f}\u{74}\u{27}"))
83+end
84+assert((not pcall(function ()
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}" | 0x0)
86+end)))
87+assert((not pcall(function ()
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}" | 0x0)
89+end)))
90+print("\u{2b}")
91+package.preload.bit32=function ()
92+local bit = {}
93+function bit.bnot(a)
94+return (~ (a & 0xffffffff))
95+end
96+function bit.band(x,y,z, ...)
97+if (not z) then
98+return (((x or (- 0x1)) & (y or (- 0x1))) & 0xffffffff)
99+else
100+local arg = {...}
101+local res = ((x & y) & z)
102+for i = 0x1, (# arg)
103+do
104+res=(res & arg[i])
105+end
106+return (res & 0xffffffff)
107+end
108+end
109+function bit.bor(x,y,z, ...)
110+if (not z) then
111+return (((x or 0x0) | (y or 0x0)) & 0xffffffff)
112+else
113+local arg = {...}
114+local res = ((x | y) | z)
115+for i = 0x1, (# arg)
116+do
117+res=(res | arg[i])
118+end
119+return (res & 0xffffffff)
120+end
121+end
122+function bit.bxor(x,y,z, ...)
123+if (not z) then
124+return (((x or 0x0) ~ (y or 0x0)) & 0xffffffff)
125+else
126+local arg = {...}
127+local res = ((x ~ y) ~ z)
128+for i = 0x1, (# arg)
129+do
130+res=(res ~ arg[i])
131+end
132+return (res & 0xffffffff)
133+end
134+end
135+function bit.btest(...)
136+return (bit.band(...) ~= 0x0)
137+end
138+function bit.lshift(a,b)
139+return (((a & 0xffffffff) << b) & 0xffffffff)
140+end
141+function bit.rshift(a,b)
142+return (((a & 0xffffffff) >> b) & 0xffffffff)
143+end
144+function bit.arshift(a,b)
145+a=(a & 0xffffffff)
146+if ((b <= 0x0) or ((a & 0x80000000) == 0x0)) then
147+return ((a >> b) & 0xffffffff)
148+else
149+return (((a >> b) | (~ (0xffffffff >> b))) & 0xffffffff)
150+end
151+end
152+function bit.lrotate(a,b)
153+b=(b & 0x1f)
154+a=(a & 0xffffffff)
155+a=((a << b) | (a >> (0x20 - b)))
156+return (a & 0xffffffff)
157+end
158+function bit.rrotate(a,b)
159+return bit.lrotate(a,(- b))
160+end
161+local function checkfield
162+(f,w)
163+w=(w or 0x1)
164+assert((f >= 0x0),"\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 > 0x0),"\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) <= 0x20),"\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}")
167+return f,(~ (- (0x1 << w)))
168+end
169+function bit.extract(a,f,w)
170+local f,mask = checkfield(f,w)
171+return ((a >> f) & mask)
172+end
173+function bit.replace(a,v,f,w)
174+local f,mask = checkfield(f,w)
175+v=(v & mask)
176+a=((a & (~ (mask << f))) | (v << f))
177+return (a & 0xffffffff)
178+end
179+return bit
180+end
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}")
183+assert((bit32.band() == bit32.bnot(0x0)))
184+assert((bit32.btest() == true))
185+assert((bit32.bor() == 0x0))
186+assert((bit32.bxor() == 0x0))
187+assert((bit32.band() == bit32.band(0xffffffff)))
188+assert((bit32.band(0x1,0x2) == 0x0))
189+assert((bit32.band((- 0x1)) == 0xffffffff))
190+assert((bit32.band(((0x1 << 0x21) - 0x1)) == 0xffffffff))
191+assert((bit32.band((- ((0x1 << 0x21) - 0x1))) == 0xffffffff))
192+assert((bit32.band(((0x1 << 0x21) + 0x1)) == 0x1))
193+assert((bit32.band((- ((0x1 << 0x21) + 0x1))) == 0x1))
194+assert((bit32.band((- (0x1 << 0x28))) == 0x0))
195+assert((bit32.band((0x1 << 0x28)) == 0x0))
196+assert((bit32.band((- ((0x1 << 0x28) - 0x2))) == 0xfffffffe))
197+assert((bit32.band(((0x1 << 0x28) - 0x4)) == 0xfffffffc))
198+assert((bit32.lrotate(0x0,(- 0x1)) == 0x0))
199+assert((bit32.lrotate(0x0,0x7) == 0x0))
200+assert((bit32.lrotate(0x12345678,0x0) == 0x12345678))
201+assert((bit32.lrotate(0x12345678,0x20) == 0x12345678))
202+assert((bit32.lrotate(0x12345678,0x4) == 0x23456781))
203+assert((bit32.rrotate(0x12345678,(- 0x4)) == 0x23456781))
204+assert((bit32.lrotate(0x12345678,(- 0x8)) == 0x78123456))
205+assert((bit32.rrotate(0x12345678,0x8) == 0x78123456))
206+assert((bit32.lrotate(0xaaaaaaaa,0x2) == 0xaaaaaaaa))
207+assert((bit32.lrotate(0xaaaaaaaa,(- 0x2)) == 0xaaaaaaaa))
208+for i = (- 0x32), 0x32
209+do
210+assert((bit32.lrotate(0x89abcdef,i) == bit32.lrotate(0x89abcdef,(i % 0x20))))
211+end
212+assert((bit32.lshift(0x12345678,0x4) == 0x23456780))
213+assert((bit32.lshift(0x12345678,0x8) == 0x34567800))
214+assert((bit32.lshift(0x12345678,(- 0x4)) == 0x1234567))
215+assert((bit32.lshift(0x12345678,(- 0x8)) == 0x123456))
216+assert((bit32.lshift(0x12345678,0x20) == 0x0))
217+assert((bit32.lshift(0x12345678,(- 0x20)) == 0x0))
218+assert((bit32.rshift(0x12345678,0x4) == 0x1234567))
219+assert((bit32.rshift(0x12345678,0x8) == 0x123456))
220+assert((bit32.rshift(0x12345678,0x20) == 0x0))
221+assert((bit32.rshift(0x12345678,(- 0x20)) == 0x0))
222+assert((bit32.arshift(0x12345678,0x0) == 0x12345678))
223+assert((bit32.arshift(0x12345678,0x1) == (0x12345678 // 0x2)))
224+assert((bit32.arshift(0x12345678,(- 0x1)) == (0x12345678 * 0x2)))
225+assert((bit32.arshift((- 0x1),0x1) == 0xffffffff))
226+assert((bit32.arshift((- 0x1),0x18) == 0xffffffff))
227+assert((bit32.arshift((- 0x1),0x20) == 0xffffffff))
228+assert((bit32.arshift((- 0x1),(- 0x1)) == bit32.band((- (0x1 * 0x2)),0xffffffff)))
229+assert(((0x12345678 << 0x4) == 0x123456780))
230+assert(((0x12345678 << 0x8) == 0x1234567800))
231+assert((0x12345678 << (- (0x4 == 0x1234567))))
232+assert((0x12345678 << (- (0x8 == 0x123456))))
233+assert(((0x12345678 << 0x20) == 0x1234567800000000))
234+assert((0x12345678 << (- (0x20 == 0x0))))
235+assert(((0x12345678 >> 0x4) == 0x1234567))
236+assert(((0x12345678 >> 0x8) == 0x123456))
237+assert(((0x12345678 >> 0x20) == 0x0))
238+assert((0x12345678 >> (- (0x20 == 0x1234567800000000))))
239+print("\u{2b}")
240+local c = {0x0,0x1,0x2,0x3,0xa,0x80000000,0xaaaaaaaa,0x55555555,0xffffffff,0x7fffffff}
241+for _,b in pairs(c)
242+do
243+assert((bit32.band(b) == b))
244+assert((bit32.band(b,b) == b))
245+assert((bit32.band(b,b,b,b) == b))
246+assert((bit32.btest(b,b) == (b ~= 0x0)))
247+assert((bit32.band(b,b,b) == b))
248+assert((bit32.band(b,b,b,(~ b)) == 0x0))
249+assert((bit32.btest(b,b,b) == (b ~= 0x0)))
250+assert((bit32.band(b,bit32.bnot(b)) == 0x0))
251+assert((bit32.bor(b,bit32.bnot(b)) == bit32.bnot(0x0)))
252+assert((bit32.bor(b) == b))
253+assert((bit32.bor(b,b) == b))
254+assert((bit32.bor(b,b,b) == b))
255+assert((bit32.bor(b,b,0x0,(~ b)) == 0xffffffff))
256+assert((bit32.bxor(b) == b))
257+assert((bit32.bxor(b,b) == 0x0))
258+assert((bit32.bxor(b,b,b) == b))
259+assert((bit32.bxor(b,b,b,b) == 0x0))
260+assert((bit32.bxor(b,0x0) == b))
261+assert((bit32.bnot(b) ~= b))
262+assert((bit32.bnot(bit32.bnot(b)) == b))
263+assert((bit32.bnot(b) == (((0x1 << 0x20) - 0x1) - b)))
264+assert((bit32.lrotate(b,0x20) == b))
265+assert((bit32.rrotate(b,0x20) == b))
266+assert((bit32.lshift(bit32.lshift(b,(- 0x4)),0x4) == bit32.band(b,bit32.bnot(0xf))))
267+assert((bit32.rshift(bit32.rshift(b,0x4),(- 0x4)) == bit32.band(b,bit32.bnot(0xf))))
268+end
269+c={0x0,0x1,0x2,0x3,0xa,0x800000,0xaaaaaa,0x555555,0xffffff,0x7fffff}
270+for _,b in pairs(c)
271+do
272+for i = (- 0x28), 0x28
273+do
274+local x = bit32.lshift(b,i)
275+local y = math.floor(math.fmod((b * (2.0 ^ i)),(2.0 ^ 0x20)))
276+assert((math.fmod((x - y),(2.0 ^ 0x20)) == 0x0))
277+end
278+end
279+assert((not pcall(bit32.band,{})))
280+assert((not pcall(bit32.bnot,"\u{61}")))
281+assert((not pcall(bit32.lshift,0x2d)))
282+assert((not pcall(bit32.lshift,0x2d,print)))
283+assert((not pcall(bit32.rshift,0x2d,print)))
284+print("\u{2b}")
285+assert((bit32.extract(0x12345678,0x0,0x4) == 0x8))
286+assert((bit32.extract(0x12345678,0x4,0x4) == 0x7))
287+assert((bit32.extract(0xa0001111,0x1c,0x4) == 0xa))
288+assert((bit32.extract(0xa0001111,0x1f,0x1) == 0x1))
289+assert((bit32.extract(0x50000111,0x1f,0x1) == 0x0))
290+assert((bit32.extract(0xf2345679,0x0,0x20) == 0xf2345679))
291+assert((not pcall(bit32.extract,0x0,(- 0x1))))
292+assert((not pcall(bit32.extract,0x0,0x20)))
293+assert((not pcall(bit32.extract,0x0,0x0,0x21)))
294+assert((not pcall(bit32.extract,0x0,0x1f,0x2)))
295+assert((bit32.replace(0x12345678,0x5,0x1c,0x4) == 0x52345678))
296+assert((bit32.replace(0x12345678,0x87654321,0x0,0x20) == 0x87654321))
297+assert((bit32.replace(0x0,0x1,0x2) == (0x2 ^ 0x2)))
298+assert((bit32.replace(0x0,(- 0x1),0x4) == (0x2 ^ 0x4)))
299+assert((bit32.replace((- 0x1),0x0,0x1f) == ((0x1 << 0x1f) - 0x1)))
300+assert((bit32.replace((- 0x1),0x0,0x1,0x2) == ((0x1 << 0x20) - 0x7)))
301+assert((bit32.bor(3.0) == 0x3))
302+assert((bit32.bor((- 4.0)) == 0xfffffffc))
303+if (((2.0 ^ 0x32) < ((2.0 ^ 0x32) + 1.0)) and ((2.0 ^ 0x32) < (- (0x1 >> 0x1)))) then
304+assert((bit32.bor(((2.0 ^ 0x20) - 5.0)) == 0xfffffffb))
305+assert((bit32.bor((- ((2.0 ^ 0x20) - 6.0))) == 0xfffffffa))
306+assert((bit32.bor(((2.0 ^ 0x30) - 5.0)) == 0xfffffffb))
307+assert((bit32.bor((- ((2.0 ^ 0x30) - 6.0))) == 0xfffffffa))
308+end
309+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/bwcoercion.lua → desk/res/lua/cycled/bwcoercion.luarenamed+11−11
@@ -6,27 +6,27 @@ _ENV=nil
6local function toint
6local function toint
7(x)
7(x)
8x=tonumber(x)
8x=tonumber(x)
9−if not x then
9+if (not x) then
10return false
10return false
11end
11end
12return tointeger(x)
12return tointeger(x)
13end
13end
14local function trymt
14local function trymt
15(x,y,mtname)
15(x,y,mtname)
16−if type(y) ~= "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" then
16+if (type(y) ~= "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") then
17local mt = getmetatable(y)
17local mt = getmetatable(y)
18−local mm = mt and rawget(mt,mtname)
18+local mm = (mt and rawget(mt,mtname))
19if mm then
19if mm then
20return mm(x,y)
20return mm(x,y)
21end
21end
22end
22end
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,0x3) .. "\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),0x4)
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,0x3) .. ("\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)))))),0x4)
24end
24end
25local function checkargs
25local function checkargs
26(x,y,mtname)
26(x,y,mtname)
27local xi = toint(x)
27local xi = toint(x)
28local yi = toint(y)
28local yi = toint(y)
29−if xi and yi then
29+if (xi and yi) then
30return xi,yi
30return xi,yi
31else
31else
32return trymt(x,y,mtname),nil
32return trymt(x,y,mtname),nil
@@ -35,25 +35,25 @@ end
35local smt = getmetatable("")
35local smt = getmetatable("")
36smt.__band=function (x,y)
36smt.__band=function (x,y)
37local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}")
37local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}")
38−return y and x & y or x
38+return ((y and (x & y)) or x)
39end
39end
40smt.__bor=function (x,y)
40smt.__bor=function (x,y)
41local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{6f}\u{72}")
41local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{6f}\u{72}")
42−return y and x | y or x
42+return ((y and (x | y)) or x)
43end
43end
44smt.__bxor=function (x,y)
44smt.__bxor=function (x,y)
45local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}")
45local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}")
46−return y and x ~ y or x
46+return ((y and (x ~ y)) or x)
47end
47end
48smt.__shl=function (x,y)
48smt.__shl=function (x,y)
49local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{73}\u{68}\u{6c}")
49local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{73}\u{68}\u{6c}")
50−return y and x << y or x
50+return ((y and (x << y)) or x)
51end
51end
52smt.__shr=function (x,y)
52smt.__shr=function (x,y)
53local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{73}\u{68}\u{72}")
53local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{73}\u{68}\u{72}")
54−return y and x >> y or x
54+return ((y and (x >> y)) or x)
55end
55end
56smt.__bnot=function (x)
56smt.__bnot=function (x)
57local x,y = checkargs(x,x,"\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}")
57local x,y = checkargs(x,x,"\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}")
58−return y and ~ x or x
58+return (y and (~ (x or x)))
59end
59end
zod/luau/res/lua/cycled/calls.lua → desk/res/lua/cycled/calls.luarenamed+136−136
@@ -1,64 +1,64 @@
1print("\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}")
1print("\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}")
2local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
2local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3−assert(type(0x1 < 0x2) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")
3+assert((type((0x1 < 0x2)) == "\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}")
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(- 0x3) == "\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}")
5+assert((((((type(nil) == "\u{6e}\u{69}\u{6c}") and (type((- 0x3)) == "\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}")))
6−assert(type(assert) == type(print))
6+assert((type(assert) == type(print)))
7local function f
7local function f
8(x)
8(x)
9return a:x(x)
9return a:x(x)
10end
10end
11−assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
11+assert((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
12−assert(not pcall(type))
12+assert((not pcall(type)))
13fact=false
13fact=false
14do
14do
15local res = 0x1
15local res = 0x1
16local function fact
16local function fact
17(n)
17(n)
18−if n == 0x0 then
18+if (n == 0x0) then
19return res
19return res
20else
20else
21−return n * fact(n - 0x1)
21+return (n * fact((n - 0x1)))
22end
22end
23end
23end
24−assert(fact(0x5) == 0x78)
24+assert((fact(0x5) == 0x78))
25end
25end
26−assert(fact == false)
26+assert((fact == false))
27fact=nil
27fact=nil
28local a = {["\u{69}"] = 0xa}
28local a = {["\u{69}"] = 0xa}
29local self = 0x14
29local self = 0x14
30function a:x(x)
30function a:x(x)
31−return x + self.i
31+return (x + self.i)
32end
32end
33function a.y(x)
33function a.y(x)
34−return x + self
34+return (x + self)
35end
35end
36−assert(a:x(0x1) + 0xa == a.y(0x1))
36+assert(((a:x(0x1) + 0xa) == a.y(0x1)))
37−a.t={["\u{69}"] = - 0x64}
37+a.t={["\u{69}"] = (- 0x64)}
38a["\u{74}"].x=function (self,a,b)
38a["\u{74}"].x=function (self,a,b)
39−return self.i + a + b
39+return ((self.i + a) + b)
40end
40end
41−assert(a.t:x(0x2,0x3) == - 0x5f)
41+assert((a.t:x(0x2,0x3) == (- 0x5f)))
42do
42do
43local a = {["\u{78}"] = 0x0}
43local a = {["\u{78}"] = 0x0}
44function a:add(x)
44function a:add(x)
45−self.x,a.y=self.x + x,0x14
45+self.x,a.y=(self.x + x),0x14
46;
46;
47return self
47return self
48end
48end
49−assert(a:add(0xa):add(0x14):add(0x1e).x == 0x3c and a.y == 0x14)
49+assert(((a:add(0xa):add(0x14):add(0x1e).x == 0x3c) and (a.y == 0x14)))
50end
50end
51local a = {["\u{62}"] = {["\u{63}"] = {}}}
51local a = {["\u{62}"] = {["\u{63}"] = {}}}
52function a.b.c.f1(x)
52function a.b.c.f1(x)
53−return x + 0x1
53+return (x + 0x1)
54end
54end
55function a.b.c:f2(x,y)
55function a.b.c:f2(x,y)
56self[x]=y
56self[x]=y
57end
57end
58−assert(a.b.c.f1(0x4) == 0x5)
58+assert((a.b.c.f1(0x4) == 0x5))
59a.b.c:f2("\u{6b}",0xc)
59a.b.c:f2("\u{6b}",0xc)
60;
60;
61−assert(a.b.c.k == 0xc)
61+assert((a.b.c.k == 0xc))
62print("\u{2b}")
62print("\u{2b}")
63t=nil
63t=nil
64function f(a,b,c)
64function f(a,b,c)
@@ -67,32 +67,32 @@ local d = "\u{61}"
67t={a,b,c,d}
67t={a,b,c,d}
68end
68end
69f(0x1,0x2)
69f(0x1,0x2)
70−assert(t[0x1] == 0x1 and t[0x2] == 0x2 and t[0x3] == nil and t[0x4] == "\u{61}")
70+assert(((((t[0x1] == 0x1) and (t[0x2] == 0x2)) and (t[0x3] == nil)) and (t[0x4] == "\u{61}")))
71f(0x1,0x2,0x3,0x4)
71f(0x1,0x2,0x3,0x4)
72−assert(t[0x1] == 0x1 and t[0x2] == 0x2 and t[0x3] == 0x3 and t[0x4] == "\u{61}")
72+assert(((((t[0x1] == 0x1) and (t[0x2] == 0x2)) and (t[0x3] == 0x3)) and (t[0x4] == "\u{61}")))
73t=nil
73t=nil
74function fat(x)
74function fat(x)
75−if x <= 0x1 then
75+if (x <= 0x1) then
76return 0x1
76return 0x1
77else
77else
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 - 0x1 .. "\u{29}","")()
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 - 0x1) .. "\u{29}")),"")())
79end
79end
80end
80end
81assert(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}"))()
81assert(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}"))()
82a=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}")
82a=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}")
83local a,b = a()
83local a,b = a()
84−assert(a == 0x78 and b == 0x3)
84+assert(((a == 0x78) and (b == 0x3)))
85fat=nil
85fat=nil
86print("\u{2b}")
86print("\u{2b}")
87local function err_on_n
87local function err_on_n
88(n)
88(n)
89−if n == 0x0 then
89+if (n == 0x0) then
90error()
90error()
91;
91;
92exit(0x1)
92exit(0x1)
93;
93;
94else
94else
95−err_on_n(n - 0x1)
95+err_on_n((n - 0x1))
96;
96;
97exit(0x1)
97exit(0x1)
98;
98;
@@ -101,39 +101,39 @@ end
101do
101do
102local function dummy
102local function dummy
103(n)
103(n)
104−if n > 0x0 then
104+if (n > 0x0) then
105−assert(not pcall(err_on_n,n))
105+assert((not pcall(err_on_n,n)))
106−dummy(n - 0x1)
106+dummy((n - 0x1))
107end
107end
108end
108end
109dummy(0xa)
109dummy(0xa)
110end
110end
111_G.deep=nil
111_G.deep=nil
112function deep(n)
112function deep(n)
113−if n > 0x0 then
113+if (n > 0x0) then
114−deep(n - 0x1)
114+deep((n - 0x1))
115end
115end
116end
116end
117deep(0xa)
117deep(0xa)
118deep(0xb4)
118deep(0xb4)
119print("\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}")
119print("\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}")
120function deep(n)
120function deep(n)
121−if n > 0x0 then
121+if (n > 0x0) then
122−return deep(n - 0x1)
122+return deep((n - 0x1))
123else
123else
124return 0x65
124return 0x65
125end
125end
126end
126end
127−assert(deep(0x7530) == 0x65)
127+assert((deep(0x7530) == 0x65))
128a={}
128a={}
129function a:deep(n)
129function a:deep(n)
130−if n > 0x0 then
130+if (n > 0x0) then
131−return self:deep(n - 0x1)
131+return self:deep((n - 0x1))
132else
132else
133return 0x65
133return 0x65
134end
134end
135end
135end
136−assert(a:deep(0x7530) == 0x65)
136+assert((a:deep(0x7530) == 0x65))
137do
137do
138local function foo
138local function foo
139(x, ...)
139(x, ...)
@@ -143,21 +143,21 @@ return x,a[0x1],a[0x2]
143end
143end
144local function foo1
144local function foo1
145(x)
145(x)
146−return foo(0xa,x,x + 0x1)
146+return foo(0xa,x,(x + 0x1))
147end
147end
148−local a,b,c = foo1(- 0x2)
148+local a,b,c = foo1((- 0x2))
149−assert(a == 0xa and b == - 0x2 and c == - 0x1)
149+assert(((a == 0xa) and (b == (- (0x2 and (c == (- 0x1)))))))
150local t = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = foo})
150local t = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = foo})
151local function foo2
151local function foo2
152(x)
152(x)
153return t(0xa,x)
153return t(0xa,x)
154end
154end
155a,b,c=foo2(0x64)
155a,b,c=foo2(0x64)
156−assert(a == t and b == 0xa and c == 0x64)
156+assert((((a == t) and (b == 0xa)) and (c == 0x64)))
157a,b=(function ()
157a,b=(function ()
158return foo()
158return foo()
159end)()
159end)()
160−assert(a == nil and b == nil)
160+assert(((a == nil) and (b == nil)))
161local X,Y,A
161local X,Y,A
162local function foo
162local function foo
163(x,y, ...)
163(x,y, ...)
@@ -172,13 +172,13 @@ local function foo1
172return foo(...)
172return foo(...)
173end
173end
174local a,b,c = foo1()
174local a,b,c = foo1()
175−assert(X == nil and Y == nil and # A == 0x0)
175+assert((((X == nil) and (Y == nil)) and (# (A == 0x0))))
176a,b,c=foo1(0xa)
176a,b,c=foo1(0xa)
177−assert(X == 0xa and Y == nil and # A == 0x0)
177+assert((((X == 0xa) and (Y == nil)) and (# (A == 0x0))))
178a,b,c=foo1(0xa,0x14)
178a,b,c=foo1(0xa,0x14)
179−assert(X == 0xa and Y == 0x14 and # A == 0x0)
179+assert((((X == 0xa) and (Y == 0x14)) and (# (A == 0x0))))
180a,b,c=foo1(0xa,0x14,0x1e)
180a,b,c=foo1(0xa,0x14,0x1e)
181−assert(X == 0xa and Y == 0x14 and # A == 0x1 and A[0x1] == 0x1e)
181+assert((((X == 0xa) and (Y == 0x14)) and (# ((A == 0x1) and (A[0x1] == 0x1e)))))
182end
182end
183do
183do
184local function loop
184local function loop
@@ -186,16 +186,16 @@ local function loop
186assert(pcall(loop))
186assert(pcall(loop))
187end
187end
188local err,msg = xpcall(loop,loop)
188local err,msg = xpcall(loop,loop)
189−assert(not err and string.find(msg,"\u{65}\u{72}\u{72}\u{6f}\u{72}"))
189+assert((not (err and string.find(msg,"\u{65}\u{72}\u{72}\u{6f}\u{72}"))))
190end
190end
191do
191do
192local n = 0x2710
192local n = 0x2710
193local function foo
193local function foo
194()
194()
195−if n == 0x0 then
195+if (n == 0x0) then
196return 0x3ff
196return 0x3ff
197else
197else
198−n=n - 0x1
198+n=(n - 0x1)
199;
199;
200return foo()
200return foo()
201end
201end
@@ -204,9 +204,9 @@ for i = 0x1, 0x64
204do
204do
205foo=setmetatable({},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = foo})
205foo=setmetatable({},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = foo})
206end
206end
207−assert(coroutine.wrap(function ()
207+assert((coroutine.wrap(function ()
208return foo()
208return foo()
209−end)() == 0x3ff)
209+end)() == 0x3ff))
210end
210end
211print("\u{2b}")
211print("\u{2b}")
212do
212do
@@ -217,20 +217,20 @@ do
217u=setmetatable({i},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = u})
217u=setmetatable({i},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = u})
218end
218end
219local Res = u("\u{61}","\u{62}","\u{63}")
219local Res = u("\u{61}","\u{62}","\u{63}")
220−assert(Res.n == N + 0x3)
220+assert((Res.n == (N + 0x3)))
221for i = 0x1, N
221for i = 0x1, N
222do
222do
223−assert(Res[i][0x1] == i)
223+assert((Res[i][0x1] == i))
224end
224end
225−assert(Res[N + 0x1] == "\u{61}" and Res[N + 0x2] == "\u{62}" and Res[N + 0x3] == "\u{63}")
225+assert((((Res[(N + 0x1)] == "\u{61}") and (Res[(N + 0x2)] == "\u{62}")) and (Res[(N + 0x3)] == "\u{63}")))
226end
226end
227a=nil
227a=nil
228(function (x)
228(function (x)
229a=x
229a=x
230end)(0x17)
230end)(0x17)
231−assert(a == 0x17 and (function (x)
231+assert(((a == 0x17) and ((function (x)
232−return x * 0x2
232+return (x * 0x2)
233−end)(0x14) == 0x28)
233+end)(0x14) == 0x28)))
234local Z = function (le)
234local Z = function (le)
235local function a
235local function a
236(f)
236(f)
@@ -242,45 +242,45 @@ return a(a)
242end
242end
243local F = function (f)
243local F = function (f)
244return function (n)
244return function (n)
245−if n == 0x0 then
245+if (n == 0x0) then
246return 0x1
246return 0x1
247else
247else
248−return n * f(n - 0x1)
248+return (n * f((n - 0x1)))
249end
249end
250end
250end
251end
251end
252local fat = Z(F)
252local fat = Z(F)
253−assert(fat(0x0) == 0x1 and fat(0x4) == 0x18 and Z(F)(0x5) == 0x5 * Z(F)(0x4))
253+assert((((fat(0x0) == 0x1) and (fat(0x4) == 0x18)) and (Z(F)(0x5) == (0x5 * Z(F)(0x4)))))
254local function g
254local function g
255(z)
255(z)
256local function f
256local function f
257(a,b,c,d)
257(a,b,c,d)
258return function (x,y)
258return function (x,y)
259−return a + b + c + d + a + x + y + z
259+return (((((((a + b) + c) + d) + a) + x) + y) + z)
260end
260end
261end
261end
262−return f(z,z + 0x1,z + 0x2,z + 0x3)
262+return f(z,(z + 0x1),(z + 0x2),(z + 0x3))
263end
263end
264local f = g(0xa)
264local f = g(0xa)
265−assert(f(0x9,0x10) == 0xa + 0xb + 0xc + 0xd + 0xa + 0x9 + 0x10 + 0xa)
265+assert((f(0x9,0x10) == (((((((0xa + 0xb) + 0xc) + 0xd) + 0xa) + 0x9) + 0x10) + 0xa)))
266print("\u{2b}")
266print("\u{2b}")
267local function unlpack
267local function unlpack
268(t,i)
268(t,i)
269−i=i or 0x1
269+i=(i or 0x1)
270−if (i <= # t) then
270+if (i <= (# t)) then
271−return t[i],unlpack(t,i + 0x1)
271+return t[i],unlpack(t,(i + 0x1))
272end
272end
273end
273end
274local function equaltab
274local function equaltab
275(t1,t2)
275(t1,t2)
276−assert(# t1 == # t2)
276+assert((# (t1 == (# t2))))
277−for i = 0x1, # t1
277+for i = 0x1, (# t1)
278do
278do
279−assert(t1[i] == t2[i])
279+assert((t1[i] == t2[i]))
280end
280end
281end
281end
282local pack = function (...)
282local pack = function (...)
283−return (table.pack(...))
283+return table.pack(...)
284end
284end
285local function f
285local function f
286()
286()
@@ -291,23 +291,23 @@ local function ret2
291return a,b
291return a,b
292end
292end
293local a,b,c,d = unlpack({0x1,0x2,0x3})
293local a,b,c,d = unlpack({0x1,0x2,0x3})
294−assert(a == 0x1 and b == 0x2 and c == 0x3 and d == nil)
294+assert(((((a == 0x1) and (b == 0x2)) and (c == 0x3)) and (d == nil)))
295a={0x1,0x2,0x3,0x4,false,0xa,"\u{61}\u{6c}\u{6f}",false,assert}
295a={0x1,0x2,0x3,0x4,false,0xa,"\u{61}\u{6c}\u{6f}",false,assert}
296equaltab(pack(unlpack(a)),a)
296equaltab(pack(unlpack(a)),a)
297−equaltab(pack(unlpack(a),- 0x1),{0x1,- 0x1})
297+equaltab(pack(unlpack(a),(- 0x1)),{0x1,(- 0x1)})
298a,b,c,d=ret2(f()),ret2(f())
298a,b,c,d=ret2(f()),ret2(f())
299−assert(a == 0x1 and b == 0x1 and c == 0x2 and d == nil)
299+assert(((((a == 0x1) and (b == 0x1)) and (c == 0x2)) and (d == nil)))
300a,b,c,d=unlpack(pack(ret2(f()),ret2(f())))
300a,b,c,d=unlpack(pack(ret2(f()),ret2(f())))
301−assert(a == 0x1 and b == 0x1 and c == 0x2 and d == nil)
301+assert(((((a == 0x1) and (b == 0x1)) and (c == 0x2)) and (d == nil)))
302−a,b,c,d=unlpack(pack(ret2(f()),(ret2(f()))))
302+a,b,c,d=unlpack(pack(ret2(f()),ret2(f())))
303−assert(a == 0x1 and b == 0x1 and c == nil and d == nil)
303+assert(((((a == 0x1) and (b == 0x1)) and (c == nil)) and (d == nil)))
304a=ret2({unlpack({0x1,0x2,0x3}),unlpack({0x3,0x2,0x1}),unlpack({"\u{61}","\u{62}"})})
304a=ret2({unlpack({0x1,0x2,0x3}),unlpack({0x3,0x2,0x1}),unlpack({"\u{61}","\u{62}"})})
305−assert(a[0x1] == 0x1 and a[0x2] == 0x3 and a[0x3] == "\u{61}" and a[0x4] == "\u{62}")
305+assert(((((a[0x1] == 0x1) and (a[0x2] == 0x3)) and (a[0x3] == "\u{61}")) and (a[0x4] == "\u{62}")))
306rawget({},"\u{78}",0x1)
306rawget({},"\u{78}",0x1)
307rawset({},"\u{78}",0x1,0x2)
307rawset({},"\u{78}",0x1,0x2)
308−assert(math.sin(0x1,0x2) == math.sin(0x1))
308+assert((math.sin(0x1,0x2) == math.sin(0x1)))
309table.sort({0xa,0x9,0x8,0x4,0x13,0x17,0x0,0x0},function (a,b)
309table.sort({0xa,0x9,0x8,0x4,0x13,0x17,0x0,0x0},function (a,b)
310−return a < b
310+return (a < b)
311end,"\u{65}\u{78}\u{74}\u{72}\u{61}\u{20}\u{61}\u{72}\u{67}")
311end,"\u{65}\u{78}\u{74}\u{72}\u{61}\u{20}\u{61}\u{72}\u{67}")
312local 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}"
312local 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}"
313local function read1
313local function read1
@@ -315,55 +315,55 @@ local function read1
315local i = 0x0
315local i = 0x0
316return function ()
316return function ()
317collectgarbage()
317collectgarbage()
318−i=i + 0x1
318+i=(i + 0x1)
319return string.sub(x,i,i)
319return string.sub(x,i,i)
320end
320end
321end
321end
322local function cannotload
322local function cannotload
323(msg,a,b)
323(msg,a,b)
324−assert(not a and string.find(b,msg))
324+assert((not (a and string.find(b,msg))))
325end
325end
326a=assert(load(read1(x),"\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}","\u{74}",_G))
326a=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 == 0x21)
327+assert(((a() == "\u{0}") and (_G.x == 0x21)))
328−assert(debug.getinfo(a).source == "\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}")
328+assert((debug.getinfo(a).source == "\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}"))
329cannotload("\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}",{}))
329cannotload("\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}",{}))
330cannotload("\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}"))
330cannotload("\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}"))
331a=assert(load(function ()
331a=assert(load(function ()
332return nil
332return nil
333end))
333end))
334a()
334a()
335−assert(not load(function ()
335+assert((not load(function ()
336return true
336return true
337−end))
337+end)))
338local t = {nil,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{33}"}
338local t = {nil,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{33}"}
339f,msg=load(function ()
339f,msg=load(function ()
340return table.remove(t,0x1)
340return table.remove(t,0x1)
341end)
341end)
342−assert(f() == nil)
342+assert((f() == nil))
343f=load(string.dump(function ()
343f=load(string.dump(function ()
344return 0x1
344return 0x1
345end),nil,"\u{62}",{})
345end),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() == 0x1)
346+assert(((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") and (f() == 0x1)))
347do
347do
348local f = string.dump(function ()
348local f = string.dump(function ()
349return "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{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}"
349return "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{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}"
350end)
350end)
351f=load(read1(f))
351f=load(read1(f))
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}")
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}"))
353end
353end
354x=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}"))
354x=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}"))
355a=assert(load(read1(x),nil,"\u{62}"))
355a=assert(load(read1(x),nil,"\u{62}"))
356−assert(a() == 0x1 and _G.x == 0x1)
356+assert(((a() == 0x1) and (_G.x == 0x1)))
357cannotload("\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}"))
357cannotload("\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}"))
358cannotload("\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}"))
358cannotload("\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}"))
359_G.x=nil
359_G.x=nil
360−assert(not pcall(string.dump,print))
360+assert((not pcall(string.dump,print)))
361cannotload("\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}")))
361cannotload("\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}")))
362cannotload("\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}"))
362cannotload("\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}"))
363cannotload("\u{68}\u{68}\u{69}",load(function ()
363cannotload("\u{68}\u{68}\u{69}",load(function ()
364error("\u{68}\u{68}\u{69}")
364error("\u{68}\u{68}\u{69}")
365end))
365end))
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,0x7b)() == 0x7b)
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,0x7b)() == 0x7b))
367local x
367local x
368;
368;
369XX=0x7b
369XX=0x7b
@@ -374,60 +374,60 @@ return XX
374end
374end
375local d = string.dump(h)
375local d = string.dump(h)
376x=load(d,"","\u{62}")
376x=load(d,"","\u{62}")
377−assert(debug.getupvalue(x,0x2) == "\u{5f}\u{45}\u{4e}\u{56}")
377+assert((debug.getupvalue(x,0x2) == "\u{5f}\u{45}\u{4e}\u{56}"))
378debug.setupvalue(x,0x2,_G)
378debug.setupvalue(x,0x2,_G)
379−assert(x() == 0x7b)
379+assert((x() == 0x7b))
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}"] = 0xd}))(0x4) == 0x11)
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}"] = 0xd}))(0x4) == 0x11))
381XX=nil
381XX=nil
382x="\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}"
382x="\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}"
383a=assert(load(read1(x),"\u{72}\u{65}\u{61}\u{64}","\u{74}"))
383a=assert(load(read1(x),"\u{72}\u{65}\u{61}\u{64}","\u{74}"))
384−assert(a()(0x2)(0x3)(0xa) == 0xf)
384+assert((a()(0x2)(0x3)(0xa) == 0xf))
385x=string.dump(a)
385x=string.dump(a)
386a=assert(load(read1(x),"\u{72}\u{65}\u{61}\u{64}","\u{62}"))
386a=assert(load(read1(x),"\u{72}\u{65}\u{61}\u{64}","\u{62}"))
387−assert(a()(0x2)(0x3)(0xa) == 0xf)
387+assert((a()(0x2)(0x3)(0xa) == 0xf))
388local a,b = 0x14,0x1e
388local a,b = 0x14,0x1e
389x=load(string.dump(function (x)
389x=load(string.dump(function (x)
390−if x == "\u{73}\u{65}\u{74}" then
390+if (x == "\u{73}\u{65}\u{74}") then
391−a=0xa + b
391+a=(0xa + b)
392;
392;
393−b=b + 0x1
393+b=(b + 0x1)
394else
394else
395return a
395return a
396end
396end
397end),"","\u{62}",nil)
397end),"","\u{62}",nil)
398−assert(x() == nil)
398+assert((x() == nil))
399−assert(debug.setupvalue(x,0x1,"\u{68}\u{69}") == "\u{61}")
399+assert((debug.setupvalue(x,0x1,"\u{68}\u{69}") == "\u{61}"))
400−assert(x() == "\u{68}\u{69}")
400+assert((x() == "\u{68}\u{69}"))
401−assert(debug.setupvalue(x,0x2,0xd) == "\u{62}")
401+assert((debug.setupvalue(x,0x2,0xd) == "\u{62}"))
402−assert(not debug.setupvalue(x,0x3,0xa))
402+assert((not debug.setupvalue(x,0x3,0xa)))
403x("\u{73}\u{65}\u{74}")
403x("\u{73}\u{65}\u{74}")
404−assert(x() == 0x17)
404+assert((x() == 0x17))
405x("\u{73}\u{65}\u{74}")
405x("\u{73}\u{65}\u{74}")
406−assert(x() == 0x18)
406+assert((x() == 0x18))
407do
407do
408local nup = 0xc8
408local nup = 0xc8
409local prog = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{31}"}
409local prog = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{31}"}
410for i = 0x2, nup
410for i = 0x2, nup
411do
411do
412−prog[# prog + 0x1]="\u{2c}\u{20}\u{61}" .. i
412+prog[(# (prog + 0x1))]=("\u{2c}\u{20}\u{61}" .. i)
413end
413end
414−prog[# prog + 0x1]="\u{20}\u{3d}\u{20}\u{31}"
414+prog[(# (prog + 0x1))]="\u{20}\u{3d}\u{20}\u{31}"
415for i = 0x2, nup
415for i = 0x2, nup
416do
416do
417−prog[# prog + 0x1]="\u{2c}\u{20}" .. i
417+prog[(# (prog + 0x1))]=("\u{2c}\u{20}" .. i)
418end
418end
419local sum = 0x1
419local sum = 0x1
420−prog[# prog + 0x1]="\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}"
420+prog[(# (prog + 0x1))]="\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}"
421for i = 0x2, nup
421for i = 0x2, nup
422do
422do
423−prog[# prog + 0x1]="\u{20}\u{2b}\u{20}\u{61}" .. i
423+prog[(# (prog + 0x1))]=("\u{20}\u{2b}\u{20}\u{61}" .. i)
424;
424;
425−sum=sum + i
425+sum=(sum + i)
426end
426end
427−prog[# prog + 0x1]="\u{20}\u{65}\u{6e}\u{64}"
427+prog[(# (prog + 0x1))]="\u{20}\u{65}\u{6e}\u{64}"
428prog=table.concat(prog)
428prog=table.concat(prog)
429local f = assert(load(prog))()
429local f = assert(load(prog))()
430−assert(f() == sum)
430+assert((f() == sum))
431f=load(string.dump(f))
431f=load(string.dump(f))
432local a = 0xa
432local a = 0xa
433local h = function ()
433local h = function ()
@@ -437,26 +437,26 @@ for i = 0x1, nup
437do
437do
438debug.upvaluejoin(f,i,h,0x1)
438debug.upvaluejoin(f,i,h,0x1)
439end
439end
440−assert(f() == 0xa * nup)
440+assert((f() == (0xa * nup)))
441end
441end
442do
442do
443local t = {["\u{78}"] = 0x1}
443local t = {["\u{78}"] = 0x1}
444function t:_012345678901234567890123456789012345678901234567890123456789()
444function t:_012345678901234567890123456789012345678901234567890123456789()
445return self.x
445return self.x
446end
446end
447−assert(t:_012345678901234567890123456789012345678901234567890123456789() == 0x1)
447+assert((t:_012345678901234567890123456789012345678901234567890123456789() == 0x1))
448end
448end
449−assert((function ()
449+assert(((function ()
450return nil
450return nil
451−end)(0x4) == nil)
451+end)(0x4) == nil))
452−assert((function ()
452+assert(((function ()
453local a
453local a
454;
454;
455return a
455return a
456−end)(0x4) == nil)
456+end)(0x4) == nil))
457−assert((function (a)
457+assert(((function (a)
458return a
458return a
459−end)() == nil)
459+end)() == nil))
460print("\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}")
460print("\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}")
461do
461do
462local 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}",0x54,0x0,"\u{19}\u{93}\u{d}\u{a}\u{1a}\u{a}",0x4,string.packsize("\u{6a}"),string.packsize("\u{6e}"))
462local 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}",0x54,0x0,"\u{19}\u{93}\u{d}\u{a}\u{1a}\u{a}",0x4,string.packsize("\u{6a}"),string.packsize("\u{6e}"))
@@ -466,26 +466,26 @@ local a = 0x1
466local b = 0x3
466local b = 0x3
467;
467;
468local f = function ()
468local f = function ()
469−return a + b + _ENV.c
469+return ((a + b) + _ENV.c)
470end
470end
471local s1 = "\u{61}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}"
471local s1 = "\u{61}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}"
472local 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}"
472local 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}"
473−return a + b * 0x3
473+return (a + (b * 0x3))
474end)
474end)
475−assert(assert(load(c))() == 0xa)
475+assert((assert(load(c))() == 0xa))
476−assert(string.sub(c,0x1,# header) == header)
476+assert((string.sub(c,0x1,(# header)) == header))
477−local ci,cn = string.unpack("\u{6a}\u{6e}",c,# header + 0x1)
477+local ci,cn = string.unpack("\u{6a}\u{6e}",c,(# (header + 0x1)))
478−assert(ci == 0x5678 and cn == 370.5)
478+assert(((ci == 0x5678) and (cn == 370.5)))
479−for i = 0x1, # header
479+for i = 0x1, (# header)
480do
480do
481−local s = string.sub(c,0x1,i - 0x1) .. string.char(string.byte(string.sub(c,i,i)) + 0x1) .. string.sub(c,i + 0x1,- 0x1)
481+local s = (string.sub(c,0x1,(i - 0x1)) .. (string.char((string.byte(string.sub(c,i,i)) + 0x1)) .. string.sub(c,(i + 0x1),(- 0x1))))
482−assert(# s == # c)
482+assert((# (s == (# c))))
483−assert(not load(s))
483+assert((not load(s)))
484end
484end
485−for i = 0x1, # c - 0x1
485+for i = 0x1, (# (c - 0x1))
486do
486do
487local st,msg = load(string.sub(c,0x1,i))
487local st,msg = load(string.sub(c,0x1,i))
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}"))
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}"))))
489end
489end
490end
490end
491print("\u{4f}\u{4b}")
491print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/closure.lua → desk/res/lua/cycled/closure.luarenamed+77−77
@@ -8,11 +8,11 @@ do
8local y = 0x0
8local y = 0x0
9do
9do
10a[i]=function ()
10a[i]=function ()
11−B.g=B.g + 0x1
11+B.g=(B.g + 0x1)
12;
12;
13−y=y + x
13+y=(y + x)
14;
14;
15−return y + A
15+return (y + A)
16end
16end
17end
17end
18end
18end
@@ -22,41 +22,41 @@ end
22collectgarbage()
22collectgarbage()
23A=0x1
23A=0x1
24;
24;
25−assert(dummy() == a[0x1])
25+assert((dummy() == a[0x1]))
26;
26;
27A=0x0
27A=0x0
28;
28;
29−assert(a[0x1]() == x)
29+assert((a[0x1]() == x))
30−assert(a[0x3]() == x)
30+assert((a[0x3]() == x))
31collectgarbage()
31collectgarbage()
32−assert(B.g == 0xc)
32+assert((B.g == 0xc))
33return a
33return a
34end
34end
35local a = f(0xa)
35local a = f(0xa)
36local x = {[0x1] = {}}
36local x = {[0x1] = {}}
37setmetatable(x,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
37setmetatable(x,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
38while x[0x1] do
38while x[0x1] do
39−local a = A .. A .. A .. A
39+local a = (A .. (A .. (A .. A)))
40−A=A + 0x1
40+A=(A + 0x1)
41end
41end
42−assert(a[0x1]() == 0x14 + A)
42+assert((a[0x1]() == (0x14 + A)))
43−assert(a[0x1]() == 0x1e + A)
43+assert((a[0x1]() == (0x1e + A)))
44−assert(a[0x2]() == 0xa + A)
44+assert((a[0x2]() == (0xa + A)))
45collectgarbage()
45collectgarbage()
46−assert(a[0x2]() == 0x14 + A)
46+assert((a[0x2]() == (0x14 + A)))
47−assert(a[0x2]() == 0x1e + A)
47+assert((a[0x2]() == (0x1e + A)))
48−assert(a[0x3]() == 0x14 + A)
48+assert((a[0x3]() == (0x14 + A)))
49−assert(a[0x8]() == 0xa + A)
49+assert((a[0x8]() == (0xa + A)))
50−assert(getmetatable(x).__mode == "\u{6b}\u{76}")
50+assert((getmetatable(x).__mode == "\u{6b}\u{76}"))
51−assert(B.g == 0x13)
51+assert((B.g == 0x13))
52a={}
52a={}
53for i = 0x1, 0x5
53for i = 0x1, 0x5
54do
54do
55a[i]=function (x)
55a[i]=function (x)
56−return i + a + _ENV
56+return ((i + a) + _ENV)
57end
57end
58end
58end
59−assert(a[0x3] ~= a[0x4] and a[0x4] ~= a[0x5])
59+assert(((a[0x3] ~= a[0x4]) and (a[0x4] ~= a[0x5])))
60do
60do
61local a = function (x)
61local a = function (x)
62return math.sin(_ENV[x])
62return math.sin(_ENV[x])
@@ -65,7 +65,7 @@ local function f
65()
65()
66return a
66return a
67end
67end
68−assert(f() == f())
68+assert((f() == f()))
69end
69end
70a={}
70a={}
71for i = 0x1, 0xa
71for i = 0x1, 0xa
@@ -75,19 +75,19 @@ i=x
75end,["\u{67}\u{65}\u{74}"] = function ()
75end,["\u{67}\u{65}\u{74}"] = function ()
76return i
76return i
77end}
77end}
78−if i == 0x3 then
78+if (i == 0x3) then
79break
79break
80end
80end
81end
81end
82−assert(a[0x4] == undef)
82+assert((a[0x4] == undef))
83a[0x1].set(0xa)
83a[0x1].set(0xa)
84−assert(a[0x2].get() == 0x2)
84+assert((a[0x2].get() == 0x2))
85a[0x2].set("\u{61}")
85a[0x2].set("\u{61}")
86−assert(a[0x3].get() == 0x3)
86+assert((a[0x3].get() == 0x3))
87−assert(a[0x2].get() == "\u{61}")
87+assert((a[0x2].get() == "\u{61}"))
88a={}
88a={}
89local t = {"\u{61}","\u{62}"}
89local t = {"\u{61}","\u{62}"}
90−for i = 0x1, # t
90+for i = 0x1, (# t)
91do
91do
92local k = t[i]
92local k = t[i]
93a[i]={["\u{73}\u{65}\u{74}"] = function (x,y)
93a[i]={["\u{73}\u{65}\u{74}"] = function (x,y)
@@ -97,18 +97,18 @@ k=y
97end,["\u{67}\u{65}\u{74}"] = function ()
97end,["\u{67}\u{65}\u{74}"] = function ()
98return i,k
98return i,k
99end}
99end}
100−if i == 0x2 then
100+if (i == 0x2) then
101break
101break
102end
102end
103end
103end
104a[0x1].set(0xa,0x14)
104a[0x1].set(0xa,0x14)
105local r,s = a[0x2].get()
105local r,s = a[0x2].get()
106−assert(r == 0x2 and s == "\u{62}")
106+assert(((r == 0x2) and (s == "\u{62}")))
107r,s=a[0x1].get()
107r,s=a[0x1].get()
108−assert(r == 0xa and s == 0x14)
108+assert(((r == 0xa) and (s == 0x14)))
109a[0x2].set("\u{61}","\u{62}")
109a[0x2].set("\u{61}","\u{62}")
110r,s=a[0x2].get()
110r,s=a[0x2].get()
111−assert(r == "\u{61}" and s == "\u{62}")
111+assert(((r == "\u{61}") and (s == "\u{62}")))
112local f
112local f
113for i = 0x1, 0x3
113for i = 0x1, 0x3
114do
114do
@@ -117,8 +117,8 @@ return i
117end
117end
118break
118break
119end
119end
120−assert(f() == 0x1)
120+assert((f() == 0x1))
121−for k = 0x1, # t
121+for k = 0x1, (# t)
122do
122do
123local v = t[k]
123local v = t[k]
124f=function ()
124f=function ()
@@ -126,31 +126,31 @@ return k,v
126end
126end
127break
127break
128end
128end
129−assert(({f()})[0x1] == 0x1)
129+assert((({f()})[0x1] == 0x1))
130−assert(({f()})[0x2] == "\u{61}")
130+assert((({f()})[0x2] == "\u{61}"))
131local b
131local b
132function f(x)
132function f(x)
133local first = 0x1
133local first = 0x1
134while 0x1 do
134while 0x1 do
135−if x == 0x3 and not first then
135+if ((x == 0x3) and (not first)) then
136return
136return
137end
137end
138local a = "\u{78}\u{75}\u{78}\u{75}"
138local a = "\u{78}\u{75}\u{78}\u{75}"
139b=function (op,y)
139b=function (op,y)
140−if op == "\u{73}\u{65}\u{74}" then
140+if (op == "\u{73}\u{65}\u{74}") then
141−a=x + y
141+a=(x + y)
142else
142else
143return a
143return a
144end
144end
145end
145end
146−if x == 0x1 then
146+if (x == 0x1) then
147do
147do
148break
148break
149end
149end
150−elseif x == 0x2 then
150+elseif (x == 0x2) then
151return
151return
152else
152else
153−if x ~= 0x3 then
153+if (x ~= 0x3) then
154error()
154error()
155end
155end
156end
156end
@@ -160,29 +160,29 @@ end
160for i = 0x1, 0x3
160for i = 0x1, 0x3
161do
161do
162f(i)
162f(i)
163−assert(b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}")
163+assert((b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}"))
164b("\u{73}\u{65}\u{74}",0xa)
164b("\u{73}\u{65}\u{74}",0xa)
165;
165;
166−assert(b("\u{67}\u{65}\u{74}") == 0xa + i)
166+assert((b("\u{67}\u{65}\u{74}") == (0xa + i)))
167b=nil
167b=nil
168end
168end
169pcall(f,0x4)
169pcall(f,0x4)
170;
170;
171−assert(b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}")
171+assert((b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}"))
172b("\u{73}\u{65}\u{74}",0xa)
172b("\u{73}\u{65}\u{74}",0xa)
173;
173;
174−assert(b("\u{67}\u{65}\u{74}") == 0xe)
174+assert((b("\u{67}\u{65}\u{74}") == 0xe))
175local y,w
175local y,w
176function f(x)
176function f(x)
177return function (y)
177return function (y)
178return function (z)
178return function (z)
179−return w + x + y + z
179+return (((w + x) + y) + z)
180end
180end
181end
181end
182end
182end
183y=f(0xa)
183y=f(0xa)
184w=1.345
184w=1.345
185−assert(y(0x14)(0x1e) == 0x3c + w)
185+assert((y(0x14)(0x1e) == (0x3c + w)))
186do
186do
187local X,Y
187local X,Y
188local a = math.sin(0x0)
188local a = math.sin(0x0)
@@ -201,23 +201,23 @@ Y=function ()
201return b
201return b
202end
202end
203end
203end
204−assert(X() == 0xa and Y() == 0x14)
204+assert(((X() == 0xa) and (Y() == 0x14)))
205end
205end
206local a = {}
206local a = {}
207local i = 0x1
207local i = 0x1
208repeat
208repeat
209local x = i
209local x = i
210a[i]=function ()
210a[i]=function ()
211−i=x + 0x1
211+i=(x + 0x1)
212;
212;
213return x
213return x
214end
214end
215−until i > 0xa or a[i]() ~= x
215+until ((i > 0xa) or (a[i]() ~= x))
216−assert(i == 0xb and a[0x1]() == 0x1 and a[0x3]() == 0x3 and i == 0x4)
216+assert(((((i == 0xb) and (a[0x1]() == 0x1)) and (a[0x3]() == 0x3)) and (i == 0x4)))
217a={}
217a={}
218for i = 0x1, 0xa
218for i = 0x1, 0xa
219do
219do
220−if i % 0x3 == 0x0 then
220+if ((i % 0x3) == 0x0) then
221local y = 0x0
221local y = 0x0
222a[i]=function (x)
222a[i]=function (x)
223local t = y
223local t = y
@@ -226,7 +226,7 @@ y=x
226;
226;
227return t
227return t
228end
228end
229−elseif i % 0x3 == 0x1 then
229+elseif ((i % 0x3) == 0x1) then
230goto L1
230goto L1
231error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
231error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
232::L1::
232::L1::
@@ -238,7 +238,7 @@ y=x
238;
238;
239return t
239return t
240end
240end
241−elseif i % 0x3 == 0x2 then
241+elseif ((i % 0x3) == 0x2) then
242local t
242local t
243goto l4
243goto l4
244::l4a::
244::l4a::
@@ -262,18 +262,18 @@ end
262end
262end
263for i = 0x1, 0xa
263for i = 0x1, 0xa
264do
264do
265−assert(a[i](i * 0xa) == i % 0x3 and a[i]() == i * 0xa)
265+assert(((a[i]((i * 0xa)) == (i % 0x3)) and (a[i]() == (i * 0xa))))
266end
266end
267print("\u{2b}")
267print("\u{2b}")
268local function t
268local function t
269()
269()
270local function c
270local function c
271(a,b)
271(a,b)
272−assert(a == "\u{74}\u{65}\u{73}\u{74}" and b == "\u{4f}\u{4b}")
272+assert(((a == "\u{74}\u{65}\u{73}\u{74}") and (b == "\u{4f}\u{4b}")))
273end
273end
274local function v
274local function v
275(f, ...)
275(f, ...)
276−c("\u{74}\u{65}\u{73}\u{74}",f() ~= 0x1 and "\u{46}\u{41}\u{49}\u{4c}\u{45}\u{44}" or "\u{4f}\u{4b}")
276+c("\u{74}\u{65}\u{73}\u{74}",(((f() ~= 0x1) and "\u{46}\u{41}\u{49}\u{4c}\u{45}\u{44}") or "\u{4f}\u{4b}"))
277end
277end
278local x = 0x1
278local x = 0x1
279return v(function ()
279return v(function ()
@@ -286,42 +286,42 @@ local foo1,foo2,foo3
286do
286do
287local a,b,c = 0x3,0x5,0x7
287local a,b,c = 0x3,0x5,0x7
288foo1=function ()
288foo1=function ()
289−return a + b
289+return (a + b)
290end
290end
291;
291;
292foo2=function ()
292foo2=function ()
293−return b + a
293+return (b + a)
294end
294end
295;
295;
296do
296do
297local a = 0xa
297local a = 0xa
298foo3=function ()
298foo3=function ()
299−return a + b
299+return (a + b)
300end
300end
301;
301;
302end
302end
303end
303end
304assert(debug.upvalueid(foo1,0x1))
304assert(debug.upvalueid(foo1,0x1))
305assert(debug.upvalueid(foo1,0x2))
305assert(debug.upvalueid(foo1,0x2))
306−assert(not debug.upvalueid(foo1,0x3))
306+assert((not debug.upvalueid(foo1,0x3)))
307−assert(debug.upvalueid(foo1,0x1) == debug.upvalueid(foo2,0x2))
307+assert((debug.upvalueid(foo1,0x1) == debug.upvalueid(foo2,0x2)))
308−assert(debug.upvalueid(foo1,0x2) == debug.upvalueid(foo2,0x1))
308+assert((debug.upvalueid(foo1,0x2) == debug.upvalueid(foo2,0x1)))
309assert(debug.upvalueid(foo3,0x1))
309assert(debug.upvalueid(foo3,0x1))
310−assert(debug.upvalueid(foo1,0x1) ~= debug.upvalueid(foo3,0x1))
310+assert((debug.upvalueid(foo1,0x1) ~= debug.upvalueid(foo3,0x1)))
311−assert(debug.upvalueid(foo1,0x2) == debug.upvalueid(foo3,0x2))
311+assert((debug.upvalueid(foo1,0x2) == debug.upvalueid(foo3,0x2)))
312−assert(debug.upvalueid(string.gmatch("\u{78}","\u{78}"),0x1) ~= nil)
312+assert((debug.upvalueid(string.gmatch("\u{78}","\u{78}"),0x1) ~= nil))
313−assert(foo1() == 0x3 + 0x5 and foo2() == 0x5 + 0x3)
313+assert(((foo1() == (0x3 + 0x5)) and (foo2() == (0x5 + 0x3))))
314debug.upvaluejoin(foo1,0x2,foo2,0x2)
314debug.upvaluejoin(foo1,0x2,foo2,0x2)
315−assert(foo1() == 0x3 + 0x3 and foo2() == 0x5 + 0x3)
315+assert(((foo1() == (0x3 + 0x3)) and (foo2() == (0x5 + 0x3))))
316−assert(foo3() == 0xa + 0x5)
316+assert((foo3() == (0xa + 0x5)))
317debug.upvaluejoin(foo3,0x2,foo2,0x1)
317debug.upvaluejoin(foo3,0x2,foo2,0x1)
318−assert(foo3() == 0xa + 0x5)
318+assert((foo3() == (0xa + 0x5)))
319debug.upvaluejoin(foo3,0x2,foo2,0x2)
319debug.upvaluejoin(foo3,0x2,foo2,0x2)
320−assert(foo3() == 0xa + 0x3)
320+assert((foo3() == (0xa + 0x3)))
321−assert(not pcall(debug.upvaluejoin,foo1,0x3,foo2,0x1))
321+assert((not pcall(debug.upvaluejoin,foo1,0x3,foo2,0x1)))
322−assert(not pcall(debug.upvaluejoin,foo1,0x1,foo2,0x3))
322+assert((not pcall(debug.upvaluejoin,foo1,0x1,foo2,0x3)))
323−assert(not pcall(debug.upvaluejoin,foo1,0x0,foo2,0x1))
323+assert((not pcall(debug.upvaluejoin,foo1,0x0,foo2,0x1)))
324−assert(not pcall(debug.upvaluejoin,print,0x1,foo2,0x1))
324+assert((not pcall(debug.upvaluejoin,print,0x1,foo2,0x1)))
325−assert(not pcall(debug.upvaluejoin,{},0x1,foo2,0x1))
325+assert((not pcall(debug.upvaluejoin,{},0x1,foo2,0x1)))
326−assert(not pcall(debug.upvaluejoin,foo1,0x1,print,0x1))
326+assert((not pcall(debug.upvaluejoin,foo1,0x1,print,0x1)))
327print("\u{4f}\u{4b}")
327print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/code.lua → desk/res/lua/cycled/code.luarenamed+144−144
@@ -1,4 +1,4 @@
1−if T == nil then
1+if (T == nil) then
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}")
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}")
3return
3return
4end
4end
@@ -7,11 +7,11 @@ local k0aux <const> = 0x0
7local k0 <const> = k0aux
7local k0 <const> = k0aux
8local k1 <const> = 0x1
8local k1 <const> = 0x1
9local k3 <const> = 0x3
9local k3 <const> = 0x3
10−local k6 <const> = k3 + (k3 << k0)
10+local k6 <const> = (k3 + (k3 << k0))
11local kFF0 <const> = 0xff0
11local kFF0 <const> = 0xff0
12local k3_78 <const> = 3.78
12local k3_78 <const> = 3.78
13−local x,k3_78_4 <const> = 0xa,k3_78 / 0x4
13+local x,k3_78_4 <const> = 0xa,(k3_78 / 0x4)
14−assert(x == 0xa)
14+assert((x == 0xa))
15local kx <const> = "\u{78}"
15local kx <const> = "\u{78}"
16local kTrue <const> = true
16local kTrue <const> = true
17local kFalse <const> = false
17local kFalse <const> = false
@@ -28,10 +28,10 @@ end
28local function checkKlist
28local function checkKlist
29(func,list)
29(func,list)
30local k = T.listk(func)
30local k = T.listk(func)
31−assert(# k == # list)
31+assert((# (k == (# list))))
32−for i = 0x1, # k
32+for i = 0x1, (# k)
33do
33do
34−assert(k[i] == list[i] and math.type(k[i]) == math.type(list[i]))
34+assert(((k[i] == list[i]) and (math.type(k[i]) == math.type(list[i]))))
35end
35end
36end
36end
37local function foo
37local function foo
@@ -43,20 +43,20 @@ a=0x0
43;
43;
44a=0.0
44a=0.0
45;
45;
46−a=- 0x7 + 0x7
46+a=(- (0x7 + 0x7))
47−a=k3_78 / 0x4
47+a=(k3_78 / 0x4)
48;
48;
49a=k3_78_4
49a=k3_78_4
50−a=- k3_78 / 0x4
50+a=(- (k3_78 / 0x4))
51;
51;
52−a=k3_78 / 0x4
52+a=(k3_78 / 0x4)
53;
53;
54−a=- 3.78 / 0x4
54+a=(- (3.78 / 0x4))
55−a=- 3.79 / 0x4
55+a=(- (3.79 / 0x4))
56;
56;
57a=0.0
57a=0.0
58;
58;
59−a=- 0x0
59+a=(- 0x0)
60;
60;
61a=k3
61a=k3
62;
62;
@@ -66,18 +66,18 @@ a=0x3
66;
66;
67a=3.0
67a=3.0
68end
68end
69−checkKlist(foo,{3.78 / 0x4,- 3.78 / 0x4,- 3.79 / 0x4})
69+checkKlist(foo,{(3.78 / 0x4),(- (3.78 / 0x4)),(- (3.79 / 0x4))})
70foo=function (f,a)
70foo=function (f,a)
71−f(0x64 * 0x3e8)
71+f((0x64 * 0x3e8))
72−f(100.0 * 0x3e8)
72+f((100.0 * 0x3e8))
73−f(- 0x64 * 0x3e8)
73+f((- (0x64 * 0x3e8)))
74−f(- 0x64 * 1e3)
74+f((- (0x64 * 1e3)))
75f(0x186a0)
75f(0x186a0)
76f(1e5)
76f(1e5)
77−f(- 0x186a0)
77+f((- 0x186a0))
78−f(- 1e5)
78+f((- 1e5))
79end
79end
80−checkKlist(foo,{0x186a0,1e5,- 0x186a0,- 1e5})
80+checkKlist(foo,{0x186a0,1e5,(- 0x186a0),(- 1e5)})
81foo=function (t,a)
81foo=function (t,a)
82t[a]=0x1
82t[a]=0x1
83;
83;
@@ -106,29 +106,29 @@ local function check
106(f, ...)
106(f, ...)
107local arg = {...}
107local arg = {...}
108local c = T.listcode(f)
108local c = T.listcode(f)
109−for i = 0x1, # arg
109+for i = 0x1, (# arg)
110do
110do
111local opcode = string.match(c[i],"\u{25}\u{75}\u{25}\u{77}\u{2b}")
111local opcode = string.match(c[i],"\u{25}\u{75}\u{25}\u{77}\u{2b}")
112−assert(arg[i] == opcode)
112+assert((arg[i] == opcode))
113end
113end
114−assert(c[# arg + 0x2] == undef)
114+assert((c[(# (arg + 0x2))] == undef))
115end
115end
116local function checkR
116local function checkR
117(f,p,r, ...)
117(f,p,r, ...)
118local r1 = f(p)
118local r1 = f(p)
119−assert(r == r1 and math.type(r) == math.type(r1))
119+assert(((r == r1) and (math.type(r) == math.type(r1))))
120check(f,...)
120check(f,...)
121end
121end
122local function checkequal
122local function checkequal
123(a,b)
123(a,b)
124a=T.listcode(a)
124a=T.listcode(a)
125b=T.listcode(b)
125b=T.listcode(b)
126−assert(# a == # b)
126+assert((# (a == (# b))))
127−for i = 0x1, # a
127+for i = 0x1, (# a)
128do
128do
129a[i]=string.gsub(a[i],"\u{25}\u{62}\u{28}\u{29}","")
129a[i]=string.gsub(a[i],"\u{25}\u{62}\u{28}\u{29}","")
130b[i]=string.gsub(b[i],"\u{25}\u{62}\u{28}\u{29}","")
130b[i]=string.gsub(b[i],"\u{25}\u{62}\u{28}\u{29}","")
131−assert(a[i] == b[i])
131+assert((a[i] == b[i]))
132end
132end
133end
133end
134check(function ()
134check(function ()
@@ -180,19 +180,19 @@ c=nil
180b=nil
180b=nil
181;
181;
182a=nil
182a=nil
183−assert(a == nil and b == nil and c == nil and d == nil)
183+assert(((((a == nil) and (b == nil)) and (c == nil)) and (d == nil)))
184end
184end
185check(function (a,b,c)
185check(function (a,b,c)
186return a
186return a
187end,"\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
187end,"\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
188check(function ()
188check(function ()
189while kTrue do
189while kTrue do
190−local a = - 0x1
190+local a = (- 0x1)
191end
191end
192end,"\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}")
192end,"\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}")
193check(function ()
193check(function ()
194while 0x1 do
194while 0x1 do
195−local a = - 0x1
195+local a = (- 0x1)
196end
196end
197end,"\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}")
197end,"\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}")
198check(function ()
198check(function ()
@@ -201,24 +201,24 @@ local x = 0x1
201until true
201until true
202end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
202end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
203check(function (a,b,c,d)
203check(function (a,b,c,d)
204−return a .. b .. c .. d
204+return (a .. (b .. (c .. d)))
205end,"\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}")
205end,"\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}")
206check(function ()
206check(function ()
207−return not not nil
207+return (not (not nil))
208end,"\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}")
208end,"\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}")
209check(function ()
209check(function ()
210−return not not kFalse
210+return (not (not kFalse))
211end,"\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}")
211end,"\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}")
212check(function ()
212check(function ()
213−return not not true
213+return (not (not true))
214end,"\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}")
214end,"\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}")
215check(function ()
215check(function ()
216−return not not k3
216+return (not (not k3))
217end,"\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}")
217end,"\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}")
218check(function ()
218check(function ()
219local a,b,c,d
219local a,b,c,d
220−a=b * a
220+a=(b * a)
221−c.x,a[b]=- ((a + d / b - a[b]) ^ a.x),b
221+c.x,a[b]=(- (((a + (d / b)) - a[b]) ^ a.x)),b
222end,"\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}")
222end,"\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}")
223check(function ()
223check(function ()
224local a,b
224local a,b
@@ -235,76 +235,76 @@ a[0x100]=0x5
235end,"\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}")
235end,"\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}")
236check(function ()
236check(function ()
237local a,b
237local a,b
238−a=a - a
238+a=(a - a)
239−b=a / a
239+b=(a / a)
240−b=0x5 - 0x4
240+b=(0x5 - 0x4)
241end,"\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}")
241end,"\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}")
242check(function ()
242check(function ()
243local a,b
243local a,b
244a[kTrue]=false
244a[kTrue]=false
245end,"\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}")
245end,"\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}")
246checkR(function (a)
246checkR(function (a)
247−if a == 0x1 then
247+if (a == 0x1) then
248return 0x2
248return 0x2
249end
249end
250end,0x1,0x2,"\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}")
250end,0x1,0x2,"\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}")
251checkR(function (a)
251checkR(function (a)
252−if - 4.0 == a then
252+if (- (4.0 == a)) then
253return 0x2
253return 0x2
254end
254end
255−end,- 0x4,0x2,"\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}")
255+end,(- 0x4),0x2,"\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}")
256checkR(function (a)
256checkR(function (a)
257−if a == "\u{68}\u{69}" then
257+if (a == "\u{68}\u{69}") then
258return 0x2
258return 0x2
259end
259end
260end,0xa,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}")
260end,0xa,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}")
261checkR(function (a)
261checkR(function (a)
262−if a == 0x2710 then
262+if (a == 0x2710) then
263return 0x2
263return 0x2
264end
264end
265end,0x1,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}")
265end,0x1,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}")
266checkR(function (a)
266checkR(function (a)
267−if - 0x2710 == a then
267+if (- (0x2710 == a)) then
268return 0x2
268return 0x2
269end
269end
270−end,- 0x2710,0x2,"\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}")
270+end,(- 0x2710),0x2,"\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}")
271checkR(function (a)
271checkR(function (a)
272−if - 0xa <= a then
272+if (- (0xa <= a)) then
273return 0x2
273return 0x2
274end
274end
275−end,- 0xa,0x2,"\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}")
275+end,(- 0xa),0x2,"\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}")
276checkR(function (a)
276checkR(function (a)
277−if 128.0 > a then
277+if (128.0 > a) then
278return 0x2
278return 0x2
279end
279end
280end,0x81,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}")
280end,0x81,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}")
281checkR(function (a)
281checkR(function (a)
282−if - 127.0 < a then
282+if (- (127.0 < a)) then
283return 0x2
283return 0x2
284end
284end
285−end,- 0x7f,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}")
285+end,(- 0x7f),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}")
286checkR(function (a)
286checkR(function (a)
287−if 0xa < a then
287+if (0xa < a) then
288return 0x2
288return 0x2
289end
289end
290end,0xb,0x2,"\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}")
290end,0xb,0x2,"\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}")
291checkR(function (a)
291checkR(function (a)
292−if 0x81 < a then
292+if (0x81 < a) then
293return 0x2
293return 0x2
294end
294end
295end,0x82,0x2,"\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}")
295end,0x82,0x2,"\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}")
296checkR(function (a)
296checkR(function (a)
297−if a >= 23.0 then
297+if (a >= 23.0) then
298return 0x2
298return 0x2
299end
299end
300end,0x19,0x2,"\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}")
300end,0x19,0x2,"\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}")
301checkR(function (a)
301checkR(function (a)
302−if a >= 23.1 then
302+if (a >= 23.1) then
303return 0x2
303return 0x2
304end
304end
305end,0x0,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}")
305end,0x0,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}")
306checkR(function (a)
306checkR(function (a)
307−if a > 2300.0 then
307+if (a > 2300.0) then
308return 0x2
308return 0x2
309end
309end
310end,0x0,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}")
310end,0x0,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}")
@@ -312,19 +312,19 @@ local function checkK
312(func,val)
312(func,val)
313check(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}")
313check(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}")
314checkKlist(func,{val})
314checkKlist(func,{val})
315−assert(func() == val)
315+assert((func() == val))
316end
316end
317local function checkI
317local function checkI
318(func,val)
318(func,val)
319check(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}")
319check(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}")
320checkKlist(func,{})
320checkKlist(func,{})
321−assert(func() == val)
321+assert((func() == val))
322end
322end
323local function checkF
323local function checkF
324(func,val)
324(func,val)
325check(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}")
325check(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}")
326checkKlist(func,{})
326checkKlist(func,{})
327−assert(func() == val)
327+assert((func() == val))
328end
328end
329checkF(function ()
329checkF(function ()
330return 0.0
330return 0.0
@@ -333,168 +333,168 @@ checkI(function ()
333return k0
333return k0
334end,0x0)
334end,0x0)
335checkI(function ()
335checkI(function ()
336−return - k0 // 0x1
336+return (- (k0 // 0x1))
337end,0x0)
337end,0x0)
338checkK(function ()
338checkK(function ()
339−return 0x3 ^ - 0x1
339+return (0x3 ^ (- 0x1))
340−end,0x1 / 0x3)
340+end,(0x1 / 0x3))
341checkK(function ()
341checkK(function ()
342−return (0x1 + 0x1) ^ (0x32 + 0x32)
342+return ((0x1 + 0x1) ^ (0x32 + 0x32))
343−end,0x2 ^ 0x64)
343+end,(0x2 ^ 0x64))
344checkK(function ()
344checkK(function ()
345−return (- 0x2) ^ (0x1f - 0x2)
345+return ((- 0x2) ^ (0x1f - 0x2))
346−end,- 0x20000000 + 0.0)
346+end,(- (0x20000000 + 0.0)))
347checkF(function ()
347checkF(function ()
348−return (- k3 ^ 0x0 + 0x5) // 3.0
348+return ((- ((k3 ^ 0x0) + 0x5)) // 3.0)
349end,1.0)
349end,1.0)
350checkI(function ()
350checkI(function ()
351−return - k3 % 0x5
351+return (- (k3 % 0x5))
352end,0x2)
352end,0x2)
353checkF(function ()
353checkF(function ()
354−return - ((2.0 ^ 0x8 + - (- 0x1)) % 0x8) / 0x2 * 0x4 - 0x3
354+return (- ((((((2.0 ^ 0x8) + (- (- 0x1))) % 0x8) / 0x2) * 0x4) - 0x3))
355−end,- 5.0)
355+end,(- 5.0))
356checkF(function ()
356checkF(function ()
357−return - ((0x2 ^ 0x8 + - (- 0x1)) % 0x8) // 0x2 * 0x4 - 0x3
357+return (- ((((((0x2 ^ 0x8) + (- (- 0x1))) % 0x8) // 0x2) * 0x4) - 0x3))
358−end,- 7.0)
358+end,(- 7.0))
359checkI(function ()
359checkI(function ()
360−return 240.0 | 204.0 ~ 0xaa & 0xfd
360+return (240.0 | (204.0 ~ (0xaa & 0xfd)))
361end,0xf4)
361end,0xf4)
362checkI(function ()
362checkI(function ()
363−return ~ (~ kFF0 | kFF0)
363+return (~ (~ (kFF0 | kFF0)))
364end,0x0)
364end,0x0)
365checkI(function ()
365checkI(function ()
366−return ~ ~ - 1024.0
366+return (~ (~ (- 1024.0)))
367−end,- 0x400)
367+end,(- 0x400))
368checkI(function ()
368checkI(function ()
369−return ((0x64 << k6) << - 0x4) >> 0x2
369+return (((0x64 << k6) << (- 0x4)) >> 0x2)
370end,0x64)
370end,0x64)
371local a = 0x11
371local a = 0x11
372;
372;
373−local sbx = ((0x1 << a) - 0x1) >> 0x1
373+local sbx = (((0x1 << a) - 0x1) >> 0x1)
374local border <const> = 0xffff
374local border <const> = 0xffff
375checkI(function ()
375checkI(function ()
376return border
376return border
377end,sbx)
377end,sbx)
378checkI(function ()
378checkI(function ()
379−return - border
379+return (- border)
380−end,- sbx)
380+end,(- sbx))
381checkI(function ()
381checkI(function ()
382−return border + 0x1
382+return (border + 0x1)
383−end,sbx + 0x1)
383+end,(sbx + 0x1))
384checkK(function ()
384checkK(function ()
385−return border + 0x2
385+return (border + 0x2)
386−end,sbx + 0x2)
386+end,(sbx + 0x2))
387checkK(function ()
387checkK(function ()
388−return - (border + 0x1)
388+return (- (border + 0x1))
389−end,- (sbx + 0x1))
389+end,(- (sbx + 0x1)))
390local border <const> = 65535.0
390local border <const> = 65535.0
391checkF(function ()
391checkF(function ()
392return border
392return border
393−end,sbx + 0.0)
393+end,(sbx + 0.0))
394checkF(function ()
394checkF(function ()
395−return - border
395+return (- border)
396−end,- sbx + 0.0)
396+end,(- (sbx + 0.0)))
397checkF(function ()
397checkF(function ()
398−return border + 0x1
398+return (border + 0x1)
399end,(sbx + 1.0))
399end,(sbx + 1.0))
400checkK(function ()
400checkK(function ()
401−return border + 0x2
401+return (border + 0x2)
402end,(sbx + 2.0))
402end,(sbx + 2.0))
403checkK(function ()
403checkK(function ()
404−return - (border + 0x1)
404+return (- (border + 0x1))
405−end,- (sbx + 1.0))
405+end,(- (sbx + 1.0)))
406checkR(function (x)
406checkR(function (x)
407−return x + k1
407+return (x + k1)
408end,0xa,0xb,"\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}")
408end,0xa,0xb,"\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}")
409checkR(function (x)
409checkR(function (x)
410−return x - 0x7f
410+return (x - 0x7f)
411−end,0xa,- 0x75,"\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}")
411+end,0xa,(- 0x75),"\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}")
412checkR(function (x)
412checkR(function (x)
413−return 0x80 + x
413+return (0x80 + x)
414end,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}")
414end,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}")
415checkR(function (x)
415checkR(function (x)
416−return x * - 0x7f
416+return (x * (- 0x7f))
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}")
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}")
418checkR(function (x)
418checkR(function (x)
419−return 0x14 * x
419+return (0x14 * x)
420end,0x2,0x28,"\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}")
420end,0x2,0x28,"\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}")
421checkR(function (x)
421checkR(function (x)
422−return x ^ - 0x2
422+return (x ^ (- 0x2))
423end,0x2,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}")
423end,0x2,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}")
424checkR(function (x)
424checkR(function (x)
425−return x / 0x28
425+return (x / 0x28)
426end,0x28,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}")
426end,0x28,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}")
427checkR(function (x)
427checkR(function (x)
428−return x // 0x1
428+return (x // 0x1)
429end,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}")
429end,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}")
430checkR(function (x)
430checkR(function (x)
431−return x % (0x64 - 0xa)
431+return (x % (0x64 - 0xa))
432end,0x5b,0x1,"\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}")
432end,0x5b,0x1,"\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}")
433checkR(function (x)
433checkR(function (x)
434−return k1 << x
434+return (k1 << x)
435end,0x3,0x8,"\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}")
435end,0x3,0x8,"\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}")
436checkR(function (x)
436checkR(function (x)
437−return x << 0x7f
437+return (x << 0x7f)
438end,0xa,0x0,"\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}")
438end,0xa,0x0,"\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}")
439checkR(function (x)
439checkR(function (x)
440−return x << - 0x7f
440+return (x << (- 0x7f))
441end,0xa,0x0,"\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}")
441end,0xa,0x0,"\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}")
442checkR(function (x)
442checkR(function (x)
443−return x >> 0x80
443+return (x >> 0x80)
444end,0x8,0x0,"\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}")
444end,0x8,0x0,"\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}")
445checkR(function (x)
445checkR(function (x)
446−return x >> - 0x7f
446+return (x >> (- 0x7f))
447end,0x8,0x0,"\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}")
447end,0x8,0x0,"\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}")
448checkR(function (x)
448checkR(function (x)
449−return x & 0x1
449+return (x & 0x1)
450end,0x9,0x1,"\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}")
450end,0x9,0x1,"\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}")
451checkR(function (x)
451checkR(function (x)
452−return 0xa | x
452+return (0xa | x)
453end,0x1,0xb,"\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}")
453end,0x1,0xb,"\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}")
454checkR(function (x)
454checkR(function (x)
455−return - 0xa ~ x
455+return (- (0xa ~ x))
456−end,- 0x1,0x9,"\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}")
456+end,(- 0x1),0x9,"\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}")
457checkR(function (x)
457checkR(function (x)
458−return x + 0.0
458+return (x + 0.0)
459end,0x1,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}")
459end,0x1,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}")
460checkR(function (x)
460checkR(function (x)
461−return x * - 0x2710
461+return (x * (- 0x2710))
462−end,0x2,- 0x4e20,"\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}")
462+end,0x2,(- 0x4e20),"\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}")
463checkR(function (x)
463checkR(function (x)
464−return x ^ 0.5
464+return (x ^ 0.5)
465end,0x4,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}")
465end,0x4,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}")
466checkR(function (x)
466checkR(function (x)
467−return x / 2.0
467+return (x / 2.0)
468end,0x4,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}")
468end,0x4,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}")
469checkR(function (x)
469checkR(function (x)
470−return x // 0x2710
470+return (x // 0x2710)
471end,0x2710,0x1,"\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}")
471end,0x2710,0x1,"\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}")
472checkR(function (x)
472checkR(function (x)
473−return x % (100.0 - 0xa)
473+return (x % (100.0 - 0xa))
474end,0x5b,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}")
474end,0x5b,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}")
475check(function ()
475check(function ()
476−return - 0.0
476+return (- 0.0)
477end,"\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}")
477end,"\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}")
478check(function ()
478check(function ()
479−return k3 / 0x0
479+return (k3 / 0x0)
480end,"\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}")
480end,"\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}")
481check(function ()
481check(function ()
482−return 0x0 % 0x0
482+return (0x0 % 0x0)
483end,"\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}")
483end,"\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}")
484check(function ()
484check(function ()
485−return - 0x4 // 0x0
485+return (- (0x4 // 0x0))
486end,"\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}")
486end,"\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}")
487check(function (x)
487check(function (x)
488−return x >> 2.0
488+return (x >> 2.0)
489end,"\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}")
489end,"\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}")
490check(function (x)
490check(function (x)
491−return x << 0x80
491+return (x << 0x80)
492end,"\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}")
492end,"\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}")
493check(function (x)
493check(function (x)
494−return x & 2.0
494+return (x & 2.0)
495end,"\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}")
495end,"\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}")
496check(function ()
496check(function ()
497−for i = - 0xa, 10.5
497+for i = (- 0xa), 10.5
498do
498do
499
499
500end
500end
@@ -506,7 +506,7 @@ do
506end
506end
507end,"\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}")
507end,"\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}")
508check(function ()
508check(function ()
509−return - nil
509+return (- nil)
510end,"\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}")
510end,"\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}")
511check(function ()
511check(function ()
512local a,b,c
512local a,b,c
@@ -527,43 +527,43 @@ end
527checkequal(function ()
527checkequal(function ()
528local a
528local a
529;
529;
530−if not (a or b) then
530+if (not (a or b)) then
531b=a
531b=a
532end
532end
533end,function ()
533end,function ()
534local a
534local a
535;
535;
536−if (not a and not b) then
536+if (not (a and (not b))) then
537b=a
537b=a
538end
538end
539end)
539end)
540checkequal(function (l)
540checkequal(function (l)
541local a
541local a
542;
542;
543−return 0x0 <= a and a <= l
543+return ((0x0 <= a) and (a <= l))
544end,function (l)
544end,function (l)
545local a
545local a
546;
546;
547−return not (not (a >= 0x0) or not (a <= l))
547+return (not (not ((a >= 0x0) or (not (a <= l)))))
548end)
548end)
549check(function (a,b)
549check(function (a,b)
550while a do
550while a do
551if b then
551if b then
552break
552break
553else
553else
554−a=a + 0x1
554+a=(a + 0x1)
555end
555end
556end
556end
557end,"\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}")
557end,"\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}")
558checkequal(function ()
558checkequal(function ()
559−return 0x6 or true or nil
559+return ((0x6 or true) or nil)
560end,function ()
560end,function ()
561−return k6 or kTrue or kNil
561+return ((k6 or kTrue) or kNil)
562end)
562end)
563checkequal(function ()
563checkequal(function ()
564−return 0x6 and true or nil
564+return ((0x6 and true) or nil)
565end,function ()
565end,function ()
566−return k6 and kTrue or kNil
566+return ((k6 and kTrue) or kNil)
567end)
567end)
568do
568do
569local 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}"
569local 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}"
@@ -578,9 +578,9 @@ end
578end
578end
579local f2 = f1()
579local f2 = f1()
580local f3 = f2()
580local f3 = f2()
581−assert(f3() == k0)
581+assert((f3() == k0))
582checkK(f3,k0)
582checkK(f3,k0)
583−assert(T.listk(f1)[0x1] == nil)
583+assert((T.listk(f1)[0x1] == nil))
584−assert(T.listk(f2)[0x1] == nil)
584+assert((T.listk(f2)[0x1] == nil))
585end
585end
586print("\u{4f}\u{4b}")
586print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/constructs.lua → desk/res/lua/cycled/constructs.luarenamed+118−118
@@ -19,64 +19,64 @@ do
19;
19;
20a=0x3
20a=0x3
21;
21;
22−assert(a == 0x3)
22+assert((a == 0x3))
23end
23end
24;
24;
25;
25;
26if false then
26if false then
27−a=0x3 // 0x0
27+a=(0x3 // 0x0)
28;
28;
29−a=0x0 % 0x0
29+a=(0x0 % 0x0)
30end
30end
31−assert(0x2 ^ 0x3 ^ 0x2 == 0x2 ^ (0x3 ^ 0x2))
31+assert(((0x2 ^ (0x3 ^ 0x2)) == (0x2 ^ (0x3 ^ 0x2))))
32;
32;
33−assert(0x2 ^ 0x3 * 0x4 == (0x2 ^ 0x3) * 0x4)
33+assert((((0x2 ^ 0x3) * 0x4) == ((0x2 ^ 0x3) * 0x4)))
34;
34;
35−assert(2.0 ^ - 0x2 == 0x1 / 0x4 and - 0x2 ^ - - 0x2 == - - - 0x4)
35+assert((2.0 ^ (- ((0x2 == (0x1 / 0x4)) and (- (0x2 ^ (- (- (0x2 == (- (- (- 0x4))))))))))))
36;
36;
37−assert(not nil and 0x2 and not (0x2 > 0x3 or 0x3 < 0x2))
37+assert((not ((nil and 0x2) and (not ((0x2 > 0x3) or (0x3 < 0x2))))))
38;
38;
39−assert(- 0x3 - 0x1 - 0x5 == 0x0 + 0x0 - 0x9)
39+assert((- (((0x3 - 0x1) - 0x5) == ((0x0 + 0x0) - 0x9))))
40;
40;
41−assert(- 0x2 ^ 0x2 == - 0x4 and (- 0x2) ^ 0x2 == 0x4 and 0x2 * 0x2 - 0x3 - 0x1 == 0x0)
41+assert((- ((0x2 ^ 0x2) == (- ((0x4 and (((- 0x2) ^ 0x2) == 0x4)) and ((((0x2 * 0x2) - 0x3) - 0x1) == 0x0))))))
42;
42;
43−assert(- 0x3 % 0x5 == 0x2 and - 0x3 + 0x5 == 0x2)
43+assert((- (((0x3 % 0x5) == 0x2) and (- ((0x3 + 0x5) == 0x2)))))
44−assert(0x2 * 0x1 + 0x3 / 0x3 == 0x3 and 0x1 + 0x2 .. 0x3 * 0x1 == "\u{33}\u{33}")
44+assert(((((0x2 * 0x1) + (0x3 / 0x3)) == 0x3) and (((0x1 + 0x2) .. (0x3 * 0x1)) == "\u{33}\u{33}")))
45;
45;
46−assert(not (0x2 + 0x1 > 0x3 * 0x1) and "\u{61}" .. "\u{62}" > "\u{61}")
46+assert((not (((0x2 + 0x1) > (0x3 * 0x1)) and (("\u{61}" .. "\u{62}") > "\u{61}"))))
47;
47;
48−assert(0xf0 | 0xcc ~ 0xaa & 0xfd == 0xf4)
48+assert(((0xf0 | (0xcc ~ (0xaa & 0xfd))) == 0xf4))
49−assert(0xfd & 0xaa ~ 0xcc | 0xf0 == 0xf4)
49+assert(((((0xfd & 0xaa) ~ 0xcc) | 0xf0) == 0xf4))
50−assert(0xf0 & 0xf + 0x1 == 0x10)
50+assert(((0xf0 & (0xf + 0x1)) == 0x10))
51−assert(0x3 ^ 0x4 // 0x2 ^ 0x3 // 0x5 == 0x2)
51+assert(((((0x3 ^ 0x4) // (0x2 ^ 0x3)) // 0x5) == 0x2))
52−assert(- 0x3 + 0x4 * 0x5 // 0x2 ^ 0x3 ^ 0x2 // 0x9 + 0x4 % 0xa / 0x3 == (- 0x3) + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9) + ((0x4 % 0xa) / 0x3))
52+assert((- (((0x3 + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9)) + ((0x4 % 0xa) / 0x3)) == (((- 0x3) + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9)) + ((0x4 % 0xa) / 0x3)))))
53−assert(not ((true or false) and nil))
53+assert((not ((true or false) and nil)))
54−assert(true or false and nil)
54+assert((true or (false and nil)))
55−assert((((0x1 or false) and true) or false) == true)
55+assert(((((0x1 or false) and true) or false) == true))
56−assert((((nil and true) or false) and true) == false)
56+assert(((((nil and true) or false) and true) == false))
57local a,b = 0x1,nil
57local a,b = 0x1,nil
58;
58;
59−assert(- (0x1 or 0x2) == - 0x1 and (0x1 and 0x2) + (- 1.25 or - 0x4) == 0.75)
59+assert((- ((0x1 or 0x2) == (- (0x1 and (((0x1 and 0x2) + (- (1.25 or (- 0x4)))) == 0.75))))))
60;
60;
61−local x = ((b or a) + 0x1 == 0x2 and (0xa or a) + 0x1 == 0xb)
61+local x = ((((b or a) + 0x1) == 0x2) and (((0xa or a) + 0x1) == 0xb))
62;
62;
63assert(x)
63assert(x)
64;
64;
65−x=(((0x2 < 0x3) or 0x1) == true and (0x2 < 0x3 and 0x4) == 0x4)
65+x=((((0x2 < 0x3) or 0x1) == true) and (((0x2 < 0x3) and 0x4) == 0x4))
66;
66;
67assert(x)
67assert(x)
68;
68;
69local x,y = 0x1,0x2
69local x,y = 0x1,0x2
70;
70;
71−assert((x > y) and x or y == 0x2)
71+assert((((x > y) and x) or (y == 0x2)))
72;
72;
73x,y=0x2,0x1
73x,y=0x2,0x1
74;
74;
75−assert((x > y) and x or y == 0x2)
75+assert((((x > y) and x) or (y == 0x2)))
76;
76;
77−assert(0x499602d2 == tonumber("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}") and 0x499602d2 + 0x1 == 0x499602d3)
77+assert(((0x499602d2 == tonumber("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}")) and ((0x499602d2 + 0x1) == 0x499602d3)))
78do
78do
79−local operand = {0x3,0x64,5.0,- 0xa,- 5.0,0x2710,- 0x2710}
79+local operand = {0x3,0x64,5.0,(- 0xa),(- 5.0),0x2710,(- 0x2710)}
80local 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}"}
80local 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}"}
81for _,op in ipairs(operator)
81for _,op in ipairs(operator)
82do
82do
@@ -90,14 +90,14 @@ local gab = f(o1,o2)
90_ENV.XX=o1
90_ENV.XX=o1
91local 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)
91local 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)
92local res = assert(load(code))()
92local res = assert(load(code))()
93−assert(res == gab)
93+assert((res == gab))
94_ENV.XX=o2
94_ENV.XX=o2
95code=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)
95code=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)
96res=assert(load(code))()
96res=assert(load(code))()
97−assert(res == gab)
97+assert((res == gab))
98code=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)
98code=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)
99res=assert(load(code))()
99res=assert(load(code))()
100−assert(res == gab)
100+assert((res == gab))
101end
101end
102end
102end
103end
103end
@@ -135,57 +135,57 @@ do
135local code = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{7b}"}
135local code = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{7b}"}
136for i = 0x1, 0x101
136for i = 0x1, 0x101
137do
137do
138−code[# code + 0x1]=i .. "\u{2e}\u{31}\u{2c}"
138+code[(# (code + 0x1))]=(i .. "\u{2e}\u{31}\u{2c}")
139end
139end
140−code[# code + 0x1]="\u{7d}\u{3b}"
140+code[(# (code + 0x1))]="\u{7d}\u{3b}"
141code=table.concat(code)
141code=table.concat(code)
142local function check
142local function check
143(ret,val)
143(ret,val)
144−local code = code .. ret
144+local code = (code .. ret)
145code=load(code)
145code=load(code)
146−assert(code() == val)
146+assert((code() == val))
147end
147end
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}",0x1 ~ 0x2)
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}",(0x1 ~ 0x2))
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}",0x1 | 0x2)
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}",(0x1 | 0x2))
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}",0x1 + 0x2)
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}",(0x1 + 0x2))
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}",0x1 << 0x2)
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}",(0x1 << 0x2))
152end
152end
153local function f
153local function f
154(i)
154(i)
155−if type(i) ~= "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" then
155+if (type(i) ~= "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") then
156return i,"\u{6a}\u{6f}\u{6a}\u{6f}"
156return i,"\u{6a}\u{6f}\u{6a}\u{6f}"
157end
157end
158;
158;
159−if i > 0x0 then
159+if (i > 0x0) then
160−return i,f(i - 0x1)
160+return i,f((i - 0x1))
161end
161end
162;
162;
163end
163end
164x={f(0x3),f(0x5),f(0xa)}
164x={f(0x3),f(0x5),f(0xa)}
165;
165;
166−assert(x[0x1] == 0x3 and x[0x2] == 0x5 and x[0x3] == 0xa and x[0x4] == 0x9 and x[0xc] == 0x1)
166+assert((((((x[0x1] == 0x3) and (x[0x2] == 0x5)) and (x[0x3] == 0xa)) and (x[0x4] == 0x9)) and (x[0xc] == 0x1)))
167;
167;
168−assert(x[nil] == nil)
168+assert((x[nil] == nil))
169x={f("\u{61}\u{6c}\u{6f}"),f("\u{78}\u{69}\u{78}\u{69}"),nil}
169x={f("\u{61}\u{6c}\u{6f}"),f("\u{78}\u{69}\u{78}\u{69}"),nil}
170;
170;
171−assert(x[0x1] == "\u{61}\u{6c}\u{6f}" and x[0x2] == "\u{78}\u{69}\u{78}\u{69}" and x[0x3] == nil)
171+assert((((x[0x1] == "\u{61}\u{6c}\u{6f}") and (x[0x2] == "\u{78}\u{69}\u{78}\u{69}")) and (x[0x3] == nil)))
172;
172;
173−x={f("\u{61}\u{6c}\u{6f}") .. "\u{78}\u{69}\u{78}\u{69}"}
173+x={(f("\u{61}\u{6c}\u{6f}") .. "\u{78}\u{69}\u{78}\u{69}")}
174;
174;
175−assert(x[0x1] == "\u{61}\u{6c}\u{6f}\u{78}\u{69}\u{78}\u{69}")
175+assert((x[0x1] == "\u{61}\u{6c}\u{6f}\u{78}\u{69}\u{78}\u{69}"))
176x={f({})}
176x={f({})}
177−assert(x[0x2] == "\u{6a}\u{6f}\u{6a}\u{6f}" and type(x[0x1]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
177+assert(((x[0x2] == "\u{6a}\u{6f}\u{6a}\u{6f}") and (type(x[0x1]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")))
178local f = function (i)
178local f = function (i)
179−if i < 0xa then
179+if (i < 0xa) then
180return "\u{61}"
180return "\u{61}"
181−elseif i < 0x14 then
181+elseif (i < 0x14) then
182return "\u{62}"
182return "\u{62}"
183−elseif i < 0x1e then
183+elseif (i < 0x1e) then
184return "\u{63}"
184return "\u{63}"
185end
185end
186;
186;
187end
187end
188−assert(f(0x3) == "\u{61}" and f(0xc) == "\u{62}" and f(0x1a) == "\u{63}" and f(0x64) == nil)
188+assert(((((f(0x3) == "\u{61}") and (f(0xc) == "\u{62}")) and (f(0x1a) == "\u{63}")) and (f(0x64) == nil)))
189for i = 0x1, 0x3e8
189for i = 0x1, 0x3e8
190do
190do
191break
191break
@@ -199,14 +199,14 @@ local i = 0x3
199local t = {}
199local t = {}
200;
200;
201local a = nil
201local a = nil
202−while not a do
202+while (not a) do
203a=0x0
203a=0x0
204;
204;
205for i = 0x1, n
205for i = 0x1, n
206do
206do
207−for i = i, 0x1, - 0x1
207+for i = i, 0x1, (- 0x1)
208do
208do
209−a=a + 0x1
209+a=(a + 0x1)
210;
210;
211t[i]=0x1
211t[i]=0x1
212;
212;
@@ -215,66 +215,66 @@ end
215end
215end
216;
216;
217end
217end
218−assert(a == n * (n + 0x1) / 0x2 and i == 0x3)
218+assert(((a == ((n * (n + 0x1)) / 0x2)) and (i == 0x3)))
219;
219;
220−assert(t[0x1] and t[n] and not t[0x0] and not t[n + 0x1])
220+assert(((t[0x1] and t[n]) and (not (t[0x0] and (not t[(n + 0x1)])))))
221function f(b)
221function f(b)
222local x = 0x1
222local x = 0x1
223;
223;
224repeat
224repeat
225local a
225local a
226;
226;
227−if b == 0x1 then
227+if (b == 0x1) then
228local b = 0x1
228local b = 0x1
229;
229;
230x=0xa
230x=0xa
231;
231;
232break
232break
233−elseif b == 0x2 then
233+elseif (b == 0x2) then
234x=0x14
234x=0x14
235;
235;
236break
236break
237;
237;
238−elseif b == 0x3 then
238+elseif (b == 0x3) then
239x=0x1e
239x=0x1e
240;
240;
241else
241else
242local a,b,c,d = math.sin(0x1)
242local a,b,c,d = math.sin(0x1)
243;
243;
244−x=x + 0x1
244+x=(x + 0x1)
245;
245;
246end
246end
247−until x >= 0xc
247+until (x >= 0xc)
248;
248;
249return x
249return x
250end
250end
251;
251;
252−assert(f(0x1) == 0xa and f(0x2) == 0x14 and f(0x3) == 0x1e and f(0x4) == 0xc)
252+assert(((((f(0x1) == 0xa) and (f(0x2) == 0x14)) and (f(0x3) == 0x1e)) and (f(0x4) == 0xc)))
253local f = function (i)
253local f = function (i)
254−if i < 0xa then
254+if (i < 0xa) then
255return "\u{61}"
255return "\u{61}"
256−elseif i < 0x14 then
256+elseif (i < 0x14) then
257return "\u{62}"
257return "\u{62}"
258−elseif i < 0x1e then
258+elseif (i < 0x1e) then
259return "\u{63}"
259return "\u{63}"
260else
260else
261return 0x8
261return 0x8
262end
262end
263end
263end
264−assert(f(0x3) == "\u{61}" and f(0xc) == "\u{62}" and f(0x1a) == "\u{63}" and f(0x64) == 0x8)
264+assert(((((f(0x3) == "\u{61}") and (f(0xc) == "\u{62}")) and (f(0x1a) == "\u{63}")) and (f(0x64) == 0x8)))
265local a,b = nil,0x17
265local a,b = nil,0x17
266−x={f(0x64) * 0x2 + 0x3 or a,a or b + 0x2}
266+x={(((f(0x64) * 0x2) + 0x3) or a),(a or (b + 0x2))}
267−assert(x[0x1] == 0x13 and x[0x2] == 0x19)
267+assert(((x[0x1] == 0x13) and (x[0x2] == 0x19)))
268−x={["\u{66}"] = 0x2 + 0x3 or a,["\u{61}"] = b + 0x2}
268+x={["\u{66}"] = ((0x2 + 0x3) or a),["\u{61}"] = (b + 0x2)}
269−assert(x.f == 0x5 and x.a == 0x19)
269+assert(((x.f == 0x5) and (x.a == 0x19)))
270a={["\u{79}"] = 0x1}
270a={["\u{79}"] = 0x1}
271x={a.y}
271x={a.y}
272−assert(x[0x1] == 0x1)
272+assert((x[0x1] == 0x1))
273local function f
273local function f
274(i)
274(i)
275while 0x1 do
275while 0x1 do
276−if i > 0x0 then
276+if (i > 0x0) then
277−i=i - 0x1
277+i=(i - 0x1)
278;
278;
279else
279else
280return
280return
@@ -287,8 +287,8 @@ end
287local function g
287local function g
288(i)
288(i)
289while 0x1 do
289while 0x1 do
290−if i > 0x0 then
290+if (i > 0x0) then
291−i=i - 0x1
291+i=(i - 0x1)
292else
292else
293return
293return
294end
294end
@@ -304,26 +304,26 @@ return 0x1,0x2,0x3
304end
304end
305local a,b,c = f()
305local a,b,c = f()
306;
306;
307−assert(a == 0x1 and b == 0x2 and c == 0x3)
307+assert((((a == 0x1) and (b == 0x2)) and (c == 0x3)))
308−a,b,c=(f())
308+a,b,c=f()
309;
309;
310−assert(a == 0x1 and b == nil and c == nil)
310+assert((((a == 0x1) and (b == nil)) and (c == nil)))
311end
311end
312−local a,b = 0x3 and f()
312+local a,b = (0x3 and f())
313;
313;
314−assert(a == 0x1 and b == nil)
314+assert(((a == 0x1) and (b == nil)))
315function g()
315function g()
316f()
316f()
317;
317;
318return
318return
319end
319end
320;
320;
321−assert(g() == nil)
321+assert((g() == nil))
322function g()
322function g()
323−return nil or f()
323+return (nil or f())
324end
324end
325a,b=g()
325a,b=g()
326−assert(a == 0x1 and b == nil)
326+assert(((a == 0x1) and (b == nil)))
327print("\u{2b}")
327print("\u{2b}")
328;
328;
329do
329do
@@ -338,9 +338,9 @@ f=string.gsub(f,"\u{25}\u{73}\u{2b}","\u{a}")
338;
338;
339f,a=load(f)()
339f,a=load(f)()
340;
340;
341−assert(a.a == 0x1 and a.b)
341+assert(((a.a == 0x1) and a.b))
342function g(a,b,c,d,e)
342function g(a,b,c,d,e)
343−if not (a >= b or c or d and e or nil) then
343+if (not ((((a >= b) or c) or (d and e)) or nil)) then
344return 0x0
344return 0x0
345else
345else
346return 0x1
346return 0x1
@@ -349,27 +349,27 @@ end
349end
349end
350local function h
350local function h
351(a,b,c,d,e)
351(a,b,c,d,e)
352−while (a >= b or c or (d and e) or nil) do
352+while ((((a >= b) or c) or (d and e)) or nil) do
353return 0x1
353return 0x1
354end
354end
355;
355;
356return 0x0
356return 0x0
357end
357end
358;
358;
359−assert(f(0x2,0x1) == true and g(0x2,0x1) == 0x1 and h(0x2,0x1) == 0x1)
359+assert((((f(0x2,0x1) == true) and (g(0x2,0x1) == 0x1)) and (h(0x2,0x1) == 0x1)))
360−assert(f(0x1,0x2,"\u{61}") == "\u{61}" and g(0x1,0x2,"\u{61}") == 0x1 and h(0x1,0x2,"\u{61}") == 0x1)
360+assert((((f(0x1,0x2,"\u{61}") == "\u{61}") and (g(0x1,0x2,"\u{61}") == 0x1)) and (h(0x1,0x2,"\u{61}") == 0x1)))
361−assert(f(0x1,0x2,"\u{61}") ~= nil,"")
361+assert((f(0x1,0x2,"\u{61}") ~= nil),"")
362−assert(f(0x1,0x2,"\u{61}") == "\u{61}" and g(0x1,0x2,"\u{61}") == 0x1 and h(0x1,0x2,"\u{61}") == 0x1)
362+assert((((f(0x1,0x2,"\u{61}") == "\u{61}") and (g(0x1,0x2,"\u{61}") == 0x1)) and (h(0x1,0x2,"\u{61}") == 0x1)))
363−assert(f(0x1,0x2,nil,0x1,"\u{78}") == "\u{78}" and g(0x1,0x2,nil,0x1,"\u{78}") == 0x1 and h(0x1,0x2,nil,0x1,"\u{78}") == 0x1)
363+assert((((f(0x1,0x2,nil,0x1,"\u{78}") == "\u{78}") and (g(0x1,0x2,nil,0x1,"\u{78}") == 0x1)) and (h(0x1,0x2,nil,0x1,"\u{78}") == 0x1)))
364−assert(f(0x1,0x2,nil,nil,"\u{78}") == nil and g(0x1,0x2,nil,nil,"\u{78}") == 0x0 and h(0x1,0x2,nil,nil,"\u{78}") == 0x0)
364+assert((((f(0x1,0x2,nil,nil,"\u{78}") == nil) and (g(0x1,0x2,nil,nil,"\u{78}") == 0x0)) and (h(0x1,0x2,nil,nil,"\u{78}") == 0x0)))
365−assert(f(0x1,0x2,nil,0x1,nil) == nil and g(0x1,0x2,nil,0x1,nil) == 0x0 and h(0x1,0x2,nil,0x1,nil) == 0x0)
365+assert((((f(0x1,0x2,nil,0x1,nil) == nil) and (g(0x1,0x2,nil,0x1,nil) == 0x0)) and (h(0x1,0x2,nil,0x1,nil) == 0x0)))
366−assert(0x1 and 0x2 < 0x3 == true and 0x2 < 0x3 and "\u{61}" < "\u{62}" == true)
366+assert((((0x1 and ((0x2 < 0x3) == true)) and (0x2 < 0x3)) and (("\u{61}" < "\u{62}") == true)))
367−x=0x2 < 0x3 and not 0x3
367+x=((0x2 < 0x3) and (not 0x3))
368;
368;
369−assert(x == false)
369+assert((x == false))
370−x=0x2 < 0x1 or (0x2 > 0x1 and "\u{61}")
370+x=((0x2 < 0x1) or ((0x2 > 0x1) and "\u{61}"))
371;
371;
372−assert(x == "\u{61}")
372+assert((x == "\u{61}"))
373do
373do
374local a
374local a
375;
375;
@@ -381,33 +381,33 @@ a=0x2
381;
381;
382end
382end
383;
383;
384−assert(a == 0x2)
384+assert((a == 0x2))
385end
385end
386local function F
386local function F
387(a)
387(a)
388−assert(debug.getinfo(0x1,"\u{6e}").name == "\u{46}")
388+assert((debug.getinfo(0x1,"\u{6e}").name == "\u{46}"))
389return a,0x2,0x3
389return a,0x2,0x3
390end
390end
391−a,b=F(0x1) ~= nil
391+a,b=(F(0x1) ~= nil)
392;
392;
393−assert(a == true and b == nil)
393+assert(((a == true) and (b == nil)))
394;
394;
395−a,b=F(nil) == nil
395+a,b=(F(nil) == nil)
396;
396;
397−assert(a == true and b == nil)
397+assert(((a == true) and (b == nil)))
398_ENV.GLOB1=math.random(0x0,0x1)
398_ENV.GLOB1=math.random(0x0,0x1)
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}",0xa},{"\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}",0x0 == _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}",0xa},{"\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}",(0x0 == _ENV.GLOB1)}}
400local prog
400local prog
401−if _ENV.GLOB1 == 0x0 then
401+if (_ENV.GLOB1 == 0x0) then
402basiccases[0x2][0x1]="\u{46}"
402basiccases[0x2][0x1]="\u{46}"
403prog="\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}"
403prog="\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}"
404else
404else
405basiccases[0x4][0x1]="\u{6b}\u{31}\u{30}"
405basiccases[0x4][0x1]="\u{6b}\u{31}\u{30}"
406prog="\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}"
406prog="\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}"
407end
407end
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}")
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}")))
409local binops <const> = {{"\u{20}\u{61}\u{6e}\u{64}\u{20}",function (a,b)
409local binops <const> = {{"\u{20}\u{61}\u{6e}\u{64}\u{20}",function (a,b)
410−if not a then
410+if (not a) then
411return a
411return a
412else
412else
413return b
413return b
@@ -423,24 +423,24 @@ local cases <const> = {}
423local function createcases
423local function createcases
424(n)
424(n)
425local res = {}
425local res = {}
426−for i = 0x1, n - 0x1
426+for i = 0x1, (n - 0x1)
427do
427do
428for _,v1 in ipairs(cases[i])
428for _,v1 in ipairs(cases[i])
429do
429do
430−for _,v2 in ipairs(cases[n - i])
430+for _,v2 in ipairs(cases[(n - i)])
431do
431do
432for _,op in ipairs(binops)
432for _,op in ipairs(binops)
433do
433do
434−local t = {"\u{28}" .. v1[0x1] .. op[0x1] .. v2[0x1] .. "\u{29}",op[0x2](v1[0x2],v2[0x2])}
434+local t = {("\u{28}" .. (v1[0x1] .. (op[0x1] .. (v2[0x1] .. "\u{29}")))),op[0x2](v1[0x2],v2[0x2])}
435−res[# res + 0x1]=t
435+res[(# (res + 0x1))]=t
436−res[# res + 0x1]={"\u{6e}\u{6f}\u{74}" .. t[0x1],not t[0x2]}
436+res[(# (res + 0x1))]={("\u{6e}\u{6f}\u{74}" .. t[0x1]),(not t[0x2])}
437end
437end
438end
438end
439end
439end
440end
440end
441return res
441return res
442end
442end
443−local level = _soft and 0x3 or 0x4
443+local level = ((_soft and 0x3) or 0x4)
444cases[0x1]=basiccases
444cases[0x1]=basiccases
445for i = 0x2, level
445for i = 0x2, level
446do
446do
@@ -455,9 +455,9 @@ do
455local s = v[0x1]
455local s = v[0x1]
456local p = load(string.format(prog,s,s),"")
456local p = load(string.format(prog,s,s),"")
457IX=false
457IX=false
458−assert(p() == v[0x2] and IX == not not v[0x2])
458+assert(((p() == v[0x2]) and (IX == (not (not v[0x2])))))
459−i=i + 0x1
459+i=(i + 0x1)
460−if i % 0xea60 == 0x0 then
460+if ((i % 0xea60) == 0x0) then
461print("\u{2b}")
461print("\u{2b}")
462end
462end
463end
463end
zod/luau/res/lua/cycled/coroutine.lua → desk/res/lua/cycled/coroutine.luarenamed+353−353
@@ -2,19 +2,19 @@ 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}\
2local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
2local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3local f
3local f
4local main,ismain = coroutine.running()
4local main,ismain = coroutine.running()
5−assert(type(main) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}" and ismain)
5+assert(((type(main) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") and ismain))
6−assert(not coroutine.resume(main))
6+assert((not coroutine.resume(main)))
7−assert(not coroutine.isyieldable(main) and not coroutine.isyieldable())
7+assert((not (coroutine.isyieldable(main) and (not coroutine.isyieldable()))))
8−assert(not pcall(coroutine.yield))
8+assert((not pcall(coroutine.yield)))
9−assert(not pcall(coroutine.resume,0x0))
9+assert((not pcall(coroutine.resume,0x0)))
10−assert(not pcall(coroutine.status,0x0))
10+assert((not pcall(coroutine.status,0x0)))
11local function eqtab
11local function eqtab
12(t1,t2)
12(t1,t2)
13−assert(# t1 == # t2)
13+assert((# (t1 == (# t2))))
14−for i = 0x1, # t1
14+for i = 0x1, (# t1)
15do
15do
16local v = t1[i]
16local v = t1[i]
17−assert(t2[i] == v)
17+assert((t2[i] == v))
18end
18end
19end
19end
20_G.x=nil
20_G.x=nil
@@ -22,12 +22,12 @@ _G.f=nil
22local function foo
22local function foo
23(a, ...)
23(a, ...)
24local x,y = coroutine.running()
24local x,y = coroutine.running()
25−assert(x == f and y == false)
25+assert(((x == f) and (y == false)))
26−assert(coroutine.resume(f) == false)
26+assert((coroutine.resume(f) == false))
27−assert(coroutine.status(f) == "\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}")
27+assert((coroutine.status(f) == "\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
28local arg = {...}
28local arg = {...}
29assert(coroutine.isyieldable(x))
29assert(coroutine.isyieldable(x))
30−for i = 0x1, # arg
30+for i = 0x1, (# arg)
31do
31do
32_G.x={coroutine.yield(table.unpack(arg[i]))}
32_G.x={coroutine.yield(table.unpack(arg[i]))}
33end
33end
@@ -35,25 +35,25 @@ return table.unpack(a)
35end
35end
36f=coroutine.create(foo)
36f=coroutine.create(foo)
37assert(coroutine.isyieldable(f))
37assert(coroutine.isyieldable(f))
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}")
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}")))
39assert(string.find(tostring(f),"\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}"))
39assert(string.find(tostring(f),"\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}"))
40local s,a,b,c,d
40local s,a,b,c,d
41s,a,b,c,d=coroutine.resume(f,{0x1,0x2,0x3},{},{0x1},{"\u{61}","\u{62}","\u{63}"})
41s,a,b,c,d=coroutine.resume(f,{0x1,0x2,0x3},{},{0x1},{"\u{61}","\u{62}","\u{63}"})
42assert(coroutine.isyieldable(f))
42assert(coroutine.isyieldable(f))
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}")
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}")))
44s,a,b,c,d=coroutine.resume(f)
44s,a,b,c,d=coroutine.resume(f)
45eqtab(_G.x,{})
45eqtab(_G.x,{})
46−assert(s and a == 0x1 and b == nil)
46+assert(((s and (a == 0x1)) and (b == nil)))
47assert(coroutine.isyieldable(f))
47assert(coroutine.isyieldable(f))
48s,a,b,c,d=coroutine.resume(f,0x1,0x2,0x3)
48s,a,b,c,d=coroutine.resume(f,0x1,0x2,0x3)
49eqtab(_G.x,{0x1,0x2,0x3})
49eqtab(_G.x,{0x1,0x2,0x3})
50−assert(s and a == "\u{61}" and b == "\u{62}" and c == "\u{63}" and d == nil)
50+assert(((((s and (a == "\u{61}")) and (b == "\u{62}")) and (c == "\u{63}")) and (d == nil)))
51s,a,b,c,d=coroutine.resume(f,"\u{78}\u{75}\u{78}\u{75}")
51s,a,b,c,d=coroutine.resume(f,"\u{78}\u{75}\u{78}\u{75}")
52eqtab(_G.x,{"\u{78}\u{75}\u{78}\u{75}"})
52eqtab(_G.x,{"\u{78}\u{75}\u{78}\u{75}"})
53−assert(s and a == 0x1 and b == 0x2 and c == 0x3 and d == nil)
53+assert(((((s and (a == 0x1)) and (b == 0x2)) and (c == 0x3)) and (d == nil)))
54−assert(coroutine.status(f) == "\u{64}\u{65}\u{61}\u{64}")
54+assert((coroutine.status(f) == "\u{64}\u{65}\u{61}\u{64}"))
55s,a=coroutine.resume(f,"\u{78}\u{75}\u{78}\u{75}")
55s,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}")
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}"))))
57_G.f=nil
57_G.f=nil
58local function foo
58local function foo
59(i)
59(i)
@@ -62,7 +62,7 @@ end
62local f = coroutine.wrap(function ()
62local f = coroutine.wrap(function ()
63for i = 0x1, 0xa
63for i = 0x1, 0xa
64do
64do
65−assert(foo(i) == _G.x)
65+assert((foo(i) == _G.x))
66end
66end
67return "\u{61}"
67return "\u{61}"
68end)
68end)
@@ -70,23 +70,23 @@ for i = 0x1, 0xa
70do
70do
71_G.x=i
71_G.x=i
72;
72;
73−assert(f(i) == i)
73+assert((f(i) == i))
74end
74end
75_G.x="\u{78}\u{75}\u{78}\u{75}"
75_G.x="\u{78}\u{75}\u{78}\u{75}"
76;
76;
77−assert(f("\u{78}\u{75}\u{78}\u{75}") == "\u{61}")
77+assert((f("\u{78}\u{75}\u{78}\u{75}") == "\u{61}"))
78_G.x=nil
78_G.x=nil
79local function pf
79local function pf
80(n,i)
80(n,i)
81coroutine.yield(n)
81coroutine.yield(n)
82−pf(n * i,i + 0x1)
82+pf((n * i),(i + 0x1))
83end
83end
84f=coroutine.wrap(pf)
84f=coroutine.wrap(pf)
85local s = 0x1
85local s = 0x1
86for i = 0x1, 0xa
86for i = 0x1, 0xa
87do
87do
88−assert(f(0x1,0x1) == s)
88+assert((f(0x1,0x1) == s))
89−s=s * i
89+s=(s * i)
90end
90end
91local function gen
91local function gen
92(n)
92(n)
@@ -102,10 +102,10 @@ local function filter
102return coroutine.wrap(function ()
102return coroutine.wrap(function ()
103while 0x1 do
103while 0x1 do
104local n = g()
104local n = g()
105−if n == nil then
105+if (n == nil) then
106return
106return
107end
107end
108−if math.fmod(n,p) ~= 0x0 then
108+if (math.fmod(n,p) ~= 0x0) then
109coroutine.yield(n)
109coroutine.yield(n)
110end
110end
111end
111end
@@ -115,13 +115,13 @@ local x = gen(0x50)
115local a = {}
115local a = {}
116while 0x1 do
116while 0x1 do
117local n = x()
117local n = x()
118−if n == nil then
118+if (n == nil) then
119break
119break
120end
120end
121table.insert(a,n)
121table.insert(a,n)
122x=filter(n,x)
122x=filter(n,x)
123end
123end
124−assert(# a == 0x16 and a[# a] == 0x4f)
124+assert((# ((a == 0x16) and (a[(# a)] == 0x4f))))
125x,a=nil
125x,a=nil
126print("\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}")
126print("\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}")
127local function func2close
127local function func2close
@@ -131,18 +131,18 @@ end
131do
131do
132local co = coroutine.create(print)
132local co = coroutine.create(print)
133assert(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}"))
133assert(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}")
134+assert((coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}"))
135local st,msg = coroutine.close(co)
135local st,msg = coroutine.close(co)
136−assert(st and msg == nil)
136+assert((st and (msg == nil)))
137st,msg=coroutine.close(co)
137st,msg=coroutine.close(co)
138−assert(st and msg == nil)
138+assert((st and (msg == nil)))
139local st,msg = pcall(coroutine.close,coroutine.running())
139local st,msg = pcall(coroutine.close,coroutine.running())
140−assert(not st and string.find(msg,"\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
140+assert((not (st and string.find(msg,"\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))))
141local main = coroutine.running()
141local main = coroutine.running()
142;
142;
143(coroutine.wrap(function ()
143(coroutine.wrap(function ()
144local st,msg = pcall(coroutine.close,main)
144local st,msg = pcall(coroutine.close,main)
145−assert(not st and string.find(msg,"\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}"))
145+assert((not (st and string.find(msg,"\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}"))))
146end))()
146end))()
147do
147do
148local co
148local co
@@ -153,21 +153,21 @@ end)
153coroutine.yield(0x14)
153coroutine.yield(0x14)
154end)
154end)
155local st,msg = coroutine.resume(co)
155local st,msg = coroutine.resume(co)
156−assert(st and msg == 0x14)
156+assert((st and (msg == 0x14)))
157st,msg=coroutine.close(co)
157st,msg=coroutine.close(co)
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}"))
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}"))))
159end
159end
160local X
160local X
161local co = coroutine.create(error)
161local co = coroutine.create(error)
162local st,msg = coroutine.resume(co,0x64)
162local st,msg = coroutine.resume(co,0x64)
163−assert(not st and msg == 0x64)
163+assert((not (st and (msg == 0x64))))
164st,msg=coroutine.close(co)
164st,msg=coroutine.close(co)
165−assert(not st and msg == 0x64)
165+assert((not (st and (msg == 0x64))))
166st,msg=coroutine.close(co)
166st,msg=coroutine.close(co)
167−assert(st and msg == nil)
167+assert((st and (msg == nil)))
168co=coroutine.create(function ()
168co=coroutine.create(function ()
169local x <close> = func2close(function (self,err)
169local x <close> = func2close(function (self,err)
170−assert(err == nil)
170+assert((err == nil))
171;
171;
172X=false
172X=false
173end)
173end)
@@ -177,28 +177,28 @@ end)
177coroutine.resume(co)
177coroutine.resume(co)
178assert(X)
178assert(X)
179assert(coroutine.close(co))
179assert(coroutine.close(co))
180−assert(not X and coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")
180+assert((not (X and (coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}"))))
181local x = 0x0
181local x = 0x0
182co=coroutine.create(function ()
182co=coroutine.create(function ()
183local y <close> = func2close(function (self,err)
183local y <close> = func2close(function (self,err)
184−assert(err == 0x6f)
184+assert((err == 0x6f))
185x=0xc8
185x=0xc8
186error(0xc8)
186error(0xc8)
187end)
187end)
188local x <close> = func2close(function (self,err)
188local x <close> = func2close(function (self,err)
189−assert(err == nil)
189+assert((err == nil))
190;
190;
191error(0x6f)
191error(0x6f)
192end)
192end)
193coroutine.yield()
193coroutine.yield()
194end)
194end)
195coroutine.resume(co)
195coroutine.resume(co)
196−assert(x == 0x0)
196+assert((x == 0x0))
197local st,msg = coroutine.close(co)
197local st,msg = coroutine.close(co)
198−assert(st == false and coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}" and msg == 0xc8)
198+assert((((st == false) and (coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")) and (msg == 0xc8)))
199−assert(x == 0xc8)
199+assert((x == 0xc8))
200st,msg=coroutine.close(co)
200st,msg=coroutine.close(co)
201−assert(st and msg == nil)
201+assert((st and (msg == nil)))
202end
202end
203do
203do
204local X = false
204local X = false
@@ -215,8 +215,8 @@ local co = coroutine.create(function ()
215return pcall(foo)
215return pcall(foo)
216end)
216end)
217local st1,st2,err = coroutine.resume(co)
217local st1,st2,err = coroutine.resume(co)
218−assert(st1 and not st2 and err == 0x2b)
218+assert((st1 and (not (st2 and (err == 0x2b)))))
219−assert(X == 0x2b and Y.what == "\u{43}")
219+assert(((X == 0x2b) and (Y.what == "\u{43}")))
220local track = {}
220local track = {}
221local function h
221local function h
222(o)
222(o)
@@ -226,39 +226,39 @@ end
226local function foo
226local function foo
227()
227()
228local x <close> = func2close(function (_,msg)
228local x <close> = func2close(function (_,msg)
229−track[# track + 0x1]=msg or false
229+track[(# (track + 0x1))]=(msg or false)
230error(0x14)
230error(0x14)
231end)
231end)
232local y <close> = func2close(function (_,msg)
232local y <close> = func2close(function (_,msg)
233−track[# track + 0x1]=msg or false
233+track[(# (track + 0x1))]=(msg or false)
234return 0x3e8
234return 0x3e8
235end)
235end)
236local z <close> = func2close(function (_,msg)
236local z <close> = func2close(function (_,msg)
237−track[# track + 0x1]=msg or false
237+track[(# (track + 0x1))]=(msg or false)
238error(0xa)
238error(0xa)
239end)
239end)
240coroutine.yield(0x1)
240coroutine.yield(0x1)
241h(func2close(function (_,msg)
241h(func2close(function (_,msg)
242−track[# track + 0x1]=msg or false
242+track[(# (track + 0x1))]=(msg or false)
243error(0x2)
243error(0x2)
244end))
244end))
245end
245end
246local co = coroutine.create(pcall)
246local co = coroutine.create(pcall)
247local st,res = coroutine.resume(co,foo)
247local st,res = coroutine.resume(co,foo)
248−assert(st and res == 0x1)
248+assert((st and (res == 0x1)))
249local st,res1,res2 = coroutine.resume(co)
249local st,res1,res2 = coroutine.resume(co)
250−assert(coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")
250+assert((coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}"))
251−assert(st and not res1 and res2 == 0x14)
251+assert((st and (not (res1 and (res2 == 0x14)))))
252−assert(track[0x1] == false and track[0x2] == 0x2 and track[0x3] == 0xa and track[0x4] == 0xa)
252+assert(((((track[0x1] == false) and (track[0x2] == 0x2)) and (track[0x3] == 0xa)) and (track[0x4] == 0xa)))
253end
253end
254local co = coroutine.wrap(function ()
254local co = coroutine.wrap(function ()
255−assert(not pcall(table.sort,{0x1,0x2,0x3},coroutine.yield))
255+assert((not pcall(table.sort,{0x1,0x2,0x3},coroutine.yield)))
256assert(coroutine.isyieldable())
256assert(coroutine.isyieldable())
257coroutine.yield(0x14)
257coroutine.yield(0x14)
258return 0x1e
258return 0x1e
259end)
259end)
260−assert(co() == 0x14)
260+assert((co() == 0x14))
261−assert(co() == 0x1e)
261+assert((co() == 0x1e))
262local f = function (s,i)
262local f = function (s,i)
263return coroutine.yield(i)
263return coroutine.yield(i)
264end
264end
@@ -270,7 +270,7 @@ local s = 0x0
270for i in f,nil,0x1
270for i in f,nil,0x1
271do
271do
272pcall(function ()
272pcall(function ()
273−s=s + i
273+s=(s + i)
274end)
274end)
275end
275end
276error({s})
276error({s})
@@ -279,38 +279,38 @@ end)
279f1()
279f1()
280for i = 0x1, 0xa
280for i = 0x1, 0xa
281do
281do
282−assert(f1(i) == i)
282+assert((f1(i) == i))
283end
283end
284local r1,r2,v = f1(nil)
284local r1,r2,v = f1(nil)
285−assert(r1 and not r2 and v[0x1] == (0xa + 0x1) * 0xa / 0x2)
285+assert((r1 and (not (r2 and (v[0x1] == (((0xa + 0x1) * 0xa) / 0x2))))))
286local function f
286local function f
287(a,b)
287(a,b)
288a=coroutine.yield(a)
288a=coroutine.yield(a)
289;
289;
290−error({a + b})
290+error({(a + b)})
291end
291end
292local function g
292local function g
293(x)
293(x)
294−return x[0x1] * 0x2
294+return (x[0x1] * 0x2)
295end
295end
296co=coroutine.wrap(function ()
296co=coroutine.wrap(function ()
297coroutine.yield(xpcall(f,g,0xa,0x14))
297coroutine.yield(xpcall(f,g,0xa,0x14))
298end)
298end)
299−assert(co() == 0xa)
299+assert((co() == 0xa))
300local r,msg = co(0x64)
300local r,msg = co(0x64)
301−assert(not r and msg == 0xf0)
301+assert((not (r and (msg == 0xf0))))
302do
302do
303local function f
303local function f
304(c)
304(c)
305−assert(not coroutine.isyieldable())
305+assert((not coroutine.isyieldable()))
306−return c .. c
306+return (c .. c)
307end
307end
308local co = coroutine.wrap(function (c)
308local co = coroutine.wrap(function (c)
309assert(coroutine.isyieldable())
309assert(coroutine.isyieldable())
310local s = string.gsub("\u{61}","\u{2e}",f)
310local s = string.gsub("\u{61}","\u{2e}",f)
311return s
311return s
312end)
312end)
313−assert(co() == "\u{61}\u{61}")
313+assert((co() == "\u{61}\u{61}"))
314end
314end
315do
315do
316local X
316local X
@@ -321,22 +321,22 @@ end)
321local trace = {}
321local trace = {}
322local function dotrace
322local function dotrace
323(event)
323(event)
324−trace[# trace + 0x1]=event
324+trace[(# (trace + 0x1))]=event
325end
325end
326debug.sethook(co,dotrace,"\u{63}\u{6c}\u{72}")
326debug.sethook(co,dotrace,"\u{63}\u{6c}\u{72}")
327repeat
327repeat
328
328
329−until not coroutine.resume(co)
329+until (not coroutine.resume(co))
330local 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}"}
330local 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}"}
331−assert(# trace == # correcttrace)
331+assert((# (trace == (# correcttrace))))
332for k,v in pairs(trace)
332for k,v in pairs(trace)
333do
333do
334−assert(v == correcttrace[k])
334+assert((v == correcttrace[k]))
335end
335end
336end
336end
337function foo()
337function foo()
338−assert(debug.getinfo(0x1).currentline == debug.getinfo(foo).linedefined + 0x1)
338+assert((debug.getinfo(0x1).currentline == (debug.getinfo(foo).linedefined + 0x1)))
339−assert(debug.getinfo(0x2).currentline == debug.getinfo(goo).linedefined)
339+assert((debug.getinfo(0x2).currentline == debug.getinfo(goo).linedefined))
340coroutine.yield(0x3)
340coroutine.yield(0x3)
341error(foo)
341error(foo)
342end
342end
@@ -344,26 +344,26 @@ function goo()
344foo()
344foo()
345end
345end
346x=coroutine.wrap(goo)
346x=coroutine.wrap(goo)
347−assert(x() == 0x3)
347+assert((x() == 0x3))
348local a,b = pcall(x)
348local a,b = pcall(x)
349−assert(not a and b == foo)
349+assert((not (a and (b == foo))))
350x=coroutine.create(goo)
350x=coroutine.create(goo)
351a,b=coroutine.resume(x)
351a,b=coroutine.resume(x)
352−assert(a and b == 0x3)
352+assert((a and (b == 0x3)))
353a,b=coroutine.resume(x)
353a,b=coroutine.resume(x)
354−assert(not a and b == foo and coroutine.status(x) == "\u{64}\u{65}\u{61}\u{64}")
354+assert((not ((a and (b == foo)) and (coroutine.status(x) == "\u{64}\u{65}\u{61}\u{64}"))))
355a,b=coroutine.resume(x)
355a,b=coroutine.resume(x)
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}")
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}"))))
357goo=nil
357goo=nil
358local function all
358local function all
359(a,n,k)
359(a,n,k)
360−if k == 0x0 then
360+if (k == 0x0) then
361coroutine.yield(a)
361coroutine.yield(a)
362else
362else
363for i = 0x1, n
363for i = 0x1, n
364do
364do
365a[k]=i
365a[k]=i
366−all(a,n,k - 0x1)
366+all(a,n,(k - 0x1))
367end
367end
368end
368end
369end
369end
@@ -372,9 +372,9 @@ for t in coroutine.wrap(function ()
372all({},0x5,0x4)
372all({},0x5,0x4)
373end)
373end)
374do
374do
375−a=a + 0x1
375+a=(a + 0x1)
376end
376end
377−assert(a == 0x5 ^ 0x4)
377+assert((a == (0x5 ^ 0x4)))
378local C = {}
378local C = {}
379;
379;
380setmetatable(C,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
380setmetatable(C,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
@@ -382,48 +382,48 @@ local x = coroutine.wrap(function ()
382local a = 0xa
382local a = 0xa
383local function f
383local function f
384()
384()
385−a=a + 0xa
385+a=(a + 0xa)
386;
386;
387return a
387return a
388end
388end
389while true do
389while true do
390−a=a + 0x1
390+a=(a + 0x1)
391coroutine.yield(f)
391coroutine.yield(f)
392end
392end
393end)
393end)
394C[0x1]=x
394C[0x1]=x
395;
395;
396local f = x()
396local f = x()
397−assert(f() == 0x15 and x()() == 0x20 and x() == f)
397+assert((((f() == 0x15) and (x()() == 0x20)) and (x() == f)))
398x=nil
398x=nil
399collectgarbage()
399collectgarbage()
400−assert(C[0x1] == undef)
400+assert((C[0x1] == undef))
401−assert(f() == 0x2b and f() == 0x35)
401+assert(((f() == 0x2b) and (f() == 0x35)))
402local function co_func
402local function co_func
403(current_co)
403(current_co)
404−assert(coroutine.running() == current_co)
404+assert((coroutine.running() == current_co))
405−assert(coroutine.resume(current_co) == false)
405+assert((coroutine.resume(current_co) == false))
406coroutine.yield(0xa,0x14)
406coroutine.yield(0xa,0x14)
407−assert(coroutine.resume(current_co) == false)
407+assert((coroutine.resume(current_co) == false))
408coroutine.yield(0x17)
408coroutine.yield(0x17)
409return 0xa
409return 0xa
410end
410end
411local co = coroutine.create(co_func)
411local co = coroutine.create(co_func)
412local a,b,c = coroutine.resume(co,co)
412local a,b,c = coroutine.resume(co,co)
413−assert(a == true and b == 0xa and c == 0x14)
413+assert((((a == true) and (b == 0xa)) and (c == 0x14)))
414a,b=coroutine.resume(co,co)
414a,b=coroutine.resume(co,co)
415−assert(a == true and b == 0x17)
415+assert(((a == true) and (b == 0x17)))
416a,b=coroutine.resume(co,co)
416a,b=coroutine.resume(co,co)
417−assert(a == true and b == 0xa)
417+assert(((a == true) and (b == 0xa)))
418−assert(coroutine.resume(co,co) == false)
418+assert((coroutine.resume(co,co) == false))
419−assert(coroutine.resume(co,co) == false)
419+assert((coroutine.resume(co,co) == false))
420do
420do
421local A = coroutine.running()
421local A = coroutine.running()
422local B = coroutine.create(function ()
422local B = coroutine.create(function ()
423return coroutine.resume(A)
423return coroutine.resume(A)
424end)
424end)
425local st,res = coroutine.resume(B)
425local st,res = coroutine.resume(B)
426−assert(st == true and res == false)
426+assert(((st == true) and (res == false)))
427local X = false
427local X = false
428A=coroutine.wrap(function ()
428A=coroutine.wrap(function ()
429local _ <close> = func2close(function ()
429local _ <close> = func2close(function ()
@@ -432,7 +432,7 @@ end)
432return pcall(A,0x1)
432return pcall(A,0x1)
433end)
433end)
434st,res=A()
434st,res=A()
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)
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))))
436end
436end
437do
437do
438local co
438local co
@@ -443,53 +443,53 @@ end)
443error(0x6f)
443error(0x6f)
444end)
444end)
445local st,errobj = pcall(co)
445local st,errobj = pcall(co)
446−assert(not st and errobj == 0x6f)
446+assert((not (st and (errobj == 0x6f))))
447st,errobj=pcall(co)
447st,errobj=pcall(co)
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}"))
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}"))))
449end
449end
450local co1,co2
450local co1,co2
451co1=coroutine.create(function ()
451co1=coroutine.create(function ()
452return co2()
452return co2()
453end)
453end)
454co2=coroutine.wrap(function ()
454co2=coroutine.wrap(function ()
455−assert(coroutine.status(co1) == "\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
455+assert((coroutine.status(co1) == "\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}"))
456−assert(not coroutine.resume(co1))
456+assert((not coroutine.resume(co1)))
457coroutine.yield(0x3)
457coroutine.yield(0x3)
458end)
458end)
459a,b=coroutine.resume(co1)
459a,b=coroutine.resume(co1)
460−assert(a and b == 0x3)
460+assert((a and (b == 0x3)))
461−assert(coroutine.status(co1) == "\u{64}\u{65}\u{61}\u{64}")
461+assert((coroutine.status(co1) == "\u{64}\u{65}\u{61}\u{64}"))
462a=function (a)
462a=function (a)
463coroutine.wrap(a)(a)
463coroutine.wrap(a)(a)
464end
464end
465−assert(not pcall(a,a))
465+assert((not pcall(a,a)))
466a=nil
466a=nil
467local x = coroutine.create(function ()
467local x = coroutine.create(function ()
468local a = 0xa
468local a = 0xa
469_G.F=function ()
469_G.F=function ()
470−a=a + 0x1
470+a=(a + 0x1)
471;
471;
472return a
472return a
473end
473end
474error("\u{78}")
474error("\u{78}")
475end)
475end)
476−assert(not coroutine.resume(x))
476+assert((not coroutine.resume(x)))
477−assert(not coroutine.resume(x,0x1,0x1,0x1,0x1,0x1,0x1,0x1))
477+assert((not coroutine.resume(x,0x1,0x1,0x1,0x1,0x1,0x1,0x1)))
478−assert(_G.F() == 0xb)
478+assert((_G.F() == 0xb))
479−assert(_G.F() == 0xc)
479+assert((_G.F() == 0xc))
480_G.F=nil
480_G.F=nil
481−if not T then
481+if (not T) then
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}")
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}")
483else
483else
484print("\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}")
484print("\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}")
485local turn
485local turn
486local function fact
486local function fact
487(t,x)
487(t,x)
488−assert(turn == t)
488+assert((turn == t))
489−if x == 0x0 then
489+if (x == 0x0) then
490return 0x1
490return 0x1
491else
491else
492−return x * fact(t,x - 0x1)
492+return (x * fact(t,(x - 0x1)))
493end
493end
494end
494end
495local A,B = 0x0,0x0
495local A,B = 0x0,0x0
@@ -501,13 +501,13 @@ local y = coroutine.create(function ()
501T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x3)
501T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x3)
502B=fact("\u{42}",0x7)
502B=fact("\u{42}",0x7)
503end)
503end)
504−while A == 0x0 or B == 0x0 do
504+while ((A == 0x0) or (B == 0x0)) do
505−if A == 0x0 then
505+if (A == 0x0) then
506turn="\u{41}"
506turn="\u{41}"
507;
507;
508assert(T.resume(x))
508assert(T.resume(x))
509end
509end
510−if B == 0x0 then
510+if (B == 0x0) then
511turn="\u{42}"
511turn="\u{42}"
512;
512;
513assert(T.resume(y))
513assert(T.resume(y))
@@ -515,7 +515,7 @@ end
515debug.traceback(x)
515debug.traceback(x)
516debug.traceback(y)
516debug.traceback(y)
517end
517end
518−assert(B // A == 0x7)
518+assert(((B // A) == 0x7))
519do
519do
520local done
520local done
521local function test
521local function test
@@ -529,40 +529,40 @@ a[i]=i
529end
529end
530T.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}","",0x1)
530T.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}","",0x1)
531local a1 = {table.unpack(a)}
531local a1 = {table.unpack(a)}
532−assert(# a1 == n)
532+assert((# (a1 == n)))
533for i = 0x1, n
533for i = 0x1, n
534do
534do
535−assert(a[i] == i)
535+assert((a[i] == i))
536end
536end
537done=true
537done=true
538end)
538end)
539end
539end
540local co = test(0x0)
540local co = test(0x0)
541;
541;
542−while not done do
542+while (not done) do
543co(0x1e)
543co(0x1e)
544end
544end
545co=test(0x1)
545co=test(0x1)
546;
546;
547−while not done do
547+while (not done) do
548co(0x14,0xa)
548co(0x14,0xa)
549end
549end
550co=test(0x3)
550co=test(0x3)
551;
551;
552−while not done do
552+while (not done) do
553co()
553co()
554end
554end
555co=test(0x64)
555co=test(0x64)
556;
556;
557−while not done do
557+while (not done) do
558co()
558co()
559end
559end
560end
560end
561−local line = debug.getinfo(0x1,"\u{6c}").currentline + 0x2
561+local line = (debug.getinfo(0x1,"\u{6c}").currentline + 0x2)
562local function foo
562local function foo
563()
563()
564local x = 0xa
564local x = 0xa
565−x=x + 0xa
565+x=(x + 0xa)
566_G.XX=x
566_G.XX=x
567end
567end
568local co = coroutine.wrap(function ()
568local co = coroutine.wrap(function ()
@@ -578,23 +578,23 @@ _G.X=nil
578;
578;
579co()
579co()
580;
580;
581−assert(_G.X == line)
581+assert((_G.X == line))
582_G.X=nil
582_G.X=nil
583;
583;
584co()
584co()
585;
585;
586−assert(_G.X == line + 0x1)
586+assert((_G.X == (line + 0x1)))
587_G.X=nil
587_G.X=nil
588;
588;
589co()
589co()
590;
590;
591−assert(_G.X == line + 0x2 and _G.XX == nil)
591+assert(((_G.X == (line + 0x2)) and (_G.XX == nil)))
592_G.X=nil
592_G.X=nil
593;
593;
594co()
594co()
595;
595;
596−assert(_G.X == line + 0x3 and _G.XX == 0x14)
596+assert(((_G.X == (line + 0x3)) and (_G.XX == 0x14)))
597−assert(co() == 0xa)
597+assert((co() == 0xa))
598_G.X=nil
598_G.X=nil
599co=coroutine.wrap(function ()
599co=coroutine.wrap(function ()
600T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x1)
600T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x1)
@@ -607,11 +607,11 @@ _G.XX=nil
607;
607;
608local c = 0x0
608local c = 0x0
609repeat
609repeat
610−c=c + 0x1
610+c=(c + 0x1)
611;
611;
612local a = co()
612local a = co()
613−until a == 0xa
613+until (a == 0xa)
614−assert(_G.XX == 0x14 and c >= 0x5)
614+assert(((_G.XX == 0x14) and (c >= 0x5)))
615co=coroutine.wrap(function ()
615co=coroutine.wrap(function ()
616T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x2)
616T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x2)
617;
617;
@@ -623,11 +623,11 @@ _G.XX=nil
623;
623;
624local c = 0x0
624local c = 0x0
625repeat
625repeat
626−c=c + 0x1
626+c=(c + 0x1)
627;
627;
628local a = co()
628local a = co()
629−until a == 0xa
629+until (a == 0xa)
630−assert(_G.XX == 0x14 and c >= 0x5)
630+assert(((_G.XX == 0x14) and (c >= 0x5)))
631_G.X=nil
631_G.X=nil
632;
632;
633_G.XX=nil
633_G.XX=nil
@@ -639,82 +639,82 @@ return ...
639end)
639end)
640assert(coroutine.resume(c,0x1,0x2,0x3))
640assert(coroutine.resume(c,0x1,0x2,0x3))
641local n,v = debug.getlocal(c,0x0,0x1)
641local n,v = debug.getlocal(c,0x0,0x1)
642−assert(n == "\u{61}" and v == 0x1 and debug.getlocal(c,0x0,0x2) ~= "\u{62}")
642+assert((((n == "\u{61}") and (v == 0x1)) and (debug.getlocal(c,0x0,0x2) ~= "\u{62}")))
643assert(debug.setlocal(c,0x0,0x1,0xa))
643assert(debug.setlocal(c,0x0,0x1,0xa))
644local t = debug.getinfo(c,0x0)
644local t = debug.getinfo(c,0x0)
645−assert(t.currentline == t.linedefined + 0x2)
645+assert((t.currentline == (t.linedefined + 0x2)))
646−assert(not debug.getinfo(c,0x1))
646+assert((not debug.getinfo(c,0x1)))
647assert(coroutine.resume(c))
647assert(coroutine.resume(c))
648local n,v = debug.getlocal(c,0x0,0x2)
648local n,v = debug.getlocal(c,0x0,0x2)
649−assert(n == "\u{62}" and v == 0xa)
649+assert(((n == "\u{62}") and (v == 0xa)))
650v={coroutine.resume(c)}
650v={coroutine.resume(c)}
651−assert(v[0x1] == true and v[0x2] == 0x2 and v[0x3] == 0x3 and v[0x4] == undef)
651+assert(((((v[0x1] == true) and (v[0x2] == 0x2)) and (v[0x3] == 0x3)) and (v[0x4] == undef)))
652−assert(not coroutine.resume(c))
652+assert((not coroutine.resume(c)))
653end
653end
654do
654do
655local c = coroutine.create(function ()
655local c = coroutine.create(function ()
656T.testC("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{31}",0xa,0x14)
656T.testC("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{31}",0xa,0x14)
657end)
657end)
658local a,b = coroutine.resume(c)
658local a,b = coroutine.resume(c)
659−assert(a and b == 0x14)
659+assert((a and (b == 0x14)))
660−assert(debug.getinfo(c,0x0).linedefined == - 0x1)
660+assert((debug.getinfo(c,0x0).linedefined == (- 0x1)))
661a,b=debug.getlocal(c,0x0,0x2)
661a,b=debug.getlocal(c,0x0,0x2)
662−assert(b == 0xa)
662+assert((b == 0xa))
663end
663end
664print("\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}")
664print("\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 (...)
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 (...)
666return ...
666return ...
667−end) == "\u{62}\u{20}\u{62}\u{20}\u{62}")
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}")
668+assert(((X == "\u{61}\u{20}\u{61}\u{20}\u{61}") and (Y == "\u{4f}\u{4b}")))
669X,Y=nil
669X,Y=nil
670C=coroutine.create(function ()
670C=coroutine.create(function ()
671return 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)
671return 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)
672end)
672end)
673local a,b,c,d = coroutine.resume(C)
673local a,b,c,d = coroutine.resume(C)
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 == 0x4)
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 == 0x4)))
675a,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}")
675a,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 == 0x4)
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 == 0x4)))
677local state = T.newstate()
677local state = T.newstate()
678assert(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}"))
678assert(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}"))
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}")))
680T.testC(state,"\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{30}")
680T.testC(state,"\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{30}")
681T.loadlib(state)
681T.loadlib(state)
682assert(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}"))
682assert(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}"))
683local 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}"))
683local 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 == 0x4 and t[0x2] == "\u{58}\u{58}" and t[0x3] == "\u{43}\u{43}" and t[0x4] == "\u{4f}\u{4b}")
684+assert(((((t.n == 0x4) and (t[0x2] == "\u{58}\u{58}")) and (t[0x3] == "\u{43}\u{43}")) and (t[0x4] == "\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}")
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}")
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}")
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}"))
688T.closestate(state)
688T.closestate(state)
689print("\u{2b}")
689print("\u{2b}")
690end
690end
691_G.TO_SURVIVE=coroutine.wrap(function ()
691_G.TO_SURVIVE=coroutine.wrap(function ()
692local a = 0xa
692local a = 0xa
693local x = function ()
693local x = function ()
694−a=a + 0x1
694+a=(a + 0x1)
695end
695end
696coroutine.yield()
696coroutine.yield()
697end)
697end)
698_G.TO_SURVIVE()
698_G.TO_SURVIVE()
699−if not _soft then
699+if (not _soft) then
700local lim = 0xf4240
700local lim = 0xf4240
701−local t = {lim - 0xa,lim - 0x5,lim - 0x1,lim,lim + 0x1,lim + 0x5}
701+local t = {(lim - 0xa),(lim - 0x5),(lim - 0x1),lim,(lim + 0x1),(lim + 0x5)}
702−for i = 0x1, # t
702+for i = 0x1, (# t)
703do
703do
704local j = t[i]
704local j = t[i]
705local co = coroutine.create(function ()
705local co = coroutine.create(function ()
706return table.unpack({},0x1,j)
706return table.unpack({},0x1,j)
707end)
707end)
708local r,msg = coroutine.resume(co)
708local r,msg = coroutine.resume(co)
709−assert(j < lim or not r)
709+assert(((j < lim) or (not r)))
710end
710end
711end
711end
712−assert(coroutine.running() == main)
712+assert((coroutine.running() == main))
713print("\u{2b}")
713print("\u{2b}")
714print("\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}")
714print("\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}")
715local function val
715local function val
716(x)
716(x)
717−if type(x) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
717+if (type(x) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
718return x.x
718return x.x
719else
719else
720return x
720return x
@@ -723,74 +723,74 @@ end
723local mt = {["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
723local mt = {["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
724coroutine.yield(nil,"\u{65}\u{71}")
724coroutine.yield(nil,"\u{65}\u{71}")
725;
725;
726−return val(a) == val(b)
726+return (val(a) == val(b))
727end,["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
727end,["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
728coroutine.yield(nil,"\u{6c}\u{74}")
728coroutine.yield(nil,"\u{6c}\u{74}")
729;
729;
730−return val(a) < val(b)
730+return (val(a) < val(b))
731end,["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
731end,["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
732coroutine.yield(nil,"\u{6c}\u{65}")
732coroutine.yield(nil,"\u{6c}\u{65}")
733;
733;
734−return a - b <= 0x0
734+return ((a - b) <= 0x0)
735end,["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = function (a,b)
735end,["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = function (a,b)
736coroutine.yield(nil,"\u{61}\u{64}\u{64}")
736coroutine.yield(nil,"\u{61}\u{64}\u{64}")
737;
737;
738−return val(a) + val(b)
738+return (val(a) + val(b))
739end,["\u{5f}\u{5f}\u{73}\u{75}\u{62}"] = function (a,b)
739end,["\u{5f}\u{5f}\u{73}\u{75}\u{62}"] = function (a,b)
740coroutine.yield(nil,"\u{73}\u{75}\u{62}")
740coroutine.yield(nil,"\u{73}\u{75}\u{62}")
741;
741;
742−return val(a) - val(b)
742+return (val(a) - val(b))
743end,["\u{5f}\u{5f}\u{6d}\u{75}\u{6c}"] = function (a,b)
743end,["\u{5f}\u{5f}\u{6d}\u{75}\u{6c}"] = function (a,b)
744coroutine.yield(nil,"\u{6d}\u{75}\u{6c}")
744coroutine.yield(nil,"\u{6d}\u{75}\u{6c}")
745;
745;
746−return val(a) * val(b)
746+return (val(a) * val(b))
747end,["\u{5f}\u{5f}\u{64}\u{69}\u{76}"] = function (a,b)
747end,["\u{5f}\u{5f}\u{64}\u{69}\u{76}"] = function (a,b)
748coroutine.yield(nil,"\u{64}\u{69}\u{76}")
748coroutine.yield(nil,"\u{64}\u{69}\u{76}")
749;
749;
750−return val(a) / val(b)
750+return (val(a) / val(b))
751end,["\u{5f}\u{5f}\u{69}\u{64}\u{69}\u{76}"] = function (a,b)
751end,["\u{5f}\u{5f}\u{69}\u{64}\u{69}\u{76}"] = function (a,b)
752coroutine.yield(nil,"\u{69}\u{64}\u{69}\u{76}")
752coroutine.yield(nil,"\u{69}\u{64}\u{69}\u{76}")
753;
753;
754−return val(a) // val(b)
754+return (val(a) // val(b))
755end,["\u{5f}\u{5f}\u{70}\u{6f}\u{77}"] = function (a,b)
755end,["\u{5f}\u{5f}\u{70}\u{6f}\u{77}"] = function (a,b)
756coroutine.yield(nil,"\u{70}\u{6f}\u{77}")
756coroutine.yield(nil,"\u{70}\u{6f}\u{77}")
757;
757;
758−return val(a) ^ val(b)
758+return (val(a) ^ val(b))
759end,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = function (a,b)
759end,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = function (a,b)
760coroutine.yield(nil,"\u{6d}\u{6f}\u{64}")
760coroutine.yield(nil,"\u{6d}\u{6f}\u{64}")
761;
761;
762−return val(a) % val(b)
762+return (val(a) % val(b))
763end,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = function (a,b)
763end,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = function (a,b)
764coroutine.yield(nil,"\u{75}\u{6e}\u{6d}")
764coroutine.yield(nil,"\u{75}\u{6e}\u{6d}")
765;
765;
766−return - val(a)
766+return (- val(a))
767end,["\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}"] = function (a,b)
767end,["\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}"] = function (a,b)
768coroutine.yield(nil,"\u{62}\u{6e}\u{6f}\u{74}")
768coroutine.yield(nil,"\u{62}\u{6e}\u{6f}\u{74}")
769;
769;
770−return ~ val(a)
770+return (~ val(a))
771end,["\u{5f}\u{5f}\u{73}\u{68}\u{6c}"] = function (a,b)
771end,["\u{5f}\u{5f}\u{73}\u{68}\u{6c}"] = function (a,b)
772coroutine.yield(nil,"\u{73}\u{68}\u{6c}")
772coroutine.yield(nil,"\u{73}\u{68}\u{6c}")
773;
773;
774−return val(a) << val(b)
774+return (val(a) << val(b))
775end,["\u{5f}\u{5f}\u{73}\u{68}\u{72}"] = function (a,b)
775end,["\u{5f}\u{5f}\u{73}\u{68}\u{72}"] = function (a,b)
776coroutine.yield(nil,"\u{73}\u{68}\u{72}")
776coroutine.yield(nil,"\u{73}\u{68}\u{72}")
777;
777;
778−return val(a) >> val(b)
778+return (val(a) >> val(b))
779end,["\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}"] = function (a,b)
779end,["\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}"] = function (a,b)
780coroutine.yield(nil,"\u{62}\u{61}\u{6e}\u{64}")
780coroutine.yield(nil,"\u{62}\u{61}\u{6e}\u{64}")
781−return val(a) & val(b)
781+return (val(a) & val(b))
782end,["\u{5f}\u{5f}\u{62}\u{6f}\u{72}"] = function (a,b)
782end,["\u{5f}\u{5f}\u{62}\u{6f}\u{72}"] = function (a,b)
783coroutine.yield(nil,"\u{62}\u{6f}\u{72}")
783coroutine.yield(nil,"\u{62}\u{6f}\u{72}")
784;
784;
785−return val(a) | val(b)
785+return (val(a) | val(b))
786end,["\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}"] = function (a,b)
786end,["\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}"] = function (a,b)
787coroutine.yield(nil,"\u{62}\u{78}\u{6f}\u{72}")
787coroutine.yield(nil,"\u{62}\u{78}\u{6f}\u{72}")
788;
788;
789−return val(a) ~ val(b)
789+return (val(a) ~ val(b))
790end,["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
790end,["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
791coroutine.yield(nil,"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")
791coroutine.yield(nil,"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")
792;
792;
793−return val(a) .. val(b)
793+return (val(a) .. val(b))
794end,["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k)
794end,["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k)
795coroutine.yield(nil,"\u{69}\u{64}\u{78}")
795coroutine.yield(nil,"\u{69}\u{64}\u{78}")
796;
796;
@@ -814,157 +814,157 @@ local c = coroutine.wrap(f)
814while true do
814while true do
815local res,stat = c()
815local res,stat = c()
816if res then
816if res then
817−assert(t[i] == undef)
817+assert((t[i] == undef))
818;
818;
819return res,t
819return res,t
820end
820end
821−assert(stat == t[i])
821+assert((stat == t[i]))
822−i=i + 0x1
822+i=(i + 0x1)
823end
823end
824end
824end
825−assert(run(function ()
825+assert((run(function ()
826if (a >= b) then
826if (a >= b) then
827return "\u{3e}\u{3d}"
827return "\u{3e}\u{3d}"
828else
828else
829return "\u{3c}"
829return "\u{3c}"
830end
830end
831−end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}")
831+end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}"))
832−assert(run(function ()
832+assert((run(function ()
833if (a <= b) then
833if (a <= b) then
834return "\u{3c}\u{3d}"
834return "\u{3c}\u{3d}"
835else
835else
836return "\u{3e}"
836return "\u{3e}"
837end
837end
838−end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}\u{3d}")
838+end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}\u{3d}"))
839−assert(run(function ()
839+assert((run(function ()
840if (a == b) then
840if (a == b) then
841return "\u{3d}\u{3d}"
841return "\u{3d}\u{3d}"
842else
842else
843return "\u{7e}\u{3d}"
843return "\u{7e}\u{3d}"
844end
844end
845−end,{"\u{65}\u{71}"}) == "\u{7e}\u{3d}")
845+end,{"\u{65}\u{71}"}) == "\u{7e}\u{3d}"))
846−assert(run(function ()
846+assert((run(function ()
847−return a & b + a
847+return (a & (b + a))
848−end,{"\u{61}\u{64}\u{64}","\u{62}\u{61}\u{6e}\u{64}"}) == 0x2)
848+end,{"\u{61}\u{64}\u{64}","\u{62}\u{61}\u{6e}\u{64}"}) == 0x2))
849−assert(run(function ()
849+assert((run(function ()
850−return 0x1 + a
850+return (0x1 + a)
851−end,{"\u{61}\u{64}\u{64}"}) == 0xb)
851+end,{"\u{61}\u{64}\u{64}"}) == 0xb))
852−assert(run(function ()
852+assert((run(function ()
853−return a - 0x19
853+return (a - 0x19)
854−end,{"\u{73}\u{75}\u{62}"}) == - 0xf)
854+end,{"\u{73}\u{75}\u{62}"}) == (- 0xf)))
855−assert(run(function ()
855+assert((run(function ()
856−return 0x2 * a
856+return (0x2 * a)
857−end,{"\u{6d}\u{75}\u{6c}"}) == 0x14)
857+end,{"\u{6d}\u{75}\u{6c}"}) == 0x14))
858−assert(run(function ()
858+assert((run(function ()
859−return a ^ 0x2
859+return (a ^ 0x2)
860−end,{"\u{70}\u{6f}\u{77}"}) == 0x64)
860+end,{"\u{70}\u{6f}\u{77}"}) == 0x64))
861−assert(run(function ()
861+assert((run(function ()
862−return a / 0x2
862+return (a / 0x2)
863−end,{"\u{64}\u{69}\u{76}"}) == 0x5)
863+end,{"\u{64}\u{69}\u{76}"}) == 0x5))
864−assert(run(function ()
864+assert((run(function ()
865−return a % 0x6
865+return (a % 0x6)
866−end,{"\u{6d}\u{6f}\u{64}"}) == 0x4)
866+end,{"\u{6d}\u{6f}\u{64}"}) == 0x4))
867−assert(run(function ()
867+assert((run(function ()
868−return a // 0x3
868+return (a // 0x3)
869−end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x3)
869+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x3))
870−assert(run(function ()
870+assert((run(function ()
871−return a + b
871+return (a + b)
872−end,{"\u{61}\u{64}\u{64}"}) == 0x16)
872+end,{"\u{61}\u{64}\u{64}"}) == 0x16))
873−assert(run(function ()
873+assert((run(function ()
874−return a - b
874+return (a - b)
875−end,{"\u{73}\u{75}\u{62}"}) == - 0x2)
875+end,{"\u{73}\u{75}\u{62}"}) == (- 0x2)))
876−assert(run(function ()
876+assert((run(function ()
877−return a * b
877+return (a * b)
878−end,{"\u{6d}\u{75}\u{6c}"}) == 0x78)
878+end,{"\u{6d}\u{75}\u{6c}"}) == 0x78))
879−assert(run(function ()
879+assert((run(function ()
880−return a ^ b
880+return (a ^ b)
881−end,{"\u{70}\u{6f}\u{77}"}) == 0xa ^ 0xc)
881+end,{"\u{70}\u{6f}\u{77}"}) == (0xa ^ 0xc)))
882−assert(run(function ()
882+assert((run(function ()
883−return a / b
883+return (a / b)
884−end,{"\u{64}\u{69}\u{76}"}) == 0xa / 0xc)
884+end,{"\u{64}\u{69}\u{76}"}) == (0xa / 0xc)))
885−assert(run(function ()
885+assert((run(function ()
886−return a % b
886+return (a % b)
887−end,{"\u{6d}\u{6f}\u{64}"}) == 0xa)
887+end,{"\u{6d}\u{6f}\u{64}"}) == 0xa))
888−assert(run(function ()
888+assert((run(function ()
889−return a // b
889+return (a // b)
890−end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x0)
890+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x0))
891local a1000 = new(0x3e8)
891local a1000 = new(0x3e8)
892−assert(run(function ()
892+assert((run(function ()
893−return a1000 + 0x3e8
893+return (a1000 + 0x3e8)
894−end,{"\u{61}\u{64}\u{64}"}) == 0x7d0)
894+end,{"\u{61}\u{64}\u{64}"}) == 0x7d0))
895−assert(run(function ()
895+assert((run(function ()
896−return a1000 - 0x61a8
896+return (a1000 - 0x61a8)
897−end,{"\u{73}\u{75}\u{62}"}) == - 0x5dc0)
897+end,{"\u{73}\u{75}\u{62}"}) == (- 0x5dc0)))
898−assert(run(function ()
898+assert((run(function ()
899−return 0x7d0 * a
899+return (0x7d0 * a)
900−end,{"\u{6d}\u{75}\u{6c}"}) == 0x4e20)
900+end,{"\u{6d}\u{75}\u{6c}"}) == 0x4e20))
901−assert(run(function ()
901+assert((run(function ()
902−return a1000 / 0x3e8
902+return (a1000 / 0x3e8)
903−end,{"\u{64}\u{69}\u{76}"}) == 0x1)
903+end,{"\u{64}\u{69}\u{76}"}) == 0x1))
904−assert(run(function ()
904+assert((run(function ()
905−return a1000 % 0x258
905+return (a1000 % 0x258)
906−end,{"\u{6d}\u{6f}\u{64}"}) == 0x190)
906+end,{"\u{6d}\u{6f}\u{64}"}) == 0x190))
907−assert(run(function ()
907+assert((run(function ()
908−return a1000 // 0x1f4
908+return (a1000 // 0x1f4)
909−end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x2)
909+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x2))
910−assert(run(function ()
910+assert((run(function ()
911−return a % b
911+return (a % b)
912−end,{"\u{6d}\u{6f}\u{64}"}) == 0xa)
912+end,{"\u{6d}\u{6f}\u{64}"}) == 0xa))
913−assert(run(function ()
913+assert((run(function ()
914−return ~ a & b
914+return (~ (a & b))
915−end,{"\u{62}\u{6e}\u{6f}\u{74}","\u{62}\u{61}\u{6e}\u{64}"}) == ~ 0xa & 0xc)
915+end,{"\u{62}\u{6e}\u{6f}\u{74}","\u{62}\u{61}\u{6e}\u{64}"}) == (~ (0xa & 0xc))))
916−assert(run(function ()
916+assert((run(function ()
917−return a | b
917+return (a | b)
918−end,{"\u{62}\u{6f}\u{72}"}) == 0xa | 0xc)
918+end,{"\u{62}\u{6f}\u{72}"}) == (0xa | 0xc)))
919−assert(run(function ()
919+assert((run(function ()
920−return a ~ b
920+return (a ~ b)
921−end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 0xa ~ 0xc)
921+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == (0xa ~ 0xc)))
922−assert(run(function ()
922+assert((run(function ()
923−return a << b
923+return (a << b)
924−end,{"\u{73}\u{68}\u{6c}"}) == 0xa << 0xc)
924+end,{"\u{73}\u{68}\u{6c}"}) == (0xa << 0xc)))
925−assert(run(function ()
925+assert((run(function ()
926−return a >> b
926+return (a >> b)
927−end,{"\u{73}\u{68}\u{72}"}) == 0xa >> 0xc)
927+end,{"\u{73}\u{68}\u{72}"}) == (0xa >> 0xc)))
928−assert(run(function ()
928+assert((run(function ()
929−return 0xa & b
929+return (0xa & b)
930−end,{"\u{62}\u{61}\u{6e}\u{64}"}) == 0xa & 0xc)
930+end,{"\u{62}\u{61}\u{6e}\u{64}"}) == (0xa & 0xc)))
931−assert(run(function ()
931+assert((run(function ()
932−return a | 0x2
932+return (a | 0x2)
933−end,{"\u{62}\u{6f}\u{72}"}) == 0xa | 0x2)
933+end,{"\u{62}\u{6f}\u{72}"}) == (0xa | 0x2)))
934−assert(run(function ()
934+assert((run(function ()
935−return a ~ 0x2
935+return (a ~ 0x2)
936−end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 0xa ~ 0x2)
936+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == (0xa ~ 0x2)))
937−assert(run(function ()
937+assert((run(function ()
938−return a >> 0x2
938+return (a >> 0x2)
939−end,{"\u{73}\u{68}\u{72}"}) == 0xa >> 0x2)
939+end,{"\u{73}\u{68}\u{72}"}) == (0xa >> 0x2)))
940−assert(run(function ()
940+assert((run(function ()
941−return 0x1 >> a
941+return (0x1 >> a)
942−end,{"\u{73}\u{68}\u{72}"}) == 0x1 >> 0xa)
942+end,{"\u{73}\u{68}\u{72}"}) == (0x1 >> 0xa)))
943−assert(run(function ()
943+assert((run(function ()
944−return a << 0x2
944+return (a << 0x2)
945−end,{"\u{73}\u{68}\u{6c}"}) == 0xa << 0x2)
945+end,{"\u{73}\u{68}\u{6c}"}) == (0xa << 0x2)))
946−assert(run(function ()
946+assert((run(function ()
947−return 0x1 << a
947+return (0x1 << a)
948−end,{"\u{73}\u{68}\u{6c}"}) == 0x1 << 0xa)
948+end,{"\u{73}\u{68}\u{6c}"}) == (0x1 << 0xa)))
949−assert(run(function ()
949+assert((run(function ()
950−return 0x2 ~ a
950+return (0x2 ~ a)
951−end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 0x2 ~ 0xa)
951+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == (0x2 ~ 0xa)))
952−assert(run(function ()
952+assert((run(function ()
953−return a .. b
953+return (a .. b)
954−end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{31}\u{30}\u{31}\u{32}")
954+end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{31}\u{30}\u{31}\u{32}"))
955−assert(run(function ()
955+assert((run(function ()
956−return a .. b .. c .. a
956+return (a .. (b .. (c .. a)))
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}")
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}"))
958−assert(run(function ()
958+assert((run(function ()
959−return "\u{61}" .. "\u{62}" .. a .. "\u{63}" .. c .. b .. "\u{78}"
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}")
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}"))
961do
961do
962local mt1 = {["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
962local mt1 = {["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
963coroutine.yield(0xa)
963coroutine.yield(0xa)
964return (val(a) <= val(b))
964return (val(a) <= val(b))
965end,["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
965end,["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
966coroutine.yield(0xa)
966coroutine.yield(0xa)
967−return val(a) < val(b)
967+return (val(a) < val(b))
968end}
968end}
969local mt2 = {["\u{5f}\u{5f}\u{6c}\u{74}"] = mt1.__lt,["\u{5f}\u{5f}\u{6c}\u{65}"] = mt1.__le}
969local mt2 = {["\u{5f}\u{5f}\u{6c}\u{74}"] = mt1.__lt,["\u{5f}\u{5f}\u{6c}\u{65}"] = mt1.__le}
970local function run
970local function run
@@ -973,31 +973,31 @@ local co = coroutine.wrap(f)
973local res
973local res
974repeat
974repeat
975res=co()
975res=co()
976−until res ~= 0xa
976+until (res ~= 0xa)
977return res
977return res
978end
978end
979local function test
979local function test
980()
980()
981local a1 = setmetatable({["\u{78}"] = 0x1},mt1)
981local a1 = setmetatable({["\u{78}"] = 0x1},mt1)
982local a2 = setmetatable({["\u{78}"] = 0x2},mt2)
982local a2 = setmetatable({["\u{78}"] = 0x2},mt2)
983−assert(a1 < a2)
983+assert((a1 < a2))
984−assert(a1 <= a2)
984+assert((a1 <= a2))
985−assert(0x1 < a2)
985+assert((0x1 < a2))
986−assert(0x1 <= a2)
986+assert((0x1 <= a2))
987−assert(0x2 > a1)
987+assert((0x2 > a1))
988−assert(0x2 >= a2)
988+assert((0x2 >= a2))
989return true
989return true
990end
990end
991run(test)
991run(test)
992end
992end
993−assert(run(function ()
993+assert((run(function ()
994a.BB=print
994a.BB=print
995return a.BB
995return a.BB
996−end,{"\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == print)
996+end,{"\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == print))
997do
997do
998local _ENV = _ENV
998local _ENV = _ENV
999f=function ()
999f=function ()
1000−AAA=BBB + 0x1
1000+AAA=(BBB + 0x1)
1001;
1001;
1002return AAA
1002return AAA
1003end
1003end
@@ -1007,27 +1007,27 @@ local g = new(0xa)
1007g.k.BBB=0xa
1007g.k.BBB=0xa
1008;
1008;
1009debug.setupvalue(f,0x1,g)
1009debug.setupvalue(f,0x1,g)
1010−assert(run(f,{"\u{69}\u{64}\u{78}","\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == 0xb)
1010+assert((run(f,{"\u{69}\u{64}\u{78}","\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == 0xb))
1011−assert(g.k.AAA == 0xb)
1011+assert((g.k.AAA == 0xb))
1012print("\u{2b}")
1012print("\u{2b}")
1013print("\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}")
1013print("\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}")
1014local f = function (s,i)
1014local f = function (s,i)
1015−if i % 0x2 == 0x0 then
1015+if ((i % 0x2) == 0x0) then
1016coroutine.yield(nil,"\u{66}\u{6f}\u{72}")
1016coroutine.yield(nil,"\u{66}\u{6f}\u{72}")
1017end
1017end
1018−if i < s then
1018+if (i < s) then
1019−return i + 0x1
1019+return (i + 0x1)
1020end
1020end
1021end
1021end
1022−assert(run(function ()
1022+assert((run(function ()
1023local s = 0x0
1023local s = 0x0
1024for i in f,0x4,0x0
1024for i in f,0x4,0x0
1025do
1025do
1026−s=s + i
1026+s=(s + i)
1027end
1027end
1028return s
1028return s
1029−end,{"\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}"}) == 0xa)
1029+end,{"\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}"}) == 0xa))
1030−if T == nil then
1030+if (T == nil) then
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}")
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}")
1032print("\u{4f}\u{4b}")
1032print("\u{4f}\u{4b}")
1033;
1033;
@@ -1042,35 +1042,35 @@ return T.testC(table.unpack(x))
1042end)
1042end)
1043end
1043end
1044local 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)()}
1044local 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 == 0x4 and a[0x3] == "\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6d}\u{61}\u{72}\u{6b}" and a[0x4] == "\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 == 0x2)
1045+assert((# (((((a == 0x4) and (a[0x3] == "\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6d}\u{61}\u{72}\u{6b}")) and (a[0x4] == "\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 == 0x2))))
1046local 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}")
1046local 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}")
1047−assert(co() == 0xa)
1047+assert((co() == 0xa))
1048−assert(co(0x14,0x1e) == "\u{61}")
1048+assert((co(0x14,0x1e) == "\u{61}"))
1049a={co()}
1049a={co()}
1050−assert(# a == 0xa and a[0x2] == coroutine.yield and a[0x5] == 0x14 and a[0x6] == 0x1e and a[0x7] == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and a[0x8] == 0x3 and a[0x9] == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and a[0xa] == 0x4)
1050+assert((# ((((((((a == 0xa) and (a[0x2] == coroutine.yield)) and (a[0x5] == 0x14)) and (a[0x6] == 0x1e)) and (a[0x7] == "\u{59}\u{49}\u{45}\u{4c}\u{44}")) and (a[0x8] == 0x3)) and (a[0x9] == "\u{59}\u{49}\u{45}\u{4c}\u{44}")) and (a[0xa] == 0x4))))
1051−assert(not pcall(co))
1051+assert((not pcall(co)))
1052f=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}")
1052f=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}")
1053co=coroutine.wrap(function ()
1053co=coroutine.wrap(function ()
1054−assert(f() == 0x17)
1054+assert((f() == 0x17))
1055;
1055;
1056−assert(f() == 0x17)
1056+assert((f() == 0x17))
1057;
1057;
1058return 0xa
1058return 0xa
1059end)
1059end)
1060−assert(co(0x17,0x10) == 0x5)
1060+assert((co(0x17,0x10) == 0x5))
1061−assert(co(0x17,0x10) == 0x5)
1061+assert((co(0x17,0x10) == 0x5))
1062−assert(co(0x17,0x10) == 0xa)
1062+assert((co(0x17,0x10) == 0xa))
1063f=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}",0x17,"\u{68}\u{75}\u{75}")
1063f=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}",0x17,"\u{68}\u{75}\u{75}")
1064x=coroutine.wrap(f)
1064x=coroutine.wrap(f)
1065−assert(x() == 0x66)
1065+assert((x() == 0x66))
1066eqtab({x()},{0x17,"\u{68}\u{75}\u{75}"})
1066eqtab({x()},{0x17,"\u{68}\u{75}\u{75}"})
1067f=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}")
1067f=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}")
1068a,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)
1068a,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 == 0x66 and d == "\u{4f}\u{4b}")
1069+assert(((((a == "\u{59}\u{49}\u{45}\u{4c}\u{44}") and (b == "\u{61}")) and (c == 0x66)) and (d == "\u{4f}\u{4b}")))
1070local count = 0x3
1070local count = 0x3
1071f=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 ()
1071f=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 ()
1072−count=count - 0x1
1072+count=(count - 0x1)
1073−if count == 0x0 then
1073+if (count == 0x0) then
1074return coroutine.yield
1074return coroutine.yield
1075else
1075else
1076return f
1076return f
@@ -1079,9 +1079,9 @@ end)
1079co=coroutine.wrap(function ()
1079co=coroutine.wrap(function ()
1080return f(nil)
1080return f(nil)
1081end)
1081end)
1082−assert(co() == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
1082+assert((co() == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}"))
1083a={co()}
1083a={co()}
1084−assert(# a == 0x3 and a[0x1] == a[0x2] and a[0x2] == a[0x3] and a[0x3] == 0x22)
1084+assert((# ((((a == 0x3) and (a[0x1] == a[0x2])) and (a[0x2] == a[0x3])) and (a[0x3] == 0x22))))
1085local y
1085local y
1086co=coroutine.wrap(function (...)
1086co=coroutine.wrap(function (...)
1087return 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)
1087return 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)
@@ -1093,21 +1093,21 @@ error("\u{65}\u{72}\u{72}\u{6d}\u{73}\u{67}")
1093end,...)
1093end,...)
1094end)
1094end)
1095local a = {co(0x3,0x4,0x6)}
1095local a = {co(0x3,0x4,0x6)}
1096−assert(a[0x1] == 0x6 and a[0x2] == undef)
1096+assert(((a[0x1] == 0x6) and (a[0x2] == undef)))
1097a={co()}
1097a={co()}
1098;
1098;
1099−assert(a[0x1] == undef and _G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and _G.ctx == 0x2)
1099+assert((((a[0x1] == undef) and (_G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}")) and (_G.ctx == 0x2)))
1100a={co()}
1100a={co()}
1101;
1101;
1102−assert(a[0x1] == undef and _G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and _G.ctx == 0x3)
1102+assert((((a[0x1] == undef) and (_G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}")) and (_G.ctx == 0x3)))
1103a={co(0x7,0x8)}
1103a={co(0x7,0x8)}
1104;
1104;
1105−assert(type(a[0x1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x2]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x3]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x4]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x5]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x6]) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
1105+assert(((((((type(a[0x1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (type(a[0x2]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(a[0x3]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(a[0x4]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(a[0x5]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(a[0x6]) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")))
1106−assert(a[0x7] == 0x3 and a[0x8] == 0x4)
1106+assert(((a[0x7] == 0x3) and (a[0x8] == 0x4)))
1107−assert(a[0x9] == 0x7 and a[0xa] == 0x8)
1107+assert(((a[0x9] == 0x7) and (a[0xa] == 0x8)))
1108−assert(a[0xb]:find("\u{65}\u{72}\u{72}\u{6d}\u{73}\u{67}") and # a == 0xb)
1108+assert((a[0xb]:find("\u{65}\u{72}\u{72}\u{6d}\u{73}\u{67}") and (# (a == 0xb))))
1109−assert(x == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and y == 0x4)
1109+assert(((x == "\u{59}\u{49}\u{45}\u{4c}\u{44}") and (y == 0x4)))
1110−assert(not pcall(co))
1110+assert((not pcall(co)))
1111_G.ctx=nil
1111_G.ctx=nil
1112_G.status=nil
1112_G.status=nil
1113local co = coroutine.wrap(function ()
1113local co = coroutine.wrap(function ()
@@ -1115,5 +1115,5 @@ local a = {pcall(pcall,pcall,pcall,pcall,pcall,pcall,pcall,error,"\u{68}\u{69}")
1115return pcall(assert,table.unpack(a))
1115return pcall(assert,table.unpack(a))
1116end)
1116end)
1117local a = {co()}
1117local a = {co()}
1118−assert(a[0xa] == "\u{68}\u{69}")
1118+assert((a[0xa] == "\u{68}\u{69}"))
1119print("\u{4f}\u{4b}")
1119print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/cstack.lua → desk/res/lua/cycled/cstack.luarenamed+22−22
@@ -3,20 +3,20 @@ 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}\
3local function checkerror
3local function checkerror
4(msg,f, ...)
4(msg,f, ...)
5local s,err = pcall(f,...)
5local s,err = pcall(f,...)
6−assert(not s and string.find(err,msg))
6+assert((not (s and string.find(err,msg))))
7end
7end
8do
8do
9print("\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}")
9print("\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}")
10local count = 0x0
10local count = 0x0
11local function loop
11local function loop
12(x,y,z)
12(x,y,z)
13−count=count + 0x1
13+count=(count + 0x1)
14−return 0x1 + loop(x,y,z)
14+return (0x1 + loop(x,y,z))
15end
15end
16tracegc.stop()
16tracegc.stop()
17local res,msg = xpcall(loop,loop)
17local res,msg = xpcall(loop,loop)
18tracegc.start()
18tracegc.start()
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}")
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}"))
20print("\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)
20print("\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)
21end
21end
22do
22do
@@ -28,7 +28,7 @@ local p = string.rep("\u{2e}\u{3f}",size)
28return string.match(s,p)
28return string.match(s,p)
29end
29end
30local m = f(0x50)
30local m = f(0x50)
31−assert(# m == 0x50)
31+assert((# (m == 0x50)))
32checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{63}\u{6f}\u{6d}\u{70}\u{6c}\u{65}\u{78}",f,0x7d0)
32checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{63}\u{6f}\u{6d}\u{70}\u{6c}\u{65}\u{78}",f,0x7d0)
33end
33end
34do
34do
@@ -36,7 +36,7 @@ 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}\
36local count = 0x0
36local count = 0x0
37local function foo
37local function foo
38()
38()
39−count=count + 0x1
39+count=(count + 0x1)
40string.gsub("\u{61}","\u{2e}",foo)
40string.gsub("\u{61}","\u{2e}",foo)
41end
41end
42checkerror("\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)
42checkerror("\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)
@@ -45,7 +45,7 @@ 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}\
45local count = 0x0
45local count = 0x0
46local t = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = foo})
46local t = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = foo})
47foo=function ()
47foo=function ()
48−count=count + 0x1
48+count=(count + 0x1)
49string.gsub("\u{61}","\u{2e}",t)
49string.gsub("\u{61}","\u{2e}",t)
50end
50end
51checkerror("\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)
51checkerror("\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)
@@ -57,11 +57,11 @@ local count = 0x0
57local lim = 0x3e8
57local lim = 0x3e8
58local function stack
58local function stack
59(n)
59(n)
60−if n > 0x0 then
60+if (n > 0x0) then
61−return stack(n - 0x1) + 0x1
61+return (stack((n - 0x1)) + 0x1)
62else
62else
63coroutine.wrap(function ()
63coroutine.wrap(function ()
64−count=count + 0x1
64+count=(count + 0x1)
65stack(lim)
65stack(lim)
66end)()
66end)()
67end
67end
@@ -69,7 +69,7 @@ end
69local st,msg = xpcall(stack,function ()
69local st,msg = xpcall(stack,function ()
70return "\u{6f}\u{6b}"
70return "\u{6f}\u{6b}"
71end,lim)
71end,lim)
72−assert(not st and msg == "\u{6f}\u{6b}")
72+assert((not (st and (msg == "\u{6f}\u{6b}"))))
73print("\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)
73print("\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)
74end
74end
75do
75do
@@ -81,7 +81,7 @@ do
81local previous = coro
81local previous = coro
82coro=coroutine.create(function ()
82coro=coroutine.create(function ()
83local cc <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
83local cc <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
84−count=count + 0x1
84+count=(count + 0x1)
85if previous then
85if previous then
86assert(coroutine.close(previous))
86assert(coroutine.close(previous))
87end
87end
@@ -91,7 +91,7 @@ end)
91assert(coroutine.resume(coro))
91assert(coroutine.resume(coro))
92end
92end
93local st,msg = coroutine.close(coro)
93local st,msg = coroutine.close(coro)
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}"))
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}"))))
95print("\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)
95print("\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)
96end
96end
97do
97do
@@ -103,12 +103,12 @@ coroutine.yield()
103local f = coroutine.wrap(body)
103local f = coroutine.wrap(body)
104f()
104f()
105;
105;
106−count=count + 0x1
106+count=(count + 0x1)
107f()
107f()
108end
108end
109local f = coroutine.wrap(body)
109local f = coroutine.wrap(body)
110f()
110f()
111−assert(not pcall(f))
111+assert((not pcall(f)))
112print("\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)
112print("\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)
113end
113end
114do
114do
@@ -116,7 +116,7 @@ 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}\
116local count = 0x0
116local count = 0x0
117local function foo
117local function foo
118()
118()
119−count=count + 0x1
119+count=(count + 0x1)
120pcall(0x1)
120pcall(0x1)
121coroutine.wrap(foo)()
121coroutine.wrap(foo)()
122end
122end
@@ -126,25 +126,25 @@ end
126if T then
126if T then
127print("\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}")
127print("\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}")
128local N = 0x0
128local N = 0x0
129−local LIM = - 0x1
129+local LIM = (- 0x1)
130local stack1
130local stack1
131local dummy
131local dummy
132local function err
132local function err
133(msg)
133(msg)
134assert(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}"))
134assert(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}"))
135local _,stacknow = T.stacklevel()
135local _,stacknow = T.stacklevel()
136−assert(stacknow == stack1 + 0xc8)
136+assert((stacknow == (stack1 + 0xc8)))
137end
137end
138local function f
138local function f
139()
139()
140dummy,stack1=T.stacklevel()
140dummy,stack1=T.stacklevel()
141−if N == LIM then
141+if (N == LIM) then
142xpcall(f,err)
142xpcall(f,err)
143local _,stacknow = T.stacklevel()
143local _,stacknow = T.stacklevel()
144−assert(stacknow == stack1)
144+assert((stacknow == stack1))
145return
145return
146end
146end
147−N=N + 0x1
147+N=(N + 0x1)
148f()
148f()
149end
149end
150local topB,sizeB
150local topB,sizeB
@@ -154,7 +154,7 @@ tracegc.stop()
154xpcall(f,err)
154xpcall(f,err)
155tracegc.start()
155tracegc.start()
156topA,sizeA=T.stacklevel()
156topA,sizeA=T.stacklevel()
157−assert(topA == topB and sizeA < sizeB * 0x2)
157+assert(((topA == topB) and (sizeA < (sizeB * 0x2))))
158print(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))
158print(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))
159LIM=N
159LIM=N
160N=0x0
160N=0x0
zod/luau/res/lua/cycled/db.lua → desk/res/lua/cycled/db.luarenamed+245−245
@@ -7,45 +7,45 @@ 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}\
7do
7do
8local a = 0x1
8local a = 0x1
9end
9end
10−assert(not debug.gethook())
10+assert((not debug.gethook()))
11local testline = 0x13
11local testline = 0x13
12local function test
12local function test
13(s,l,p)
13(s,l,p)
14collectgarbage()
14collectgarbage()
15local function f
15local function f
16(event,line)
16(event,line)
17−assert(event == "\u{6c}\u{69}\u{6e}\u{65}")
17+assert((event == "\u{6c}\u{69}\u{6e}\u{65}"))
18local l = table.remove(l,0x1)
18local l = table.remove(l,0x1)
19if p then
19if p then
20print(l,line)
20print(l,line)
21end
21end
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}")
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}")
23end
23end
24debug.sethook(f,"\u{6c}")
24debug.sethook(f,"\u{6c}")
25;
25;
26load(s)()
26load(s)()
27;
27;
28debug.sethook()
28debug.sethook()
29−assert(# l == 0x0)
29+assert((# (l == 0x0)))
30end
30end
31do
31do
32−assert(not pcall(debug.getinfo,print,"\u{58}"))
32+assert((not pcall(debug.getinfo,print,"\u{58}")))
33−assert(not pcall(debug.getinfo,0x0,"\u{3e}"))
33+assert((not pcall(debug.getinfo,0x0,"\u{3e}")))
34−assert(not debug.getinfo(0x3e8))
34+assert((not debug.getinfo(0x3e8)))
35−assert(not debug.getinfo(- 0x1))
35+assert((not debug.getinfo((- 0x1))))
36local a = debug.getinfo(print)
36local a = debug.getinfo(print)
37−assert(a.what == "\u{43}" and a.short_src == "\u{5b}\u{43}\u{5d}")
37+assert(((a.what == "\u{43}") and (a.short_src == "\u{5b}\u{43}\u{5d}")))
38a=debug.getinfo(print,"\u{4c}")
38a=debug.getinfo(print,"\u{4c}")
39−assert(a.activelines == nil)
39+assert((a.activelines == nil))
40local b = debug.getinfo(test,"\u{53}\u{66}\u{4c}")
40local 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 + 0xa and b.func == test and not string.find(b.short_src,"\u{25}\u{5b}"))
41+assert(((((((b.name == nil) and (b.what == "\u{4c}\u{75}\u{61}")) and (b.linedefined == testline)) and (b.lastlinedefined == (b.linedefined + 0xa))) and (b.func == test)) and (not string.find(b.short_src,"\u{25}\u{5b}"))))
42−assert(b.activelines[b.linedefined + 0x1] and b.activelines[b.lastlinedefined])
42+assert((b.activelines[(b.linedefined + 0x1)] and b.activelines[b.lastlinedefined]))
43−assert(not b.activelines[b.linedefined] and not b.activelines[b.lastlinedefined + 0x1])
43+assert((not (b.activelines[b.linedefined] and (not b.activelines[(b.lastlinedefined + 0x1)]))))
44end
44end
45do
45do
46local func = load(string.dump(load("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{30}\u{29}"),true))
46local func = load(string.dump(load("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{30}\u{29}"),true))
47local actl = debug.getinfo(func,"\u{4c}").activelines
47local actl = debug.getinfo(func,"\u{4c}").activelines
48−assert(# actl == 0x0)
48+assert((# (actl == 0x0)))
49end
49end
50local 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}"
50local 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}"
51local function dostring
51local function dostring
@@ -53,25 +53,25 @@ local function dostring
53return load(s,x)()
53return load(s,x)()
54end
54end
55dostring(a)
55dostring(a)
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))
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}",0x190)))
57+dostring((a .. string.format("\u{3b}\u{20}\u{25}\u{73}\u{a}\u{3d}\u{31}",string.rep("\u{70}",0x190))))
58assert(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}"))
58assert(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}",0x190)))
59+dostring((a .. string.format("\u{3b}\u{20}\u{25}\u{73}\u{3d}\u{31}",string.rep("\u{70}",0x190))))
60assert(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}"))
60assert(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)
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}")
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}"))
63dostring(a,"")
63dostring(a,"")
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}")
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}"))
65dostring(a,"\u{40}\u{78}\u{75}\u{78}\u{75}")
65dostring(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}")
66+assert((debug.getinfo(f).short_src == "\u{78}\u{75}\u{78}\u{75}"))
67−dostring(a,"\u{40}" .. string.rep("\u{70}",0x3e8) .. "\u{74}")
67+dostring(a,("\u{40}" .. (string.rep("\u{70}",0x3e8) .. "\u{74}")))
68assert(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}"))
68assert(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}"))
69dostring(a,"\u{3d}\u{78}\u{75}\u{78}\u{75}")
69dostring(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}")
70+assert((debug.getinfo(f).short_src == "\u{78}\u{75}\u{78}\u{75}"))
71dostring(a,string.format("\u{3d}\u{25}\u{73}",string.rep("\u{78}",0x1f4)))
71dostring(a,string.format("\u{3d}\u{25}\u{73}",string.rep("\u{78}",0x1f4)))
72assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{78}\u{2a}\u{24}"))
72assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{78}\u{2a}\u{24}"))
73dostring(a,"\u{3d}")
73dostring(a,"\u{3d}")
74−assert(debug.getinfo(f).short_src == "")
74+assert((debug.getinfo(f).short_src == ""))
75_G.a=nil
75_G.a=nil
76;
76;
77_G.f=nil
77_G.f=nil
@@ -80,29 +80,29 @@ _G[string.rep("\u{70}",0x190)]=nil
80repeat
80repeat
81local g = {["\u{78}"] = function ()
81local g = {["\u{78}"] = function ()
82local a = debug.getinfo(0x2)
82local a = debug.getinfo(0x2)
83−assert(a.name == "\u{66}" and a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")
83+assert(((a.name == "\u{66}") and (a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")))
84a=debug.getinfo(0x1)
84a=debug.getinfo(0x1)
85−assert(a.name == "\u{78}" and a.namewhat == "\u{66}\u{69}\u{65}\u{6c}\u{64}")
85+assert(((a.name == "\u{78}") and (a.namewhat == "\u{66}\u{69}\u{65}\u{6c}\u{64}")))
86return "\u{78}\u{69}\u{78}\u{69}"
86return "\u{78}\u{69}\u{78}\u{69}"
87end}
87end}
88local f = function ()
88local f = function ()
89−return 0x1 + 0x1 and (not 0x1 or g.x())
89+return ((0x1 + 0x1) and (not (0x1 or g.x())))
90end
90end
91−assert(f() == "\u{78}\u{69}\u{78}\u{69}")
91+assert((f() == "\u{78}\u{69}\u{78}\u{69}"))
92g=debug.getinfo(f)
92g=debug.getinfo(f)
93−assert(g.what == "\u{4c}\u{75}\u{61}" 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)))
94function f(x,name)
94function f(x,name)
95−name=name or "\u{66}"
95+name=(name or "\u{66}")
96local a = debug.getinfo(0x1)
96local a = debug.getinfo(0x1)
97−assert(a.name == name and a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")
97+assert(((a.name == name) and (a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")))
98return x
98return x
99end
99end
100−if 0x3 > 0x4 then
100+if (0x3 > 0x4) then
101break
101break
102end
102end
103;
103;
104f()
104f()
105−if 0x3 < 0x4 then
105+if (0x3 < 0x4) then
106a=0x1
106a=0x1
107else
107else
108break
108break
@@ -117,21 +117,21 @@ end
117;
117;
118f()
118f()
119local b = 0x1
119local b = 0x1
120−if 0x3 > 0x4 then
120+if (0x3 > 0x4) then
121return math.sin(0x1)
121return math.sin(0x1)
122end
122end
123;
123;
124f()
124f()
125−a=0x3 < 0x4
125+a=(0x3 < 0x4)
126;
126;
127f()
127f()
128−a=0x3 < 0x4 or 0x1
128+a=((0x3 < 0x4) or 0x1)
129;
129;
130f()
130f()
131repeat
131repeat
132local x = 0x14
132local x = 0x14
133;
133;
134−if 0x4 > 0x3 then
134+if (0x4 > 0x3) then
135f()
135f()
136else
136else
137break
137break
@@ -140,15 +140,15 @@ end
140f()
140f()
141until 0x1
141until 0x1
142g={}
142g={}
143−f(g).x=f(0x2) and f(0xa) + f(0x9)
143+f(g).x=(f(0x2) and (f(0xa) + f(0x9)))
144−assert(g.x == f(0x13))
144+assert((g.x == f(0x13)))
145function g(x)
145function g(x)
146−if not x then
146+if (not x) then
147return 0x3
147return 0x3
148end
148end
149−return (x("\u{61}","\u{78}"))
149+return x("\u{61}","\u{78}")
150end
150end
151−assert(g(f) == "\u{61}")
151+assert((g(f) == "\u{61}"))
152until 0x1
152until 0x1
153test("\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}",{0x2,0x3,0x4,0x7})
153test("\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}",{0x2,0x3,0x4,0x7})
154test("\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}",{0x2,0x3,0x2,0x4,0x5,0x6})
154test("\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}",{0x2,0x3,0x2,0x4,0x5,0x6})
@@ -172,7 +172,7 @@ for _,j in ipairs(a)
172do
172do
173subs.Y=string.rep("\u{a}",j)
173subs.Y=string.rep("\u{a}",j)
174local s = string.gsub(s,"\u{5b}\u{58}\u{59}\u{5d}",subs)
174local s = string.gsub(s,"\u{5b}\u{58}\u{59}\u{5d}",subs)
175−test(s,{0x1,0x2 + i,0x2 + i + j,0x2 + i,0x2 + i + j,0x3 + i + j})
175+test(s,{0x1,(0x2 + i),((0x2 + i) + j),(0x2 + i),((0x2 + i) + j),((0x3 + i) + j)})
176end
176end
177end
177end
178end
178end
@@ -183,11 +183,11 @@ local function checkactivelines
183local t = debug.getinfo(f,"\u{53}\u{4c}")
183local t = debug.getinfo(f,"\u{53}\u{4c}")
184for _,l in pairs(lines)
184for _,l in pairs(lines)
185do
185do
186−l=l + t.linedefined
186+l=(l + t.linedefined)
187assert(t.activelines[l])
187assert(t.activelines[l])
188t.activelines[l]=undef
188t.activelines[l]=undef
189end
189end
190−assert(next(t.activelines) == nil)
190+assert((next(t.activelines) == nil))
191end
191end
192checkactivelines(function (...)
192checkactivelines(function (...)
193local a = 0x14
193local a = 0x14
@@ -205,75 +205,75 @@ checkactivelines(function (a,b)
205end,{0x1})
205end,{0x1})
206for _,n in pairs({0x0,0x1,0x2,0xa,0x32,0x64,0x3e8,0x2710})
206for _,n in pairs({0x0,0x1,0x2,0xa,0x32,0x64,0x3e8,0x2710})
207do
207do
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 + 0x1})
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 + 0x1)})
209end
209end
210end
210end
211print("\u{2b}")
211print("\u{2b}")
212−assert(not pcall(debug.getlocal,0x14,0x1))
212+assert((not pcall(debug.getlocal,0x14,0x1)))
213−assert(not pcall(debug.setlocal,- 0x1,0x1,0xa))
213+assert((not pcall(debug.setlocal,(- 0x1),0x1,0xa)))
214local function foo
214local function foo
215(a,b, ...)
215(a,b, ...)
216local d,e
216local d,e
217end
217end
218local co = coroutine.create(foo)
218local co = coroutine.create(foo)
219−assert(debug.getlocal(foo,0x1) == "\u{61}")
219+assert((debug.getlocal(foo,0x1) == "\u{61}"))
220−assert(debug.getlocal(foo,0x2) == "\u{62}")
220+assert((debug.getlocal(foo,0x2) == "\u{62}"))
221−assert(not debug.getlocal(foo,0x3))
221+assert((not debug.getlocal(foo,0x3)))
222−assert(debug.getlocal(co,foo,0x1) == "\u{61}")
222+assert((debug.getlocal(co,foo,0x1) == "\u{61}"))
223−assert(debug.getlocal(co,foo,0x2) == "\u{62}")
223+assert((debug.getlocal(co,foo,0x2) == "\u{62}"))
224−assert(not debug.getlocal(co,foo,0x3))
224+assert((not debug.getlocal(co,foo,0x3)))
225−assert(not debug.getlocal(print,0x1))
225+assert((not debug.getlocal(print,0x1)))
226local function foo
226local function foo
227()
227()
228−return (debug.getlocal(0x1,- 0x1))
228+return debug.getlocal(0x1,(- 0x1))
229end
229end
230−assert(not foo(0xa))
230+assert((not foo(0xa)))
231local function foo
231local function foo
232(a, ...)
232(a, ...)
233local t = table.pack(...)
233local t = table.pack(...)
234for i = 0x1, t.n
234for i = 0x1, t.n
235do
235do
236−local n,v = debug.getlocal(0x1,- i)
236+local n,v = debug.getlocal(0x1,(- i))
237−assert(n == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}" 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])))
238end
238end
239−assert(not debug.getlocal(0x1,- (t.n + 0x1)))
239+assert((not debug.getlocal(0x1,(- (t.n + 0x1)))))
240−assert(not debug.setlocal(0x1,- (t.n + 0x1),0x1e))
240+assert((not debug.setlocal(0x1,(- (t.n + 0x1)),0x1e)))
241−if t.n > 0x0 then
241+if (t.n > 0x0) then
242(function (x)
242(function (x)
243−assert(debug.setlocal(0x2,- 0x1,x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}")
243+assert((debug.setlocal(0x2,(- 0x1),x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}"))
244−assert(debug.setlocal(0x2,- t.n,x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}")
244+assert((debug.setlocal(0x2,(- t.n),x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}"))
245end)(0x1ae)
245end)(0x1ae)
246−assert(... == 0x1ae)
246+assert((... == 0x1ae))
247end
247end
248end
248end
249foo()
249foo()
250foo(print)
250foo(print)
251foo(0xc8,0x3,0x4)
251foo(0xc8,0x3,0x4)
252local a = {}
252local a = {}
253−for i = 0x1, (_soft and 0x64 or 0x3e8)
253+for i = 0x1, ((_soft and 0x64) or 0x3e8)
254do
254do
255a[i]=i
255a[i]=i
256end
256end
257foo(table.unpack(a))
257foo(table.unpack(a))
258do
258do
259−assert(not debug.gethook())
259+assert((not debug.gethook()))
260local count = 0x0
260local count = 0x0
261local function f
261local function f
262()
262()
263−assert(debug.getinfo(0x1).namewhat == "\u{68}\u{6f}\u{6f}\u{6b}")
263+assert((debug.getinfo(0x1).namewhat == "\u{68}\u{6f}\u{6f}\u{6b}"))
264local sndline = string.match(debug.traceback(),"\u{a}\u{28}\u{2e}\u{2d}\u{29}\u{a}")
264local sndline = string.match(debug.traceback(),"\u{a}\u{28}\u{2e}\u{2d}\u{29}\u{a}")
265assert(string.find(sndline,"\u{68}\u{6f}\u{6f}\u{6b}"))
265assert(string.find(sndline,"\u{68}\u{6f}\u{6f}\u{6b}"))
266−count=count + 0x1
266+count=(count + 0x1)
267end
267end
268debug.sethook(f,"\u{6c}")
268debug.sethook(f,"\u{6c}")
269local a = 0x0
269local a = 0x0
270_ENV.a=a
270_ENV.a=a
271a=0x1
271a=0x1
272debug.sethook()
272debug.sethook()
273−assert(count == 0x4)
273+assert((count == 0x4))
274end
274end
275_ENV.a=nil
275_ENV.a=nil
276−assert(getmetatable(debug.getregistry()._HOOKKEY).__mode == "\u{6b}")
276+assert((getmetatable(debug.getregistry()._HOOKKEY).__mode == "\u{6b}"))
277a={}
277a={}
278;
278;
279local L = nil
279local L = nil
@@ -282,40 +282,40 @@ local oldglob = glob
282debug.sethook(function (e,l)
282debug.sethook(function (e,l)
283collectgarbage()
283collectgarbage()
284local f,m,c = debug.gethook()
284local f,m,c = debug.gethook()
285−assert(m == "\u{63}\u{72}\u{6c}" and c == 0x0)
285+assert(((m == "\u{63}\u{72}\u{6c}") and (c == 0x0)))
286−if e == "\u{6c}\u{69}\u{6e}\u{65}" then
286+if (e == "\u{6c}\u{69}\u{6e}\u{65}") then
287−if glob ~= oldglob then
287+if (glob ~= oldglob) then
288−L=l - 0x1
288+L=(l - 0x1)
289oldglob=glob
289oldglob=glob
290end
290end
291−elseif e == "\u{63}\u{61}\u{6c}\u{6c}" then
291+elseif (e == "\u{63}\u{61}\u{6c}\u{6c}") then
292local f = debug.getinfo(0x2,"\u{66}").func
292local f = debug.getinfo(0x2,"\u{66}").func
293a[f]=0x1
293a[f]=0x1
294else
294else
295−assert(e == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}")
295+assert((e == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"))
296end
296end
297end,"\u{63}\u{72}\u{6c}")
297end,"\u{63}\u{72}\u{6c}")
298function f(a,b)
298function f(a,b)
299collectgarbage()
299collectgarbage()
300local _,x = debug.getlocal(0x1,0x1)
300local _,x = debug.getlocal(0x1,0x1)
301local _,y = debug.getlocal(0x1,0x2)
301local _,y = debug.getlocal(0x1,0x2)
302−assert(x == a and y == b)
302+assert(((x == a) and (y == b)))
303−assert(debug.setlocal(0x2,0x3,"\u{70}\u{65}\u{72}\u{61}") == "\u{41}\u{41}" .. "\u{41}\u{41}")
303+assert((debug.setlocal(0x2,0x3,"\u{70}\u{65}\u{72}\u{61}") == ("\u{41}\u{41}" .. "\u{41}\u{41}")))
304−assert(debug.setlocal(0x2,0x4,"\u{6d}\u{61}\u{6e}\u{67}\u{61}") == "\u{42}")
304+assert((debug.setlocal(0x2,0x4,"\u{6d}\u{61}\u{6e}\u{67}\u{61}") == "\u{42}"))
305x=debug.getinfo(0x2)
305x=debug.getinfo(0x2)
306−assert(x.func == g and x.what == "\u{4c}\u{75}\u{61}" and x.name == "\u{67}" and x.nups == 0x2 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}"))
306+assert((((((x.func == g) and (x.what == "\u{4c}\u{75}\u{61}")) and (x.name == "\u{67}")) and (x.nups == 0x2)) 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}")))
307−glob=glob + 0x1
307+glob=(glob + 0x1)
308−assert(debug.getinfo(0x1,"\u{6c}").currentline == L + 0x1)
308+assert((debug.getinfo(0x1,"\u{6c}").currentline == (L + 0x1)))
309−assert(debug.getinfo(0x1,"\u{6c}").currentline == L + 0x2)
309+assert((debug.getinfo(0x1,"\u{6c}").currentline == (L + 0x2)))
310end
310end
311function foo()
311function foo()
312−glob=glob + 0x1
312+glob=(glob + 0x1)
313−assert(debug.getinfo(0x1,"\u{6c}").currentline == L + 0x1)
313+assert((debug.getinfo(0x1,"\u{6c}").currentline == (L + 0x1)))
314end
314end
315;
315;
316foo()
316foo()
317−local _ = "\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}" .. "\u{a}"
317+local _ = ("\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}" .. "\u{a}")
318−assert(debug.getinfo(0x1,"\u{6c}").currentline == L + 0xb)
318+assert((debug.getinfo(0x1,"\u{6c}").currentline == (L + 0xb)))
319function g(...)
319function g(...)
320local arg = {...}
320local arg = {...}
321do
321do
@@ -327,39 +327,39 @@ end
327local feijao
327local feijao
328local AAAA,B = "\u{78}\u{75}\u{78}\u{75}","\u{61}\u{62}\u{61}\u{63}\u{61}\u{74}\u{65}"
328local AAAA,B = "\u{78}\u{75}\u{78}\u{75}","\u{61}\u{62}\u{61}\u{63}\u{61}\u{74}\u{65}"
329f(AAAA,B)
329f(AAAA,B)
330−assert(AAAA == "\u{70}\u{65}\u{72}\u{61}" and B == "\u{6d}\u{61}\u{6e}\u{67}\u{61}")
330+assert(((AAAA == "\u{70}\u{65}\u{72}\u{61}") and (B == "\u{6d}\u{61}\u{6e}\u{67}\u{61}")))
331do
331do
332local B = 0xd
332local B = 0xd
333local x,y = debug.getlocal(0x1,0x5)
333local x,y = debug.getlocal(0x1,0x5)
334−assert(x == "\u{42}" and y == 0xd)
334+assert(((x == "\u{42}") and (y == 0xd)))
335end
335end
336end
336end
337g()
337g()
338−assert(a[f] and a[g] and a[assert] and a[debug.getlocal] and not a[print])
338+assert(((((a[f] and a[g]) and a[assert]) and a[debug.getlocal]) and (not a[print])))
339local n,v = debug.getlocal(0x0,0x1)
339local n,v = debug.getlocal(0x0,0x1)
340−assert(v == 0x0 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}")
340+assert(((v == 0x0) 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}")))
341local n,v = debug.getlocal(0x0,0x2)
341local n,v = debug.getlocal(0x0,0x2)
342−assert(v == 0x2 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}")
342+assert(((v == 0x2) 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}")))
343−assert(not debug.getlocal(0x0,0x3))
343+assert((not debug.getlocal(0x0,0x3)))
344−assert(not debug.getlocal(0x0,0x0))
344+assert((not debug.getlocal(0x0,0x0)))
345function f()
345function f()
346−assert(select(0x2,debug.getlocal(0x2,0x3)) == 0x1)
346+assert((select(0x2,debug.getlocal(0x2,0x3)) == 0x1))
347−assert(not debug.getlocal(0x2,0x4))
347+assert((not debug.getlocal(0x2,0x4)))
348debug.setlocal(0x2,0x3,0xa)
348debug.setlocal(0x2,0x3,0xa)
349return 0x14
349return 0x14
350end
350end
351function g(a,b)
351function g(a,b)
352−return (a + 0x1) + f()
352+return ((a + 0x1) + f())
353end
353end
354−assert(g(0x0,0x0) == 0x1e)
354+assert((g(0x0,0x0) == 0x1e))
355_G.f,_G.g=nil
355_G.f,_G.g=nil
356debug.sethook(nil)
356debug.sethook(nil)
357;
357;
358−assert(not debug.gethook())
358+assert((not debug.gethook()))
359do
359do
360−assert(not debug.setuservalue(io.stdin,0xa))
360+assert((not debug.setuservalue(io.stdin,0xa)))
361local a,b = debug.getuservalue(io.stdin,0xa)
361local a,b = debug.getuservalue(io.stdin,0xa)
362−assert(a == nil and not b)
362+assert(((a == nil) and (not b)))
363end
363end
364do
364do
365local function f
365local function f
@@ -373,22 +373,22 @@ do
373a[i]=i
373a[i]=i
374end
374end
375debug.sethook(function ()
375debug.sethook(function ()
376−count=count + 0x1
376+count=(count + 0x1)
377end,"",0x1)
377end,"",0x1)
378local t = {table.unpack(a)}
378local t = {table.unpack(a)}
379−assert(# t == 0x64)
379+assert((# (t == 0x64)))
380t={table.unpack(a,0x1,0x3)}
380t={table.unpack(a,0x1,0x3)}
381−assert(# t == 0x3)
381+assert((# (t == 0x3)))
382t={f(table.unpack(a,0x1,0x1e))}
382t={f(table.unpack(a,0x1,0x1e))}
383−assert(# t == 0x1f)
383+assert((# (t == 0x1f)))
384end
384end
385local function collectlocals
385local function collectlocals
386(level)
386(level)
387local tab = {}
387local tab = {}
388for i = 0x1, math.huge
388for i = 0x1, math.huge
389do
389do
390−local n,v = debug.getlocal(level + 0x1,i)
390+local n,v = debug.getlocal((level + 0x1),i)
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
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
392break
392break
393end
393end
394tab[n]=v
394tab[n]=v
@@ -403,23 +403,23 @@ local arg = {...}
403local c = 0xd
403local c = 0xd
404end
404end
405debug.sethook(function (e)
405debug.sethook(function (e)
406−assert(e == "\u{63}\u{61}\u{6c}\u{6c}")
406+assert((e == "\u{63}\u{61}\u{6c}\u{6c}"))
407dostring("\u{58}\u{58}\u{20}\u{3d}\u{20}\u{31}\u{32}")
407dostring("\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}")))
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}"))))
409debug.sethook(function (e,l)
409debug.sethook(function (e,l)
410−assert(debug.getinfo(0x2,"\u{6c}").currentline == l)
410+assert((debug.getinfo(0x2,"\u{6c}").currentline == l))
411local f,m,c = debug.gethook()
411local f,m,c = debug.gethook()
412−assert(e == "\u{6c}\u{69}\u{6e}\u{65}")
412+assert((e == "\u{6c}\u{69}\u{6e}\u{65}"))
413−assert(m == "\u{6c}" and c == 0x0)
413+assert(((m == "\u{6c}") and (c == 0x0)))
414debug.sethook(nil)
414debug.sethook(nil)
415−assert(not X)
415+assert((not X))
416X=collectlocals(0x2)
416X=collectlocals(0x2)
417end,"\u{6c}")
417end,"\u{6c}")
418end,"\u{63}")
418end,"\u{63}")
419a:f(0x1,0x2,0x3,0x4,0x5)
419a:f(0x1,0x2,0x3,0x4,0x5)
420−assert(X.self == a and X.a == 0x1 and X.b == 0x2 and X.c == nil)
420+assert(((((X.self == a) and (X.a == 0x1)) and (X.b == 0x2)) and (X.c == nil)))
421−assert(XX == 0xc)
421+assert((XX == 0xc))
422−assert(not debug.gethook())
422+assert((not debug.gethook()))
423_G.XX=nil
423_G.XX=nil
424do
424do
425local X = false
425local X = false
@@ -433,15 +433,15 @@ return
433end
433end
434local function aux
434local function aux
435()
435()
436−if debug.getinfo(0x2).name == "\u{66}\u{6f}\u{6f}" then
436+if (debug.getinfo(0x2).name == "\u{66}\u{6f}\u{6f}") then
437X=true
437X=true
438local tab = {["\u{61}"] = 0x64,["\u{62}"] = 0xc8,["\u{63}"] = 0xa,["\u{64}"] = 0x14}
438local tab = {["\u{61}"] = 0x64,["\u{62}"] = 0xc8,["\u{63}"] = 0xa,["\u{64}"] = 0x14}
439for n,v in pairs(collectlocals(0x2))
439for n,v in pairs(collectlocals(0x2))
440do
440do
441−assert(tab[n] == v)
441+assert((tab[n] == v))
442tab[n]=undef
442tab[n]=undef
443end
443end
444−assert(next(tab) == nil)
444+assert((next(tab) == nil))
445end
445end
446end
446end
447debug.sethook(aux,"\u{72}")
447debug.sethook(aux,"\u{72}")
@@ -453,10 +453,10 @@ assert(X)
453end
453end
454local function eqseq
454local function eqseq
455(t1,t2)
455(t1,t2)
456−assert(# t1 == # t2)
456+assert((# (t1 == (# t2))))
457−for i = 0x1, # t1
457+for i = 0x1, (# t1)
458do
458do
459−assert(t1[i] == t2[i])
459+assert((t1[i] == t2[i]))
460end
460end
461end
461end
462do
462do
@@ -465,17 +465,17 @@ local on = false
465local inp,out
465local inp,out
466local function hook
466local function hook
467(event)
467(event)
468−if not on then
468+if (not on) then
469return
469return
470end
470end
471local ar = debug.getinfo(0x2,"\u{72}\u{75}\u{53}")
471local ar = debug.getinfo(0x2,"\u{72}\u{75}\u{53}")
472local t = {}
472local t = {}
473−for i = ar.ftransfer, ar.ftransfer + ar.ntransfer - 0x1
473+for i = ar.ftransfer, ((ar.ftransfer + ar.ntransfer) - 0x1)
474do
474do
475local _,v = debug.getlocal(0x2,i)
475local _,v = debug.getlocal(0x2,i)
476−t[# t + 0x1]=v
476+t[(# (t + 0x1))]=v
477end
477end
478−if event == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}" then
478+if (event == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}") then
479out=t
479out=t
480else
480else
481inp=t
481inp=t
@@ -504,7 +504,7 @@ return ...
504end
504end
505local function foo1
505local function foo1
506()
506()
507−on=not on
507+on=(not on)
508;
508;
509return foo(0x14,0xa,0x0)
509return foo(0x14,0xa,0x0)
510end
510end
@@ -522,12 +522,12 @@ local t = {}
522local i = 0x1
522local i = 0x1
523while true do
523while true do
524local name,value = debug.getupvalue(f,i)
524local name,value = debug.getupvalue(f,i)
525−if not name then
525+if (not name) then
526break
526break
527end
527end
528−assert(not t[name])
528+assert((not t[name]))
529t[name]=value
529t[name]=value
530−i=i + 0x1
530+i=(i + 0x1)
531end
531end
532return t
532return t
533end
533end
@@ -542,21 +542,21 @@ local function foo2
542(x)
542(x)
543a=x
543a=x
544;
544;
545−return c + b
545+return (c + b)
546end
546end
547−assert(not debug.getupvalue(foo1,0x3))
547+assert((not debug.getupvalue(foo1,0x3)))
548−assert(not debug.getupvalue(foo1,0x0))
548+assert((not debug.getupvalue(foo1,0x0)))
549−assert(not debug.setupvalue(foo1,0x3,"\u{78}\u{75}\u{78}\u{75}"))
549+assert((not debug.setupvalue(foo1,0x3,"\u{78}\u{75}\u{78}\u{75}")))
550local t = getupvalues(foo1)
550local t = getupvalues(foo1)
551−assert(t.a == nil and t.b == 0x2 and t.c == 0x3)
551+assert((((t.a == nil) and (t.b == 0x2)) and (t.c == 0x3)))
552t=getupvalues(foo2)
552t=getupvalues(foo2)
553−assert(t.a == 0x1 and t.b == 0x2 and t.c == 0x3)
553+assert((((t.a == 0x1) and (t.b == 0x2)) and (t.c == 0x3)))
554−assert(debug.setupvalue(foo1,0x1,"\u{78}\u{75}\u{78}\u{75}") == "\u{62}")
554+assert((debug.setupvalue(foo1,0x1,"\u{78}\u{75}\u{78}\u{75}") == "\u{62}"))
555−assert(({debug.getupvalue(foo2,0x3)})[0x2] == "\u{78}\u{75}\u{78}\u{75}")
555+assert((({debug.getupvalue(foo2,0x3)})[0x2] == "\u{78}\u{75}\u{78}\u{75}"))
556−assert(debug.getupvalue(string.gmatch("\u{78}","\u{78}"),0x1) == "")
556+assert((debug.getupvalue(string.gmatch("\u{78}","\u{78}"),0x1) == ""))
557local a = 0x0
557local a = 0x0
558debug.sethook(function (e)
558debug.sethook(function (e)
559−a=a + 0x1
559+a=(a + 0x1)
560end,"",0x1)
560end,"",0x1)
561a=0x0
561a=0x0
562;
562;
@@ -565,9 +565,9 @@ do
565
565
566end
566end
567;
567;
568−assert(0x3e8 < a and a < 0x3f4)
568+assert(((0x3e8 < a) and (a < 0x3f4)))
569debug.sethook(function (e)
569debug.sethook(function (e)
570−a=a + 0x1
570+a=(a + 0x1)
571end,"",0x4)
571end,"",0x4)
572a=0x0
572a=0x0
573;
573;
@@ -576,11 +576,11 @@ do
576
576
577end
577end
578;
578;
579−assert(0xfa < a and a < 0xff)
579+assert(((0xfa < a) and (a < 0xff)))
580local f,m,c = debug.gethook()
580local f,m,c = debug.gethook()
581−assert(m == "" and c == 0x4)
581+assert(((m == "") and (c == 0x4)))
582debug.sethook(function (e)
582debug.sethook(function (e)
583−a=a + 0x1
583+a=(a + 0x1)
584end,"",0xfa0)
584end,"",0xfa0)
585a=0x0
585a=0x0
586;
586;
@@ -589,22 +589,22 @@ do
589
589
590end
590end
591;
591;
592−assert(a == 0x0)
592+assert((a == 0x0))
593do
593do
594−debug.sethook(print,"",0x2 ^ 0x18 - 0x1)
594+debug.sethook(print,"",((0x2 ^ 0x18) - 0x1))
595local f,m,c = debug.gethook()
595local f,m,c = debug.gethook()
596−assert(({debug.gethook()})[0x3] == 0x2 ^ 0x18 - 0x1)
596+assert((({debug.gethook()})[0x3] == ((0x2 ^ 0x18) - 0x1)))
597end
597end
598debug.sethook()
598debug.sethook()
599local g,g1
599local g,g1
600local function f
600local function f
601(x)
601(x)
602if x then
602if x then
603−assert(debug.getinfo(0x1,"\u{53}").what == "\u{4c}\u{75}\u{61}")
603+assert((debug.getinfo(0x1,"\u{53}").what == "\u{4c}\u{75}\u{61}"))
604−assert(debug.getinfo(0x1,"\u{74}").istailcall == true)
604+assert((debug.getinfo(0x1,"\u{74}").istailcall == true))
605local tail = debug.getinfo(0x2)
605local tail = debug.getinfo(0x2)
606−assert(tail.func == g1 and tail.istailcall == true)
606+assert(((tail.func == g1) and (tail.istailcall == true)))
607−assert(debug.getinfo(0x3,"\u{53}").what == "\u{6d}\u{61}\u{69}\u{6e}")
607+assert((debug.getinfo(0x3,"\u{53}").what == "\u{6d}\u{61}\u{69}\u{6e}"))
608print("\u{2b}")
608print("\u{2b}")
609end
609end
610end
610end
@@ -628,31 +628,31 @@ end,"\u{63}\u{72}")
628h(false)
628h(false)
629debug.sethook()
629debug.sethook()
630local 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}"}
630local 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}"}
631−for i = 0x1, # res
631+for i = 0x1, (# res)
632do
632do
633−assert(res[i] == table.remove(b,0x1))
633+assert((res[i] == table.remove(b,0x1)))
634end
634end
635b=0x0
635b=0x0
636debug.sethook(function (e)
636debug.sethook(function (e)
637−if e == "\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}" then
637+if (e == "\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}") then
638−b=b + 0x1
638+b=(b + 0x1)
639−assert(debug.getinfo(0x2,"\u{74}").istailcall == true)
639+assert((debug.getinfo(0x2,"\u{74}").istailcall == true))
640else
640else
641−assert(debug.getinfo(0x2,"\u{74}").istailcall == false)
641+assert((debug.getinfo(0x2,"\u{74}").istailcall == false))
642end
642end
643end,"\u{63}")
643end,"\u{63}")
644h(false)
644h(false)
645debug.sethook()
645debug.sethook()
646−assert(b == 0x2)
646+assert((b == 0x2))
647−local lim = _soft and 0xbb8 or 0x7530
647+local lim = ((_soft and 0xbb8) or 0x7530)
648local function foo
648local function foo
649(x)
649(x)
650−if x == 0x0 then
650+if (x == 0x0) then
651−assert(debug.getinfo(0x2).what == "\u{6d}\u{61}\u{69}\u{6e}")
651+assert((debug.getinfo(0x2).what == "\u{6d}\u{61}\u{69}\u{6e}"))
652local info = debug.getinfo(0x1)
652local info = debug.getinfo(0x1)
653−assert(info.istailcall == true and info.func == foo)
653+assert(((info.istailcall == true) and (info.func == foo)))
654else
654else
655−return foo(x - 0x1)
655+return foo((x - 0x1))
656end
656end
657end
657end
658foo(lim)
658foo(lim)
@@ -660,63 +660,63 @@ print("\u{2b}")
660co=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}")
660co=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}")
661local a = 0x0
661local a = 0x0
662debug.sethook(function (e,l)
662debug.sethook(function (e,l)
663−if l == 0x3 then
663+if (l == 0x3) then
664−a=a + 0x1
664+a=(a + 0x1)
665;
665;
666−assert(debug.getlocal(0x2,0x1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
666+assert((debug.getlocal(0x2,0x1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}"))
667−elseif l == 0x4 then
667+elseif (l == 0x4) then
668−a=a + 0x1
668+a=(a + 0x1)
669;
669;
670−assert(debug.getlocal(0x2,0x1) == "\u{41}")
670+assert((debug.getlocal(0x2,0x1) == "\u{41}"))
671end
671end
672end,"\u{6c}")
672end,"\u{6c}")
673co()
673co()
674debug.sethook()
674debug.sethook()
675−assert(a == 0x2)
675+assert((a == 0x2))
676−assert(debug.traceback(print) == print)
676+assert((debug.traceback(print) == print))
677−assert(debug.traceback(print,0x4) == print)
677+assert((debug.traceback(print,0x4) == print))
678assert(string.find(debug.traceback("\u{68}\u{69}",0x4),"\u{5e}\u{68}\u{69}\u{a}"))
678assert(string.find(debug.traceback("\u{68}\u{69}",0x4),"\u{5e}\u{68}\u{69}\u{a}"))
679assert(string.find(debug.traceback("\u{68}\u{69}"),"\u{5e}\u{68}\u{69}\u{a}"))
679assert(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}"))
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}")))
681assert(string.find(debug.traceback("\u{68}\u{69}",0x0),"\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}"))
681assert(string.find(debug.traceback("\u{68}\u{69}",0x0),"\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}"))
682assert(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}"))
682assert(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}"))
683do
683do
684local st,msg = (function ()
684local st,msg = (function ()
685return pcall
685return pcall
686end)()(debug.traceback)
686end)()(debug.traceback)
687−assert(st == true and string.find(msg,"\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
687+assert(((st == true) and string.find(msg,"\u{70}\u{63}\u{61}\u{6c}\u{6c}")))
688end
688end
689local t = debug.getinfo(print,"\u{75}")
689local t = debug.getinfo(print,"\u{75}")
690−assert(t.isvararg == true and t.nparams == 0x0 and t.nups == 0x0)
690+assert((((t.isvararg == true) and (t.nparams == 0x0)) and (t.nups == 0x0)))
691t=debug.getinfo(function (a,b,c)
691t=debug.getinfo(function (a,b,c)
692
692
693end,"\u{75}")
693end,"\u{75}")
694−assert(t.isvararg == false and t.nparams == 0x3 and t.nups == 0x0)
694+assert((((t.isvararg == false) and (t.nparams == 0x3)) and (t.nups == 0x0)))
695t=debug.getinfo(function (a,b, ...)
695t=debug.getinfo(function (a,b, ...)
696return t[a]
696return t[a]
697end,"\u{75}")
697end,"\u{75}")
698−assert(t.isvararg == true and t.nparams == 0x2 and t.nups == 0x1)
698+assert((((t.isvararg == true) and (t.nparams == 0x2)) and (t.nups == 0x1)))
699t=debug.getinfo(0x1)
699t=debug.getinfo(0x1)
700−assert(t.isvararg == true and t.nparams == 0x0 and t.nups == 0x1 and debug.getupvalue(t.func,0x1) == "\u{5f}\u{45}\u{4e}\u{56}")
700+assert(((((t.isvararg == true) and (t.nparams == 0x0)) and (t.nups == 0x1)) and (debug.getupvalue(t.func,0x1) == "\u{5f}\u{45}\u{4e}\u{56}")))
701t=debug.getinfo(math.sin)
701t=debug.getinfo(math.sin)
702−assert(t.isvararg == true and t.nparams == 0x0 and t.nups == 0x0)
702+assert((((t.isvararg == true) and (t.nparams == 0x0)) and (t.nups == 0x0)))
703t=debug.getinfo(string.gmatch("\u{61}\u{62}\u{63}","\u{61}"))
703t=debug.getinfo(string.gmatch("\u{61}\u{62}\u{63}","\u{61}"))
704−assert(t.isvararg == true and t.nparams == 0x0 and t.nups > 0x0)
704+assert((((t.isvararg == true) and (t.nparams == 0x0)) and (t.nups > 0x0)))
705local function checktraceback
705local function checktraceback
706(co,p,level)
706(co,p,level)
707local tb = debug.traceback(co,nil,level)
707local tb = debug.traceback(co,nil,level)
708local i = 0x0
708local i = 0x0
709for l in string.gmatch(tb,"\u{5b}\u{5e}\u{a}\u{5d}\u{2b}\u{a}\u{3f}")
709for l in string.gmatch(tb,"\u{5b}\u{5e}\u{a}\u{5d}\u{2b}\u{a}\u{3f}")
710do
710do
711−assert(i == 0x0 or string.find(l,p[i]))
711+assert(((i == 0x0) or string.find(l,p[i])))
712−i=i + 0x1
712+i=(i + 0x1)
713end
713end
714−assert(p[i] == undef)
714+assert((p[i] == undef))
715end
715end
716local function f
716local function f
717(n)
717(n)
718−if n > 0x0 then
718+if (n > 0x0) then
719−f(n - 0x1)
719+f((n - 0x1))
720else
720else
721coroutine.yield()
721coroutine.yield()
722end
722end
@@ -743,52 +743,52 @@ end
743debug.sethook(co,foo,"\u{6c}\u{63}\u{72}")
743debug.sethook(co,foo,"\u{6c}\u{63}\u{72}")
744local _,l = coroutine.resume(co,0xa)
744local _,l = coroutine.resume(co,0xa)
745local x = debug.getinfo(co,0x1,"\u{6c}\u{66}\u{4c}\u{53}")
745local x = debug.getinfo(co,0x1,"\u{6c}\u{66}\u{4c}\u{53}")
746−assert(x.currentline == l.currentline and x.activelines[x.currentline])
746+assert(((x.currentline == l.currentline) and x.activelines[x.currentline]))
747−assert(type(x.func) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
747+assert((type(x.func) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
748−for i = x.linedefined + 0x1, x.lastlinedefined
748+for i = (x.linedefined + 0x1), x.lastlinedefined
749do
749do
750assert(x.activelines[i])
750assert(x.activelines[i])
751x.activelines[i]=undef
751x.activelines[i]=undef
752end
752end
753−assert(next(x.activelines) == nil)
753+assert((next(x.activelines) == nil))
754−assert(not debug.getinfo(co,0x2))
754+assert((not debug.getinfo(co,0x2)))
755local a,b = debug.getlocal(co,0x1,0x1)
755local a,b = debug.getlocal(co,0x1,0x1)
756−assert(a == "\u{78}" and b == 0xa)
756+assert(((a == "\u{78}") and (b == 0xa)))
757a,b=debug.getlocal(co,0x1,0x2)
757a,b=debug.getlocal(co,0x1,0x2)
758−assert(a == "\u{61}" and b == 0x1)
758+assert(((a == "\u{61}") and (b == 0x1)))
759debug.setlocal(co,0x1,0x2,"\u{68}\u{69}")
759debug.setlocal(co,0x1,0x2,"\u{68}\u{69}")
760−assert(debug.gethook(co) == foo)
760+assert((debug.gethook(co) == foo))
761−assert(# tr == 0x2 and tr[0x1] == l.currentline - 0x1 and tr[0x2] == l.currentline)
761+assert((# (((tr == 0x2) and (tr[0x1] == (l.currentline - 0x1))) and (tr[0x2] == l.currentline))))
762a,b,c=pcall(coroutine.resume,co)
762a,b,c=pcall(coroutine.resume,co)
763−assert(a and b and c == l.currentline + 0x1)
763+assert(((a and b) and (c == (l.currentline + 0x1))))
764checktraceback(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}"})
764checktraceback(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}"})
765a,b=coroutine.resume(co)
765a,b=coroutine.resume(co)
766−assert(a and b == "\u{68}\u{69}")
766+assert((a and (b == "\u{68}\u{69}")))
767−assert(# tr == 0x4 and tr[0x4] == l.currentline + 0x2)
767+assert((# ((tr == 0x4) and (tr[0x4] == (l.currentline + 0x2)))))
768−assert(debug.gethook(co) == foo)
768+assert((debug.gethook(co) == foo))
769−assert(not debug.gethook())
769+assert((not debug.gethook()))
770checktraceback(co,{})
770checktraceback(co,{})
771co=coroutine.create(function (x)
771co=coroutine.create(function (x)
772local a,b = coroutine.yield(x)
772local a,b = coroutine.yield(x)
773−assert(a == 0x64 and b == nil)
773+assert(((a == 0x64) and (b == nil)))
774return x
774return x
775end)
775end)
776a,b=coroutine.resume(co,0xa)
776a,b=coroutine.resume(co,0xa)
777−assert(a and b == 0xa)
777+assert((a and (b == 0xa)))
778a,b=debug.getlocal(co,0x1,0x1)
778a,b=debug.getlocal(co,0x1,0x1)
779−assert(a == "\u{78}" and b == 0xa)
779+assert(((a == "\u{78}") and (b == 0xa)))
780−assert(not debug.getlocal(co,0x1,0x5))
780+assert((not debug.getlocal(co,0x1,0x5)))
781−assert(debug.setlocal(co,0x1,0x1,0x1e) == "\u{78}")
781+assert((debug.setlocal(co,0x1,0x1,0x1e) == "\u{78}"))
782−assert(not debug.setlocal(co,0x1,0x5,0x28))
782+assert((not debug.setlocal(co,0x1,0x5,0x28)))
783a,b=coroutine.resume(co,0x64)
783a,b=coroutine.resume(co,0x64)
784−assert(a and b == 0x1e)
784+assert((a and (b == 0x1e)))
785function f(i)
785function f(i)
786−if i == 0x0 then
786+if (i == 0x0) then
787error(i)
787error(i)
788else
788else
789coroutine.yield()
789coroutine.yield()
790;
790;
791−f(i - 0x1)
791+f((i - 0x1))
792end
792end
793end
793end
794co=coroutine.create(function (x)
794co=coroutine.create(function (x)
@@ -796,7 +796,7 @@ f(x)
796end)
796end)
797a,b=coroutine.resume(co,0x3)
797a,b=coroutine.resume(co,0x3)
798t={"\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}"}
798t={"\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
799+while (coroutine.status(co) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}") do
800checktraceback(co,t)
800checktraceback(co,t)
801a,b=coroutine.resume(co)
801a,b=coroutine.resume(co)
802table.insert(t,0x2,"\u{27}\u{66}\u{27}")
802table.insert(t,0x2,"\u{27}\u{66}\u{27}")
@@ -814,40 +814,40 @@ debug.sethook(function ()
814end,"\u{6c}")
814end,"\u{6c}")
815for j = 0x1, 0x3e8
815for j = 0x1, 0x3e8
816do
816do
817−g(i + j)
817+g((i + j))
818end
818end
819end
819end
820local co = coroutine.wrap(f)
820local co = coroutine.wrap(f)
821co(0xa)
821co(0xa)
822pcall(co)
822pcall(co)
823pcall(co)
823pcall(co)
824−assert(type(debug.getregistry()) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
824+assert((type(debug.getregistry()) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
825local a = {}
825local a = {}
826local function f
826local function f
827(t)
827(t)
828local info = debug.getinfo(0x1)
828local info = debug.getinfo(0x1)
829;
829;
830−assert(info.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}")
830+assert((info.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}"))
831a.op=info.name
831a.op=info.name
832return info.name
832return info.name
833end
833end
834setmetatable(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})
834setmetatable(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})
835local b = setmetatable({},getmetatable(a))
835local b = setmetatable({},getmetatable(a))
836−assert(a[0x3] == "\u{69}\u{6e}\u{64}\u{65}\u{78}" and a ^ 0x3 == "\u{70}\u{6f}\u{77}" and a .. a == "\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")
836+assert((((a[0x3] == "\u{69}\u{6e}\u{64}\u{65}\u{78}") and ((a ^ 0x3) == "\u{70}\u{6f}\u{77}")) and ((a .. a) == "\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")))
837−assert(a / 0x3 == "\u{64}\u{69}\u{76}" and 0x3 % a == "\u{6d}\u{6f}\u{64}")
837+assert((((a / 0x3) == "\u{64}\u{69}\u{76}") and ((0x3 % a) == "\u{6d}\u{6f}\u{64}")))
838−assert(a + 0x3 == "\u{61}\u{64}\u{64}" and 0x3 - a == "\u{73}\u{75}\u{62}" and a * 0x3 == "\u{6d}\u{75}\u{6c}" and - a == "\u{75}\u{6e}\u{6d}" and # a == "\u{6c}\u{65}\u{6e}" and a & 0x3 == "\u{62}\u{61}\u{6e}\u{64}")
838+assert((((((a + 0x3) == "\u{61}\u{64}\u{64}") and ((0x3 - a) == "\u{73}\u{75}\u{62}")) and ((a * 0x3) == "\u{6d}\u{75}\u{6c}")) and (- ((a == "\u{75}\u{6e}\u{6d}") and (# ((a == "\u{6c}\u{65}\u{6e}") and ((a & 0x3) == "\u{62}\u{61}\u{6e}\u{64}")))))))
839−assert(a + 0x7530 == "\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 & 0x3 == "\u{62}\u{61}\u{6e}\u{64}")
839+assert((((((a + 0x7530) == "\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 & 0x3) == "\u{62}\u{61}\u{6e}\u{64}")))))))
840−assert(a | 0x3 == "\u{62}\u{6f}\u{72}" and 0x3 ~ a == "\u{62}\u{78}\u{6f}\u{72}" and a << 0x3 == "\u{73}\u{68}\u{6c}" and a >> 0x1 == "\u{73}\u{68}\u{72}")
840+assert((((((a | 0x3) == "\u{62}\u{6f}\u{72}") and ((0x3 ~ a) == "\u{62}\u{78}\u{6f}\u{72}")) and ((a << 0x3) == "\u{73}\u{68}\u{6c}")) and ((a >> 0x1) == "\u{73}\u{68}\u{72}")))
841−assert(a == b and a.op == "\u{65}\u{71}")
841+assert(((a == b) and (a.op == "\u{65}\u{71}")))
842−assert(a >= b and a.op == "\u{6c}\u{65}")
842+assert(((a >= b) and (a.op == "\u{6c}\u{65}")))
843−assert("\u{78}" >= a 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}")
844+assert(((a > b) and (a.op == "\u{6c}\u{74}")))
845−assert(a > 0xa and a.op == "\u{6c}\u{74}")
845+assert(((a > 0xa) and (a.op == "\u{6c}\u{74}")))
846−assert(~ a == "\u{62}\u{6e}\u{6f}\u{74}")
846+assert((~ (a == "\u{62}\u{6e}\u{6f}\u{74}")))
847do
847do
848local function f
848local function f
849()
849()
850−assert(debug.getinfo(0x1).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}")
850+assert((debug.getinfo(0x1).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}"))
851end
851end
852for i in f
852for i in f
853do
853do
@@ -858,13 +858,13 @@ do
858local name = nil
858local name = nil
859setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
859setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
860local t = debug.getinfo(0x1)
860local t = debug.getinfo(0x1)
861−assert(t.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}")
861+assert((t.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}"))
862name=t.name
862name=t.name
863end})
863end})
864repeat
864repeat
865local a = {}
865local a = {}
866until name
866until name
867−assert(name == "\u{5f}\u{5f}\u{67}\u{63}")
867+assert((name == "\u{5f}\u{5f}\u{67}\u{63}"))
868end
868end
869do
869do
870print("\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}")
870print("\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}")
@@ -874,10 +874,10 @@ return select(0x2,string.gsub(s,"\u{a}",""))
874end
874end
875local function deep
875local function deep
876(lvl,n)
876(lvl,n)
877−if lvl == 0x0 then
877+if (lvl == 0x0) then
878−return (debug.traceback("\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}",n))
878+return debug.traceback("\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}",n)
879else
879else
880−return (deep(lvl - 0x1,n))
880+return deep((lvl - 0x1),n)
881end
881end
882end
882end
883local function checkdeep
883local function checkdeep
@@ -885,14 +885,14 @@ local function checkdeep
885local s = deep(total,start)
885local s = deep(total,start)
886local 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}")
886local 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}")
887local cl = countlines(rest)
887local cl = countlines(rest)
888−assert(cl <= 0xa + 0xb + 0x1)
888+assert((cl <= ((0xa + 0xb) + 0x1)))
889local 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}")
889local 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}")
890if brk then
890if brk then
891local rest1 = string.sub(rest,0x1,brk)
891local rest1 = string.sub(rest,0x1,brk)
892−local rest2 = string.sub(rest,brk,# rest)
892+local rest2 = string.sub(rest,brk,(# rest))
893−assert(countlines(rest1) == 0xa and countlines(rest2) == 0xb)
893+assert(((countlines(rest1) == 0xa) and (countlines(rest2) == 0xb)))
894else
894else
895−assert(cl == total - start + 0x2)
895+assert((cl == ((total - start) + 0x2)))
896end
896end
897end
897end
898for d = 0x1, 0x33, 0xa
898for d = 0x1, 0x33, 0xa
@@ -906,7 +906,7 @@ end
906print("\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}")
906print("\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}")
907local 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}"
907local 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}"
908local f = assert(load(string.dump(load(prog),true)))
908local f = assert(load(string.dump(load(prog),true)))
909−assert(f() == 0xd)
909+assert((f() == 0xd))
910do
910do
911local function foo
911local function foo
912()
912()
@@ -917,31 +917,31 @@ end
917local s = load(string.dump(foo,true))
917local s = load(string.dump(foo,true))
918local line = true
918local line = true
919debug.sethook(function (e,l)
919debug.sethook(function (e,l)
920−assert(e == "\u{6c}\u{69}\u{6e}\u{65}")
920+assert((e == "\u{6c}\u{69}\u{6e}\u{65}"))
921line=l
921line=l
922end,"\u{6c}")
922end,"\u{6c}")
923−assert(s() == 0x2)
923+assert((s() == 0x2))
924;
924;
925debug.sethook(nil)
925debug.sethook(nil)
926−assert(line == nil)
926+assert((line == nil))
927end
927end
928do
928do
929local 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}"
929local 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}"
930local name = string.rep("\u{78}",0x3e8)
930local name = string.rep("\u{78}",0x3e8)
931local p = assert(load(prog,name))
931local p = assert(load(prog,name))
932local c = string.dump(p)
932local c = string.dump(p)
933−assert(# c > 0x3e8 and # c < 0x7d0)
933+assert((# ((c > 0x3e8) and (# (c < 0x7d0)))))
934local f = assert(load(c))
934local f = assert(load(c))
935local g = f()
935local g = f()
936local h = g(0x3)
936local h = g(0x3)
937−assert(h(0x5) == 0x8)
937+assert((h(0x5) == 0x8))
938−assert(debug.getinfo(f).source == name and debug.getinfo(g).source == name and debug.getinfo(h).source == name)
938+assert((((debug.getinfo(f).source == name) and (debug.getinfo(g).source == name)) and (debug.getinfo(h).source == name)))
939local c = string.dump(p,true)
939local c = string.dump(p,true)
940−assert(# c < 0x1f4)
940+assert((# (c < 0x1f4)))
941local f = assert(load(c))
941local f = assert(load(c))
942local g = f()
942local g = f()
943local h = g(0x1e)
943local h = g(0x1e)
944−assert(h(0x32) == 0x50)
944+assert((h(0x32) == 0x50))
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}")
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}")))
946end
946end
947print("\u{4f}\u{4b}")
947print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/errors.lua → desk/res/lua/cycled/errors.luarenamed+88−88
@@ -1,21 +1,21 @@
1print("\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}")
1print("\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}")
2local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
2local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3−local mt = getmetatable(_G) or {}
3+local mt = (getmetatable(_G) or {})
4local oldmm = mt.__index
4local oldmm = mt.__index
5mt.__index=nil
5mt.__index=nil
6local function checkerr
6local function checkerr
7(msg,f, ...)
7(msg,f, ...)
8local st,err = pcall(f,...)
8local st,err = pcall(f,...)
9−assert(not st and string.find(err,msg))
9+assert((not (st and string.find(err,msg))))
10end
10end
11local function doit
11local function doit
12(s)
12(s)
13local f,msg = load(s)
13local f,msg = load(s)
14−if not f then
14+if (not f) then
15return msg
15return msg
16end
16end
17local cond,msg = pcall(f)
17local cond,msg = pcall(f)
18−return (not cond) and msg
18+return ((not cond) and msg)
19end
19end
20local function checkmessage
20local function checkmessage
21(prog,msg,debug)
21(prog,msg,debug)
@@ -28,19 +28,19 @@ end
28local function checksyntax
28local function checksyntax
29(prog,extra,token,line)
29(prog,extra,token,line)
30local msg = doit(prog)
30local msg = doit(prog)
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
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}"
32+token=("\u{27}" .. (token .. "\u{27}"))
33end
33end
34token=string.gsub(token,"\u{28}\u{25}\u{70}\u{29}","\u{25}\u{25}\u{25}\u{31}")
34token=string.gsub(token,"\u{28}\u{25}\u{70}\u{29}","\u{25}\u{25}\u{25}\u{31}")
35local 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)
35local 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)
36assert(string.find(msg,pt))
36assert(string.find(msg,pt))
37assert(string.find(msg,msg,0x1,true))
37assert(string.find(msg,msg,0x1,true))
38end
38end
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}")
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)
40+assert((doit("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{29}") == nil))
41assert(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}"))
41assert(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}"))
42assert(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}"))
42assert(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}"))
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}"))))
44assert(doit("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{28}\u{29}"))
44assert(doit("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{28}\u{29}"))
45assert(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}"))
45assert(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}"))
46assert(doit("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{3b}\u{3b}"))
46assert(doit("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{3b}\u{3b}"))
@@ -54,13 +54,13 @@ do
54local function checksyntax
54local function checksyntax
55(prog,msg,line)
55(prog,msg,line)
56local st,err = load(prog)
56local st,err = load(prog)
57−assert(string.find(err,"\u{6c}\u{69}\u{6e}\u{65}\u{20}" .. line))
57+assert(string.find(err,("\u{6c}\u{69}\u{6e}\u{65}\u{20}" .. line)))
58assert(string.find(err,msg,0x1,true))
58assert(string.find(err,msg,0x1,true))
59end
59end
60checksyntax("\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}",0x1)
60checksyntax("\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}",0x1)
61checksyntax("\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}",0x2)
61checksyntax("\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}",0x2)
62end
62end
63−if not T then
63+if (not T) then
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}")
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}")
65else
65else
66print("\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}")
66print("\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}")
@@ -70,7 +70,7 @@ do
70a[i]=true
70a[i]=true
71end
71end
72collectgarbage()
72collectgarbage()
73−T.totalmem(T.totalmem() + 0x2710)
73+T.totalmem((T.totalmem() + 0x2710))
74local st,msg = pcall(function ()
74local st,msg = pcall(function ()
75for i = 0x1, 0x186a0
75for i = 0x1, 0x186a0
76do
76do
@@ -78,7 +78,7 @@ a[i]=tostring(i)
78end
78end
79end)
79end)
80T.totalmem(0x0)
80T.totalmem(0x0)
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}")
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}")))))
82local 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}")
82local 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}")
83assert(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}"))
83assert(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}"))
84end
84end
@@ -89,7 +89,7 @@ checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{20}\u{3c}\u{3d}\u{20}\u{31}
89checkmessage("\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}")
89checkmessage("\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}")
90checkmessage("\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}")
90checkmessage("\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}")
91checkmessage("\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}")
91checkmessage("\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}"))
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}")))
93checkmessage("\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}")
93checkmessage("\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}")
94checkmessage("\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}")
94checkmessage("\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}")
95checkmessage("\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}")
95checkmessage("\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}")
@@ -106,7 +106,7 @@ checkmessage("\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}
106checkmessage("\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}")
106checkmessage("\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}")
107checkmessage("\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}")
107checkmessage("\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}")
108checkmessage("\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}")
108checkmessage("\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}"))
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}")))
110checkmessage("\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}")
110checkmessage("\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}")
111checkmessage("\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}")
111checkmessage("\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}")
112checkmessage("\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}")
112checkmessage("\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}")
@@ -118,8 +118,8 @@ checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{31}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}
118checkmessage("\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}")
118checkmessage("\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}")
119checkmessage("\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}")
119checkmessage("\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}")
120checkmessage("\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}")
120checkmessage("\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}"))
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}"))
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}")))
123checkmessage("\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}")
123checkmessage("\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}")
124checkmessage("\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}")
124checkmessage("\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}")
125checkmessage("\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}")
125checkmessage("\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}")
@@ -166,32 +166,32 @@ checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{3c}
166_G.XX=nil
166_G.XX=nil
167if T then
167if T then
168local x = setmetatable({},{["\u{5f}\u{5f}\u{6e}\u{61}\u{6d}\u{65}"] = "\u{54}\u{41}\u{42}\u{4c}\u{45}"})
168local 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))
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)))
170local 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)
170local 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)
171−assert(a == 0xa and b == tostring(x))
171+assert(((a == 0xa) and (b == tostring(x))))
172setmetatable(x,{["\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = function (o)
172setmetatable(x,{["\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = function (o)
173−assert(o == x)
173+assert((o == x))
174return "\u{41}\u{42}\u{43}"
174return "\u{41}\u{42}\u{43}"
175end})
175end})
176local 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)
176local 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 == 0xa and c == "\u{41}\u{42}\u{43}")
177+assert((((a == x) and (b == 0xa)) and (c == "\u{41}\u{42}\u{43}")))
178end
178end
179end
179end
180checkmessage("\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}")
180checkmessage("\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}")
181checkmessage("\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}")
181checkmessage("\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}")
182do
182do
183local f = function (a)
183local f = function (a)
184−return a + 0x1
184+return (a + 0x1)
185end
185end
186f=assert(load(string.dump(f,true)))
186f=assert(load(string.dump(f,true)))
187−assert(f(0x3) == 0x4)
187+assert((f(0x3) == 0x4))
188checkerr("\u{5e}\u{25}\u{3f}\u{3a}\u{25}\u{2d}\u{31}\u{3a}",f,{})
188checkerr("\u{5e}\u{25}\u{3f}\u{3a}\u{25}\u{2d}\u{31}\u{3a}",f,{})
189f=function ()
189f=function ()
190local a
190local a
191;
191;
192a={}
192a={}
193;
193;
194−return a + 0x2
194+return (a + 0x2)
195end
195end
196f=assert(load(string.dump(f,true)))
196f=assert(load(string.dump(f,true)))
197checkerr("\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)
197checkerr("\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)
@@ -199,14 +199,14 @@ end
199local t = {}
199local t = {}
200for i = 0x1, 0x3e8
200for i = 0x1, 0x3e8
201do
201do
202−t[i]="\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{78}" .. i
202+t[i]=("\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{78}" .. i)
203end
203end
204local s = table.concat(t,"\u{3b}\u{20}")
204local s = table.concat(t,"\u{3b}\u{20}")
205t=nil
205t=nil
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}")
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}")
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}")
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}")
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}")
210checkmessage("\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}")
210checkmessage("\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}")
211checkmessage("\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}")
211checkmessage("\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}")
212checkmessage("\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}")
212checkmessage("\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}")
@@ -239,24 +239,24 @@ f=coroutine.wrap(function ()
239table.sort({0x1,0x2,0x3},coroutine.yield)
239table.sort({0x1,0x2,0x3},coroutine.yield)
240end)
240end)
241checkerr("\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)
241checkerr("\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)
242−local idsize = 0x3c - 0x1
242+local idsize = (0x3c - 0x1)
243local function checksize
243local function checksize
244(source)
244(source)
245local _,msg = load("\u{78}",source)
245local _,msg = load("\u{78}",source)
246msg=string.match(msg,"\u{5e}\u{28}\u{5b}\u{5e}\u{3a}\u{5d}\u{2a}\u{29}\u{3a}")
246msg=string.match(msg,"\u{5e}\u{28}\u{5b}\u{5e}\u{3a}\u{5d}\u{2a}\u{29}\u{3a}")
247−assert(msg:len() <= idsize)
247+assert((msg:len() <= idsize))
248end
248end
249−for i = 0x3c - 0xa, 0x3c + 0xa
249+for i = (0x3c - 0xa), (0x3c + 0xa)
250do
250do
251−checksize("\u{40}" .. string.rep("\u{78}",i))
251+checksize(("\u{40}" .. string.rep("\u{78}",i)))
252−checksize(string.rep("\u{78}",i - 0xa))
252+checksize(string.rep("\u{78}",(i - 0xa)))
253−checksize("\u{3d}" .. string.rep("\u{78}",i))
253+checksize(("\u{3d}" .. string.rep("\u{78}",i)))
254end
254end
255local function lineerror
255local function lineerror
256(s,l)
256(s,l)
257local err,msg = pcall(load(s))
257local err,msg = pcall(load(s))
258local line = tonumber(string.match(msg,"\u{3a}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{3a}"))
258local line = tonumber(string.match(msg,"\u{3a}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{3a}"))
259−assert(line == l or (not line and not l))
259+assert(((line == l) or (not (line and (not l)))))
260end
260end
261lineerror("\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}",0x2)
261lineerror("\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}",0x2)
262lineerror("\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}",0x3)
262lineerror("\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}",0x3)
@@ -272,16 +272,16 @@ lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{
272local 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}"
272local 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}"
273XX=0x3
273XX=0x3
274;
274;
275−lineerror((p),0x3)
275+lineerror(p,0x3)
276XX=0x0
276XX=0x0
277;
277;
278−lineerror((p),false)
278+lineerror(p,false)
279XX=0x1
279XX=0x1
280;
280;
281−lineerror((p),0x2)
281+lineerror(p,0x2)
282XX=0x2
282XX=0x2
283;
283;
284−lineerror((p),0x1)
284+lineerror(p,0x1)
285_G.XX,_G.g,_G.f=nil
285_G.XX,_G.g,_G.f=nil
286lineerror("\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}",0x3)
286lineerror("\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}",0x3)
287lineerror("\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}",0x5)
287lineerror("\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}",0x5)
@@ -290,14 +290,14 @@ do
290local 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}",0x12c))
290local 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}",0x12c))
291lineerror(s,0x12d)
291lineerror(s,0x12d)
292end
292end
293−if not _soft then
293+if (not _soft) then
294collectgarbage()
294collectgarbage()
295print("\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}")
295print("\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}")
296local C = 0x0
296local C = 0x0
297−local l = debug.getinfo(0x1,"\u{6c}").currentline + 0x1
297+local l = (debug.getinfo(0x1,"\u{6c}").currentline + 0x1)
298local function auxy
298local function auxy
299()
299()
300−C=C + 0x1
300+C=(C + 0x1)
301;
301;
302auxy()
302auxy()
303end
303end
@@ -308,9 +308,9 @@ collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
308end
308end
309local function checkstackmessage
309local function checkstackmessage
310(m)
310(m)
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}")
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}")))
312C=0x0
312C=0x0
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}"))
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}")
314end
314end
315assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
315assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
316assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
316assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
@@ -319,7 +319,7 @@ _G.YY=nil
319local l1
319local l1
320local function g
320local function g
321(x)
321(x)
322−l1=debug.getinfo(x,"\u{6c}").currentline + 0x2
322+l1=(debug.getinfo(x,"\u{6c}").currentline + 0x2)
323collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
323collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
324auxy()
324auxy()
325collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
325collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
@@ -335,21 +335,21 @@ table.insert(stack,tonumber(curr))
335end
335end
336end
336end
337local i = 0x1
337local i = 0x1
338−while stack[i] ~= l1 do
338+while (stack[i] ~= l1) do
339−assert(stack[i] == l)
339+assert((stack[i] == l))
340−i=i + 0x1
340+i=(i + 0x1)
341end
341end
342−assert(i > 0xf)
342+assert((i > 0xf))
343local res,msg = xpcall(error,error)
343local res,msg = xpcall(error,error)
344−assert(not res and type(msg) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
344+assert((not (res and (type(msg) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))))
345print("\u{2b}")
345print("\u{2b}")
346local function f
346local function f
347(x)
347(x)
348−if x == 0x0 then
348+if (x == 0x0) then
349error("\u{61}\u{a}")
349error("\u{61}\u{a}")
350else
350else
351local aux = function ()
351local aux = function ()
352−return f(x - 0x1)
352+return f((x - 0x1))
353end
353end
354local a,b = xpcall(aux,aux)
354local a,b = xpcall(aux,aux)
355return a,b
355return a,b
@@ -358,15 +358,15 @@ end
358f(0x3)
358f(0x3)
359local function loop
359local function loop
360(x,y,z)
360(x,y,z)
361−return 0x1 + loop(x,y,z)
361+return (0x1 + loop(x,y,z))
362end
362end
363local res,msg = xpcall(loop,function (m)
363local res,msg = xpcall(loop,function (m)
364assert(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}"))
364assert(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}"))
365checkerr("\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)
365checkerr("\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)
366−assert(math.sin(0x0) == 0x0)
366+assert((math.sin(0x0) == 0x0))
367return 0xf
367return 0xf
368end)
368end)
369−assert(msg == 0xf)
369+assert((msg == 0xf))
370local f = function ()
370local f = function ()
371for i = 0xf41dc, 0xf4240, 0x1
371for i = 0xf41dc, 0xf4240, 0x1
372do
372do
@@ -380,39 +380,39 @@ local t = {}
380local res,msg = pcall(function ()
380local res,msg = pcall(function ()
381error(t)
381error(t)
382end)
382end)
383−assert(not res and msg == t)
383+assert((not (res and (msg == t))))
384res,msg=pcall(function ()
384res,msg=pcall(function ()
385error(nil)
385error(nil)
386end)
386end)
387−assert(not res and msg == nil)
387+assert((not (res and (msg == nil))))
388local function f
388local function f
389()
389()
390error({["\u{6d}\u{73}\u{67}"] = "\u{78}"})
390error({["\u{6d}\u{73}\u{67}"] = "\u{78}"})
391end
391end
392res,msg=xpcall(f,function (r)
392res,msg=xpcall(f,function (r)
393−return {["\u{6d}\u{73}\u{67}"] = r.msg .. "\u{79}"}
393+return {["\u{6d}\u{73}\u{67}"] = (r.msg .. "\u{79}")}
394end)
394end)
395−assert(msg.msg == "\u{78}\u{79}")
395+assert((msg.msg == "\u{78}\u{79}"))
396res,msg=pcall(assert,false,"\u{58}",t)
396res,msg=pcall(assert,false,"\u{58}",t)
397−assert(not res and msg == "\u{58}")
397+assert((not (res and (msg == "\u{58}"))))
398res,msg=pcall(function ()
398res,msg=pcall(function ()
399assert(false)
399assert(false)
400end)
400end)
401local 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}")
401local 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(0x1,"\u{6c}").currentline - 0x2)
402+assert((tonumber(line) == (debug.getinfo(0x1,"\u{6c}").currentline - 0x2)))
403res,msg=pcall(assert,false,t)
403res,msg=pcall(assert,false,t)
404−assert(not res and msg == t)
404+assert((not (res and (msg == t))))
405res,msg=pcall(assert,nil,nil)
405res,msg=pcall(assert,nil,nil)
406−assert(not res and msg == nil)
406+assert((not (res and (msg == nil))))
407res,msg=pcall(assert)
407res,msg=pcall(assert)
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}"))
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}"))))
409end
409end
410local a,b,c = xpcall(string.find,error,"\u{61}\u{6c}\u{6f}","\u{61}\u{6c}")
410local a,b,c = xpcall(string.find,error,"\u{61}\u{6c}\u{6f}","\u{61}\u{6c}")
411−assert(a and b == 0x1 and c == 0x2)
411+assert(((a and (b == 0x1)) and (c == 0x2)))
412a,b,c=xpcall(string.find,function (x)
412a,b,c=xpcall(string.find,function (x)
413return {}
413return {}
414end,true,"\u{61}\u{6c}")
414end,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)
415+assert((not ((a and (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")) and (c == nil))))
416print("\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}")
416print("\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}")
417checksyntax("\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}",0x1)
417checksyntax("\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}",0x1)
418checksyntax("\u{31}\u{2e}\u{30}\u{30}\u{30}","","\u{31}\u{2e}\u{30}\u{30}\u{30}",0x1)
418checksyntax("\u{31}\u{2e}\u{30}\u{30}\u{30}","","\u{31}\u{2e}\u{30}\u{30}\u{30}",0x1)
@@ -423,7 +423,7 @@ checksyntax("\u{66}\u{6f}\u{72}\u{20}\u{3e}\u{3e}\u{20}\u{64}\u{6f}\u{20}\u{65}\
423checksyntax("\u{61}\u{1}\u{61}\u{20}\u{3d}\u{20}\u{31}","","\u{3c}\u{5c}\u{31}\u{3e}",0x1)
423checksyntax("\u{61}\u{1}\u{61}\u{20}\u{3d}\u{20}\u{31}","","\u{3c}\u{5c}\u{31}\u{3e}",0x1)
424checksyntax("\u{ff}\u{61}\u{20}\u{3d}\u{20}\u{31}","","\u{3c}\u{5c}\u{32}\u{35}\u{35}\u{3e}",0x1)
424checksyntax("\u{ff}\u{61}\u{20}\u{3d}\u{20}\u{31}","","\u{3c}\u{5c}\u{32}\u{35}\u{35}\u{3e}",0x1)
425doit("\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}")
425doit("\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}")
426−assert(_G.aaa == 0x3 and not _G.I)
426+assert(((_G.aaa == 0x3) and (not _G.I)))
427_G.I,_G.aaa=nil
427_G.I,_G.aaa=nil
428print("\u{2b}")
428print("\u{2b}")
429local lim = 0x3e8
429local lim = 0x3e8
@@ -437,15 +437,15 @@ doit("\u{61}\u{20}\u{3d}\u{20}\u{34}\u{2b}\u{6e}\u{69}\u{6c}")
437end
437end
438local function testrep
438local function testrep
439(init,rep,close,repc,finalresult)
439(init,rep,close,repc,finalresult)
440−local s = init .. string.rep(rep,0x64) .. close .. string.rep(repc,0x64)
440+local s = (init .. (string.rep(rep,0x64) .. (close .. string.rep(repc,0x64))))
441local res,msg = load(s)
441local res,msg = load(s)
442assert(res)
442assert(res)
443−if (finalresult) then
443+if finalresult then
444−assert(res() == finalresult)
444+assert((res() == finalresult))
445end
445end
446−s=init .. string.rep(rep,0x1f4)
446+s=(init .. string.rep(rep,0x1f4))
447local res,msg = load(s)
447local res,msg = load(s)
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}")))
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}")))))
449end
449end
450testrep("\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}")
450testrep("\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}")
451testrep("\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}")
451testrep("\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}")
@@ -457,37 +457,37 @@ testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3b}\u{20}","\u{69}\u{66}\u
457testrep("","\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}")
457testrep("","\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}")
458testrep("\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}")
458testrep("\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}")
459testrep("\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}","",0x1)
459testrep("\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}","",0x1)
460−checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{66}\u{28}\u{78}" .. string.rep("\u{2c}\u{78}",0x104) .. "\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}")
460+checkmessage(("\u{61}\u{20}\u{3d}\u{20}\u{66}\u{28}\u{78}" .. (string.rep("\u{2c}\u{78}",0x104) .. "\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}")
461local lim = 0x7f
461local lim = 0x7f
462local 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}"
462local 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}"
463for j = 0x1, lim
463for j = 0x1, lim
464do
464do
465−s=s .. "\u{61}" .. j .. "\u{2c}\u{20}"
465+s=(s .. ("\u{61}" .. (j .. "\u{2c}\u{20}")))
466end
466end
467−s=s .. "\u{62}\u{2c}\u{63}\u{a}"
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}"
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}")
469for j = 0x1, lim
469for j = 0x1, lim
470do
470do
471−s=s .. "\u{62}" .. j .. "\u{2c}\u{20}"
471+s=(s .. ("\u{62}" .. (j .. "\u{2c}\u{20}")))
472end
472end
473−s=s .. "\u{62}\u{a}"
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}"
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}")
475−local c = 0x1 + 0x2
475+local c = (0x1 + 0x2)
476for j = 0x1, lim
476for j = 0x1, lim
477do
477do
478−s=s .. "\u{2b}\u{61}" .. j .. "\u{2b}\u{62}" .. j
478+s=(s .. ("\u{2b}\u{61}" .. (j .. ("\u{2b}\u{62}" .. j))))
479−c=c + 0x2
479+c=(c + 0x2)
480end
480end
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}"
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}")
482local a,b = load(s)
482local a,b = load(s)
483−assert(c > 0xff 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}"))
483+assert((((c > 0xff) 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}")))
484s="\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}"
484s="\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}"
485for j = 0x1, 0x12c
485for j = 0x1, 0x12c
486do
486do
487−s=s .. "\u{61}" .. j .. "\u{2c}\u{20}"
487+s=(s .. ("\u{61}" .. (j .. "\u{2c}\u{20}")))
488end
488end
489−s=s .. "\u{62}\u{a}"
489+s=(s .. "\u{62}\u{a}")
490local a,b = load(s)
490local a,b = load(s)
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}"))
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}")))
492mt.__index=oldmm
492mt.__index=oldmm
493print("\u{4f}\u{4b}")
493print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/events.lua → desk/res/lua/cycled/events.luarenamed+179−179
@@ -5,43 +5,43 @@ X=0x14
5B=0x1e
5B=0x1e
6_ENV=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = _G})
6_ENV=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = _G})
7collectgarbage()
7collectgarbage()
8−X=X + 0xa
8+X=(X + 0xa)
9−assert(X == 0x1e and _G.X == 0x14)
9+assert(((X == 0x1e) and (_G.X == 0x14)))
10B=false
10B=false
11−assert(B == false)
11+assert((B == false))
12_ENV["\u{42}"]=undef
12_ENV["\u{42}"]=undef
13−assert(B == 0x1e)
13+assert((B == 0x1e))
14−assert(getmetatable({}) == nil)
14+assert((getmetatable({}) == nil))
15−assert(getmetatable(0x4) == nil)
15+assert((getmetatable(0x4) == nil))
16−assert(getmetatable(nil) == nil)
16+assert((getmetatable(nil) == nil))
17a={["\u{6e}\u{61}\u{6d}\u{65}"] = "\u{4e}\u{41}\u{4d}\u{45}"}
17a={["\u{6e}\u{61}\u{6d}\u{65}"] = "\u{4e}\u{41}\u{4d}\u{45}"}
18;
18;
19setmetatable(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)
19setmetatable(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)
20return x.name
20return x.name
21end})
21end})
22−assert(getmetatable(a) == "\u{78}\u{75}\u{78}\u{75}")
22+assert((getmetatable(a) == "\u{78}\u{75}\u{78}\u{75}"))
23−assert(tostring(a) == "\u{4e}\u{41}\u{4d}\u{45}")
23+assert((tostring(a) == "\u{4e}\u{41}\u{4d}\u{45}"))
24−assert(pcall(setmetatable,a,{}) == false)
24+assert((pcall(setmetatable,a,{}) == false))
25a.name="\u{67}\u{6f}\u{72}\u{6f}\u{72}\u{6f}\u{62}\u{61}"
25a.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}")
26+assert((tostring(a) == "\u{67}\u{6f}\u{72}\u{6f}\u{72}\u{6f}\u{62}\u{61}"))
27local a,t = {0xa,0x14,0x1e,["\u{78}"] = "\u{31}\u{30}",["\u{79}"] = "\u{32}\u{30}"},{}
27local a,t = {0xa,0x14,0x1e,["\u{78}"] = "\u{31}\u{30}",["\u{79}"] = "\u{32}\u{30}"},{}
28−assert(setmetatable(a,t) == a)
28+assert((setmetatable(a,t) == a))
29−assert(getmetatable(a) == t)
29+assert((getmetatable(a) == t))
30−assert(setmetatable(a,nil) == a)
30+assert((setmetatable(a,nil) == a))
31−assert(getmetatable(a) == nil)
31+assert((getmetatable(a) == nil))
32−assert(setmetatable(a,t) == a)
32+assert((setmetatable(a,t) == a))
33function f(t,i,e)
33function f(t,i,e)
34−assert(not e)
34+assert((not e))
35local p = rawget(t,"\u{70}\u{61}\u{72}\u{65}\u{6e}\u{74}")
35local p = rawget(t,"\u{70}\u{61}\u{72}\u{65}\u{6e}\u{74}")
36−return (p and p[i] + 0x3),"\u{64}\u{75}\u{6d}\u{6d}\u{79}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"
36+return (p and (p[i] + 0x3)),"\u{64}\u{75}\u{6d}\u{6d}\u{79}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"
37end
37end
38t.__index=f
38t.__index=f
39a.parent={["\u{7a}"] = 0x19,["\u{78}"] = 0xc,[0x4] = 0x18}
39a.parent={["\u{7a}"] = 0x19,["\u{78}"] = 0xc,[0x4] = 0x18}
40−assert(a[0x1] == 0xa and a.z == 0x1c and a[0x4] == 0x1b and a.x == "\u{31}\u{30}")
40+assert(((((a[0x1] == 0xa) and (a.z == 0x1c)) and (a[0x4] == 0x1b)) and (a.x == "\u{31}\u{30}")))
41collectgarbage()
41collectgarbage()
42a=setmetatable({},t)
42a=setmetatable({},t)
43function f(t,i,v)
43function f(t,i,v)
44−rawset(t,i,v - 0x3)
44+rawset(t,i,(v - 0x3))
45end
45end
46setmetatable(t,t)
46setmetatable(t,t)
47t.__newindex=f
47t.__newindex=f
@@ -50,13 +50,13 @@ a[0x1]=0x1e
50a.x="\u{31}\u{30}\u{31}"
50a.x="\u{31}\u{30}\u{31}"
51;
51;
52a[0x5]=0xc8
52a[0x5]=0xc8
53−assert(a[0x1] == 0x1b and a.x == 0x62 and a[0x5] == 0xc5)
53+assert((((a[0x1] == 0x1b) and (a.x == 0x62)) and (a[0x5] == 0xc5)))
54do
54do
55local mt = {}
55local mt = {}
56mt.__newindex=mt
56mt.__newindex=mt
57local t = setmetatable({},mt)
57local t = setmetatable({},mt)
58t[0x1]=0xa
58t[0x1]=0xa
59−assert(mt[0x1] == 0xa)
59+assert((mt[0x1] == 0xa))
60end
60end
61local c = {}
61local c = {}
62a=setmetatable({},t)
62a=setmetatable({},t)
@@ -70,24 +70,24 @@ a[0x3]=0x5a
70;
70;
71for i = 0x4, 0x14
71for i = 0x4, 0x14
72do
72do
73−a[i]=i * 0xa
73+a[i]=(i * 0xa)
74end
74end
75−assert(a[0x1] == 0xa and a[0x2] == 0x14 and a[0x3] == 0x5a)
75+assert((((a[0x1] == 0xa) and (a[0x2] == 0x14)) and (a[0x3] == 0x5a)))
76for i = 0x4, 0x14
76for i = 0x4, 0x14
77do
77do
78−assert(a[i] == i * 0xa)
78+assert((a[i] == (i * 0xa)))
79end
79end
80−assert(next(a) == nil)
80+assert((next(a) == nil))
81do
81do
82local a
82local a
83;
83;
84a=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)
84a=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 - 0x3] + 0x4,"\u{6c}\u{69}\u{78}\u{6f}"
85+return (a[(n - 0x3)] + 0x4),"\u{6c}\u{69}\u{78}\u{6f}"
86end})})})
86end})})})
87a[0x0]=0x14
87a[0x0]=0x14
88for i = 0x0, 0xa
88for i = 0x0, 0xa
89do
89do
90−assert(a[i * 0x3] == 0x14 + i * 0x4)
90+assert((a[(i * 0x3)] == (0x14 + (i * 0x4))))
91end
91end
92end
92end
93do
93do
@@ -97,7 +97,7 @@ for i = 0x1, 0xa
97do
97do
98a[i]=0x0
98a[i]=0x0
99;
99;
100−a["\u{61}" .. i]=0x0
100+a[("\u{61}" .. i)]=0x0
101;
101;
102end
102end
103setmetatable(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)
103setmetatable(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)
@@ -109,12 +109,12 @@ foi=false
109;
109;
110a[0x1]=0x0
110a[0x1]=0x0
111;
111;
112−assert(not foi)
112+assert((not foi))
113foi=false
113foi=false
114;
114;
115a["\u{61}\u{31}"]=0x0
115a["\u{61}\u{31}"]=0x0
116;
116;
117−assert(not foi)
117+assert((not foi))
118foi=false
118foi=false
119;
119;
120a["\u{61}\u{31}\u{31}"]=0x0
120a["\u{61}\u{31}\u{31}"]=0x0
@@ -129,7 +129,7 @@ foi=false
129;
129;
130a[0x1]=undef
130a[0x1]=undef
131;
131;
132−assert(not foi)
132+assert((not foi))
133a[0x1]=undef
133a[0x1]=undef
134foi=false
134foi=false
135;
135;
@@ -144,9 +144,9 @@ end
144t.__call=f
144t.__call=f
145do
145do
146local x,y = a(table.unpack({"\u{61}",0x1}))
146local x,y = a(table.unpack({"\u{61}",0x1}))
147−assert(x == a and y[0x1] == "\u{61}" and y[0x2] == 0x1 and y[0x3] == undef)
147+assert(((((x == a) and (y[0x1] == "\u{61}")) and (y[0x2] == 0x1)) and (y[0x3] == undef)))
148x,y=a()
148x,y=a()
149−assert(x == a and y[0x1] == undef)
149+assert(((x == a) and (y[0x1] == undef)))
150end
150end
151local b = setmetatable({},t)
151local b = setmetatable({},t)
152setmetatable(b,t)
152setmetatable(b,t)
@@ -154,7 +154,7 @@ function f(op)
154return function (...)
154return function (...)
155cap={[0x0] = op,...}
155cap={[0x0] = op,...}
156;
156;
157−return (...)
157+return ...
158end
158end
159end
159end
160t.__add=f("\u{61}\u{64}\u{64}")
160t.__add=f("\u{61}\u{64}\u{64}")
@@ -176,185 +176,185 @@ t.__lt=f("\u{6c}\u{74}")
176t.__le=f("\u{6c}\u{65}")
176t.__le=f("\u{6c}\u{65}")
177local function checkcap
177local function checkcap
178(t)
178(t)
179−assert(# cap + 0x1 == # t)
179+assert((# ((cap + 0x1) == (# t))))
180−for i = 0x1, # t
180+for i = 0x1, (# t)
181do
181do
182−assert(cap[i - 0x1] == t[i])
182+assert((cap[(i - 0x1)] == t[i]))
183−assert(math.type(cap[i - 0x1]) == math.type(t[i]))
183+assert((math.type(cap[(i - 0x1)]) == math.type(t[i])))
184end
184end
185end
185end
186−assert(b + 0x5 == b)
186+assert(((b + 0x5) == b))
187;
187;
188checkcap({"\u{61}\u{64}\u{64}",b,0x5})
188checkcap({"\u{61}\u{64}\u{64}",b,0x5})
189−assert(5.2 + b == 5.2)
189+assert(((5.2 + b) == 5.2))
190;
190;
191checkcap({"\u{61}\u{64}\u{64}",5.2,b})
191checkcap({"\u{61}\u{64}\u{64}",5.2,b})
192−assert(b + "\u{35}" == b)
192+assert(((b + "\u{35}") == b))
193;
193;
194checkcap({"\u{61}\u{64}\u{64}",b,"\u{35}"})
194checkcap({"\u{61}\u{64}\u{64}",b,"\u{35}"})
195−assert(0x5 + b == 0x5)
195+assert(((0x5 + b) == 0x5))
196;
196;
197checkcap({"\u{61}\u{64}\u{64}",0x5,b})
197checkcap({"\u{61}\u{64}\u{64}",0x5,b})
198−assert("\u{35}" + b == "\u{35}")
198+assert((("\u{35}" + b) == "\u{35}"))
199;
199;
200checkcap({"\u{61}\u{64}\u{64}","\u{35}",b})
200checkcap({"\u{61}\u{64}\u{64}","\u{35}",b})
201−b=b - 0x3
201+b=(b - 0x3)
202;
202;
203−assert(getmetatable(b) == t)
203+assert((getmetatable(b) == t))
204;
204;
205checkcap({"\u{73}\u{75}\u{62}",b,0x3})
205checkcap({"\u{73}\u{75}\u{62}",b,0x3})
206−assert(0x5 - a == 0x5)
206+assert(((0x5 - a) == 0x5))
207;
207;
208checkcap({"\u{73}\u{75}\u{62}",0x5,a})
208checkcap({"\u{73}\u{75}\u{62}",0x5,a})
209−assert("\u{35}" - a == "\u{35}")
209+assert((("\u{35}" - a) == "\u{35}"))
210;
210;
211checkcap({"\u{73}\u{75}\u{62}","\u{35}",a})
211checkcap({"\u{73}\u{75}\u{62}","\u{35}",a})
212−assert(a * a == a)
212+assert(((a * a) == a))
213;
213;
214checkcap({"\u{6d}\u{75}\u{6c}",a,a})
214checkcap({"\u{6d}\u{75}\u{6c}",a,a})
215−assert(a / 0x0 == a)
215+assert(((a / 0x0) == a))
216;
216;
217checkcap({"\u{64}\u{69}\u{76}",a,0x0})
217checkcap({"\u{64}\u{69}\u{76}",a,0x0})
218−assert(a / 0.0 == a)
218+assert(((a / 0.0) == a))
219;
219;
220checkcap({"\u{64}\u{69}\u{76}",a,0.0})
220checkcap({"\u{64}\u{69}\u{76}",a,0.0})
221−assert(a % 0x2 == a)
221+assert(((a % 0x2) == a))
222;
222;
223checkcap({"\u{6d}\u{6f}\u{64}",a,0x2})
223checkcap({"\u{6d}\u{6f}\u{64}",a,0x2})
224−assert(a // (0x1 / 0x0) == a)
224+assert(((a // (0x1 / 0x0)) == a))
225;
225;
226−checkcap({"\u{69}\u{64}\u{69}\u{76}",a,0x1 / 0x0})
226+checkcap({"\u{69}\u{64}\u{69}\u{76}",a,(0x1 / 0x0)})
227;
227;
228(function ()
228(function ()
229−assert(a & "\u{68}\u{69}" == a)
229+assert(((a & "\u{68}\u{69}") == a))
230end)()
230end)()
231;
231;
232checkcap({"\u{62}\u{61}\u{6e}\u{64}",a,"\u{68}\u{69}"})
232checkcap({"\u{62}\u{61}\u{6e}\u{64}",a,"\u{68}\u{69}"})
233;
233;
234(function ()
234(function ()
235−assert(0xa & a == 0xa)
235+assert(((0xa & a) == 0xa))
236end)()
236end)()
237;
237;
238checkcap({"\u{62}\u{61}\u{6e}\u{64}",0xa,a})
238checkcap({"\u{62}\u{61}\u{6e}\u{64}",0xa,a})
239;
239;
240(function ()
240(function ()
241−assert(a | 0xa == a)
241+assert(((a | 0xa) == a))
242end)()
242end)()
243;
243;
244checkcap({"\u{62}\u{6f}\u{72}",a,0xa})
244checkcap({"\u{62}\u{6f}\u{72}",a,0xa})
245−assert(a | "\u{68}\u{69}" == a)
245+assert(((a | "\u{68}\u{69}") == a))
246;
246;
247checkcap({"\u{62}\u{6f}\u{72}",a,"\u{68}\u{69}"})
247checkcap({"\u{62}\u{6f}\u{72}",a,"\u{68}\u{69}"})
248−assert("\u{68}\u{69}" ~ a == "\u{68}\u{69}")
248+assert((("\u{68}\u{69}" ~ a) == "\u{68}\u{69}"))
249;
249;
250checkcap({"\u{62}\u{78}\u{6f}\u{72}","\u{68}\u{69}",a})
250checkcap({"\u{62}\u{78}\u{6f}\u{72}","\u{68}\u{69}",a})
251;
251;
252(function ()
252(function ()
253−assert(0xa ~ a == 0xa)
253+assert(((0xa ~ a) == 0xa))
254end)()
254end)()
255;
255;
256checkcap({"\u{62}\u{78}\u{6f}\u{72}",0xa,a})
256checkcap({"\u{62}\u{78}\u{6f}\u{72}",0xa,a})
257−assert(- a == a)
257+assert((- (a == a)))
258;
258;
259checkcap({"\u{75}\u{6e}\u{6d}",a,a})
259checkcap({"\u{75}\u{6e}\u{6d}",a,a})
260−assert(a ^ 4.0 == a)
260+assert(((a ^ 4.0) == a))
261;
261;
262checkcap({"\u{70}\u{6f}\u{77}",a,4.0})
262checkcap({"\u{70}\u{6f}\u{77}",a,4.0})
263−assert(a ^ "\u{34}" == a)
263+assert(((a ^ "\u{34}") == a))
264;
264;
265checkcap({"\u{70}\u{6f}\u{77}",a,"\u{34}"})
265checkcap({"\u{70}\u{6f}\u{77}",a,"\u{34}"})
266−assert(0x4 ^ a == 0x4)
266+assert(((0x4 ^ a) == 0x4))
267;
267;
268checkcap({"\u{70}\u{6f}\u{77}",0x4,a})
268checkcap({"\u{70}\u{6f}\u{77}",0x4,a})
269−assert("\u{34}" ^ a == "\u{34}")
269+assert((("\u{34}" ^ a) == "\u{34}"))
270;
270;
271checkcap({"\u{70}\u{6f}\u{77}","\u{34}",a})
271checkcap({"\u{70}\u{6f}\u{77}","\u{34}",a})
272−assert(# a == a)
272+assert((# (a == a)))
273;
273;
274checkcap({"\u{6c}\u{65}\u{6e}",a,a})
274checkcap({"\u{6c}\u{65}\u{6e}",a,a})
275−assert(~ a == a)
275+assert((~ (a == a)))
276;
276;
277checkcap({"\u{62}\u{6e}\u{6f}\u{74}",a,a})
277checkcap({"\u{62}\u{6e}\u{6f}\u{74}",a,a})
278−assert(a << 0x3 == a)
278+assert(((a << 0x3) == a))
279;
279;
280checkcap({"\u{73}\u{68}\u{6c}",a,0x3})
280checkcap({"\u{73}\u{68}\u{6c}",a,0x3})
281−assert(1.5 >> a == 1.5)
281+assert(((1.5 >> a) == 1.5))
282;
282;
283checkcap({"\u{73}\u{68}\u{72}",1.5,a})
283checkcap({"\u{73}\u{68}\u{72}",1.5,a})
284−assert(5.0 > a)
284+assert((5.0 > a))
285;
285;
286checkcap({"\u{6c}\u{74}",a,5.0})
286checkcap({"\u{6c}\u{74}",a,5.0})
287−assert(a >= 0xa)
287+assert((a >= 0xa))
288;
288;
289checkcap({"\u{6c}\u{65}",0xa,a})
289checkcap({"\u{6c}\u{65}",0xa,a})
290−assert(a <= - 10.0)
290+assert((a <= (- 10.0)))
291;
291;
292−checkcap({"\u{6c}\u{65}",a,- 10.0})
292+checkcap({"\u{6c}\u{65}",a,(- 10.0)})
293−assert(a < - 0xa)
293+assert((a < (- 0xa)))
294;
294;
295−checkcap({"\u{6c}\u{74}",a,- 0xa})
295+checkcap({"\u{6c}\u{74}",a,(- 0xa)})
296t=setmetatable({0x1,0x2,0x3},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
296t=setmetatable({0x1,0x2,0x3},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
297return 0xa
297return 0xa
298end})
298end})
299−assert(# t == 0xa and rawlen(t) == 0x3)
299+assert((# ((t == 0xa) and (rawlen(t) == 0x3))))
300−assert(rawlen("\u{61}\u{62}\u{63}") == 0x3)
300+assert((rawlen("\u{61}\u{62}\u{63}") == 0x3))
301−assert(not pcall(rawlen,io.stdin))
301+assert((not pcall(rawlen,io.stdin)))
302−assert(not pcall(rawlen,0x22))
302+assert((not pcall(rawlen,0x22)))
303−assert(not pcall(rawlen))
303+assert((not pcall(rawlen)))
304−assert(rawlen(string.rep("\u{61}",0x3e8)) == 0x3e8)
304+assert((rawlen(string.rep("\u{61}",0x3e8)) == 0x3e8))
305t={}
305t={}
306t.__lt=function (a,b,c)
306t.__lt=function (a,b,c)
307collectgarbage()
307collectgarbage()
308−assert(c == nil)
308+assert((c == nil))
309−if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
309+if (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
310a=a.x
310a=a.x
311end
311end
312−if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
312+if (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
313b=b.x
313b=b.x
314end
314end
315−return a < b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
315+return (a < b),"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
316end
316end
317t.__le=function (a,b,c)
317t.__le=function (a,b,c)
318−assert(c == nil)
318+assert((c == nil))
319−if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
319+if (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
320a=a.x
320a=a.x
321end
321end
322−if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
322+if (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
323b=b.x
323b=b.x
324end
324end
325−return a <= b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
325+return (a <= b),"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
326end
326end
327t.__eq=function (a,b,c)
327t.__eq=function (a,b,c)
328−assert(c == nil)
328+assert((c == nil))
329−if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
329+if (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
330a=a.x
330a=a.x
331end
331end
332−if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
332+if (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
333b=b.x
333b=b.x
334end
334end
335−return a == b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
335+return (a == b),"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
336end
336end
337function Op(x)
337function Op(x)
338return setmetatable({["\u{78}"] = x},t)
338return setmetatable({["\u{78}"] = x},t)
339end
339end
340local function test
340local function test
341(a,b,c)
341(a,b,c)
342−assert(not (Op(0x1) < Op(0x1)) and (Op(0x1) < Op(0x2)) and not (Op(0x2) < Op(0x1)))
342+assert((not (((Op(0x1) < Op(0x1)) and (Op(0x1) < Op(0x2))) and (not (Op(0x2) < Op(0x1))))))
343−assert(not (0x1 < Op(0x1)) and (Op(0x1) < 0x2) and not (0x2 < Op(0x1)))
343+assert((not (((0x1 < Op(0x1)) and (Op(0x1) < 0x2)) and (not (0x2 < Op(0x1))))))
344−assert(not (Op("\u{61}") < Op("\u{61}")) and (Op("\u{61}") < Op("\u{62}")) and not (Op("\u{62}") < Op("\u{61}")))
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}")))
345+assert((not ((("\u{61}" < Op("\u{61}")) and (Op("\u{61}") < "\u{62}")) and (not (Op("\u{62}") < Op("\u{61}"))))))
346−assert((Op(0x1) <= Op(0x1)) and (Op(0x1) <= Op(0x2)) and not (Op(0x2) <= Op(0x1)))
346+assert((((Op(0x1) <= Op(0x1)) and (Op(0x1) <= Op(0x2))) and (not (Op(0x2) <= Op(0x1)))))
347−assert((Op("\u{61}") <= Op("\u{61}")) and (Op("\u{61}") <= Op("\u{62}")) and not (Op("\u{62}") <= Op("\u{61}")))
347+assert((((Op("\u{61}") <= Op("\u{61}")) and (Op("\u{61}") <= Op("\u{62}"))) and (not (Op("\u{62}") <= Op("\u{61}")))))
348−assert(not (Op(0x1) > Op(0x1)) and not (Op(0x1) > Op(0x2)) and (Op(0x2) > Op(0x1)))
348+assert((not ((Op(0x1) > Op(0x1)) and (not ((Op(0x1) > Op(0x2)) and (Op(0x2) > Op(0x1)))))))
349−assert(not (Op("\u{61}") > Op("\u{61}")) and not (Op("\u{61}") > Op("\u{62}")) and (Op("\u{62}") > Op("\u{61}")))
349+assert((not ((Op("\u{61}") > Op("\u{61}")) and (not ((Op("\u{61}") > Op("\u{62}")) and (Op("\u{62}") > Op("\u{61}")))))))
350−assert((Op(0x1) >= Op(0x1)) and not (Op(0x1) >= Op(0x2)) and (Op(0x2) >= Op(0x1)))
350+assert(((Op(0x1) >= Op(0x1)) and (not ((Op(0x1) >= Op(0x2)) and (Op(0x2) >= Op(0x1))))))
351−assert((0x1 >= Op(0x1)) and not (0x1 >= Op(0x2)) and (Op(0x2) >= 0x1))
351+assert(((0x1 >= Op(0x1)) and (not ((0x1 >= Op(0x2)) and (Op(0x2) >= 0x1)))))
352−assert((Op("\u{61}") >= Op("\u{61}")) and not (Op("\u{61}") >= Op("\u{62}")) and (Op("\u{62}") >= Op("\u{61}")))
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}")))
353+assert((("\u{61}" >= Op("\u{61}")) and (not ((Op("\u{61}") >= "\u{62}") and (Op("\u{62}") >= Op("\u{61}"))))))
354−assert(Op(0x1) == Op(0x1) and Op(0x1) ~= Op(0x2))
354+assert(((Op(0x1) == Op(0x1)) and (Op(0x1) ~= Op(0x2))))
355−assert(Op("\u{61}") == Op("\u{61}") and Op("\u{61}") ~= Op("\u{62}"))
355+assert(((Op("\u{61}") == Op("\u{61}")) and (Op("\u{61}") ~= Op("\u{62}"))))
356−assert(a == a and a ~= b)
356+assert(((a == a) and (a ~= b)))
357−assert(Op(0x3) == c)
357+assert((Op(0x3) == c))
358end
358end
359test(Op(0x1),Op(0x2),Op(0x3))
359test(Op(0x1),Op(0x2),Op(0x3))
360local function rawSet
360local function rawSet
@@ -373,66 +373,66 @@ end
373t.__lt=function (a,b)
373t.__lt=function (a,b)
374for k in pairs(a)
374for k in pairs(a)
375do
375do
376−if not b[k] then
376+if (not b[k]) then
377return false
377return false
378end
378end
379b[k]=undef
379b[k]=undef
380end
380end
381−return next(b) ~= nil
381+return (next(b) ~= nil)
382end
382end
383t.__le=function (a,b)
383t.__le=function (a,b)
384for k in pairs(a)
384for k in pairs(a)
385do
385do
386−if not b[k] then
386+if (not b[k]) then
387return false
387return false
388end
388end
389end
389end
390return true
390return true
391end
391end
392−assert(Set({0x1,0x2,0x3}) < Set({0x1,0x2,0x3,0x4}))
392+assert((Set({0x1,0x2,0x3}) < Set({0x1,0x2,0x3,0x4})))
393−assert(not (Set({0x1,0x2,0x3,0x4}) < Set({0x1,0x2,0x3,0x4})))
393+assert((not (Set({0x1,0x2,0x3,0x4}) < Set({0x1,0x2,0x3,0x4}))))
394assert((Set({0x1,0x2,0x3,0x4}) <= Set({0x1,0x2,0x3,0x4})))
394assert((Set({0x1,0x2,0x3,0x4}) <= Set({0x1,0x2,0x3,0x4})))
395assert((Set({0x1,0x2,0x3,0x4}) >= Set({0x1,0x2,0x3,0x4})))
395assert((Set({0x1,0x2,0x3,0x4}) >= Set({0x1,0x2,0x3,0x4})))
396−assert(not (Set({0x1,0x3}) <= Set({0x3,0x5})))
396+assert((not (Set({0x1,0x3}) <= Set({0x3,0x5}))))
397−assert(not (Set({0x1,0x3}) <= Set({0x3,0x5})))
397+assert((not (Set({0x1,0x3}) <= Set({0x3,0x5}))))
398−assert(not (Set({0x1,0x3}) >= Set({0x3,0x5})))
398+assert((not (Set({0x1,0x3}) >= Set({0x3,0x5}))))
399t.__eq=function (a,b)
399t.__eq=function (a,b)
400for k in pairs(a)
400for k in pairs(a)
401do
401do
402−if not b[k] then
402+if (not b[k]) then
403return false
403return false
404end
404end
405b[k]=undef
405b[k]=undef
406end
406end
407−return next(b) == nil
407+return (next(b) == nil)
408end
408end
409local s = Set({0x1,0x3,0x5})
409local s = Set({0x1,0x3,0x5})
410−assert(s == Set({0x3,0x5,0x1}))
410+assert((s == Set({0x3,0x5,0x1})))
411−assert(not rawequal(s,Set({0x3,0x5,0x1})))
411+assert((not rawequal(s,Set({0x3,0x5,0x1}))))
412assert(rawequal(s,s))
412assert(rawequal(s,s))
413−assert(Set({0x1,0x3,0x5,0x1}) == rawSet({0x3,0x5,0x1}))
413+assert((Set({0x1,0x3,0x5,0x1}) == rawSet({0x3,0x5,0x1})))
414−assert(rawSet({0x1,0x3,0x5,0x1}) == Set({0x3,0x5,0x1}))
414+assert((rawSet({0x1,0x3,0x5,0x1}) == Set({0x3,0x5,0x1})))
415−assert(Set({0x1,0x3,0x5}) ~= Set({0x3,0x5,0x1,0x6}))
415+assert((Set({0x1,0x3,0x5}) ~= Set({0x3,0x5,0x1,0x6})))
416t[Set({0x1,0x3,0x5})]=0x1
416t[Set({0x1,0x3,0x5})]=0x1
417−assert(t[Set({0x1,0x3,0x5})] == undef)
417+assert((t[Set({0x1,0x3,0x5})] == undef))
418do
418do
419local mt = {["\u{5f}\u{5f}\u{65}\u{71}"] = true}
419local mt = {["\u{5f}\u{5f}\u{65}\u{71}"] = true}
420local a = setmetatable({0xa},mt)
420local a = setmetatable({0xa},mt)
421local b = setmetatable({0xa},mt)
421local b = setmetatable({0xa},mt)
422mt.__eq=nil
422mt.__eq=nil
423−assert(a ~= b)
423+assert((a ~= b))
424mt.__eq=function (x,y)
424mt.__eq=function (x,y)
425−return x[0x1] == y[0x1]
425+return (x[0x1] == y[0x1])
426end
426end
427−assert(a == b)
427+assert((a == b))
428end
428end
429−if not T then
429+if (not T) then
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}")
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}")
431else
431else
432local u1 = T.newuserdata(0x0,0x1)
432local u1 = T.newuserdata(0x0,0x1)
433local u2 = T.newuserdata(0x0,0x1)
433local u2 = T.newuserdata(0x0,0x1)
434local u3 = T.newuserdata(0x0,0x1)
434local u3 = T.newuserdata(0x0,0x1)
435−assert(u1 ~= u2 and u1 ~= u3)
435+assert(((u1 ~= u2) and (u1 ~= u3)))
436debug.setuservalue(u1,0x1)
436debug.setuservalue(u1,0x1)
437;
437;
438debug.setuservalue(u2,0x2)
438debug.setuservalue(u2,0x2)
@@ -440,15 +440,15 @@ debug.setuservalue(u2,0x2)
440debug.setuservalue(u3,0x1)
440debug.setuservalue(u3,0x1)
441;
441;
442debug.setmetatable(u1,{["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
442debug.setmetatable(u1,{["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
443−return debug.getuservalue(a) == debug.getuservalue(b)
443+return (debug.getuservalue(a) == debug.getuservalue(b))
444end})
444end})
445debug.setmetatable(u2,{["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
445debug.setmetatable(u2,{["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
446return true
446return true
447end})
447end})
448−assert(u1 == u3 and u3 == u1 and u1 ~= u2)
448+assert((((u1 == u3) and (u3 == u1)) and (u1 ~= u2)))
449−assert(u2 == u1 and u2 == u3 and u3 == u2)
449+assert((((u2 == u1) and (u2 == u3)) and (u3 == u2)))
450−assert(u2 ~= {})
450+assert((u2 ~= {}))
451−assert(rawequal(u1,u1) and not rawequal(u1,u3))
451+assert((rawequal(u1,u1) and (not rawequal(u1,u3))))
452local mirror = {}
452local mirror = {}
453debug.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})
453debug.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})
454for i = 0x1, 0xa
454for i = 0x1, 0xa
@@ -457,21 +457,21 @@ u3[i]=i
457end
457end
458for i = 0x1, 0xa
458for i = 0x1, 0xa
459do
459do
460−assert(u3[i] == i)
460+assert((u3[i] == i))
461end
461end
462end
462end
463t.__concat=function (a,b,c)
463t.__concat=function (a,b,c)
464−assert(c == nil)
464+assert((c == nil))
465−if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
465+if (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
466a=a.val
466a=a.val
467end
467end
468−if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
468+if (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
469b=b.val
469b=b.val
470end
470end
471if A then
471if A then
472−return a .. b
472+return (a .. b)
473else
473else
474−return setmetatable({["\u{76}\u{61}\u{6c}"] = a .. b},t)
474+return setmetatable({["\u{76}\u{61}\u{6c}"] = (a .. b)},t)
475end
475end
476end
476end
477c={["\u{76}\u{61}\u{6c}"] = "\u{63}"}
477c={["\u{76}\u{61}\u{6c}"] = "\u{63}"}
@@ -481,22 +481,22 @@ d={["\u{76}\u{61}\u{6c}"] = "\u{64}"}
481;
481;
482setmetatable(d,t)
482setmetatable(d,t)
483A=true
483A=true
484−assert(c .. d == "\u{63}\u{64}")
484+assert(((c .. d) == "\u{63}\u{64}"))
485−assert(0x0 .. "\u{61}" .. "\u{62}" .. c .. d .. "\u{65}" .. "\u{66}" .. (0x5 + 0x3) .. "\u{67}" == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{38}\u{67}")
485+assert(((0x0 .. ("\u{61}" .. ("\u{62}" .. (c .. (d .. ("\u{65}" .. ("\u{66}" .. ((0x5 + 0x3) .. "\u{67}")))))))) == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{38}\u{67}"))
486A=false
486A=false
487−assert((c .. d .. c .. d).val == "\u{63}\u{64}\u{63}\u{64}")
487+assert(((c .. (d .. (c .. d))).val == "\u{63}\u{64}\u{63}\u{64}"))
488−x=c .. d
488+x=(c .. d)
489−assert(getmetatable(x) == t and x.val == "\u{63}\u{64}")
489+assert(((getmetatable(x) == t) and (x.val == "\u{63}\u{64}")))
490−x=0x0 .. "\u{61}" .. "\u{62}" .. c .. d .. "\u{65}" .. "\u{66}" .. "\u{67}"
490+x=(0x0 .. ("\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}")
491+assert((x.val == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}"))
492c={}
492c={}
493local x
493local x
494setmetatable(c,{["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
494setmetatable(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)
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))))
496return c
496return c
497end})
497end})
498−assert(c .. 0x5 == c and 0x5 .. c == c)
498+assert((((c .. 0x5) == c) and ((0x5 .. c) == c)))
499−assert(0x4 .. c .. 0x5 == c and 0x4 .. 0x5 .. 0x6 .. 0x7 .. c == c)
499+assert((((0x4 .. (c .. 0x5)) == c) and ((0x4 .. (0x5 .. (0x6 .. (0x7 .. c)))) == c)))
500local t1,t2,c,d
500local t1,t2,c,d
501t1={}
501t1={}
502;
502;
@@ -514,15 +514,15 @@ t1.__le=function ()
514return false
514return false
515end
515end
516setmetatable(d,t1)
516setmetatable(d,t1)
517−assert(c == d and c < d and not (d <= c))
517+assert((((c == d) and (c < d)) and (not (d <= c))))
518t2={}
518t2={}
519t2.__eq=t1.__eq
519t2.__eq=t1.__eq
520t2.__lt=t1.__lt
520t2.__lt=t1.__lt
521setmetatable(d,t2)
521setmetatable(d,t2)
522−assert(c == d and c < d and not (d <= c))
522+assert((((c == d) and (c < d)) and (not (d <= c))))
523local i
523local i
524local tt = {["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = function (t, ...)
524local tt = {["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = function (t, ...)
525−i=i + 0x1
525+i=(i + 0x1)
526if t.f then
526if t.f then
527return t.f(...)
527return t.f(...)
528else
528else
@@ -534,8 +534,8 @@ local b = setmetatable({["\u{66}"] = a},tt)
534local c = setmetatable({["\u{66}"] = b},tt)
534local c = setmetatable({["\u{66}"] = b},tt)
535i=0x0
535i=0x0
536x=c(0x3,0x4,0x5)
536x=c(0x3,0x4,0x5)
537−assert(i == 0x3 and x[0x1] == 0x3 and x[0x3] == 0x5)
537+assert((((i == 0x3) and (x[0x1] == 0x3)) and (x[0x3] == 0x5)))
538−assert(_G.X == 0x14)
538+assert((_G.X == 0x14))
539_G.X,_G.B=nil
539_G.X,_G.B=nil
540print("\u{2b}")
540print("\u{2b}")
541local _g = _G
541local _g = _G
@@ -544,39 +544,39 @@ return _g[k]
544end})
544end})
545a={}
545a={}
546rawset(a,"\u{78}",0x1,0x2,0x3)
546rawset(a,"\u{78}",0x1,0x2,0x3)
547−assert(a.x == 0x1 and rawget(a,"\u{78}",0x3) == 0x1)
547+assert(((a.x == 0x1) and (rawget(a,"\u{78}",0x3) == 0x1)))
548print("\u{2b}")
548print("\u{2b}")
549mt={["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (a,b)
549mt={["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (a,b)
550−return a + b
550+return (a + b)
551end,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (x)
551end,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (x)
552return math.floor(x)
552return math.floor(x)
553end}
553end}
554debug.setmetatable(0xa,mt)
554debug.setmetatable(0xa,mt)
555−assert(getmetatable(- 0x2) == mt)
555+assert((getmetatable((- 0x2)) == mt))
556−assert((0xa)[0x3] == 0xd)
556+assert(((0xa)[0x3] == 0xd))
557−assert((0xa)["\u{33}"] == 0xd)
557+assert(((0xa)["\u{33}"] == 0xd))
558−assert(# 3.45 == 0x3)
558+assert((# (3.45 == 0x3)))
559debug.setmetatable(0x17,nil)
559debug.setmetatable(0x17,nil)
560−assert(getmetatable(- 0x2) == nil)
560+assert((getmetatable((- 0x2)) == nil))
561debug.setmetatable(true,mt)
561debug.setmetatable(true,mt)
562−assert(getmetatable(false) == mt)
562+assert((getmetatable(false) == mt))
563mt.__index=function (a,b)
563mt.__index=function (a,b)
564−return a or b
564+return (a or b)
565end
565end
566−assert((true)[false] == true)
566+assert(((true)[false] == true))
567−assert((false)[false] == false)
567+assert(((false)[false] == false))
568debug.setmetatable(false,nil)
568debug.setmetatable(false,nil)
569−assert(getmetatable(true) == nil)
569+assert((getmetatable(true) == nil))
570debug.setmetatable(nil,mt)
570debug.setmetatable(nil,mt)
571−assert(getmetatable(nil) == mt)
571+assert((getmetatable(nil) == mt))
572mt.__add=function (a,b)
572mt.__add=function (a,b)
573−return (a or 0x1) + (b or 0x2)
573+return ((a or 0x1) + (b or 0x2))
574end
574end
575−assert(0xa + nil == 0xc)
575+assert(((0xa + nil) == 0xc))
576−assert(nil + 0x17 == 0x18)
576+assert(((nil + 0x17) == 0x18))
577−assert(nil + nil == 0x3)
577+assert(((nil + nil) == 0x3))
578debug.setmetatable(nil,nil)
578debug.setmetatable(nil,nil)
579−assert(getmetatable(nil) == nil)
579+assert((getmetatable(nil) == nil))
580debug.setmetatable(nil,{})
580debug.setmetatable(nil,{})
581a={}
581a={}
582;
582;
@@ -585,12 +585,12 @@ setmetatable(a,a)
585a.__index=a
585a.__index=a
586;
586;
587a.__newindex=a
587a.__newindex=a
588−assert(not pcall(function (a,b)
588+assert((not pcall(function (a,b)
589return a[b]
589return a[b]
590−end,a,0xa))
590+end,a,0xa)))
591−assert(not pcall(function (a,b,c)
591+assert((not pcall(function (a,b,c)
592a[b]=c
592a[b]=c
593−end,a,0xa,true))
593+end,a,0xa,true)))
594T,K,V=nil
594T,K,V=nil
595grandparent={}
595grandparent={}
596grandparent.__newindex=function (t,k,v)
596grandparent.__newindex=function (t,k,v)
@@ -605,6 +605,6 @@ parent.__newindex=parent
605setmetatable(parent,grandparent)
605setmetatable(parent,grandparent)
606child=setmetatable({},parent)
606child=setmetatable({},parent)
607child.foo=0xa
607child.foo=0xa
608−assert(T == parent and K == "\u{66}\u{6f}\u{6f}" and V == 0xa)
608+assert((((T == parent) and (K == "\u{66}\u{6f}\u{6f}")) and (V == 0xa)))
609print("\u{4f}\u{4b}")
609print("\u{4f}\u{4b}")
610return 0xc
610return 0xc
zod/luau/res/lua/cycled/files.lua → desk/res/lua/cycled/files.luarenamed+259−259
@@ -1,35 +1,35 @@
1local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
1local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
2local maxint = math.maxinteger
2local maxint = math.maxinteger
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}")
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}"))
4−assert(io.input(io.stdin) == io.stdin)
4+assert((io.input(io.stdin) == io.stdin))
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}"))
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}")))
6−assert(io.output(io.stdout) == io.stdout)
6+assert((io.output(io.stdout) == io.stdout))
7local function testerr
7local function testerr
8(msg,f, ...)
8(msg,f, ...)
9local stat,err = pcall(f,...)
9local stat,err = pcall(f,...)
10−return (not stat and string.find(err,msg,0x1,true))
10+return (not (stat and string.find(err,msg,0x1,true)))
11end
11end
12local function checkerr
12local function checkerr
13(msg,f, ...)
13(msg,f, ...)
14assert(testerr(msg,f,...))
14assert(testerr(msg,f,...))
15end
15end
16−assert(not io.close(io.stdin) and not io.stdout:close() and not io.stderr:close())
16+assert((not (io.close(io.stdin) and (not (io.stdout:close() and (not io.stderr:close()))))))
17checkerr("\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)
17checkerr("\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}")
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}")
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}")))
20−assert(not io.type(0x8))
20+assert((not io.type(0x8)))
21local a = {}
21local a = {}
22;
22;
23setmetatable(a,{})
23setmetatable(a,{})
24−assert(not io.type(a))
24+assert((not io.type(a)))
25−assert(getmetatable(io.input()).__name == "\u{46}\u{49}\u{4c}\u{45}\u{2a}")
25+assert((getmetatable(io.input()).__name == "\u{46}\u{49}\u{4c}\u{45}\u{2a}"))
26local 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}")
26local 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}")
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}"))))
28a,b,c=io.open("\u{2f}\u{61}\u{2f}\u{62}\u{2f}\u{63}\u{2f}\u{64}","\u{77}")
28a,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}")
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}"))))
30local file = os.tmpname()
30local file = os.tmpname()
31local f,msg = io.open(file,"\u{77}")
31local f,msg = io.open(file,"\u{77}")
32−if not f then
32+if (not f) then
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}")
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}")
34else
34else
35f:close()
35f:close()
@@ -50,26 +50,26 @@ io.input(io.stdin)
50io.output(io.stdout)
50io.output(io.stdout)
51;
51;
52os.remove(file)
52os.remove(file)
53−assert(not loadfile(file))
53+assert((not loadfile(file)))
54checkerr("",dofile,file)
54checkerr("",dofile,file)
55−assert(not io.open(file))
55+assert((not io.open(file)))
56io.output(file)
56io.output(file)
57−assert(io.output() ~= io.stdout)
57+assert((io.output() ~= io.stdout))
58−if not _port then
58+if (not _port) then
59local status,msg,code = io.stdin:seek("\u{73}\u{65}\u{74}",0x3e8)
59local status,msg,code = io.stdin:seek("\u{73}\u{65}\u{74}",0x3e8)
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}")
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}"))))
61end
61end
62−assert(io.output():seek() == 0x0)
62+assert((io.output():seek() == 0x0))
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}"))
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}",- 0x3) == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}") - 0x3)
64+assert((io.output():seek("\u{63}\u{75}\u{72}",(- 0x3)) == (string.len("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}") - 0x3)))
65assert(io.write("\u{6a}\u{6f}\u{61}\u{6f}"))
65assert(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}"))
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}") == 0x0)
67+assert((io.output():seek("\u{73}\u{65}\u{74}") == 0x0))
68assert(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}"))
68assert(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}"))
69assert(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}"))
69assert(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}"))
70io.output(io.stdout)
70io.output(io.stdout)
71collectgarbage()
71collectgarbage()
72−assert(io.input() == io.stdin and rawequal(io.output(),io.stdout))
72+assert(((io.input() == io.stdin) and rawequal(io.output(),io.stdout)))
73print("\u{2b}")
73print("\u{2b}")
74collectgarbage()
74collectgarbage()
75for i = 0x1, 0x78
75for i = 0x1, 0x78
@@ -85,7 +85,7 @@ end
85io.input():close()
85io.input():close()
86io.close()
86io.close()
87assert(os.rename(file,otherfile))
87assert(os.rename(file,otherfile))
88−assert(not os.rename(file,otherfile))
88+assert((not os.rename(file,otherfile)))
89io.output(io.open(otherfile,"\u{61}\u{62}"))
89io.output(io.open(otherfile,"\u{61}\u{62}"))
90assert(io.write("\u{a}\u{a}\u{9}\u{9}\u{20}\u{20}",0xd7a,"\u{a}"))
90assert(io.write("\u{a}\u{a}\u{9}\u{9}\u{20}\u{20}",0xd7a,"\u{a}"))
91;
91;
@@ -96,7 +96,7 @@ do
96local f <close> = assert(io.open(file,"\u{77}"))
96local f <close> = assert(io.open(file,"\u{77}"))
97F=f
97F=f
98end
98end
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}")
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}"))
100end
100end
101assert(os.remove(file))
101assert(os.remove(file))
102do
102do
@@ -105,18 +105,18 @@ f:write(maxint,"\u{a}")
105f:write(string.format("\u{30}\u{58}\u{25}\u{78}\u{a}",maxint))
105f:write(string.format("\u{30}\u{58}\u{25}\u{78}\u{a}",maxint))
106f:write("\u{30}\u{78}\u{41}\u{42}\u{43}\u{70}\u{2d}\u{33}","\u{a}")
106f:write("\u{30}\u{78}\u{41}\u{42}\u{43}\u{70}\u{2d}\u{33}","\u{a}")
107f:write(0x0,"\u{a}")
107f:write(0x0,"\u{a}")
108−f:write(- maxint,"\u{a}")
108+f:write((- maxint),"\u{a}")
109−f:write(string.format("\u{30}\u{78}\u{25}\u{58}\u{a}",- maxint))
109+f:write(string.format("\u{30}\u{78}\u{25}\u{58}\u{a}",(- maxint)))
110f:write("\u{2d}\u{30}\u{78}\u{41}\u{42}\u{43}\u{70}\u{2d}\u{33}","\u{a}")
110f:write("\u{2d}\u{30}\u{78}\u{41}\u{42}\u{43}\u{70}\u{2d}\u{33}","\u{a}")
111assert(f:close())
111assert(f:close())
112local f <close> = assert(io.open(file,"\u{72}"))
112local f <close> = assert(io.open(file,"\u{72}"))
113−assert(f:read("\u{6e}") == maxint)
113+assert((f:read("\u{6e}") == maxint))
114−assert(f:read("\u{6e}") == maxint)
114+assert((f:read("\u{6e}") == maxint))
115−assert(f:read("\u{6e}") == 343.5)
115+assert((f:read("\u{6e}") == 343.5))
116−assert(f:read("\u{6e}") == 0x0)
116+assert((f:read("\u{6e}") == 0x0))
117−assert(f:read("\u{2a}\u{6e}") == - maxint)
117+assert((f:read("\u{2a}\u{6e}") == (- maxint)))
118−assert(f:read("\u{6e}") == - maxint)
118+assert((f:read("\u{6e}") == (- maxint)))
119−assert(f:read("\u{2a}\u{6e}") == - 343.5)
119+assert((f:read("\u{2a}\u{6e}") == (- 343.5)))
120end
120end
121assert(os.remove(file))
121assert(os.remove(file))
122do
122do
@@ -126,24 +126,24 @@ local l1,l2,l3,l4,n1,n2,c,dummy
126assert(f:close())
126assert(f:close())
127local f <close> = assert(io.open(file,"\u{72}"))
127local f <close> = assert(io.open(file,"\u{72}"))
128l1,l2,n1,n2,dummy=f:read("\u{6c}","\u{4c}","\u{6e}","\u{6e}")
128l1,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 == 0x4d2 and n2 == 3.45 and dummy == nil)
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 == 0x4d2)) and (n2 == 3.45)) and (dummy == nil)))
130assert(f:close())
130assert(f:close())
131local f <close> = assert(io.open(file,"\u{72}"))
131local f <close> = assert(io.open(file,"\u{72}"))
132l1,l2,n1,n2,c,l3,l4,dummy=f:read(0x7,"\u{6c}","\u{6e}","\u{6e}",0x1,"\u{6c}","\u{6c}")
132l1,l2,n1,n2,c,l3,l4,dummy=f:read(0x7,"\u{6c}","\u{6e}","\u{6e}",0x1,"\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 == 0x4d2 and n2 == 3.45 and l3 == "\u{6f}\u{6e}\u{65}" and l4 == "\u{74}\u{77}\u{6f}" and dummy == nil)
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 == 0x4d2)) and (n2 == 3.45)) and (l3 == "\u{6f}\u{6e}\u{65}")) and (l4 == "\u{74}\u{77}\u{6f}")) and (dummy == nil)))
134assert(f:close())
134assert(f:close())
135local f <close> = assert(io.open(file,"\u{72}"))
135local f <close> = assert(io.open(file,"\u{72}"))
136l1,n1,n2,dummy=f:read("\u{6c}","\u{6e}","\u{6e}","\u{6c}")
136l1,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)
137+assert(((l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}") and (not n1)))
138end
138end
139assert(os.remove(file))
139assert(os.remove(file))
140f=assert(io.open(file,"\u{77}"))
140f=assert(io.open(file,"\u{77}"))
141f: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}")
141f: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}")
142assert(f:close())
142assert(f:close())
143f=coroutine.wrap(dofile)
143f=coroutine.wrap(dofile)
144−assert(f(file) == 0xa)
144+assert((f(file) == 0xa))
145−assert(f(0x64,0x65) == 0x14)
145+assert((f(0x64,0x65) == 0x14))
146−assert(f(0xc8) == 0x64 + 0xc8 * 0x65)
146+assert((f(0xc8) == (0x64 + (0xc8 * 0x65))))
147assert(os.remove(file))
147assert(os.remove(file))
148f=assert(io.open(file,"\u{77}"))
148f=assert(io.open(file,"\u{77}"))
149f: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}")
149f: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}")
@@ -158,62 +158,62 @@ f:write("\u{a}")
158f: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}")
158f: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}")
159assert(f:close())
159assert(f:close())
160f=assert(io.open(file,"\u{72}"))
160f=assert(io.open(file,"\u{72}"))
161−assert(f:read("\u{6e}") == - 12.3)
161+assert((f:read("\u{6e}") == (- 12.3)))
162;
162;
163−assert(f:read(0x1) == "\u{2d}")
163+assert((f:read(0x1) == "\u{2d}"))
164−assert(f:read("\u{6e}") == - 0xffff)
164+assert((f:read("\u{6e}") == (- 0xffff)))
165;
165;
166−assert(f:read(0x2) == "\u{2b}\u{20}")
166+assert((f:read(0x2) == "\u{2b}\u{20}"))
167−assert(f:read("\u{6e}") == 0.3)
167+assert((f:read("\u{6e}") == 0.3))
168;
168;
169−assert(f:read(0x1) == "\u{7c}")
169+assert((f:read(0x1) == "\u{7c}"))
170−assert(f:read("\u{6e}") == 5e-3)
170+assert((f:read("\u{6e}") == 5e-3))
171;
171;
172−assert(f:read(0x1) == "\u{58}")
172+assert((f:read(0x1) == "\u{58}"))
173−assert(f:read("\u{6e}") == 2.34e15)
173+assert((f:read("\u{6e}") == 2.34e15))
174;
174;
175−assert(f:read(0x1) == "\u{45}")
175+assert((f:read(0x1) == "\u{45}"))
176−assert(f:read("\u{6e}") == 0xdeadbeefdeadbeef)
176+assert((f:read("\u{6e}") == 0xdeadbeefdeadbeef))
177;
177;
178−assert(f:read(0x2) == "\u{78}\u{a}")
178+assert((f:read(0x2) == "\u{78}\u{a}"))
179−assert(f:read("\u{6e}") == 8.61328125)
179+assert((f:read("\u{6e}") == 8.61328125))
180;
180;
181−assert(f:read(0x1) == "\u{65}")
181+assert((f:read(0x1) == "\u{65}"))
182do
182do
183−assert(not f:read("\u{6e}"))
183+assert((not f:read("\u{6e}")))
184local s = f:read("\u{4c}")
184local s = f:read("\u{4c}")
185assert(string.find(s,"\u{5e}\u{30}\u{30}\u{2a}\u{a}\u{24}"))
185assert(string.find(s,"\u{5e}\u{30}\u{30}\u{2a}\u{a}\u{24}"))
186end
186end
187−assert(not f:read("\u{6e}"))
187+assert((not f:read("\u{6e}")))
188;
188;
189−assert(f:read(0x2) == "\u{65}\u{2b}")
189+assert((f:read(0x2) == "\u{65}\u{2b}"))
190−assert(not f:read("\u{6e}"))
190+assert((not f:read("\u{6e}")))
191;
191;
192−assert(f:read(0x1) == "\u{3b}")
192+assert((f:read(0x1) == "\u{3b}"))
193−assert(not f:read("\u{6e}"))
193+assert((not f:read("\u{6e}")))
194;
194;
195−assert(f:read(0x2) == "\u{2d}\u{3b}")
195+assert((f:read(0x2) == "\u{2d}\u{3b}"))
196−assert(not f:read("\u{6e}"))
196+assert((not f:read("\u{6e}")))
197;
197;
198−assert(f:read(0x1) == "\u{58}")
198+assert((f:read(0x1) == "\u{58}"))
199−assert(not f:read("\u{6e}"))
199+assert((not f:read("\u{6e}")))
200;
200;
201−assert(f:read(0x1) == "\u{3b}")
201+assert((f:read(0x1) == "\u{3b}"))
202−assert(not f:read("\u{6e}"))
202+assert((not f:read("\u{6e}")))
203;
203;
204−assert(not f:read(0x0))
204+assert((not f:read(0x0)))
205assert(f:close())
205assert(f:close())
206assert(os.remove(file))
206assert(os.remove(file))
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}"))
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}")))
208assert(os.rename(otherfile,file))
208assert(os.rename(otherfile,file))
209io.output(otherfile)
209io.output(otherfile)
210local n = 0x0
210local n = 0x0
211local f = io.lines(file)
211local f = io.lines(file)
212while f() do
212while f() do
213−n=n + 0x1
213+n=(n + 0x1)
214end
214end
215;
215;
216−assert(n == 0x6)
216+assert((n == 0x6))
217checkerr("\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)
217checkerr("\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)
218checkerr("\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)
218checkerr("\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)
219n=0x0
219n=0x0
@@ -221,42 +221,42 @@ for l in io.lines(file)
221do
221do
222io.write(l,"\u{a}")
222io.write(l,"\u{a}")
223;
223;
224−n=n + 0x1
224+n=(n + 0x1)
225end
225end
226io.close()
226io.close()
227−assert(n == 0x6)
227+assert((n == 0x6))
228local f = assert(io.open(otherfile))
228local f = assert(io.open(otherfile))
229−assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
229+assert((io.type(f) == "\u{66}\u{69}\u{6c}\u{65}"))
230io.output(file)
230io.output(file)
231−assert(not io.output():read())
231+assert((not io.output():read()))
232n=0x0
232n=0x0
233for l in f:lines()
233for l in f:lines()
234do
234do
235io.write(l,"\u{a}")
235io.write(l,"\u{a}")
236;
236;
237−n=n + 0x1
237+n=(n + 0x1)
238end
238end
239−assert(tostring(f):sub(0x1,0x5) == "\u{66}\u{69}\u{6c}\u{65}\u{20}")
239+assert((tostring(f):sub(0x1,0x5) == "\u{66}\u{69}\u{6c}\u{65}\u{20}"))
240assert(f:close())
240assert(f:close())
241;
241;
242io.close()
242io.close()
243−assert(n == 0x6)
243+assert((n == 0x6))
244checkerr("\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)
244checkerr("\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}")
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}")
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}"))
247io.input(file)
247io.input(file)
248f=io.open(otherfile):lines()
248f=io.open(otherfile):lines()
249n=0x0
249n=0x0
250for l in io.lines()
250for l in io.lines()
251do
251do
252−assert(l == f())
252+assert((l == f()))
253;
253;
254−n=n + 0x1
254+n=(n + 0x1)
255end
255end
256f=nil
256f=nil
257;
257;
258collectgarbage()
258collectgarbage()
259−assert(n == 0x6)
259+assert((n == 0x6))
260assert(os.remove(otherfile))
260assert(os.remove(otherfile))
261do
261do
262io.output(otherfile)
262io.output(otherfile)
@@ -269,8 +269,8 @@ do
269t[i]=0x1
269t[i]=0x1
270end
270end
271t={io.lines(otherfile,table.unpack(t))()}
271t={io.lines(otherfile,table.unpack(t))()}
272−assert(# t == 0xfa and t[0x1] == "\u{61}" and t[# t] == "\u{61}")
272+assert((# (((t == 0xfa) and (t[0x1] == "\u{61}")) and (t[(# t)] == "\u{61}"))))
273−t[# t + 0x1]=0x1
273+t[(# (t + 0x1))]=0x1
274checkerr("\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))
274checkerr("\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))
275collectgarbage()
275collectgarbage()
276assert(os.remove(otherfile))
276assert(os.remove(otherfile))
@@ -278,34 +278,34 @@ end
278io.input(file)
278io.input(file)
279do
279do
280local a,b,c = io.input():write("\u{78}\u{75}\u{78}\u{75}")
280local 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}")
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}"))))
282end
282end
283checkerr("\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}")
283checkerr("\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}")
284−assert(io.read(0x0) == "")
284+assert((io.read(0x0) == ""))
285−assert(io.read(0x5,"\u{6c}") == "\u{22}\u{61}\u{6c}\u{6f}\u{22}")
285+assert((io.read(0x5,"\u{6c}") == "\u{22}\u{61}\u{6c}\u{6f}\u{22}"))
286−assert(io.read(0x0) == "")
286+assert((io.read(0x0) == ""))
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}")
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}"))
288local x = io.input():seek()
288local x = io.input():seek()
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}")
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}"))
290assert(io.input():seek("\u{73}\u{65}\u{74}",x))
290assert(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}")
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(0x1) == "\u{58}")
292+assert((io.read(0x1) == "\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}")
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}")))
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}")
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}"))
296−assert(io.read() == "")
296+assert((io.read() == ""))
297−assert(io.read("\u{6e}") == 0xd7a)
297+assert((io.read("\u{6e}") == 0xd7a))
298−assert(io.read(0x1) == "\u{a}")
298+assert((io.read(0x1) == "\u{a}"))
299−assert(not io.read(0x0))
299+assert((not io.read(0x0)))
300−assert(not io.read(0x1))
300+assert((not io.read(0x1)))
301−assert(not io.read(0x7530))
301+assert((not io.read(0x7530)))
302−assert(({io.read(0x1)})[0x2] == undef)
302+assert((({io.read(0x1)})[0x2] == undef))
303−assert(not io.read())
303+assert((not io.read()))
304−assert(({io.read()})[0x2] == undef)
304+assert((({io.read()})[0x2] == undef))
305−assert(not io.read("\u{6e}"))
305+assert((not io.read("\u{6e}")))
306−assert(({io.read("\u{6e}")})[0x2] == undef)
306+assert((({io.read("\u{6e}")})[0x2] == undef))
307−assert(io.read("\u{61}") == "")
307+assert((io.read("\u{61}") == ""))
308−assert(io.read("\u{61}") == "")
308+assert((io.read("\u{61}") == ""))
309collectgarbage()
309collectgarbage()
310print("\u{2b}")
310print("\u{2b}")
311io.close(io.input())
311io.close(io.input())
@@ -314,10 +314,10 @@ assert(os.remove(file))
314local t = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
314local t = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
315for i = 0x1, 0xa
315for i = 0x1, 0xa
316do
316do
317−t=t .. t
317+t=(t .. t)
318;
318;
319end
319end
320−assert(string.len(t) == 0xa * 0x2 ^ 0xa)
320+assert((string.len(t) == (0xa * (0x2 ^ 0xa))))
321io.output(file)
321io.output(file)
322io.write("\u{61}\u{6c}\u{6f}"):write("\u{a}")
322io.write("\u{61}\u{6c}\u{6f}"):write("\u{a}")
323io.close()
323io.close()
@@ -325,7 +325,7 @@ checkerr("\u{20}\u{6f}\u{75}\u{74}\u{70}\u{75}\u{74}\u{20}\u{66}\u{69}\u{6c}\u{6
325local f = io.open(file,"\u{61}\u{2b}\u{62}")
325local f = io.open(file,"\u{61}\u{2b}\u{62}")
326io.output(f)
326io.output(f)
327collectgarbage()
327collectgarbage()
328−assert(io.write("\u{20}" .. t .. "\u{20}"))
328+assert(io.write(("\u{20}" .. (t .. "\u{20}"))))
329assert(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}"))
329assert(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}"))
330f:flush()
330f:flush()
331;
331;
@@ -333,30 +333,30 @@ io.flush()
333f:close()
333f:close()
334print("\u{2b}")
334print("\u{2b}")
335io.input(file)
335io.input(file)
336−assert(io.read() == "\u{61}\u{6c}\u{6f}")
336+assert((io.read() == "\u{61}\u{6c}\u{6f}"))
337−assert(io.read(0x1) == "\u{20}")
337+assert((io.read(0x1) == "\u{20}"))
338−assert(io.read(string.len(t)) == t)
338+assert((io.read(string.len(t)) == t))
339−assert(io.read(0x1) == "\u{20}")
339+assert((io.read(0x1) == "\u{20}"))
340assert(io.read(0x0))
340assert(io.read(0x0))
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}")
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}"))
342−assert(not io.read(0x0))
342+assert((not io.read(0x0)))
343assert(io.close(io.input()))
343assert(io.close(io.input()))
344do
344do
345local function ismsg
345local function ismsg
346(m)
346(m)
347−return (type(m) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and not tonumber(m))
347+return ((type(m) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (not tonumber(m)))
348end
348end
349local f = io.open(file,"\u{77}")
349local f = io.open(file,"\u{77}")
350local r,m,c = f:read()
350local r,m,c = f:read()
351−assert(not r and ismsg(m) and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
351+assert((not ((r and ismsg(m)) and (type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
352assert(f:close())
352assert(f:close())
353f=io.open(file,"\u{72}")
353f=io.open(file,"\u{72}")
354r,m,c=f:write("\u{77}\u{68}\u{61}\u{74}\u{65}\u{76}\u{65}\u{72}")
354r,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}")
355+assert((not ((r and ismsg(m)) and (type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
356assert(f:close())
356assert(f:close())
357f=io.open(file,"\u{77}")
357f=io.open(file,"\u{77}")
358r,m=pcall(f:lines())
358r,m=pcall(f:lines())
359−assert(r == false and ismsg(m))
359+assert(((r == false) and ismsg(m)))
360assert(f:close())
360assert(f:close())
361end
361end
362assert(os.remove(file))
362assert(os.remove(file))
@@ -364,57 +364,57 @@ io.output(file)
364;
364;
365io.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()
365io.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()
366io.input(file)
366io.input(file)
367−assert(io.read("\u{4c}") == "\u{a}")
367+assert((io.read("\u{4c}") == "\u{a}"))
368−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}")
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}")
370+assert((io.read("\u{4c}") == "\u{6f}\u{74}\u{68}\u{65}\u{72}"))
371−assert(not io.read("\u{4c}"))
371+assert((not io.read("\u{4c}")))
372io.input():close()
372io.input():close()
373local f = assert(io.open(file))
373local f = assert(io.open(file))
374local s = ""
374local s = ""
375for l in f:lines("\u{4c}")
375for l in f:lines("\u{4c}")
376do
376do
377−s=s .. l
377+s=(s .. l)
378end
378end
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}")
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}"))
380f:close()
380f:close()
381io.input(file)
381io.input(file)
382s=""
382s=""
383for l in io.lines(nil,"\u{4c}")
383for l in io.lines(nil,"\u{4c}")
384do
384do
385−s=s .. l
385+s=(s .. l)
386end
386end
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}")
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}"))
388io.input():close()
388io.input():close()
389s=""
389s=""
390for l in io.lines(file,"\u{4c}")
390for l in io.lines(file,"\u{4c}")
391do
391do
392−s=s .. l
392+s=(s .. l)
393end
393end
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}")
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}"))
395s=""
395s=""
396for l in io.lines(file,"\u{6c}")
396for l in io.lines(file,"\u{6c}")
397do
397do
398−s=s .. l
398+s=(s .. l)
399end
399end
400−assert(s == "\u{6c}\u{69}\u{6e}\u{65}\u{6f}\u{74}\u{68}\u{65}\u{72}")
400+assert((s == "\u{6c}\u{69}\u{6e}\u{65}\u{6f}\u{74}\u{68}\u{65}\u{72}"))
401io.output(file)
401io.output(file)
402;
402;
403io.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()
403io.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()
404local t = {}
404local t = {}
405assert(load(io.lines(file,"\u{4c}"),nil,nil,t))()
405assert(load(io.lines(file,"\u{4c}"),nil,nil,t))()
406−assert(t.a == - ((0xa + 0x22) * 0x2))
406+assert((t.a == (- ((0xa + 0x22) * 0x2))))
407do
407do
408local function gettoclose
408local function gettoclose
409(lv)
409(lv)
410−lv=lv + 0x1
410+lv=(lv + 0x1)
411local stvar = 0x0
411local stvar = 0x0
412for i = 0x1, 0x3e8
412for i = 0x1, 0x3e8
413do
413do
414local n,v = debug.getlocal(lv,i)
414local n,v = debug.getlocal(lv,i)
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
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
416−stvar=stvar + 0x1
416+stvar=(stvar + 0x1)
417−if stvar == 0x4 then
417+if (stvar == 0x4) then
418return v
418return v
419end
419end
420end
420end
@@ -424,44 +424,44 @@ local f
424for l in io.lines(file)
424for l in io.lines(file)
425do
425do
426f=gettoclose(0x1)
426f=gettoclose(0x1)
427−assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
427+assert((io.type(f) == "\u{66}\u{69}\u{6c}\u{65}"))
428break
428break
429end
429end
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}")
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}"))
431f=nil
431f=nil
432local function foo
432local function foo
433(name)
433(name)
434for l in io.lines(name)
434for l in io.lines(name)
435do
435do
436f=gettoclose(0x1)
436f=gettoclose(0x1)
437−assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
437+assert((io.type(f) == "\u{66}\u{69}\u{6c}\u{65}"))
438error(f)
438error(f)
439end
439end
440end
440end
441local st,msg = pcall(foo,file)
441local st,msg = pcall(foo,file)
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}")
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}")))
443end
443end
444io.output(file)
444io.output(file)
445;
445;
446io.write("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}"):close()
446io.write("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}"):close()
447for a,b in io.lines(file,0x1,0x1)
447for a,b in io.lines(file,0x1,0x1)
448do
448do
449−if a == "\u{a}" then
449+if (a == "\u{a}") then
450−assert(not b)
450+assert((not b))
451else
451else
452−assert(tonumber(a) == tonumber(b) - 0x1)
452+assert((tonumber(a) == (tonumber(b) - 0x1)))
453end
453end
454end
454end
455for a,b,c in io.lines(file,0x1,0x2,"\u{61}")
455for a,b,c in io.lines(file,0x1,0x2,"\u{61}")
456do
456do
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}")
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}")))
458end
458end
459for a,b,c in io.lines(file,"\u{61}",0x0,0x1)
459for a,b,c in io.lines(file,"\u{61}",0x0,0x1)
460do
460do
461−if a == "" then
461+if (a == "") then
462break
462break
463end
463end
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)
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)))))
465end
465end
466collectgarbage()
466collectgarbage()
467io.output(file)
467io.output(file)
@@ -469,24 +469,24 @@ io.output(file)
469io.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()
469io.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()
470for a,b in io.lines(file,"\u{6e}","\u{6e}")
470for a,b in io.lines(file,"\u{6e}","\u{6e}")
471do
471do
472−if a == 0x28 then
472+if (a == 0x28) then
473−assert(not b)
473+assert((not b))
474else
474else
475−assert(a == b - 0xa)
475+assert((a == (b - 0xa)))
476end
476end
477end
477end
478io.output(file)
478io.output(file)
479;
479;
480io.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()
480io.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()
481_G.X=0x1
481_G.X=0x1
482−assert(not load((io.lines(file))))
482+assert((not load(io.lines(file))))
483collectgarbage()
483collectgarbage()
484−load((io.lines(file,"\u{4c}")))()
484+load(io.lines(file,"\u{4c}"))()
485−assert(_G.X == 0x2)
485+assert((_G.X == 0x2))
486−load((io.lines(file,0x1)))()
486+load(io.lines(file,0x1))()
487−assert(_G.X == 0x4)
487+assert((_G.X == 0x4))
488−load((io.lines(file,0x3)))()
488+load(io.lines(file,0x3))()
489−assert(_G.X == 0x8)
489+assert((_G.X == 0x8))
490_G.X=nil
490_G.X=nil
491print("\u{2b}")
491print("\u{2b}")
492local 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}"
492local 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}"
@@ -494,12 +494,12 @@ io.output(file)
494assert(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)))
494assert(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)))
495io.close()
495io.close()
496assert(loadfile(file))()
496assert(loadfile(file))()
497−assert(x1 == _G.X2)
497+assert((x1 == _G.X2))
498_G.X2=nil
498_G.X2=nil
499print("\u{2b}")
499print("\u{2b}")
500assert(os.remove(file))
500assert(os.remove(file))
501−assert(not os.remove(file))
501+assert((not os.remove(file)))
502−assert(not os.remove(otherfile))
502+assert((not os.remove(otherfile)))
503local function testloadfile
503local function testloadfile
504(s,expres)
504(s,expres)
505io.output(file)
505io.output(file)
@@ -509,7 +509,7 @@ end
509io.close()
509io.close()
510local res = assert(loadfile(file))()
510local res = assert(loadfile(file))()
511assert(os.remove(file))
511assert(os.remove(file))
512−assert(res == expres)
512+assert((res == expres))
513end
513end
514testloadfile(nil,nil)
514testloadfile(nil,nil)
515testloadfile("\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)
515testloadfile("\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)
@@ -523,7 +523,7 @@ return 0xa,"\u{0}\u{61}\u{6c}\u{6f}\u{ff}","\u{68}\u{69}"
523end)))
523end)))
524io.close()
524io.close()
525a,b,c=assert(loadfile(file))()
525a,b,c=assert(loadfile(file))()
526−assert(a == 0xa and b == "\u{0}\u{61}\u{6c}\u{6f}\u{ff}" and c == "\u{68}\u{69}")
526+assert((((a == 0xa) and (b == "\u{0}\u{61}\u{6c}\u{6f}\u{ff}")) and (c == "\u{68}\u{69}")))
527assert(os.remove(file))
527assert(os.remove(file))
528do
528do
529io.output(io.open(file,"\u{77}\u{62}"))
529io.output(io.open(file,"\u{77}\u{62}"))
@@ -532,7 +532,7 @@ return 0x1
532end)))
532end)))
533io.close()
533io.close()
534f=assert(loadfile(file,"\u{62}",{}))
534f=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() == 0x1)
535+assert(((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") and (f() == 0x1)))
536assert(os.remove(file))
536assert(os.remove(file))
537end
537end
538io.output(io.open(file,"\u{77}\u{62}"))
538io.output(io.open(file,"\u{77}\u{62}"))
@@ -541,7 +541,7 @@ return 0x14,"\u{0}\u{0}\u{0}"
541end)))
541end)))
542io.close()
542io.close()
543a,b,c=assert(loadfile(file))()
543a,b,c=assert(loadfile(file))()
544−assert(a == 0x14 and b == "\u{0}\u{0}\u{0}" and c == nil)
544+assert((((a == 0x14) and (b == "\u{0}\u{0}\u{0}")) and (c == nil)))
545assert(os.remove(file))
545assert(os.remove(file))
546do
546do
547local f = io.open(file,"\u{77}")
547local f = io.open(file,"\u{77}")
@@ -550,21 +550,21 @@ f:close()
550local t = {["\u{62}"] = 0xc,["\u{63}"] = "\u{78}\u{75}\u{78}\u{75}",["\u{64}"] = print}
550local t = {["\u{62}"] = 0xc,["\u{63}"] = "\u{78}\u{75}\u{78}\u{75}",["\u{64}"] = print}
551local f = assert(loadfile(file,"\u{74}",t))
551local f = assert(loadfile(file,"\u{74}",t))
552local b,c,d = f(0x1)
552local b,c,d = f(0x1)
553−assert(t.a == 0xf and b == 0xc and c == t.c and d == print)
553+assert(((((t.a == 0xf) and (b == 0xc)) and (c == t.c)) and (d == print)))
554−assert(f() == t)
554+assert((f() == t))
555f=assert(loadfile(file,"\u{74}",nil))
555f=assert(loadfile(file,"\u{74}",nil))
556−assert(f() == nil)
556+assert((f() == nil))
557f=assert(loadfile(file))
557f=assert(loadfile(file))
558−assert(f() == _G)
558+assert((f() == _G))
559assert(os.remove(file))
559assert(os.remove(file))
560end
560end
561do
561do
562io.open(file,"\u{77}"):write("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}"):close()
562io.open(file,"\u{77}"):write("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}"):close()
563local s,m = loadfile(file,"\u{62}")
563local 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}"))
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}"))))
565io.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()
565io.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()
566local s,m = loadfile(file,"\u{74}")
566local 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}"))
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}"))))
568assert(os.remove(file))
568assert(os.remove(file))
569end
569end
570io.output(file)
570io.output(file)
@@ -574,23 +574,23 @@ io.close()
574assert(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())
574assert(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())
575local filehandle = assert(io.open(file,"\u{72}\u{2b}"))
575local filehandle = assert(io.open(file,"\u{72}\u{2b}"))
576local otherfilehandle = assert(io.open(otherfile,"\u{72}\u{62}"))
576local otherfilehandle = assert(io.open(otherfile,"\u{72}\u{62}"))
577−assert(filehandle ~= otherfilehandle)
577+assert((filehandle ~= otherfilehandle))
578−assert(type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
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}")
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}"))
580io.input(otherfilehandle)
580io.input(otherfilehandle)
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}")
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}")
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}"))
583filehandle:close()
583filehandle:close()
584;
584;
585−assert(type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
585+assert((type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}"))
586io.input(otherfilehandle)
586io.input(otherfilehandle)
587−assert(io.read(0x4) == "\u{0}\u{1}\u{3}\u{0}")
587+assert((io.read(0x4) == "\u{0}\u{1}\u{3}\u{0}"))
588−assert(io.read(0x3) == "\u{0}\u{0}\u{0}")
588+assert((io.read(0x3) == "\u{0}\u{0}\u{0}"))
589−assert(io.read(0x0) == "")
589+assert((io.read(0x0) == ""))
590−assert(io.read(0x1) == "\u{ff}")
590+assert((io.read(0x1) == "\u{ff}"))
591−assert(io.read("\u{61}") == "\u{0}")
591+assert((io.read("\u{61}") == "\u{0}"))
592−assert(not io.read(0x0))
592+assert((not io.read(0x0)))
593−assert(otherfilehandle == io.input())
593+assert((otherfilehandle == io.input()))
594otherfilehandle:close()
594otherfilehandle:close()
595assert(os.remove(file))
595assert(os.remove(file))
596assert(os.remove(otherfile))
596assert(os.remove(otherfile))
@@ -599,10 +599,10 @@ io.output(file):write("\u{20}\u{31}\u{32}\u{33}\u{2e}\u{34}\u{9}\u{2d}\u{35}\u{3
599io.input(file)
599io.input(file)
600local _,a,b,c,d,e,h,__ = io.read(0x1,"\u{6e}","\u{6e}","\u{6c}","\u{6c}","\u{6c}","\u{61}",0xa)
600local _,a,b,c,d,e,h,__ = io.read(0x1,"\u{6e}","\u{6e}","\u{6c}","\u{6c}","\u{6c}","\u{61}",0xa)
601assert(io.close(io.input()))
601assert(io.close(io.input()))
602−assert(_ == "\u{20}" and not __)
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)
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}")
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}")
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}"))
606assert(os.remove(file))
606assert(os.remove(file))
607collectgarbage()
607collectgarbage()
608do
608do
@@ -610,29 +610,29 @@ local f = assert(io.open(file,"\u{77}"))
610local fr = assert(io.open(file,"\u{72}"))
610local fr = assert(io.open(file,"\u{72}"))
611assert(f:setvbuf("\u{66}\u{75}\u{6c}\u{6c}",0x7d0))
611assert(f:setvbuf("\u{66}\u{75}\u{6c}\u{6c}",0x7d0))
612f:write("\u{78}")
612f:write("\u{78}")
613−assert(fr:read("\u{61}\u{6c}\u{6c}") == "")
613+assert((fr:read("\u{61}\u{6c}\u{6c}") == ""))
614f:close()
614f:close()
615fr:seek("\u{73}\u{65}\u{74}")
615fr:seek("\u{73}\u{65}\u{74}")
616−assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}")
616+assert((fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}"))
617f=assert(io.open(file),"\u{77}")
617f=assert(io.open(file),"\u{77}")
618assert(f:setvbuf("\u{6e}\u{6f}"))
618assert(f:setvbuf("\u{6e}\u{6f}"))
619f:write("\u{78}")
619f:write("\u{78}")
620fr:seek("\u{73}\u{65}\u{74}")
620fr:seek("\u{73}\u{65}\u{74}")
621−assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}")
621+assert((fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}"))
622f:close()
622f:close()
623f=assert(io.open(file,"\u{61}"))
623f=assert(io.open(file,"\u{61}"))
624assert(f:setvbuf("\u{6c}\u{69}\u{6e}\u{65}"))
624assert(f:setvbuf("\u{6c}\u{69}\u{6e}\u{65}"))
625f:write("\u{78}")
625f:write("\u{78}")
626fr:seek("\u{73}\u{65}\u{74}",0x1)
626fr:seek("\u{73}\u{65}\u{74}",0x1)
627−assert(fr:read("\u{61}\u{6c}\u{6c}") == "")
627+assert((fr:read("\u{61}\u{6c}\u{6c}") == ""))
628f:write("\u{61}\u{a}"):seek("\u{73}\u{65}\u{74}",0x1)
628f:write("\u{61}\u{a}"):seek("\u{73}\u{65}\u{74}",0x1)
629−assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}\u{61}\u{a}")
629+assert((fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}\u{61}\u{a}"))
630f:close()
630f:close()
631;
631;
632fr:close()
632fr:close()
633assert(os.remove(file))
633assert(os.remove(file))
634end
634end
635−if not _soft then
635+if (not _soft) then
636print("\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}")
636print("\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}")
637io.output(file)
637io.output(file)
638for i = 0x1, 0x1389
638for i = 0x1, 0x1389
@@ -643,27 +643,27 @@ io.write("\u{a}\u{31}\u{32}\u{33}\u{34}\u{36}"):close()
643io.input(file)
643io.input(file)
644local x = io.read("\u{61}")
644local x = io.read("\u{61}")
645io.input():seek("\u{73}\u{65}\u{74}",0x0)
645io.input():seek("\u{73}\u{65}\u{74}",0x0)
646−local y = io.read(0x7531) .. io.read(0x3ed) .. io.read(0x0) .. io.read(0x1) .. io.read(0x186a3)
646+local y = (io.read(0x7531) .. (io.read(0x3ed) .. (io.read(0x0) .. (io.read(0x1) .. io.read(0x186a3)))))
647−assert(x == y and string.len(x) == 0x1389 * 0xd + 0x6)
647+assert(((x == y) and (string.len(x) == ((0x1389 * 0xd) + 0x6))))
648io.input():seek("\u{73}\u{65}\u{74}",0x0)
648io.input():seek("\u{73}\u{65}\u{74}",0x0)
649y=io.read()
649y=io.read()
650−assert(x == y .. "\u{a}" .. io.read())
650+assert((x == (y .. ("\u{a}" .. io.read()))))
651−assert(not io.read())
651+assert((not io.read()))
652io.close(io.input())
652io.close(io.input())
653assert(os.remove(file))
653assert(os.remove(file))
654x=nil
654x=nil
655;
655;
656y=nil
656y=nil
657end
657end
658−if not _port then
658+if (not _port) then
659local progname
659local progname
660do
660do
661−local arg = arg or ARG
661+local arg = (arg or ARG)
662local i = 0x0
662local i = 0x0
663while arg[i] do
663while arg[i] do
664−i=i - 0x1
664+i=(i - 0x1)
665end
665end
666−progname="\u{22}" .. arg[i + 0x1] .. "\u{22}"
666+progname=("\u{22}" .. (arg[(i + 0x1)] .. "\u{22}"))
667end
667end
668print("\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}")
668print("\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}")
669checkerr("\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}","")
669checkerr("\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}","")
@@ -671,56 +671,56 @@ checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{6
671checkerr("\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}")
671checkerr("\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}")
672do
672do
673local file = os.tmpname()
673local file = os.tmpname()
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}"))
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}"))
675f:write("\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
675f:write("\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
676assert(f:close())
676assert(f:close())
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}"))
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}")
678+assert((f:read("\u{61}") == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}"))
679assert(f:close())
679assert(f:close())
680assert(os.remove(file))
680assert(os.remove(file))
681end
681end
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}",0x3},{"\u{65}\u{78}\u{69}\u{74}\u{20}\u{31}\u{32}\u{39}","\u{65}\u{78}\u{69}\u{74}",0x81},{"\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}",0x1},{"\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}",0x9},{"\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}",0x14}}
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}",0x3},{"\u{65}\u{78}\u{69}\u{74}\u{20}\u{31}\u{32}\u{39}","\u{65}\u{78}\u{69}\u{74}",0x81},{"\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}",0x1},{"\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}",0x9},{"\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}",0x14}}
683print("\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}")
683print("\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}")
684for _,v in ipairs(tests)
684for _,v in ipairs(tests)
685do
685do
686local x,y,z = io.popen(v[0x1]):close()
686local x,y,z = io.popen(v[0x1]):close()
687local x1,y1,z1 = os.execute(v[0x1])
687local x1,y1,z1 = os.execute(v[0x1])
688−assert(x == x1 and y == y1 and z == z1)
688+assert((((x == x1) and (y == y1)) and (z == z1)))
689−if v[0x2] == "\u{6f}\u{6b}" then
689+if (v[0x2] == "\u{6f}\u{6b}") then
690−assert(x and y == "\u{65}\u{78}\u{69}\u{74}" and z == 0x0)
690+assert(((x and (y == "\u{65}\u{78}\u{69}\u{74}")) and (z == 0x0)))
691else
691else
692−assert(not x and y == v[0x2])
692+assert((not (x and (y == v[0x2]))))
693−assert((v[0x3] == nil and z > 0x0) or v[0x3] == z)
693+assert((((v[0x3] == nil) and (z > 0x0)) or (v[0x3] == z)))
694end
694end
695end
695end
696end
696end
697f=io.tmpfile()
697f=io.tmpfile()
698−assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
698+assert((io.type(f) == "\u{66}\u{69}\u{6c}\u{65}"))
699f:write("\u{61}\u{6c}\u{6f}")
699f:write("\u{61}\u{6c}\u{6f}")
700f:seek("\u{73}\u{65}\u{74}")
700f:seek("\u{73}\u{65}\u{74}")
701−assert(f:read("\u{61}") == "\u{61}\u{6c}\u{6f}")
701+assert((f:read("\u{61}") == "\u{61}\u{6c}\u{6f}"))
702end
702end
703print("\u{2b}")
703print("\u{2b}")
704print("\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}")
704print("\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}")
705−assert(os.date("") == "")
705+assert((os.date("") == ""))
706−assert(os.date("\u{21}") == "")
706+assert((os.date("\u{21}") == ""))
707−assert(os.date("\u{0}\u{0}") == "\u{0}\u{0}")
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}")
708+assert((os.date("\u{21}\u{0}\u{0}") == "\u{0}\u{0}"))
709local x = string.rep("\u{61}",0x2710)
709local x = string.rep("\u{61}",0x2710)
710−assert(os.date(x) == x)
710+assert((os.date(x) == x))
711local t = os.time()
711local t = os.time()
712D=os.date("\u{2a}\u{74}",t)
712D=os.date("\u{2a}\u{74}",t)
713−assert(os.date(string.rep("\u{25}\u{64}",0x3e8),t) == string.rep(os.date("\u{25}\u{64}",t),0x3e8))
713+assert((os.date(string.rep("\u{25}\u{64}",0x3e8),t) == string.rep(os.date("\u{25}\u{64}",t),0x3e8)))
714−assert(os.date(string.rep("\u{25}",0xc8)) == string.rep("\u{25}",0x64))
714+assert((os.date(string.rep("\u{25}",0xc8)) == string.rep("\u{25}",0x64)))
715local function checkDateTable
715local function checkDateTable
716(t)
716(t)
717_G.D=os.date("\u{2a}\u{74}",t)
717_G.D=os.date("\u{2a}\u{74}",t)
718−assert(os.time(D) == t)
718+assert((os.time(D) == t))
719load(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))()
719load(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))()
720_G.D=nil
720_G.D=nil
721end
721end
722checkDateTable(os.time())
722checkDateTable(os.time())
723−if not _port then
723+if (not _port) then
724checkDateTable(0x0)
724checkDateTable(0x0)
725checkDateTable(0x1)
725checkDateTable(0x1)
726checkDateTable(0x3e8)
726checkDateTable(0x3e8)
@@ -736,74 +736,74 @@ checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{7
736checkerr("\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}"] = 0x3e8,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = "\u{78}"})
736checkerr("\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}"] = 0x3e8,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = "\u{78}"})
737checkerr("\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}"] = 0x3e8,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 1.5})
737checkerr("\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}"] = 0x3e8,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 1.5})
738checkerr("\u{6d}\u{69}\u{73}\u{73}\u{69}\u{6e}\u{67}",os.time,{["\u{68}\u{6f}\u{75}\u{72}"] = 0xc})
738checkerr("\u{6d}\u{69}\u{73}\u{73}\u{69}\u{6e}\u{67}",os.time,{["\u{68}\u{6f}\u{75}\u{72}"] = 0xc})
739−if string.packsize("\u{69}") == 0x4 then
739+if (string.packsize("\u{69}") == 0x4) 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}"] = - (0x1 << 0x1f) + 0x76b,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = (- ((0x1 << 0x1f) + 0x76b)),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = - (0x1 << 0x1f),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = (- (0x1 << 0x1f)),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
742−if math.maxinteger > 0x2 ^ 0x1f then
742+if (math.maxinteger > (0x2 ^ 0x1f)) then
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}"] = (0x1 << 0x1f) + 0x76c,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = ((0x1 << 0x1f) + 0x76c),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
744end
744end
745end
745end
746−if not _port then
746+if (not _port) then
747−assert(type(os.date("\u{25}\u{45}\u{78}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
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}")
748+assert((type(os.date("\u{25}\u{4f}\u{79}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
749local t0 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x0})
749local t0 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x0})
750−local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x0,["\u{73}\u{65}\u{63}"] = (0x1 << 0x1f) - 0x1})
750+local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x0,["\u{73}\u{65}\u{63}"] = ((0x1 << 0x1f) - 0x1)})
751−assert(t1 - t0 == (0x1 << 0x1f) - 0x1)
751+assert(((t1 - t0) == ((0x1 << 0x1f) - 0x1)))
752t0=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
752t0=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
753−t1=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{73}\u{65}\u{63}"] = - (0x1 << 0x1f)})
753+t1=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{73}\u{65}\u{63}"] = (- (0x1 << 0x1f))})
754−assert(t1 - t0 == - (0x1 << 0x1f))
754+assert(((t1 - t0) == (- (0x1 << 0x1f))))
755−if maxint >= 0x2 ^ 0x3e then
755+if (maxint >= (0x2 ^ 0x3e)) then
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}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
757−if string.packsize("\u{69}") == 0x4 then
757+if (string.packsize("\u{69}") == 0x4) 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}",0x2 ^ 0x28) 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}",(0x2 ^ 0x28)) then
759print("\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}")
759print("\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}")
760checkerr("\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}"] = 0xfa0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
760checkerr("\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}"] = 0xfa0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
761else
761else
762print("\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}")
762print("\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}",0x2 ^ 0x3c)
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}",(0x2 ^ 0x3c))
764−assert(tonumber(os.time({["\u{79}\u{65}\u{61}\u{72}"] = (0x1 << 0x1f) + 0x76b,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xc,["\u{64}\u{61}\u{79}"] = 0x1f,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0x3b,["\u{73}\u{65}\u{63}"] = 0x3b})))
764+assert(tonumber(os.time({["\u{79}\u{65}\u{61}\u{72}"] = ((0x1 << 0x1f) + 0x76b),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xc,["\u{64}\u{61}\u{79}"] = 0x1f,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0x3b,["\u{73}\u{65}\u{63}"] = 0x3b})))
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}"] = (0x1 << 0x1f) + 0x76b,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xc,["\u{64}\u{61}\u{79}"] = 0x1f,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0x3b,["\u{73}\u{65}\u{63}"] = 0x3c})
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}"] = ((0x1 << 0x1f) + 0x76b),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xc,["\u{64}\u{61}\u{79}"] = 0x1f,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0x3b,["\u{73}\u{65}\u{63}"] = 0x3c})
766end
766end
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}"] = 0x0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x2 ^ 0x20})
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}"] = 0x0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = (0x2 ^ 0x20)})
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}"] = 0x0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = - ((0x1 << 0x1f) + 0x1),["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = 0x0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = (- ((0x1 << 0x1f) + 0x1)),["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = (0x1 << 0x1f) + 0x76c,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = ((0x1 << 0x1f) + 0x76c),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
770else
770else
771print("\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}")
771print("\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}",0x2 ^ 0x3c)))
772+assert(tonumber(os.date("\u{25}\u{59}",(0x2 ^ 0x3c))))
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}"] = 0x2 ^ 0x3c,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
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}"] = (0x2 ^ 0x3c),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
774end
774end
775end
775end
776end
776end
777do
777do
778local D = os.date("\u{2a}\u{74}")
778local D = os.date("\u{2a}\u{74}")
779local t = os.time(D)
779local t = os.time(D)
780−if D.isdst == nil then
780+if (D.isdst == nil) then
781print("\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}")
781print("\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}")
782else
782else
783−assert(type(D.isdst) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")
783+assert((type(D.isdst) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}"))
784end
784end
785D.isdst=nil
785D.isdst=nil
786local t1 = os.time(D)
786local t1 = os.time(D)
787−assert(t == t1)
787+assert((t == t1))
788end
788end
789local D = os.date("\u{2a}\u{74}")
789local D = os.date("\u{2a}\u{74}")
790t=os.time(D)
790t=os.time(D)
791−D.year=D.year - 0x1
791+D.year=(D.year - 0x1)
792;
792;
793local t1 = os.time(D)
793local t1 = os.time(D)
794−assert(math.abs(os.difftime(t,t1) / (0x18 * 0xe10) - 0x16d) < 0x2)
794+assert((math.abs(((os.difftime(t,t1) / (0x18 * 0xe10)) - 0x16d)) < 0x2))
795t=os.time()
795t=os.time()
796t1=os.time(os.date("\u{2a}\u{74}"))
796t1=os.time(os.date("\u{2a}\u{74}"))
797local diff = os.difftime(t1,t)
797local diff = os.difftime(t1,t)
798−assert(0x0 <= diff and diff <= 0x1)
798+assert(((0x0 <= diff) and (diff <= 0x1)))
799diff=os.difftime(t,t1)
799diff=os.difftime(t,t1)
800−assert(- 0x1 <= diff and diff <= 0x0)
800+assert((- ((0x1 <= diff) and (diff <= 0x0))))
801local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7d0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xa,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0xc})
801local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7d0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xa,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0xc})
802local t2 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7d0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xa,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0xa,["\u{73}\u{65}\u{63}"] = 0x13})
802local t2 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7d0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xa,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0xa,["\u{73}\u{65}\u{63}"] = 0x13})
803−assert(os.difftime(t1,t2) == 0x3c * 0x2 - 0x13)
803+assert((os.difftime(t1,t2) == ((0x3c * 0x2) - 0x13)))
804−t1={["\u{79}\u{65}\u{61}\u{72}"] = 0x7d5,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x1,["\u{6d}\u{69}\u{6e}"] = 0x0,["\u{73}\u{65}\u{63}"] = - 0xe12}
804+t1={["\u{79}\u{65}\u{61}\u{72}"] = 0x7d5,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x1,["\u{6d}\u{69}\u{6e}"] = 0x0,["\u{73}\u{65}\u{63}"] = (- 0xe12)}
805os.time(t1)
805os.time(t1)
806−assert(t1.day == 0x1f and t1.month == 0xc and t1.year == 0x7d4 and t1.hour == 0x17 and t1.min == 0x3b and t1.sec == 0x3a and t1.yday == 0x16e)
806+assert((((((((t1.day == 0x1f) and (t1.month == 0xc)) and (t1.year == 0x7d4)) and (t1.hour == 0x17)) and (t1.min == 0x3b)) and (t1.sec == 0x3a)) and (t1.yday == 0x16e)))
807io.output(io.stdout)
807io.output(io.stdout)
808local 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}")
808local 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}")
809local 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}")
809local 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}")
zod/luau/res/lua/cycled/foo.lua → desk/res/lua/cycled/foo.luarenamed+13−13
@@ -2,7 +2,7 @@ foosjis=nil
2az=bar[nil]
2az=bar[nil]
3baz=bar(0x1).foo
3baz=bar(0x1).foo
4i=0x3
4i=0x3
5−i,a[i]=i + 0x1,0x14 >> 0x9
5+i,a[i]=(i + 0x1),(0x14 >> 0x9)
6hello="\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}"
6hello="\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}"
7x={[hello] = 0x8,["\u{68}\u{65}\u{6c}\u{6c}\u{6f}"] = 0xc}
7x={[hello] = 0x8,["\u{68}\u{65}\u{6c}\u{6c}\u{6f}"] = 0xc}
8;
8;
@@ -27,24 +27,24 @@ foo=0x9
27;
27;
28end
28end
29until true
29until true
30−if l == 0x3 then
30+if (l == 0x3) then
31−a=a + 0x1
31+a=(a + 0x1)
32;
32;
33−assert(getlocal(0x2,0x1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
33+assert((getlocal(0x2,0x1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}"))
34−elseif l == 0x4 then
34+elseif (l == 0x4) then
35−a=a + 0x1
35+a=(a + 0x1)
36;
36;
37−assert(getlocal(0x2,0x1) == "\u{41}")
37+assert((getlocal(0x2,0x1) == "\u{41}"))
38else
38else
39;
39;
40end
40end
41for i = 0x1, 0x64
41for i = 0x1, 0x64
42do
42do
43−karlSum=karlSum + i
43+karlSum=(karlSum + i)
44end
44end
45for j = 0x64, 0x1, 0x1
45for j = 0x64, 0x1, 0x1
46do
46do
47−fredSum=fredSum + j
47+fredSum=(fredSum + j)
48end
48end
49for key,val in pairs(u)
49for key,val in pairs(u)
50do
50do
@@ -56,7 +56,7 @@ self.__index=self
56return setmetatable(newObj,self)
56return setmetatable(newObj,self)
57end
57end
58function Dog:makeSound()
58function Dog:makeSound()
59−print("\u{49}\u{20}\u{73}\u{61}\u{79}\u{20}" .. self.sound)
59+print(("\u{49}\u{20}\u{73}\u{61}\u{79}\u{20}" .. self.sound))
60end
60end
61local function g
61local function g
62(x)
62(x)
@@ -66,11 +66,11 @@ local a = require("\u{6d}\u{6f}\u{64}\u{32}")
66local b = require("\u{6d}\u{6f}\u{64}\u{32}")
66local b = require("\u{6d}\u{6f}\u{64}\u{32}")
67function adder(x)
67function adder(x)
68return function (y)
68return function (y)
69−return x + y
69+return (x + y)
70end
70end
71end
71end
72−x=- 0x1 + 0x8
72+x=(- (0x1 + 0x8))
73−if _VERSION ~= version then
73+if (_VERSION ~= version) then
74io.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}")
74io.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}")
75return
75return
76end
76end
zod/luau/res/lua/cycled/gc.lua → desk/res/lua/cycled/gc.luarenamed+116−116
@@ -3,26 +3,26 @@ local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
3assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
4collectgarbage()
4collectgarbage()
5local oldmode = collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
5local 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}")
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}")
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}")
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}")
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}"))
10local function nop
10local function nop
11()
11()
12
12
13end
13end
14local function gcinfo
14local function gcinfo
15()
15()
16−return collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400
16+return (collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400)
17end
17end
18do
18do
19local a = collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",0xc8)
19local a = collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",0xc8)
20local b = collectgarbage("\u{73}\u{65}\u{74}\u{73}\u{74}\u{65}\u{70}\u{6d}\u{75}\u{6c}",0xc8)
20local b = collectgarbage("\u{73}\u{65}\u{74}\u{73}\u{74}\u{65}\u{70}\u{6d}\u{75}\u{6c}",0xc8)
21local t = {0x0,0x2,0xa,0x5a,0x1f4,0x1388,0x7530,0x7ffffffe}
21local t = {0x0,0x2,0xa,0x5a,0x1f4,0x1388,0x7530,0x7ffffffe}
22−for i = 0x1, # t
22+for i = 0x1, (# t)
23do
23do
24local p = t[i]
24local p = t[i]
25−for j = 0x1, # t
25+for j = 0x1, (# t)
26do
26do
27local m = t[j]
27local m = t[j]
28collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",p)
28collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",p)
@@ -48,7 +48,7 @@ b={0x22}
48repeat
48repeat
49u={}
49u={}
50until finish
50until finish
51−assert(b[0x1] == 0x22)
51+assert((b[0x1] == 0x22))
52finish=false
52finish=false
53;
53;
54local i = 0x1
54local i = 0x1
@@ -56,11 +56,11 @@ u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
56finish=true
56finish=true
57end})
57end})
58repeat
58repeat
59−i=i + 0x1
59+i=(i + 0x1)
60;
60;
61−u=tostring(i) .. tostring(i)
61+u=(tostring(i) .. tostring(i))
62until finish
62until finish
63−assert(b[0x1] == 0x22)
63+assert((b[0x1] == 0x22))
64finish=false
64finish=false
65u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
65u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
66finish=true
66finish=true
@@ -72,7 +72,7 @@ u=function ()
72return i
72return i
73end
73end
74until finish
74until finish
75−assert(b[0x1] == 0x22)
75+assert((b[0x1] == 0x22))
76end
76end
77local function GC2
77local function GC2
78()
78()
@@ -85,7 +85,7 @@ local b = {0x22}
85repeat
85repeat
86u={{}}
86u={{}}
87until finish
87until finish
88−assert(b[0x1] == 0x22)
88+assert((b[0x1] == 0x22))
89finish=false
89finish=false
90;
90;
91local i = 0x1
91local i = 0x1
@@ -93,11 +93,11 @@ u={setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
93finish=true
93finish=true
94end})}
94end})}
95repeat
95repeat
96−i=i + 0x1
96+i=(i + 0x1)
97;
97;
98−u={tostring(i) .. tostring(i)}
98+u={(tostring(i) .. tostring(i))}
99until finish
99until finish
100−assert(b[0x1] == 0x22)
100+assert((b[0x1] == 0x22))
101finish=false
101finish=false
102u={setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
102u={setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
103finish=true
103finish=true
@@ -109,7 +109,7 @@ u={function ()
109return i
109return i
110end}
110end}
111until finish
111until finish
112−assert(b[0x1] == 0x22)
112+assert((b[0x1] == 0x22))
113end
113end
114local function GC
114local function GC
115()
115()
@@ -129,7 +129,7 @@ end
129local a = "\u{61}"
129local a = "\u{61}"
130for i = 0x1, limit
130for i = 0x1, limit
131do
131do
132−a=i .. "\u{62}"
132+a=(i .. "\u{62}")
133;
133;
134a=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}")
134a=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}")
135a="\u{61}"
135a="\u{61}"
@@ -139,7 +139,7 @@ function a:test()
139for i = 0x1, limit
139for i = 0x1, limit
140do
140do
141load(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),"")()
141load(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))
142+assert((temp() == string.format("\u{61}\u{25}\u{64}",i)))
143end
143end
144end
144end
145a:test()
145a:test()
@@ -171,20 +171,20 @@ do
171foo=nil
171foo=nil
172print("\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}")
172print("\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}")
173local 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}"
173local 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}"
174−assert(string.len(x) == 0x50)
174+assert((string.len(x) == 0x50))
175local s = ""
175local s = ""
176−local k = math.min(0x12c,(math.maxinteger // 0x50) // 0x2)
176+local k = math.min(0x12c,((math.maxinteger // 0x50) // 0x2))
177for n = 0x1, k
177for n = 0x1, k
178do
178do
179−s=s .. x
179+s=(s .. x)
180;
180;
181local j = tostring(n)
181local j = tostring(n)
182end
182end
183−assert(string.len(s) == k * 0x50)
183+assert((string.len(s) == (k * 0x50)))
184s=string.sub(s,0x1,0x2710)
184s=string.sub(s,0x1,0x2710)
185local 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}","")
185local 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}","")
186−assert(i == 0x2710 // 0x4)
186+assert((i == (0x2710 // 0x4)))
187−assert(_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"] == 0xea)
187+assert((_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"] == 0xea))
188_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"]=nil
188_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"]=nil
189end
189end
190do
190do
@@ -203,23 +203,23 @@ end
203local x = gcinfo()
203local x = gcinfo()
204local i = 0x0
204local i = 0x0
205repeat
205repeat
206−i=i + 0x1
206+i=(i + 0x1)
207until collectgarbage("\u{73}\u{74}\u{65}\u{70}",siz)
207until collectgarbage("\u{73}\u{74}\u{65}\u{70}",siz)
208−assert(gcinfo() < x)
208+assert((gcinfo() < x))
209return i
209return i
210end
210end
211collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
211collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
212−if not _port then
212+if (not _port) then
213−assert(dosteps(0xa) < dosteps(0x2))
213+assert((dosteps(0xa) < dosteps(0x2)))
214end
214end
215−assert(dosteps(0x4e20) == 0x1)
215+assert((dosteps(0x4e20) == 0x1))
216−assert(collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x4e20) == true)
216+assert((collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x4e20) == true))
217−assert(collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x4e20) == true)
217+assert((collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x4e20) == true))
218−assert(not collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
218+assert((not collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}")))
219collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
219collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
220assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
220assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
221end
221end
222−if not _port then
222+if (not _port) then
223collectgarbage()
223collectgarbage()
224;
224;
225collectgarbage()
225collectgarbage()
@@ -227,12 +227,12 @@ local x = gcinfo()
227collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
227collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
228repeat
228repeat
229local a = {}
229local a = {}
230−until gcinfo() > 0x3 * x
230+until (gcinfo() > (0x3 * x))
231collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
231collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
232assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
232assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
233repeat
233repeat
234local a = {}
234local a = {}
235−until gcinfo() <= x * 0x2
235+until (gcinfo() <= (x * 0x2))
236end
236end
237print("\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}")
237print("\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}")
238local lim = 0xf
238local lim = 0xf
@@ -249,7 +249,7 @@ end
249for n in pairs(b)
249for n in pairs(b)
250do
250do
251a[n]=undef
251a[n]=undef
252−assert(type(n) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and next(n) == nil)
252+assert(((type(n) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and (next(n) == nil)))
253collectgarbage()
253collectgarbage()
254end
254end
255b=nil
255b=nil
@@ -264,7 +264,7 @@ a[i]=i
264end
264end
265for i = 0x1, lim
265for i = 0x1, lim
266do
266do
267−assert(a[i] == i)
267+assert((a[i] == i))
268end
268end
269print("\u{77}\u{65}\u{61}\u{6b}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
269print("\u{77}\u{65}\u{61}\u{6b}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
270a={}
270a={}
@@ -283,17 +283,17 @@ for i = 0x1, lim
283do
283do
284local s = string.rep("\u{40}",i)
284local s = string.rep("\u{40}",i)
285;
285;
286−a[s]=s .. "\u{23}"
286+a[s]=(s .. "\u{23}")
287end
287end
288collectgarbage()
288collectgarbage()
289local i = 0x0
289local i = 0x0
290for k,v in pairs(a)
290for k,v in pairs(a)
291do
291do
292−assert(k == v or k .. "\u{23}" == v)
292+assert(((k == v) or ((k .. "\u{23}") == v)))
293;
293;
294−i=i + 0x1
294+i=(i + 0x1)
295end
295end
296−assert(i == 0x2 * lim)
296+assert((i == (0x2 * lim)))
297a={}
297a={}
298;
298;
299setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
299setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
@@ -308,7 +308,7 @@ a[i]={}
308end
308end
309for i = 0x1, lim
309for i = 0x1, lim
310do
310do
311−a[i .. "\u{78}"]={}
311+a[(i .. "\u{78}")]={}
312end
312end
313for i = 0x1, lim
313for i = 0x1, lim
314do
314do
@@ -318,17 +318,17 @@ a[t]=t
318end
318end
319for i = 0x1, lim
319for i = 0x1, lim
320do
320do
321−a[i + lim]=i .. "\u{78}"
321+a[(i + lim)]=(i .. "\u{78}")
322end
322end
323collectgarbage()
323collectgarbage()
324local i = 0x0
324local i = 0x0
325for k,v in pairs(a)
325for k,v in pairs(a)
326do
326do
327−assert(k == v or k - lim .. "\u{78}" == v)
327+assert(((k == v) or (((k - lim) .. "\u{78}") == v)))
328;
328;
329−i=i + 0x1
329+i=(i + 0x1)
330end
330end
331−assert(i == 0x2 * lim)
331+assert((i == (0x2 * lim)))
332a={}
332a={}
333;
333;
334setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
334setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
@@ -351,31 +351,31 @@ local t = {}
351a[t]=t
351a[t]=t
352end
352end
353collectgarbage()
353collectgarbage()
354−assert(next(a) ~= nil)
354+assert((next(a) ~= nil))
355local i = 0x0
355local i = 0x0
356for k,v in pairs(a)
356for k,v in pairs(a)
357do
357do
358−assert((k == 0x1 and v == x) or (k == 0x2 and v == y) or (k == 0x3 and v == z) or k == v)
358+assert((((((k == 0x1) and (v == x)) or ((k == 0x2) and (v == y))) or ((k == 0x3) and (v == z))) or (k == v)))
359;
359;
360−i=i + 0x1
360+i=(i + 0x1)
361end
361end
362−assert(i == 0x4)
362+assert((i == 0x4))
363x,y,z=nil
363x,y,z=nil
364collectgarbage()
364collectgarbage()
365−assert(next(a) == string.rep("\u{24}",0xb))
365+assert((next(a) == string.rep("\u{24}",0xb)))
366a={}
366a={}
367local t = {["\u{78}"] = 0xa}
367local t = {["\u{78}"] = 0xa}
368local C = setmetatable({["\u{6b}\u{65}\u{79}"] = t},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
368local C = setmetatable({["\u{6b}\u{65}\u{79}"] = t},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
369local C1 = setmetatable({[t] = 0x1},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"})
369local C1 = setmetatable({[t] = 0x1},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"})
370a.x=t
370a.x=t
371setmetatable(a,{["\u{5f}\u{5f}\u{67}\u{63}"] = function (u)
371setmetatable(a,{["\u{5f}\u{5f}\u{67}\u{63}"] = function (u)
372−assert(C.key == nil)
372+assert((C.key == nil))
373−assert(type(next(C1)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
373+assert((type(next(C1)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
374end})
374end})
375a,t=nil
375a,t=nil
376collectgarbage()
376collectgarbage()
377collectgarbage()
377collectgarbage()
378−assert(next(C) == nil and next(C1) == nil)
378+assert(((next(C) == nil) and (next(C1) == nil)))
379C,C1=nil
379C,C1=nil
380local mt = {["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"}
380local mt = {["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"}
381a={{0xa},{0x14},{0x1e},{0x28}}
381a={{0xa},{0x14},{0x1e},{0x28}}
@@ -396,18 +396,18 @@ local i = 0x0
396while n do
396while n do
397n=a[n].k[0x1]
397n=a[n].k[0x1]
398;
398;
399−i=i + 0x1
399+i=(i + 0x1)
400end
400end
401−assert(i == 0x64)
401+assert((i == 0x64))
402x=nil
402x=nil
403GC()
403GC()
404for i = 0x1, 0x4
404for i = 0x1, 0x4
405do
405do
406−assert(a[i][0x1] == i * 0xa)
406+assert((a[i][0x1] == (i * 0xa)))
407;
407;
408a[i]=undef
408a[i]=undef
409end
409end
410−assert(next(a) == nil)
410+assert((next(a) == nil))
411local K = {}
411local K = {}
412a[K]={}
412a[K]={}
413for i = 0x1, 0xa
413for i = 0x1, 0xa
@@ -422,7 +422,7 @@ for j = 0x1, 0x64
422do
422do
423local n = {}
423local n = {}
424;
424;
425−local nk = k % 0xa + 0x1
425+local nk = ((k % 0xa) + 0x1)
426a[a[K][nk]][n]={x,["\u{6b}"] = k}
426a[a[K][nk]][n]={x,["\u{6b}"] = k}
427;
427;
428x=n
428x=n
@@ -439,9 +439,9 @@ n=t[0x1]
439;
439;
440k=t.k
440k=t.k
441;
441;
442−i=i + 0x1
442+i=(i + 0x1)
443end
443end
444−assert(i == 0x64)
444+assert((i == 0x64))
445K=nil
445K=nil
446GC()
446GC()
447if T then
447if T then
@@ -453,8 +453,8 @@ setmetatable(s,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"})
453setmetatable(u,{["\u{5f}\u{5f}\u{67}\u{63}"] = function (o)
453setmetatable(u,{["\u{5f}\u{5f}\u{67}\u{63}"] = function (o)
454local i = s[o]
454local i = s[o]
455s[i]=true
455s[i]=true
456−assert(not s[i - 0x1])
456+assert((not s[(i - 0x1)]))
457−if i == 0x8 then
457+if (i == 0x8) then
458error("\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{40}")
458error("\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{40}")
459end
459end
460end})
460end})
@@ -468,7 +468,7 @@ warn("\u{40}\u{6f}\u{6e}")
468warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
468warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
469collectgarbage()
469collectgarbage()
470assert(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}"))
470assert(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}")
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}"))
472;
472;
473_WARN=false
473_WARN=false
474for i = 0x8, 0xa
474for i = 0x8, 0xa
@@ -489,7 +489,7 @@ getmetatable(u).__gc=nil
489warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
489warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
490end
490end
491print("\u{2b}")
491print("\u{2b}")
492−if T == nil then
492+if (T == nil) then
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}")
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}")
494else
494else
495local function newproxy
495local function newproxy
@@ -509,7 +509,7 @@ a[newproxy(u)]=i
509end
509end
510for k in pairs(a)
510for k in pairs(a)
511do
511do
512−assert(getmetatable(k) == getmetatable(u))
512+assert((getmetatable(k) == getmetatable(u)))
513end
513end
514local a1 = {}
514local a1 = {}
515;
515;
@@ -530,19 +530,19 @@ getmetatable(u).u=u
530do
530do
531local u = u
531local u = u
532getmetatable(u).__gc=function (o)
532getmetatable(u).__gc=function (o)
533−assert(a[o] == 0xa - s)
533+assert((a[o] == (0xa - s)))
534−assert(a[0xa - s] == undef)
534+assert((a[(0xa - s)] == undef))
535−assert(getmetatable(o) == getmetatable(u))
535+assert((getmetatable(o) == getmetatable(u)))
536−assert(getmetatable(o).a[o] == 0xa - s)
536+assert((getmetatable(o).a[o] == (0xa - s)))
537−s=s + 0x1
537+s=(s + 0x1)
538end
538end
539end
539end
540a1,u=nil
540a1,u=nil
541−assert(next(a) ~= nil)
541+assert((next(a) ~= nil))
542collectgarbage()
542collectgarbage()
543−assert(s == 0xb)
543+assert((s == 0xb))
544collectgarbage()
544collectgarbage()
545−assert(next(a) == nil)
545+assert((next(a) == nil))
546end
546end
547local u = setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = true})
547local u = setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = true})
548setmetatable(getmetatable(u),{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
548setmetatable(getmetatable(u),{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
@@ -558,34 +558,34 @@ m.x={[{0x0}] = 0x1,[0x0] = {0x1}}
558setmetatable(m.x,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
558setmetatable(m.x,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
559;
559;
560m.__gc=function (o)
560m.__gc=function (o)
561−assert(next(getmetatable(o).x) == nil)
561+assert((next(getmetatable(o).x) == nil))
562m=0xa
562m=0xa
563end
563end
564u,m=nil
564u,m=nil
565collectgarbage()
565collectgarbage()
566−assert(m == 0xa)
566+assert((m == 0xa))
567do
567do
568collectgarbage()
568collectgarbage()
569;
569;
570collectgarbage()
570collectgarbage()
571local m = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
571local m = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
572local a = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
572local a = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
573−a[string.rep("\u{61}",0x2 ^ 0x16)]=0x19
573+a[string.rep("\u{61}",(0x2 ^ 0x16))]=0x19
574−a[string.rep("\u{62}",0x2 ^ 0x16)]={}
574+a[string.rep("\u{62}",(0x2 ^ 0x16))]={}
575a[{}]=0xe
575a[{}]=0xe
576−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > m + 0x2 ^ 0xd)
576+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > (m + (0x2 ^ 0xd))))
577collectgarbage()
577collectgarbage()
578−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= m + 0x2 ^ 0xc and collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") < m + 0x2 ^ 0xd)
578+assert(((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= (m + (0x2 ^ 0xc))) and (collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") < (m + (0x2 ^ 0xd)))))
579local k,v = next(a)
579local k,v = next(a)
580−assert(k == string.rep("\u{61}",0x2 ^ 0x16) and v == 0x19)
580+assert(((k == string.rep("\u{61}",(0x2 ^ 0x16))) and (v == 0x19)))
581−assert(next(a,k) == nil)
581+assert((next(a,k) == nil))
582−assert(a[string.rep("\u{62}",0x2 ^ 0x16)] == undef)
582+assert((a[string.rep("\u{62}",(0x2 ^ 0x16))] == undef))
583a[k]=undef
583a[k]=undef
584k=nil
584k=nil
585collectgarbage()
585collectgarbage()
586−assert(next(a) == nil)
586+assert((next(a) == nil))
587−assert(a[string.rep("\u{62}",0x64)] == undef)
587+assert((a[string.rep("\u{62}",0x64)] == undef))
588−assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= m + 0x1)
588+assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= (m + 0x1)))
589end
589end
590if T then
590if T then
591warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
591warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
@@ -599,7 +599,7 @@ assert(string.find(_WARN,"\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}
599_WARN=false
599_WARN=false
600warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
600warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
601end
601end
602−if not _soft then
602+if (not _soft) then
603print("\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{6c}\u{69}\u{73}\u{74}")
603print("\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{6c}\u{69}\u{73}\u{74}")
604local a = {}
604local a = {}
605for i = 0x1, 0x30d40
605for i = 0x1, 0x30d40
@@ -620,10 +620,10 @@ thread=x
620end
620end
621coroutine.yield()
621coroutine.yield()
622end
622end
623−while thread_id < 0x3e8 do
623+while (thread_id < 0x3e8) do
624local thread = coroutine.create(fn)
624local thread = coroutine.create(fn)
625coroutine.resume(thread,thread)
625coroutine.resume(thread,thread)
626−thread_id=thread_id + 0x1
626+thread_id=(thread_id + 0x1)
627end
627end
628do
628do
629local collected = false
629local collected = false
@@ -635,7 +635,7 @@ local function f
635(param)
635(param)
636;
636;
637(function ()
637(function ()
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}")
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}")))
639param={param,f}
639param={param,f}
640setmetatable(param,{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
640setmetatable(param,{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
641collected=true
641collected=true
@@ -660,7 +660,7 @@ for i = 0x1, 0x3e8
660do
660do
661_ENV.a={}
661_ENV.a={}
662end
662end
663−until gcinfo() > 0x2 * x
663+until (gcinfo() > (0x2 * x))
664collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
664collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
665_ENV.a=nil
665_ENV.a=nil
666end
666end
@@ -671,9 +671,9 @@ local a = {["\u{78}"] = 0x14}
671coroutine.yield(function ()
671coroutine.yield(function ()
672return a.x
672return a.x
673end)
673end)
674−assert(a.x == 0x14)
674+assert((a.x == 0x14))
675a={["\u{78}"] = 0x1e}
675a={["\u{78}"] = 0x1e}
676−assert(T.gccolor(a) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
676+assert((T.gccolor(a) == "\u{77}\u{68}\u{69}\u{74}\u{65}"))
677coroutine.yield(0x64)
677coroutine.yield(0x64)
678end
678end
679local t = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
679local t = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
@@ -683,11 +683,11 @@ collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
683t.co=coroutine.wrap(foo)
683t.co=coroutine.wrap(foo)
684local f = t.co()
684local f = t.co()
685T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
685T.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}")
686+assert((T.gcstate() == "\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}"))
687−assert(t.co() == 0x64)
687+assert((t.co() == 0x64))
688−assert(T.gccolor(t.co) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
688+assert((T.gccolor(t.co) == "\u{77}\u{68}\u{69}\u{74}\u{65}"))
689T.gcstate("\u{70}\u{61}\u{75}\u{73}\u{65}")
689T.gcstate("\u{70}\u{61}\u{75}\u{73}\u{65}")
690−assert(t.co == nil and f() == 0x1e)
690+assert(((t.co == nil) and (f() == 0x1e)))
691collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
691collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
692local u = T.newuserdata(0x0,0x1)
692local u = T.newuserdata(0x0,0x1)
693collectgarbage()
693collectgarbage()
@@ -696,10 +696,10 @@ local a = {}
696T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
696T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
697T.gcstate("\u{73}\u{77}\u{65}\u{65}\u{70}\u{61}\u{6c}\u{6c}\u{67}\u{63}")
697T.gcstate("\u{73}\u{77}\u{65}\u{65}\u{70}\u{61}\u{6c}\u{6c}\u{67}\u{63}")
698local x = {}
698local x = {}
699−assert(T.gccolor(u) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}")
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}")
700+assert((T.gccolor(x) == "\u{77}\u{68}\u{69}\u{74}\u{65}"))
701debug.setuservalue(u,x)
701debug.setuservalue(u,x)
702−assert(T.gccolor(u) == "\u{67}\u{72}\u{61}\u{79}")
702+assert((T.gccolor(u) == "\u{67}\u{72}\u{61}\u{79}"))
703collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
703collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
704print("\u{2b}")
704print("\u{2b}")
705end
705end
@@ -710,7 +710,7 @@ local x = T.newuserdata(0x0)
710local y = T.newuserdata(0x0)
710local y = T.newuserdata(0x0)
711debug.setmetatable(y,{["\u{5f}\u{5f}\u{67}\u{63}"] = nop})
711debug.setmetatable(y,{["\u{5f}\u{5f}\u{67}\u{63}"] = nop})
712debug.setmetatable(x,{["\u{5f}\u{5f}\u{67}\u{63}"] = nop})
712debug.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}")
713+assert((T.gccolor(y) == "\u{77}\u{68}\u{69}\u{74}\u{65}"))
714T.checkmemory()
714T.checkmemory()
715collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
715collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
716end
716end
@@ -718,7 +718,7 @@ if T then
718print("\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}")
718print("\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}")
719collectgarbage()
719collectgarbage()
720collectgarbage()
720collectgarbage()
721−T.totalmem(T.totalmem() + 0xc8)
721+T.totalmem((T.totalmem() + 0xc8))
722for i = 0x1, 0xc8
722for i = 0x1, 0xc8
723do
723do
724local a = {}
724local a = {}
@@ -727,27 +727,27 @@ T.totalmem(0x0)
727collectgarbage()
727collectgarbage()
728local t = T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}")
728local t = T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}")
729local a = {{},{},{}}
729local a = {{},{},{}}
730−assert(T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}") == t + 0x4)
730+assert((T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}") == (t + 0x4)))
731t=T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
731t=T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
732a=function ()
732a=function ()
733
733
734end
734end
735−assert(T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") == t + 0x1)
735+assert((T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") == (t + 0x1)))
736t=T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")
736t=T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")
737a=coroutine.create(function ()
737a=coroutine.create(function ()
738
738
739end)
739end)
740−assert(T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") == t + 0x1)
740+assert((T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") == (t + 0x1)))
741end
741end
742do
742do
743local setmetatable,assert,type,print,getmetatable = setmetatable,assert,type,print,getmetatable
743local setmetatable,assert,type,print,getmetatable = setmetatable,assert,type,print,getmetatable
744local tt = {}
744local tt = {}
745tt.__gc=function (o)
745tt.__gc=function (o)
746−assert(getmetatable(o) == tt)
746+assert((getmetatable(o) == tt))
747−local a = "\u{78}\u{75}\u{78}\u{75}" .. (0xa + 0x3) .. "\u{6a}\u{6f}\u{61}\u{6f}",{}
747+local a = ("\u{78}\u{75}\u{78}\u{75}" .. ((0xa + 0x3) .. "\u{6a}\u{6f}\u{61}\u{6f}")),{}
748___Glob=o
748___Glob=o
749setmetatable({},tt)
749setmetatable({},tt)
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}")
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}"))
751end
751end
752local u = setmetatable({},tt)
752local u = setmetatable({},tt)
753___Glob={u}
753___Glob={u}
@@ -757,22 +757,22 @@ local error,assert,find,warn = error,assert,string.find,warn
757local n = 0x0
757local n = 0x0
758local lastmsg
758local lastmsg
759local mt = {["\u{5f}\u{5f}\u{67}\u{63}"] = function (o)
759local mt = {["\u{5f}\u{5f}\u{67}\u{63}"] = function (o)
760−n=n + 0x1
760+n=(n + 0x1)
761−assert(n == o[0x1])
761+assert((n == o[0x1]))
762−if n == 0x1 then
762+if (n == 0x1) then
763_WARN=false
763_WARN=false
764−elseif n == 0x2 then
764+elseif (n == 0x2) then
765assert(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}"))
765assert(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}"))
766lastmsg=_WARN
766lastmsg=_WARN
767else
767else
768−assert(lastmsg == _WARN)
768+assert((lastmsg == _WARN))
769end
769end
770warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
770warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
771;
771;
772_WARN=false
772_WARN=false
773error("\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}")
773error("\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}")
774end}
774end}
775−for i = 0xa, 0x1, - 0x1
775+for i = 0xa, 0x1, (- 0x1)
776do
776do
777table.insert(___Glob,setmetatable({i},mt))
777table.insert(___Glob,setmetatable({i},mt))
778end
778end
@@ -784,7 +784,7 @@ setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
784res=collectgarbage()
784res=collectgarbage()
785end})
785end})
786collectgarbage()
786collectgarbage()
787−assert(not res)
787+assert((not res))
788end
788end
789collectgarbage(oldmode)
789collectgarbage(oldmode)
790print("\u{4f}\u{4b}")
790print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/gengc.lua → desk/res/lua/cycled/gengc.luarenamed+24−24
@@ -6,14 +6,14 @@ local oldmode = collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}
6do
6do
7local U = {}
7local U = {}
8collectgarbage()
8collectgarbage()
9−assert(not T or T.gcage(U) == "\u{6f}\u{6c}\u{64}")
9+assert((not (T or (T.gcage(U) == "\u{6f}\u{6c}\u{64}"))))
10U[0x1]={["\u{78}"] = {0xea}}
10U[0x1]={["\u{78}"] = {0xea}}
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[0x1]) == "\u{6e}\u{65}\u{77}"))
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[0x1]) == "\u{6e}\u{65}\u{77}")))))
12collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
12collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
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[0x1]) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}"))
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[0x1]) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}")))))
14collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
14collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
15−assert(not T or (T.gcage(U) == "\u{6f}\u{6c}\u{64}" and T.gcage(U[0x1]) == "\u{6f}\u{6c}\u{64}\u{31}"))
15+assert((not (T or ((T.gcage(U) == "\u{6f}\u{6c}\u{64}") and (T.gcage(U[0x1]) == "\u{6f}\u{6c}\u{64}\u{31}")))))
16−assert(U[0x1].x[0x1] == 0xea)
16+assert((U[0x1].x[0x1] == 0xea))
17end
17end
18do
18do
19local function foo
19local function foo
@@ -22,11 +22,11 @@ local function foo
22end
22end
23local old = {0xa}
23local old = {0xa}
24collectgarbage()
24collectgarbage()
25−assert(not T or T.gcage(old) == "\u{6f}\u{6c}\u{64}")
25+assert((not (T or (T.gcage(old) == "\u{6f}\u{6c}\u{64}"))))
26setmetatable(old,{})
26setmetatable(old,{})
27−assert(not T or T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{30}")
27+assert((not (T or (T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{30}"))))
28collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
28collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
29−assert(not T or T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{31}")
29+assert((not (T or (T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{31}"))))
30setmetatable(getmetatable(old),{["\u{5f}\u{5f}\u{67}\u{63}"] = foo})
30setmetatable(getmetatable(old),{["\u{5f}\u{5f}\u{67}\u{63}"] = foo})
31collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
31collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
32end
32end
@@ -36,7 +36,7 @@ A[0x1]=false
36local function gcf
36local function gcf
37(obj)
37(obj)
38A[0x1]=obj
38A[0x1]=obj
39−assert(not T or T.gcage(obj) == "\u{6f}\u{6c}\u{64}\u{31}")
39+assert((not (T or (T.gcage(obj) == "\u{6f}\u{6c}\u{64}\u{31}"))))
40obj=nil
40obj=nil
41collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
41collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
42print(getmetatable(A[0x1]).x)
42print(getmetatable(A[0x1]).x)
@@ -44,9 +44,9 @@ end
44collectgarbage()
44collectgarbage()
45local obj = {}
45local obj = {}
46collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
46collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
47−assert(not T or T.gcage(obj) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}")
47+assert((not (T or (T.gcage(obj) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}"))))
48setmetatable(obj,{["\u{5f}\u{5f}\u{67}\u{63}"] = gcf,["\u{78}"] = "\u{2b}"})
48setmetatable(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}")
49+assert((not (T or (T.gcage(getmetatable(obj)) == "\u{6e}\u{65}\u{77}"))))
50obj=nil
50obj=nil
51collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
51collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
52end
52end
@@ -67,25 +67,25 @@ old[0x1]={"\u{68}\u{65}\u{6c}\u{6c}\u{6f}"}
67coroutine.resume(co,{0x7b})
67coroutine.resume(co,{0x7b})
68co=nil
68co=nil
69collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
69collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
70−assert(f() == 0x7b and old[0x1][0x1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
70+assert(((f() == 0x7b) and (old[0x1][0x1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")))
71collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
71collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
72−assert(f() == 0x7b and old[0x1][0x1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
72+assert(((f() == 0x7b) and (old[0x1][0x1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")))
73end
73end
74do
74do
75local t = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
75local t = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
76collectgarbage()
76collectgarbage()
77−assert(not T or T.gcage(t) == "\u{6f}\u{6c}\u{64}")
77+assert((not (T or (T.gcage(t) == "\u{6f}\u{6c}\u{64}"))))
78t[0x1]={0xa}
78t[0x1]={0xa}
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}"))
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}")))))
80collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
80collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
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}"))
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}")))))
82collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
82collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
83−assert(not T or T.gcage(t) == "\u{6f}\u{6c}\u{64}")
83+assert((not (T or (T.gcage(t) == "\u{6f}\u{6c}\u{64}"))))
84t[0x1]={0xa}
84t[0x1]={0xa}
85collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
85collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
86−assert(t[0x1] == nil)
86+assert((t[0x1] == nil))
87end
87end
88−if T == nil then
88+if (T == nil) then
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}")
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}")
90print("\u{4f}\u{4b}")
90print("\u{4f}\u{4b}")
91return
91return
@@ -93,14 +93,14 @@ end
93do
93do
94local U = T.newuserdata(0x0,0x1)
94local U = T.newuserdata(0x0,0x1)
95collectgarbage()
95collectgarbage()
96−assert(T.gcage(U) == "\u{6f}\u{6c}\u{64}")
96+assert((T.gcage(U) == "\u{6f}\u{6c}\u{64}"))
97debug.setuservalue(U,{["\u{78}"] = {0xea}})
97debug.setuservalue(U,{["\u{78}"] = {0xea}})
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}")
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}")))
99collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
99collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
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}")
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}")))
101collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
101collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
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}")
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}")))
103−assert(debug.getuservalue(U).x[0x1] == 0xea)
103+assert((debug.getuservalue(U).x[0x1] == 0xea))
104end
104end
105assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
105assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
106assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
106assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
zod/luau/res/lua/cycled/goto.lua → desk/res/lua/cycled/goto.luarenamed+43−43
@@ -2,7 +2,7 @@ collectgarbage()
2local function errmsg
2local function errmsg
3(code,m)
3(code,m)
4local st,msg = load(code)
4local st,msg = load(code)
5−assert(not st and string.find(msg,m))
5+assert((not (st and string.find(msg,m))))
6end
6end
7errmsg("\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}")
7errmsg("\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}")
8errmsg("\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}")
8errmsg("\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}")
@@ -18,7 +18,7 @@ do
18local y = 0xc
18local y = 0xc
19goto l1
19goto l1
20::l2::
20::l2::
21−x=x + 0x1
21+x=(x + 0x1)
22;
22;
23goto l3
23goto l3
24::l1::
24::l1::
@@ -28,12 +28,12 @@ goto l2
28end
28end
29::l3::
29::l3::
30::l3_1::
30::l3_1::
31−assert(x == 0xd)
31+assert((x == 0xd))
32do
32do
33local 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}"
33local 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}"
34local label = string.rep("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x28)
34local label = string.rep("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x28)
35prog=string.format(prog,label,label,label,label)
35prog=string.format(prog,label,label,label,label)
36−assert(assert(load(prog))() == 0x1f)
36+assert((assert(load(prog))() == 0x1f))
37end
37end
38do
38do
39goto l1
39goto l1
@@ -53,7 +53,7 @@ local x = 0x2d
53;
53;
54end
54end
55::l4::
55::l4::
56−assert(x == 0xd)
56+assert((x == 0xd))
57if print then
57if print then
58goto l1
58goto l1
59error("\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}")
59error("\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}")
@@ -72,34 +72,34 @@ local function foo
72local a = {}
72local a = {}
73goto l3
73goto l3
74::l1::
74::l1::
75−a[# a + 0x1]=0x1
75+a[(# (a + 0x1))]=0x1
76;
76;
77goto l2
77goto l2
78;
78;
79::l2::
79::l2::
80−a[# a + 0x1]=0x2
80+a[(# (a + 0x1))]=0x2
81;
81;
82goto l5
82goto l5
83;
83;
84::l3::
84::l3::
85::l3a::
85::l3a::
86−a[# a + 0x1]=0x3
86+a[(# (a + 0x1))]=0x3
87;
87;
88goto l1
88goto l1
89;
89;
90::l4::
90::l4::
91−a[# a + 0x1]=0x4
91+a[(# (a + 0x1))]=0x4
92;
92;
93goto l6
93goto l6
94;
94;
95::l5::
95::l5::
96−a[# a + 0x1]=0x5
96+a[(# (a + 0x1))]=0x5
97;
97;
98goto l4
98goto l4
99;
99;
100::l6::
100::l6::
101−assert(a[0x1] == 0x3 and a[0x2] == 0x1 and a[0x3] == 0x2 and a[0x4] == 0x5 and a[0x5] == 0x4)
101+assert((((((a[0x1] == 0x3) and (a[0x2] == 0x1)) and (a[0x3] == 0x2)) and (a[0x4] == 0x5)) and (a[0x5] == 0x4)))
102−if not a[0x6] then
102+if (not a[0x6]) then
103a[0x6]=true
103a[0x6]=true
104;
104;
105goto l3a
105goto l3a
@@ -111,15 +111,15 @@ do
111local x
111local x
112::L1::
112::L1::
113local y
113local y
114−assert(y == nil)
114+assert((y == nil))
115y=true
115y=true
116−if x == nil then
116+if (x == nil) then
117x=0x1
117x=0x1
118goto L1
118goto L1
119else
119else
120−x=x + 0x1
120+x=(x + 0x1)
121end
121end
122−assert(x == 0x2 and y == true)
122+assert(((x == 0x2) and (y == true)))
123end
123end
124do
124do
125local first = true
125local first = true
@@ -160,18 +160,18 @@ end
160local b
160local b
161do
161do
162local c
162local c
163−t[# t + 0x1]=function ()
163+t[(# (t + 0x1))]=function ()
164return a,b,c,d
164return a,b,c,d
165end
165end
166−if i > 0x2 then
166+if (i > 0x2) then
167goto l2
167goto l2
168end
168end
169do
169do
170local d
170local d
171−t[# t + 0x1]=function ()
171+t[(# (t + 0x1))]=function ()
172return a,b,c,d
172return a,b,c,d
173end
173end
174−i=i + 0x1
174+i=(i + 0x1)
175local a
175local a
176goto l1
176goto l1
177end
177end
@@ -181,52 +181,52 @@ end
181return t
181return t
182end
182end
183local a = foo()
183local a = foo()
184−assert(# a == 0x6)
184+assert((# (a == 0x6)))
185for i = 0x2, 0x6
185for i = 0x2, 0x6
186do
186do
187−assert(debug.upvalueid(a[0x1],0x1) == debug.upvalueid(a[i],0x1))
187+assert((debug.upvalueid(a[0x1],0x1) == debug.upvalueid(a[i],0x1)))
188end
188end
189for i = 0x2, 0x6
189for i = 0x2, 0x6
190do
190do
191−assert(debug.upvalueid(a[0x1],0x2) ~= debug.upvalueid(a[i],0x2))
191+assert((debug.upvalueid(a[0x1],0x2) ~= debug.upvalueid(a[i],0x2)))
192−assert(debug.upvalueid(a[0x1],0x3) ~= debug.upvalueid(a[i],0x3))
192+assert((debug.upvalueid(a[0x1],0x3) ~= debug.upvalueid(a[i],0x3)))
193end
193end
194for i = 0x3, 0x5, 0x2
194for i = 0x3, 0x5, 0x2
195do
195do
196−assert(debug.upvalueid(a[i],0x2) == debug.upvalueid(a[i - 0x1],0x2))
196+assert((debug.upvalueid(a[i],0x2) == debug.upvalueid(a[(i - 0x1)],0x2)))
197−assert(debug.upvalueid(a[i],0x3) == debug.upvalueid(a[i - 0x1],0x3))
197+assert((debug.upvalueid(a[i],0x3) == debug.upvalueid(a[(i - 0x1)],0x3)))
198−assert(debug.upvalueid(a[i],0x2) ~= debug.upvalueid(a[i + 0x1],0x2))
198+assert((debug.upvalueid(a[i],0x2) ~= debug.upvalueid(a[(i + 0x1)],0x2)))
199−assert(debug.upvalueid(a[i],0x3) ~= debug.upvalueid(a[i + 0x1],0x3))
199+assert((debug.upvalueid(a[i],0x3) ~= debug.upvalueid(a[(i + 0x1)],0x3)))
200end
200end
201for i = 0x2, 0x6, 0x2
201for i = 0x2, 0x6, 0x2
202do
202do
203−assert(debug.upvalueid(a[0x1],0x4) == debug.upvalueid(a[i],0x4))
203+assert((debug.upvalueid(a[0x1],0x4) == debug.upvalueid(a[i],0x4)))
204end
204end
205for i = 0x3, 0x5, 0x2
205for i = 0x3, 0x5, 0x2
206do
206do
207for j = 0x1, 0x6
207for j = 0x1, 0x6
208do
208do
209−assert((debug.upvalueid(a[i],0x4) == debug.upvalueid(a[j],0x4)) == (i == j))
209+assert(((debug.upvalueid(a[i],0x4) == debug.upvalueid(a[j],0x4)) == (i == j)))
210end
210end
211end
211end
212local function testG
212local function testG
213(a)
213(a)
214−if a == 0x1 then
214+if (a == 0x1) then
215goto l1
215goto l1
216error("\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}")
216error("\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}")
217−elseif a == 0x2 then
217+elseif (a == 0x2) then
218goto l2
218goto l2
219−elseif a == 0x3 then
219+elseif (a == 0x3) then
220goto l3
220goto l3
221−elseif a == 0x4 then
221+elseif (a == 0x4) then
222goto l1
222goto l1
223error("\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}")
223error("\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}")
224::l1::
224::l1::
225−a=a + 0x1
225+a=(a + 0x1)
226else
226else
227goto l4
227goto l4
228::l4a::
228::l4a::
229−a=a * 0x2
229+a=(a * 0x2)
230;
230;
231goto l4b
231goto l4b
232error("\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}")
232error("\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}")
@@ -249,11 +249,11 @@ end
249::l1::
249::l1::
250return "\u{31}"
250return "\u{31}"
251end
251end
252−assert(testG(0x1) == "\u{31}")
252+assert((testG(0x1) == "\u{31}"))
253−assert(testG(0x2) == "\u{32}")
253+assert((testG(0x2) == "\u{32}"))
254−assert(testG(0x3) == "\u{33}")
254+assert((testG(0x3) == "\u{33}"))
255−assert(testG(0x4) == 0x5)
255+assert((testG(0x4) == 0x5))
256−assert(testG(0x5) == 0xa)
256+assert((testG(0x5) == 0xa))
257do
257do
258local X
258local X
259goto L1
259goto L1
@@ -264,12 +264,12 @@ do
264local a <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
264local a <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
265X=true
265X=true
266end})
266end})
267−assert(X == nil)
267+assert((X == nil))
268if a then
268if a then
269goto L2
269goto L2
270end
270end
271end
271end
272::L3::
272::L3::
273−assert(X == true)
273+assert((X == true))
274end
274end
275print("\u{4f}\u{4b}")
275print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/heavy.lua → desk/res/lua/cycled/heavy.luarenamed+32−32
@@ -5,58 +5,58 @@ do
5local a = "\u{78}"
5local a = "\u{78}"
6local st,msg = pcall(function ()
6local st,msg = pcall(function ()
7while true do
7while true do
8−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 .. a
8+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 .. 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))
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)))
10end
10end
11end)
11end)
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}")))
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 * 0x64)
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 * 0x64))))
14end
14end
15print("\u{2b}")
15print("\u{2b}")
16end
16end
17local function loadrep
17local function loadrep
18(x,what)
18(x,what)
19−local p = 0x1 << 0x14
19+local p = (0x1 << 0x14)
20local s = string.rep(x,p)
20local s = string.rep(x,p)
21local count = 0x0
21local count = 0x0
22local function f
22local function f
23()
23()
24−count=count + p
24+count=(count + p)
25−if count % (0x80 * p) == 0x0 then
25+if ((count % (0x80 * p)) == 0x0) then
26−io.stderr:write("\u{28}",count // 0x2 ^ 0x14,"\u{20}\u{4d}\u{29}")
26+io.stderr:write("\u{28}",(count // (0x2 ^ 0x14)),"\u{20}\u{4d}\u{29}")
27end
27end
28return s
28return s
29end
29end
30local st,msg = load(f,"\u{3d}\u{62}\u{69}\u{67}")
30local 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}") * 0x400)
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}") * 0x400))
32msg=string.match(msg,"\u{5e}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}")
32msg=string.match(msg,"\u{5e}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}")
33print(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))
33print(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))
34return st,msg
34return st,msg
35end
35end
36function controlstruct()
36function controlstruct()
37print("\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}")
37print("\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}")
38−local lim = ((0x1 << 0x18) - 0x2) // 0x3
38+local lim = (((0x1 << 0x18) - 0x2) // 0x3)
39local s = string.rep("\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}",lim)
39local 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}"
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}"))
41assert(load(s))
41assert(load(s))
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}")
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}")))
43−lim=lim + 0x3
43+lim=(lim + 0x3)
44s=string.rep("\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}",lim)
44s=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}"
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}"))
46local st,msg = load(s)
46local st,msg = load(s)
47−assert(not st and string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}"))
47+assert((not (st and string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}"))))
48print(msg)
48print(msg)
49end
49end
50function manylines()
50function manylines()
51print("\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}")
51print("\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}")
52local st,msg = loadrep("\u{a}","\u{6c}\u{69}\u{6e}\u{65}\u{73}")
52local 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}"))
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}"))))
54print("\u{2b}")
54print("\u{2b}")
55end
55end
56function hugeid()
56function hugeid()
57print("\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}")
57print("\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}")
58local st,msg = loadrep("\u{61}","\u{63}\u{68}\u{61}\u{72}\u{73}")
58local 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}")))
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}")))))
60print("\u{2b}")
60print("\u{2b}")
61end
61end
62function toomanyinst()
62function toomanyinst()
@@ -66,28 +66,28 @@ print("\u{2b}")
66end
66end
67local function loadrepfunc
67local function loadrepfunc
68(prefix,f)
68(prefix,f)
69−local count = - 0x1
69+local count = (- 0x1)
70local function aux
70local function aux
71()
71()
72−count=count + 0x1
72+count=(count + 0x1)
73−if count == 0x0 then
73+if (count == 0x0) then
74return prefix
74return prefix
75else
75else
76−if count % (0x100000) == 0x0 then
76+if ((count % 0x100000) == 0x0) then
77−io.stderr:write("\u{28}",count // 0x2 ^ 0x14,"\u{20}\u{4d}\u{29}")
77+io.stderr:write("\u{28}",(count // (0x2 ^ 0x14)),"\u{20}\u{4d}\u{29}")
78end
78end
79return f(count)
79return f(count)
80end
80end
81end
81end
82local st,msg = load(aux,"\u{6b}")
82local 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}") * 0x400)
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}") * 0x400))
84msg=string.match(msg,"\u{5e}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}")
84msg=string.match(msg,"\u{5e}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}")
85print("\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)
85print("\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)
86end
86end
87function toomanyconst()
87function toomanyconst()
88print("\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}")
88print("\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}")
89loadrepfunc("\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)
89loadrepfunc("\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)
90−return string.char(0x22,((n // 0x80 ^ 0x0) & 0x7f) + 0x80,((n // 0x80 ^ 0x1) & 0x7f) + 0x80,((n // 0x80 ^ 0x2) & 0x7f) + 0x80,((n // 0x80 ^ 0x3) & 0x7f) + 0x80,((n // 0x80 ^ 0x4) & 0x7f) + 0x80,0x22,0x2c)
90+return string.char(0x22,(((n // (0x80 ^ 0x0)) & 0x7f) + 0x80),(((n // (0x80 ^ 0x1)) & 0x7f) + 0x80),(((n // (0x80 ^ 0x2)) & 0x7f) + 0x80),(((n // (0x80 ^ 0x3)) & 0x7f) + 0x80),(((n // (0x80 ^ 0x4)) & 0x7f) + 0x80),0x22,0x2c)
91end)
91end)
92end
92end
93function toomanystr()
93function toomanystr()
@@ -95,15 +95,15 @@ local a = {}
95local st,msg = pcall(function ()
95local st,msg = pcall(function ()
96for i = 0x1, math.huge
96for i = 0x1, math.huge
97do
97do
98−if i % (0x100000) == 0x0 then
98+if ((i % 0x100000) == 0x0) then
99−io.stderr:write("\u{28}",i // 0x2 ^ 0x14,"\u{20}\u{4d}\u{29}")
99+io.stderr:write("\u{28}",(i // (0x2 ^ 0x14)),"\u{20}\u{4d}\u{29}")
100end
100end
101a[i]=string.pack("\u{49}",i)
101a[i]=string.pack("\u{49}",i)
102end
102end
103end)
103end)
104−local size = # a
104+local size = (# a)
105a=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
105a=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 * 0x400)
106+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}",(a * 0x400))
107print("\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)
107print("\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)
108print("\u{73}\u{69}\u{7a}\u{65}\u{3a}",size)
108print("\u{73}\u{69}\u{7a}\u{65}\u{3a}",size)
109end
109end
@@ -112,15 +112,15 @@ local a = {}
112local st,msg = pcall(function ()
112local st,msg = pcall(function ()
113for i = 0x1, math.huge
113for i = 0x1, math.huge
114do
114do
115−if i % (0x100000) == 0x0 then
115+if ((i % 0x100000) == 0x0) then
116−io.stderr:write("\u{28}",i // 0x2 ^ 0x14,"\u{20}\u{4d}\u{29}")
116+io.stderr:write("\u{28}",(i // (0x2 ^ 0x14)),"\u{20}\u{4d}\u{29}")
117end
117end
118a[i]=i
118a[i]=i
119end
119end
120end)
120end)
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}") * 0x400)
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}") * 0x400))
122print("\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)
122print("\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)
123+print("\u{73}\u{69}\u{7a}\u{65}\u{3a}",(# a))
124end
124end
125toomanyidx()
125toomanyidx()
126print("\u{4f}\u{4b}")
126print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/literals.lua → desk/res/lua/cycled/literals.luarenamed+67−67
@@ -5,22 +5,22 @@ local function dostring
5return assert(load(x),"")()
5return assert(load(x),"")()
6end
6end
7dostring("\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}")
7dostring("\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) == 0x3)
8+assert(((x == "\u{61}\u{0}\u{61}") and (string.len(x) == 0x3)))
9_G.x=nil
9_G.x=nil
10−assert("\u{a}\u{22}\u{27}\u{5c}" == "\u{a}\u{22}\u{27}\u{5c}")
10+assert(("\u{a}\u{22}\u{27}\u{5c}" == "\u{a}\u{22}\u{27}\u{5c}"))
11assert(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}"))
11assert(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}")
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}")
13+assert(("\u{63}\u{61}\u{62}" == "\u{63}\u{61}\u{62}"))
14−assert("\u{63}" == "\u{63}")
14+assert(("\u{63}" == "\u{63}"))
15−assert("\u{63}\u{a}" == "\u{63}\u{a}")
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}")
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(0xa .. 0x14 .. - 0x1e == "\u{31}\u{30}\u{32}\u{30}\u{2d}\u{33}\u{30}")
17+assert((0xa .. (0x14 .. (- (0x1e == "\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}")
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}"))
19local function lexstring
19local function lexstring
20(x,y,n)
20(x,y,n)
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}",""))
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}")),""))
22local s,l = f()
22local s,l = f()
23−assert(s == y and l == n)
23+assert(((s == y) and (l == n)))
24end
24end
25lexstring("\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}",0x2)
25lexstring("\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}",0x2)
26lexstring("\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}",0x4)
26lexstring("\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}",0x4)
@@ -30,21 +30,21 @@ 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}\
30lexstring("\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}",0x4)
30lexstring("\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}",0x4)
31lexstring("\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}",0x4)
31lexstring("\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}",0x4)
32lexstring("\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}",0x2)
32lexstring("\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}",0x2)
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}")
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(0x0,0x0,0x0,0x0))
34+assert(("\u{0}\u{0}\u{0}\u{0}" == string.char(0x0,0x0,0x0,0x0)))
35−assert("\u{0}\u{7f}" == "\u{0}\u{7f}")
35+assert(("\u{0}\u{7f}" == "\u{0}\u{7f}"))
36−assert("\u{80}\u{7ff}" == "\u{c2}\u{80}\u{df}\u{bf}")
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}")
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}")
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}")
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}")
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}"))
41local function lexerror
41local function lexerror
42(s,err)
42(s,err)
43−local st,msg = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. s,"")
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
44+if (err ~= "\u{3c}\u{65}\u{6f}\u{66}\u{3e}") then
45−err=err .. "\u{27}"
45+err=(err .. "\u{27}")
46end
46end
47−assert(not st and string.find(msg,"\u{6e}\u{65}\u{61}\u{72}\u{20}\u{2e}\u{2d}" .. err))
47+assert((not (st and string.find(msg,("\u{6e}\u{65}\u{61}\u{72}\u{20}\u{2e}\u{2d}" .. err)))))
48end
48end
49lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{78}\u{22}","\u{5c}\u{78}\u{22}")
49lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{78}\u{22}","\u{5c}\u{78}\u{22}")
50lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{78}","\u{5c}\u{78}")
50lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{78}","\u{5c}\u{78}")
@@ -79,21 +79,21 @@ lexerror("\u{27}\u{61}\u{6c}\u{6f}\u{20}\u{5c}\u{39}\u{38}","\u{3c}\u{65}\u{6f}\
79for i = 0x0, 0xff
79for i = 0x0, 0xff
80do
80do
81local s = string.char(i)
81local s = string.char(i)
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}",""))
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}",""))
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}")),"")))))
84end
84end
85−local var1 = string.rep("\u{61}",0x3a98) .. "\u{31}"
85+local var1 = (string.rep("\u{61}",0x3a98) .. "\u{31}")
86−local var2 = string.rep("\u{61}",0x3a98) .. "\u{32}"
86+local var2 = (string.rep("\u{61}",0x3a98) .. "\u{32}")
87local 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)
87local 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)
88local f = dostring(prog)
88local f = dostring(prog)
89−assert(_G[var1] == 0x5 and _G[var2] == 0x6 and f() == - 0x1)
89+assert((((_G[var1] == 0x5) and (_G[var2] == 0x6)) and (f() == (- 0x1))))
90_G[var1],_G[var2]=nil
90_G[var1],_G[var2]=nil
91print("\u{2b}")
91print("\u{2b}")
92−assert("\u{a}\u{9}" == "\u{a}\u{9}")
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}")
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}")
94+assert(("\u{20}\u{5b}\u{20}" ~= "\u{20}\u{5d}\u{20}"))
95local 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}"
95local 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}"
96−assert(string.len(b) == 0x3c0)
96+assert((string.len(b) == 0x3c0))
97prog="\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}"
97prog="\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}"
98print("\u{2b}")
98print("\u{2b}")
99_G.x=nil
99_G.x=nil
@@ -121,39 +121,39 @@ local function foo2
121return "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{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}"
121return "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{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}"
122end
122end
123local a1 = getadd(s1)
123local a1 = getadd(s1)
124−assert(a1 == getadd(s2))
124+assert((a1 == getadd(s2)))
125−assert(a1 == getadd(foo()))
125+assert((a1 == getadd(foo())))
126−assert(a1 == getadd(foo1()))
126+assert((a1 == getadd(foo1())))
127−assert(a1 == getadd(foo2()))
127+assert((a1 == getadd(foo2())))
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}"
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}")
129−assert(sd == s1 and getadd(sd) ~= a1)
129+assert(((sd == s1) and (getadd(sd) ~= a1)))
130end
130end
131prog="\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}"
131prog="\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}"
132for _,n in pairs({"\u{a}","\u{d}","\u{a}\u{d}","\u{d}\u{a}"})
132for _,n in pairs({"\u{a}","\u{d}","\u{a}\u{d}","\u{d}\u{a}"})
133do
133do
134local prog,nn = string.gsub(prog,"\u{a}",n)
134local prog,nn = string.gsub(prog,"\u{a}",n)
135−assert(dostring(prog) == nn)
135+assert((dostring(prog) == nn))
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}")
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}")))
137end
137end
138_G.x,_G.y=nil
138_G.x,_G.y=nil
139local a = "\u{5d}\u{3d}"
139local a = "\u{5d}\u{3d}"
140−assert(a == "\u{5d}\u{3d}")
140+assert((a == "\u{5d}\u{3d}"))
141a="\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}"
141a="\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}")
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}"))
143a="\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}"
143a="\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}")
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}"))
145a="\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}"
145a="\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}")
146+assert((a == "\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}"))
147local x = {"\u{3d}","\u{5b}","\u{5d}","\u{a}"}
147local x = {"\u{3d}","\u{5b}","\u{5d}","\u{a}"}
148local len = 0x4
148local len = 0x4
149local function gen
149local function gen
150(c,n)
150(c,n)
151−if n == 0x0 then
151+if (n == 0x0) then
152coroutine.yield(c)
152coroutine.yield(c)
153else
153else
154for _,a in pairs(x)
154for _,a in pairs(x)
155do
155do
156−gen(c .. a,n - 0x1)
156+gen((c .. a),(n - 0x1))
157end
157end
158end
158end
159end
159end
@@ -161,20 +161,20 @@ for s in coroutine.wrap(function ()
161gen("",len)
161gen("",len)
162end)
162end)
163do
163do
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}","")())
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
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
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)
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)
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)
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}"))
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)
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)
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)
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)
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)
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}"))
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)
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))
178local 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}")
178local 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}")
179assert(string.find(b,"\u{27}\u{34}\u{25}\u{2e}\u{35}\u{25}\u{2e}\u{27}"))
179assert(string.find(b,"\u{27}\u{34}\u{25}\u{2e}\u{35}\u{25}\u{2e}\u{27}"))
180assert(os.setlocale("\u{43}"))
180assert(os.setlocale("\u{43}"))
@@ -183,15 +183,15 @@ else
183end
183end
184local 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}"
184local 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}"
185local c = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",s)
185local c = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",s)
186−assert(assert(load(c))() == s)
186+assert((assert(load(c))() == s))
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}"))
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}"))
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}"))
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}"))
190+assert((not load("\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{3d}\u{78}\u{5d}")))
191local function malformednum
191local function malformednum
192(n,exp)
192(n,exp)
193−local s,msg = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. n)
193+local s,msg = load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. n))
194−assert(not s and string.find(msg,exp))
194+assert((not (s and string.find(msg,exp))))
195end
195end
196malformednum("\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}")
196malformednum("\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}")
197malformednum("\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}")
197malformednum("\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}")
zod/luau/res/lua/cycled/locals.lua → desk/res/lua/cycled/locals.luarenamed+199−199
@@ -7,14 +7,14 @@ x=nil
7;
7;
8return x
8return x
9end
9end
10−assert(f(0xa) == nil)
10+assert((f(0xa) == nil))
11local function f
11local function f
12()
12()
13local x
13local x
14;
14;
15return x
15return x
16end
16end
17−assert(f(0xa) == nil)
17+assert((f(0xa) == nil))
18local function f
18local function f
19(x)
19(x)
20x=nil
20x=nil
@@ -23,25 +23,25 @@ local y
23;
23;
24return x,y
24return x,y
25end
25end
26−assert(f(0xa) == nil and select(0x2,f(0x14)) == nil)
26+assert(((f(0xa) == nil) and (select(0x2,f(0x14)) == nil)))
27do
27do
28local i = 0xa
28local i = 0xa
29do
29do
30local i = 0x64
30local i = 0x64
31;
31;
32−assert(i == 0x64)
32+assert((i == 0x64))
33end
33end
34do
34do
35local i = 0x3e8
35local i = 0x3e8
36;
36;
37−assert(i == 0x3e8)
37+assert((i == 0x3e8))
38end
38end
39−assert(i == 0xa)
39+assert((i == 0xa))
40−if i ~= 0xa then
40+if (i ~= 0xa) then
41local i = 0x14
41local i = 0x14
42else
42else
43local i = 0x1e
43local i = 0x1e
44−assert(i == 0x1e)
44+assert((i == 0x1e))
45end
45end
46end
46end
47f=nil
47f=nil
@@ -49,7 +49,7 @@ local f
49local x = 0x1
49local x = 0x1
50a=nil
50a=nil
51load("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}")()
51load("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}")()
52−assert(a == nil)
52+assert((a == nil))
53function f(a)
53function f(a)
54local _1,_2,_3,_4,_5
54local _1,_2,_3,_4,_5
55local _6,_7,_8,_9,_10
55local _6,_7,_8,_9,_10
@@ -59,11 +59,11 @@ local c,d = a,b
59if (d == b) then
59if (d == b) then
60local x = "\u{71}"
60local x = "\u{71}"
61x=b
61x=b
62−assert(x == 0x2)
62+assert((x == 0x2))
63else
63else
64assert(nil)
64assert(nil)
65end
65end
66−assert(x == 0x3)
66+assert((x == 0x3))
67local f = 0xa
67local f = 0xa
68end
68end
69local b = 0xa
69local b = 0xa
@@ -74,40 +74,40 @@ local b
74;
74;
75a,b=0x1,0x2
75a,b=0x1,0x2
76;
76;
77−assert(a + 0x1 == b)
77+assert(((a + 0x1) == b))
78;
78;
79−until a + b == 0x3
79+until ((a + b) == 0x3)
80−assert(x == 0x1)
80+assert((x == 0x1))
81f(0x2)
81f(0x2)
82−assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
82+assert((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
83local function getenv
83local function getenv
84(f)
84(f)
85local a,b = debug.getupvalue(f,0x1)
85local a,b = debug.getupvalue(f,0x1)
86−assert(a == "\u{5f}\u{45}\u{4e}\u{56}")
86+assert((a == "\u{5f}\u{45}\u{4e}\u{56}"))
87return b
87return b
88end
88end
89−assert(getenv(load("\u{61}\u{3d}\u{33}")) == _G)
89+assert((getenv(load("\u{61}\u{3d}\u{33}")) == _G))
90local c = {}
90local c = {}
91;
91;
92local f = load("\u{61}\u{20}\u{3d}\u{20}\u{33}",nil,nil,c)
92local f = load("\u{61}\u{20}\u{3d}\u{20}\u{33}",nil,nil,c)
93−assert(getenv(f) == c)
93+assert((getenv(f) == c))
94−assert(c.a == nil)
94+assert((c.a == nil))
95f()
95f()
96−assert(c.a == 0x3)
96+assert((c.a == 0x3))
97do
97do
98local i = 0x2
98local i = 0x2
99local p = 0x4
99local p = 0x4
100repeat
100repeat
101−for j = - 0x3, 0x3
101+for j = (- 0x3), 0x3
102do
102do
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),""))()
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),""))()
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),""))()
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),""))()
106end
106end
107−p=0x2 * p
107+p=(0x2 * p)
108;
108;
109−i=i + 0x1
109+i=(i + 0x1)
110−until p <= 0x0
110+until (p <= 0x0)
111end
111end
112print("\u{2b}")
112print("\u{2b}")
113if rawget(_G,"\u{54}") then
113if rawget(_G,"\u{54}") then
@@ -119,10 +119,10 @@ do
119a[k]=undef
119a[k]=undef
120end
120end
121collectgarbage()
121collectgarbage()
122−for i = 0x0, t - 0x1
122+for i = 0x0, (t - 0x1)
123do
123do
124local k = querytab(a,i)
124local k = querytab(a,i)
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}")
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}")))
126end
126end
127local a = {}
127local a = {}
128local function additems
128local function additems
@@ -143,17 +143,17 @@ T.alloccount()
143local count = 0x0
143local count = 0x0
144for k,v in pairs(a)
144for k,v in pairs(a)
145do
145do
146−assert(a[k] == v)
146+assert((a[k] == v))
147−count=count + 0x1
147+count=(count + 0x1)
148end
148end
149if st then
149if st then
150−assert(count == 0x5)
150+assert((count == 0x5))
151;
151;
152break
152break
153end
153end
154end
154end
155end
155end
156−assert(_ENV == _G)
156+assert((_ENV == _G))
157do
157do
158local dummy
158local dummy
159local _ENV = (function (...)
159local _ENV = (function (...)
@@ -177,38 +177,38 @@ local _ENV = _G
177A=0x3e8
177A=0x3e8
178end
178end
179return function (x)
179return function (x)
180−return A .. x
180+return (A .. x)
181end
181end
182end
182end
183end
183end
184−assert(getenv(foo) == mt)
184+assert((getenv(foo) == mt))
185x=foo("\u{68}\u{69}")
185x=foo("\u{68}\u{69}")
186;
186;
187−assert(mt.A == "\u{68}\u{69}" and A == 0x3e8)
187+assert(((mt.A == "\u{68}\u{69}") and (A == 0x3e8)))
188−assert(x("\u{2a}") == mt.A .. "\u{2a}")
188+assert((x("\u{2a}") == (mt.A .. "\u{2a}")))
189do
189do
190local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert,["\u{41}"] = 0xa}
190local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert,["\u{41}"] = 0xa}
191;
191;
192do
192do
193local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert,["\u{41}"] = 0x14}
193local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert,["\u{41}"] = 0x14}
194;
194;
195−assert(A == 0x14)
195+assert((A == 0x14))
196;
196;
197x=A
197x=A
198end
198end
199−assert(A == 0xa and x == 0x14)
199+assert(((A == 0xa) and (x == 0x14)))
200end
200end
201−assert(x == 0x14)
201+assert((x == 0x14))
202A=nil
202A=nil
203do
203do
204local a <const>,b,c <const> = 0xa,0x14,0x1e
204local a <const>,b,c <const> = 0xa,0x14,0x1e
205−b=a + c + b
205+b=((a + c) + b)
206−assert(a == 0xa and b == 0x3c and c == 0x1e)
206+assert((((a == 0xa) and (b == 0x3c)) and (c == 0x1e)))
207local function checkro
207local function checkro
208(name,code)
208(name,code)
209local st,msg = load(code)
209local st,msg = load(code)
210local 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)
210local 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)
211−assert(not st and string.find(msg,gab))
211+assert((not (st and string.find(msg,gab))))
212end
212end
213checkro("\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}")
213checkro("\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}")
214checkro("\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}")
214checkro("\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}")
@@ -221,7 +221,7 @@ end
221print("\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}")
221print("\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}")
222local function stack
222local function stack
223(n)
223(n)
224−n=((n == 0x0) or stack(n - 0x1))
224+n=((n == 0x0) or stack((n - 0x1)))
225end
225end
226local function func2close
226local function func2close
227(f,x,y)
227(f,x,y)
@@ -237,29 +237,29 @@ local a = {}
237do
237do
238local b <close> = false
238local b <close> = false
239local x <close> = setmetatable({"\u{78}"},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function (self)
239local x <close> = setmetatable({"\u{78}"},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function (self)
240−a[# a + 0x1]=self[0x1]
240+a[(# (a + 0x1))]=self[0x1]
241end})
241end})
242local w,y <close>,z = func2close(function (self,err)
242local w,y <close>,z = func2close(function (self,err)
243−assert(err == nil)
243+assert((err == nil))
244;
244;
245−a[# a + 0x1]="\u{79}"
245+a[(# (a + 0x1))]="\u{79}"
246end,0xa,0x14)
246end,0xa,0x14)
247local c <close> = nil
247local c <close> = nil
248−a[# a + 0x1]="\u{69}\u{6e}"
248+a[(# (a + 0x1))]="\u{69}\u{6e}"
249−assert(w == 0xa and z == 0x14)
249+assert(((w == 0xa) and (z == 0x14)))
250end
250end
251−a[# a + 0x1]="\u{6f}\u{75}\u{74}"
251+a[(# (a + 0x1))]="\u{6f}\u{75}\u{74}"
252−assert(a[0x1] == "\u{69}\u{6e}" and a[0x2] == "\u{79}" and a[0x3] == "\u{78}" and a[0x4] == "\u{6f}\u{75}\u{74}")
252+assert(((((a[0x1] == "\u{69}\u{6e}") and (a[0x2] == "\u{79}")) and (a[0x3] == "\u{78}")) and (a[0x4] == "\u{6f}\u{75}\u{74}")))
253end
253end
254do
254do
255local X = false
255local X = false
256local x,closescope = func2close(function (_,msg)
256local x,closescope = func2close(function (_,msg)
257stack(0xa)
257stack(0xa)
258;
258;
259−assert(msg == nil)
259+assert((msg == nil))
260X=true
260X=true
261end,0x64)
261end,0x64)
262−assert(x == 0x64)
262+assert((x == 0x64))
263;
263;
264x=0x65
264x=0x65
265;
265;
@@ -269,29 +269,29 @@ local _ <close> = closescope
269return x,X,0x17
269return x,X,0x17
270end
270end
271local a,b,c = foo(1.5)
271local a,b,c = foo(1.5)
272−assert(a == 1.5 and b == false and c == 0x17 and X == true)
272+assert(((((a == 1.5) and (b == false)) and (c == 0x17)) and (X == true)))
273X=false
273X=false
274foo=function (x)
274foo=function (x)
275local _ <close> = func2close(function (_,msg)
275local _ <close> = func2close(function (_,msg)
276−assert(debug.getinfo(0x2).name == "\u{66}\u{6f}\u{6f}")
276+assert((debug.getinfo(0x2).name == "\u{66}\u{6f}\u{6f}"))
277−assert(msg == nil)
277+assert((msg == nil))
278end)
278end)
279local _ <close> = closescope
279local _ <close> = closescope
280local y = 0xf
280local y = 0xf
281return y
281return y
282end
282end
283−assert(foo() == 0xf and X == true)
283+assert(((foo() == 0xf) and (X == true)))
284X=false
284X=false
285foo=function ()
285foo=function ()
286local x <close> = closescope
286local x <close> = closescope
287return x
287return x
288end
288end
289−assert(foo() == closescope and X == true)
289+assert(((foo() == closescope) and (X == true)))
290end
290end
291do
291do
292local flag = false
292local flag = false
293local x = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
293local x = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
294−assert(flag == false)
294+assert((flag == false))
295;
295;
296flag=true
296flag=true
297end})
297end})
@@ -305,15 +305,15 @@ end
305do
305do
306local flag = false
306local flag = false
307local x = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
307local x = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
308−assert(flag == false)
308+assert((flag == false))
309;
309;
310flag=true
310flag=true
311end})
311end})
312local function a
312local function a
313()
313()
314−return (function ()
314+return function ()
315return nil
315return nil
316−end),nil,nil,x
316+end,nil,nil,x
317end
317end
318local v <const> = 0x1
318local v <const> = 0x1
319local w <const> = 0x1
319local w <const> = 0x1
@@ -333,7 +333,7 @@ local function foo
333local _ <close> = func2close(function ()
333local _ <close> = func2close(function ()
334Y=0xa
334Y=0xa
335end)
335end)
336−assert(X == true and Y == nil)
336+assert(((X == true) and (Y == nil)))
337return 0x1,0x2,0x3
337return 0x1,0x2,0x3
338end
338end
339local function bar
339local function bar
@@ -347,7 +347,7 @@ return foo()
347end
347end
348end
348end
349local a,b,c,d = bar()
349local a,b,c,d = bar()
350−assert(a == 0x1 and b == 0x2 and c == 0x3 and X == false and Y == 0xa and d == nil)
350+assert(((((((a == 0x1) and (b == 0x2)) and (c == 0x3)) and (X == false)) and (Y == 0xa)) and (d == nil)))
351end
351end
352do
352do
353local closed = false
353local closed = false
@@ -370,8 +370,8 @@ do
370return tail()
370return tail()
371end
371end
372end
372end
373−assert(foo1() == false)
373+assert((foo1() == false))
374−assert(closed == true)
374+assert((closed == true))
375end
375end
376do
376do
377local closed = false
377local closed = false
@@ -411,7 +411,7 @@ assert(string.find(msg,"\u{40}\u{7a}"))
411error("\u{40}\u{79}")
411error("\u{40}\u{79}")
412end)
412end)
413local z <close> = func2close(function (self,msg)
413local z <close> = func2close(function (self,msg)
414−assert(msg == nil)
414+assert((msg == nil))
415error("\u{40}\u{7a}")
415error("\u{40}\u{7a}")
416end)
416end)
417return 0xc8
417return 0xc8
@@ -421,11 +421,11 @@ assert(string.find(msg,"\u{40}\u{78}"))
421local function foo
421local function foo
422()
422()
423local x <close> = func2close(function (self,msg)
423local x <close> = func2close(function (self,msg)
424−assert(debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
424+assert((debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
425assert(string.find(msg,"\u{40}\u{78}\u{31}"))
425assert(string.find(msg,"\u{40}\u{78}\u{31}"))
426end)
426end)
427local x1 <close> = func2close(function (self,msg)
427local x1 <close> = func2close(function (self,msg)
428−assert(debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
428+assert((debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
429assert(string.find(msg,"\u{40}\u{79}"))
429assert(string.find(msg,"\u{40}\u{79}"))
430error("\u{40}\u{78}\u{31}")
430error("\u{40}\u{78}\u{31}")
431end)
431end)
@@ -433,14 +433,14 @@ local gc <close> = func2close(function ()
433collectgarbage()
433collectgarbage()
434end)
434end)
435local y <close> = func2close(function (self,msg)
435local y <close> = func2close(function (self,msg)
436−assert(debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
436+assert((debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
437assert(string.find(msg,"\u{40}\u{7a}"))
437assert(string.find(msg,"\u{40}\u{7a}"))
438error("\u{40}\u{79}")
438error("\u{40}\u{79}")
439end)
439end)
440local first = true
440local first = true
441local z <close> = func2close(function (self,msg)
441local z <close> = func2close(function (self,msg)
442−assert(debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
442+assert((debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
443−assert(first and msg == 0x4)
443+assert((first and (msg == 0x4)))
444first=false
444first=false
445error("\u{40}\u{7a}")
445error("\u{40}\u{7a}")
446end)
446end)
@@ -456,7 +456,7 @@ assert(string.find(msg,"\u{40}\u{58}"))
456error("\u{40}\u{59}")
456error("\u{40}\u{59}")
457end)
457end)
458local x123 <close> = func2close(function (_,msg)
458local x123 <close> = func2close(function (_,msg)
459−assert(msg == nil)
459+assert((msg == nil))
460error("\u{40}\u{58}")
460error("\u{40}\u{58}")
461end)
461end)
462end
462end
@@ -481,14 +481,14 @@ local x <close> = {}
481os.exit(false)
481os.exit(false)
482end
482end
483local stat,msg = pcall(foo)
483local stat,msg = pcall(foo)
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}"))
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}"))))
485local function foo
485local function foo
486()
486()
487local xyz <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = print})
487local xyz <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = print})
488getmetatable(xyz).__close=nil
488getmetatable(xyz).__close=nil
489end
489end
490local stat,msg = pcall(foo)
490local stat,msg = pcall(foo)
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}"))
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}"))))
492local function foo
492local function foo
493()
493()
494local a1 <close> = func2close(function (_,msg)
494local a1 <close> = func2close(function (_,msg)
@@ -497,13 +497,13 @@ error(0xc)
497end)
497end)
498local a2 <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = print})
498local a2 <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = print})
499local a3 <close> = func2close(function (_,msg)
499local a3 <close> = func2close(function (_,msg)
500−assert(msg == nil)
500+assert((msg == nil))
501error(0x7b)
501error(0x7b)
502end)
502end)
503getmetatable(a2).__close=0x4
503getmetatable(a2).__close=0x4
504end
504end
505local stat,msg = pcall(foo)
505local stat,msg = pcall(foo)
506−assert(not stat and msg == 0xc)
506+assert((not (stat and (msg == 0xc))))
507end
507end
508do
508do
509local track = {}
509local track = {}
@@ -511,52 +511,52 @@ local function foo
511()
511()
512local x <close> = func2close(function ()
512local x <close> = func2close(function ()
513local xx <close> = func2close(function (_,msg)
513local xx <close> = func2close(function (_,msg)
514−assert(msg == nil)
514+assert((msg == nil))
515−track[# track + 0x1]="\u{78}\u{78}"
515+track[(# (track + 0x1))]="\u{78}\u{78}"
516end)
516end)
517−track[# track + 0x1]="\u{78}"
517+track[(# (track + 0x1))]="\u{78}"
518end)
518end)
519−track[# track + 0x1]="\u{66}\u{6f}\u{6f}"
519+track[(# (track + 0x1))]="\u{66}\u{6f}\u{6f}"
520return 0x14,0x1e,0x28
520return 0x14,0x1e,0x28
521end
521end
522local a,b,c,d = foo()
522local a,b,c,d = foo()
523−assert(a == 0x14 and b == 0x1e and c == 0x28 and d == nil)
523+assert(((((a == 0x14) and (b == 0x1e)) and (c == 0x28)) and (d == nil)))
524−assert(track[0x1] == "\u{66}\u{6f}\u{6f}" and track[0x2] == "\u{78}" and track[0x3] == "\u{78}\u{78}")
524+assert((((track[0x1] == "\u{66}\u{6f}\u{6f}") and (track[0x2] == "\u{78}")) and (track[0x3] == "\u{78}\u{78}")))
525local track = {}
525local track = {}
526local function foo
526local function foo
527()
527()
528local x0 <close> = func2close(function (_,msg)
528local x0 <close> = func2close(function (_,msg)
529−assert(msg == 0xca)
529+assert((msg == 0xca))
530−track[# track + 0x1]="\u{78}\u{30}"
530+track[(# (track + 0x1))]="\u{78}\u{30}"
531end)
531end)
532local x <close> = func2close(function ()
532local x <close> = func2close(function ()
533local xx <close> = func2close(function (_,msg)
533local xx <close> = func2close(function (_,msg)
534−assert(msg == 0x65)
534+assert((msg == 0x65))
535−track[# track + 0x1]="\u{78}\u{78}"
535+track[(# (track + 0x1))]="\u{78}\u{78}"
536error(0xca)
536error(0xca)
537end)
537end)
538−track[# track + 0x1]="\u{78}"
538+track[(# (track + 0x1))]="\u{78}"
539error(0x65)
539error(0x65)
540end)
540end)
541−track[# track + 0x1]="\u{66}\u{6f}\u{6f}"
541+track[(# (track + 0x1))]="\u{66}\u{6f}\u{6f}"
542return 0x14,0x1e,0x28
542return 0x14,0x1e,0x28
543end
543end
544local st,msg = pcall(foo)
544local st,msg = pcall(foo)
545−assert(not st and msg == 0xca)
545+assert((not (st and (msg == 0xca))))
546−assert(track[0x1] == "\u{66}\u{6f}\u{6f}" and track[0x2] == "\u{78}" and track[0x3] == "\u{78}\u{78}" and track[0x4] == "\u{78}\u{30}")
546+assert(((((track[0x1] == "\u{66}\u{6f}\u{6f}") and (track[0x2] == "\u{78}")) and (track[0x3] == "\u{78}\u{78}")) and (track[0x4] == "\u{78}\u{30}")))
547end
547end
548local function checktable
548local function checktable
549(t1,t2)
549(t1,t2)
550−assert(# t1 == # t2)
550+assert((# (t1 == (# t2))))
551−for i = 0x1, # t1
551+for i = 0x1, (# t1)
552do
552do
553−assert(t1[i] == t2[i])
553+assert((t1[i] == t2[i]))
554end
554end
555end
555end
556do
556do
557local function overflow
557local function overflow
558(n)
558(n)
559−overflow(n + 0x1)
559+overflow((n + 0x1))
560end
560end
561local function errorh
561local function errorh
562(m)
562(m)
@@ -570,7 +570,7 @@ local flag
570local st,obj
570local st,obj
571local co = coroutine.wrap(function ()
571local co = coroutine.wrap(function ()
572local y <close> = func2close(function (obj,msg)
572local y <close> = func2close(function (obj,msg)
573−assert(msg == nil)
573+assert((msg == nil))
574obj[0x1]=0x64
574obj[0x1]=0x64
575flag=obj
575flag=obj
576end)
576end)
@@ -579,7 +579,7 @@ st,obj=xpcall(overflow,errorh,0x0)
579tracegc.start()
579tracegc.start()
580end)
580end)
581co()
581co()
582−assert(not st and obj[0x1] == 0xa and flag[0x1] == 0x64)
582+assert((not ((st and (obj[0x1] == 0xa)) and (flag[0x1] == 0x64))))
583end
583end
584if rawget(_G,"\u{54}") then
584if rawget(_G,"\u{54}") then
585do
585do
@@ -590,15 +590,15 @@ collectgarbage()
590collectgarbage()
590collectgarbage()
591local function loop
591local function loop
592(n)
592(n)
593−if n < 0x190 then
593+if (n < 0x190) then
594−loop(n + 0x1)
594+loop((n + 0x1))
595end
595end
596end
596end
597local o = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
597local o = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
598loop(0x0)
598loop(0x0)
599end})
599end})
600local 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}"
600local 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}"
601−assert(T.testC(script,o) == script)
601+assert((T.testC(script,o) == script))
602end
602end
603local function foo
603local function foo
604()
604()
@@ -614,7 +614,7 @@ error(0x3e8)
614end
614end
615stack(0x5)
615stack(0x5)
616local _,msg = pcall(foo)
616local _,msg = pcall(foo)
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}")
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}"))
618local closemsg
618local closemsg
619local close = func2close(function (self,msg)
619local close = func2close(function (self,msg)
620T.alloccount()
620T.alloccount()
@@ -633,30 +633,30 @@ local x <close> = enter(0x0)
633local y = {}
633local y = {}
634end
634end
635local _,msg = pcall(test)
635local _,msg = pcall(test)
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}")
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}")))
637local function test
637local function test
638()
638()
639local xxx <close> = func2close(function (self,msg)
639local xxx <close> = func2close(function (self,msg)
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}")
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}"))
641;
641;
642error(0x3e8)
642error(0x3e8)
643end)
643end)
644local xx <close> = func2close(function (self,msg)
644local xx <close> = func2close(function (self,msg)
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}")
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}"))
646;
646;
647end)
647end)
648local x <close> = enter(0x0)
648local x <close> = enter(0x0)
649local y = {}
649local y = {}
650end
650end
651local _,msg = pcall(test)
651local _,msg = pcall(test)
652−assert(msg == 0x3e8 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}")
652+assert(((msg == 0x3e8) 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}")))
653do
653do
654collectgarbage()
654collectgarbage()
655local s = string.rep("\u{61}",0x2710)
655local s = string.rep("\u{61}",0x2710)
656local m = T.totalmem()
656local m = T.totalmem()
657collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
657collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
658s=string.upper(s)
658s=string.upper(s)
659−assert(T.totalmem() - m <= 0x2af8)
659+assert(((T.totalmem() - m) <= 0x2af8))
660collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
660collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
661end
661end
662do
662do
@@ -669,17 +669,17 @@ collectgarbage()
669collectgarbage()
669collectgarbage()
670local m = T.totalmem()
670local m = T.totalmem()
671collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
671collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
672−T.totalmem(m + extra)
672+T.totalmem((m + extra))
673−assert(not pcall(table.concat,a))
673+assert((not pcall(table.concat,a)))
674−assert(T.totalmem() - m <= extra)
674+assert(((T.totalmem() - m) <= extra))
675−T.totalmem(m + lim + extra)
675+T.totalmem(((m + lim) + extra))
676−assert(not pcall(table.concat,a))
676+assert((not pcall(table.concat,a)))
677−assert(T.totalmem() - m <= extra)
677+assert(((T.totalmem() - m) <= extra))
678−T.totalmem(m + 0x2 * lim + extra)
678+T.totalmem(((m + (0x2 * lim)) + extra))
679−assert(not pcall(table.concat,a))
679+assert((not pcall(table.concat,a)))
680−assert(T.totalmem() - m <= extra)
680+assert(((T.totalmem() - m) <= extra))
681−T.totalmem(m + 0x4 * lim + extra)
681+T.totalmem(((m + (0x4 * lim)) + extra))
682−assert(# table.concat(a) == 0x2 * lim)
682+assert((# (table.concat(a) == (0x2 * lim))))
683T.totalmem(0x0)
683T.totalmem(0x0)
684collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
684collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
685print("\u{2b}")
685print("\u{2b}")
@@ -688,13 +688,13 @@ do
688local trace = {}
688local trace = {}
689local function hook
689local function hook
690(event)
690(event)
691−trace[# trace + 0x1]=event .. "\u{20}" .. (debug.getinfo(0x2).name or "\u{3f}")
691+trace[(# (trace + 0x1))]=(event .. ("\u{20}" .. (debug.getinfo(0x2).name or "\u{3f}")))
692end
692end
693local x = func2close(function (_,msg)
693local x = func2close(function (_,msg)
694−trace[# trace + 0x1]="\u{78}"
694+trace[(# (trace + 0x1))]="\u{78}"
695end)
695end)
696local y = func2close(function (_,msg)
696local y = func2close(function (_,msg)
697−trace[# trace + 0x1]="\u{79}"
697+trace[(# (trace + 0x1))]="\u{79}"
698end)
698end)
699debug.sethook(hook,"\u{72}")
699debug.sethook(hook,"\u{72}")
700local 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)}
700local 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)}
@@ -707,12 +707,12 @@ do
707local trace = {}
707local trace = {}
708local function hook
708local function hook
709(event)
709(event)
710−trace[# trace + 0x1]=event .. "\u{20}" .. debug.getinfo(0x2).name
710+trace[(# (trace + 0x1))]=(event .. ("\u{20}" .. debug.getinfo(0x2).name))
711end
711end
712local function foo
712local function foo
713(...)
713(...)
714local x <close> = func2close(function (_,msg)
714local x <close> = func2close(function (_,msg)
715−trace[# trace + 0x1]="\u{78}"
715+trace[(# (trace + 0x1))]="\u{78}"
716end)
716end)
717local y <close> = func2close(function (_,msg)
717local y <close> = func2close(function (_,msg)
718debug.sethook(hook,"\u{72}")
718debug.sethook(hook,"\u{72}")
@@ -728,35 +728,35 @@ 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}\
728do
728do
729local trace = {}
729local trace = {}
730local co = coroutine.wrap(function ()
730local co = coroutine.wrap(function ()
731−trace[# trace + 0x1]="\u{6e}\u{6f}\u{77}\u{58}"
731+trace[(# (trace + 0x1))]="\u{6e}\u{6f}\u{77}\u{58}"
732local x <close> = func2close(function (_,msg)
732local x <close> = func2close(function (_,msg)
733−assert(msg == nil)
733+assert((msg == nil))
734−trace[# trace + 0x1]="\u{78}\u{31}"
734+trace[(# (trace + 0x1))]="\u{78}\u{31}"
735coroutine.yield("\u{78}")
735coroutine.yield("\u{78}")
736−trace[# trace + 0x1]="\u{78}\u{32}"
736+trace[(# (trace + 0x1))]="\u{78}\u{32}"
737end)
737end)
738return pcall(function ()
738return pcall(function ()
739do
739do
740local z <close> = func2close(function (_,msg)
740local z <close> = func2close(function (_,msg)
741−assert(msg == nil)
741+assert((msg == nil))
742−trace[# trace + 0x1]="\u{7a}\u{31}"
742+trace[(# (trace + 0x1))]="\u{7a}\u{31}"
743coroutine.yield("\u{7a}")
743coroutine.yield("\u{7a}")
744−trace[# trace + 0x1]="\u{7a}\u{32}"
744+trace[(# (trace + 0x1))]="\u{7a}\u{32}"
745end)
745end)
746end
746end
747−trace[# trace + 0x1]="\u{6e}\u{6f}\u{77}\u{59}"
747+trace[(# (trace + 0x1))]="\u{6e}\u{6f}\u{77}\u{59}"
748local y <close> = func2close(function (_,msg)
748local y <close> = func2close(function (_,msg)
749−assert(msg == nil)
749+assert((msg == nil))
750−trace[# trace + 0x1]="\u{79}\u{31}"
750+trace[(# (trace + 0x1))]="\u{79}\u{31}"
751coroutine.yield("\u{79}")
751coroutine.yield("\u{79}")
752−trace[# trace + 0x1]="\u{79}\u{32}"
752+trace[(# (trace + 0x1))]="\u{79}\u{32}"
753end)
753end)
754return 0xa,0x14,0x1e
754return 0xa,0x14,0x1e
755end)
755end)
756end)
756end)
757−assert(co() == "\u{7a}")
757+assert((co() == "\u{7a}"))
758−assert(co() == "\u{79}")
758+assert((co() == "\u{79}"))
759−assert(co() == "\u{78}")
759+assert((co() == "\u{78}"))
760checktable({co()},{true,0xa,0x14,0x1e})
760checktable({co()},{true,0xa,0x14,0x1e})
761checktable(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}"})
761checktable(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}"})
762end
762end
@@ -770,15 +770,15 @@ if extra then
770extrares=co()
770extrares=co()
771end
771end
772local res = table.pack(co())
772local res = table.pack(co())
773−assert(res.n == 0x2 and res[0x2] == nil)
773+assert(((res.n == 0x2) and (res[0x2] == nil)))
774local res2 = table.pack(co())
774local res2 = table.pack(co())
775−assert(res2.n == t.n)
775+assert((res2.n == t.n))
776−for i = 0x1, # t
776+for i = 0x1, (# t)
777do
777do
778−if t[i] == "\u{78}" then
778+if (t[i] == "\u{78}") then
779−assert(res2[i] == res[0x1])
779+assert((res2[i] == res[0x1]))
780else
780else
781−assert(res2[i] == t[i])
781+assert((res2[i] == t[i]))
782end
782end
783end
783end
784end
784end
@@ -786,14 +786,14 @@ local function foo
786()
786()
787local x <close> = func2close(coroutine.yield)
787local x <close> = func2close(coroutine.yield)
788local extra <close> = func2close(function (self)
788local extra <close> = func2close(function (self)
789−assert(self == extrares)
789+assert((self == extrares))
790coroutine.yield(0x64)
790coroutine.yield(0x64)
791end)
791end)
792extrares=extra
792extrares=extra
793return table.unpack({0xa,x,0x1e})
793return table.unpack({0xa,x,0x1e})
794end
794end
795check(foo,true,0xa,"\u{78}",0x1e)
795check(foo,true,0xa,"\u{78}",0x1e)
796−assert(extrares == 0x64)
796+assert((extrares == 0x64))
797local function foo
797local function foo
798()
798()
799local x <close> = func2close(coroutine.yield)
799local x <close> = func2close(coroutine.yield)
@@ -820,23 +820,23 @@ local co = coroutine.wrap(function ()
820local function foo
820local function foo
821(err)
821(err)
822local z <close> = func2close(function (_,msg)
822local z <close> = func2close(function (_,msg)
823−assert(msg == nil or msg == err + 0x14)
823+assert(((msg == nil) or (msg == (err + 0x14))))
824coroutine.yield("\u{7a}")
824coroutine.yield("\u{7a}")
825return 0x64,0xc8
825return 0x64,0xc8
826end)
826end)
827local y <close> = func2close(function (_,msg)
827local y <close> = func2close(function (_,msg)
828−assert(msg == err or (msg == nil and err == 0x1))
828+assert(((msg == err) or ((msg == nil) and (err == 0x1))))
829coroutine.yield("\u{79}")
829coroutine.yield("\u{79}")
830if err then
830if err then
831−error(err + 0x14)
831+error((err + 0x14))
832end
832end
833end)
833end)
834local x <close> = func2close(function (_,msg)
834local x <close> = func2close(function (_,msg)
835−assert(msg == err or (msg == nil and err == 0x1))
835+assert(((msg == err) or ((msg == nil) and (err == 0x1))))
836coroutine.yield("\u{78}")
836coroutine.yield("\u{78}")
837return 0x64,0xc8
837return 0x64,0xc8
838end)
838end)
839−if err == 0xa then
839+if (err == 0xa) then
840error(err)
840error(err)
841else
841else
842return 0xa,0x14
842return 0xa,0x14
@@ -847,29 +847,29 @@ coroutine.yield(pcall(foo,0x1))
847return pcall(foo,0xa)
847return pcall(foo,0xa)
848end)
848end)
849local a,b = co()
849local a,b = co()
850−assert(a == "\u{78}" and b == nil)
850+assert(((a == "\u{78}") and (b == nil)))
851a,b=co()
851a,b=co()
852−assert(a == "\u{79}" and b == nil)
852+assert(((a == "\u{79}") and (b == nil)))
853a,b=co()
853a,b=co()
854−assert(a == "\u{7a}" and b == nil)
854+assert(((a == "\u{7a}") and (b == nil)))
855local a,b,c = co()
855local a,b,c = co()
856−assert(a and b == 0xa and c == 0x14)
856+assert(((a and (b == 0xa)) and (c == 0x14)))
857local a,b = co()
857local a,b = co()
858−assert(a == "\u{78}" and b == nil)
858+assert(((a == "\u{78}") and (b == nil)))
859a,b=co()
859a,b=co()
860−assert(a == "\u{79}" and b == nil)
860+assert(((a == "\u{79}") and (b == nil)))
861a,b=co()
861a,b=co()
862−assert(a == "\u{7a}" and b == nil)
862+assert(((a == "\u{7a}") and (b == nil)))
863local st,msg = co()
863local st,msg = co()
864−assert(not st and msg == 0x15)
864+assert((not (st and (msg == 0x15))))
865local a,b = co()
865local a,b = co()
866−assert(a == "\u{78}" and b == nil)
866+assert(((a == "\u{78}") and (b == nil)))
867a,b=co()
867a,b=co()
868−assert(a == "\u{79}" and b == nil)
868+assert(((a == "\u{79}") and (b == nil)))
869a,b=co()
869a,b=co()
870−assert(a == "\u{7a}" and b == nil)
870+assert(((a == "\u{7a}") and (b == nil)))
871local st,msg = co()
871local st,msg = co()
872−assert(not st and msg == 0xa + 0x14)
872+assert((not (st and (msg == (0xa + 0x14)))))
873end
873end
874do
874do
875local x = false
875local x = false
@@ -888,59 +888,59 @@ coroutine.yield(0xc8)
888error(0x17)
888error(0x17)
889end)
889end)
890local b = co()
890local b = co()
891−assert(b == 0x64 and not x and not y)
891+assert(((b == 0x64) and (not (x and (not y)))))
892b=co()
892b=co()
893−assert(b == 0xc8 and not x and y)
893+assert(((b == 0xc8) and (not (x and y))))
894local a,b = pcall(co)
894local a,b = pcall(co)
895−assert(not a and b == 0x17 and x and y)
895+assert((not (((a and (b == 0x17)) and x) and y)))
896end
896end
897do
897do
898local x = 0x0
898local x = 0x0
899local co = coroutine.wrap(function ()
899local co = coroutine.wrap(function ()
900local xx <close> = func2close(function (_,msg)
900local xx <close> = func2close(function (_,msg)
901−x=x + 0x1
901+x=(x + 0x1)
902;
902;
903assert(string.find(msg,"\u{40}\u{58}\u{58}\u{58}"))
903assert(string.find(msg,"\u{40}\u{58}\u{58}\u{58}"))
904error("\u{40}\u{59}\u{59}\u{59}")
904error("\u{40}\u{59}\u{59}\u{59}")
905end)
905end)
906local xv <close> = func2close(function ()
906local xv <close> = func2close(function ()
907−x=x + 0x1
907+x=(x + 0x1)
908;
908;
909error("\u{40}\u{58}\u{58}\u{58}")
909error("\u{40}\u{58}\u{58}\u{58}")
910end)
910end)
911coroutine.yield(0x64)
911coroutine.yield(0x64)
912error(0xc8)
912error(0xc8)
913end)
913end)
914−assert(co() == 0x64)
914+assert((co() == 0x64))
915;
915;
916−assert(x == 0x0)
916+assert((x == 0x0))
917local st,msg = pcall(co)
917local st,msg = pcall(co)
918;
918;
919−assert(x == 0x2)
919+assert((x == 0x2))
920−assert(not st and string.find(msg,"\u{40}\u{59}\u{59}\u{59}"))
920+assert((not (st and string.find(msg,"\u{40}\u{59}\u{59}\u{59}"))))
921local x = 0x0
921local x = 0x0
922local y = 0x0
922local y = 0x0
923co=coroutine.wrap(function ()
923co=coroutine.wrap(function ()
924local xx <close> = func2close(function (_,err)
924local xx <close> = func2close(function (_,err)
925−y=y + 0x1
925+y=(y + 0x1)
926;
926;
927assert(string.find(err,"\u{58}\u{58}\u{58}"))
927assert(string.find(err,"\u{58}\u{58}\u{58}"))
928error("\u{59}\u{59}\u{59}")
928error("\u{59}\u{59}\u{59}")
929end)
929end)
930local xv <close> = func2close(function ()
930local xv <close> = func2close(function ()
931−x=x + 0x1
931+x=(x + 0x1)
932;
932;
933error("\u{58}\u{58}\u{58}")
933error("\u{58}\u{58}\u{58}")
934end)
934end)
935coroutine.yield(0x64)
935coroutine.yield(0x64)
936return 0xc8
936return 0xc8
937end)
937end)
938−assert(co() == 0x64)
938+assert((co() == 0x64))
939;
939;
940−assert(x == 0x0)
940+assert((x == 0x0))
941local st,msg = pcall(co)
941local st,msg = pcall(co)
942−assert(x == 0x1 and y == 0x1)
942+assert(((x == 0x1) and (y == 0x1)))
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}"))
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}"))))
944end
944end
945local co
945local co
946co=coroutine.wrap(function ()
946co=coroutine.wrap(function ()
@@ -951,7 +951,7 @@ co=nil
951coroutine.yield()
951coroutine.yield()
952end)
952end)
953co()
953co()
954−assert(co == nil)
954+assert((co == nil))
955collectgarbage()
955collectgarbage()
956if rawget(_G,"\u{54}") then
956if rawget(_G,"\u{54}") then
957print("\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}")
957print("\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}")
@@ -960,17 +960,17 @@ local token = 0x0
960local count = 0x0
960local count = 0x0
961local 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}")
961local 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}")
962local obj = func2close(function (_,msg)
962local obj = func2close(function (_,msg)
963−count=count + 0x1
963+count=(count + 0x1)
964token=coroutine.yield(count,token)
964token=coroutine.yield(count,token)
965end)
965end)
966local co = coroutine.wrap(f)
966local co = coroutine.wrap(f)
967local ct,res = co(obj,obj,0xa,0x14,0x1e,0x3)
967local ct,res = co(obj,obj,0xa,0x14,0x1e,0x3)
968−assert(ct == 0x1 and res == 0x0)
968+assert(((ct == 0x1) and (res == 0x0)))
969ct,res=co(0x64)
969ct,res=co(0x64)
970−assert(ct == 0x2 and res == 0x64)
970+assert(((ct == 0x2) and (res == 0x64)))
971res={co(0xc8)}
971res={co(0xc8)}
972−assert(res[0x1] == 0xa and res[0x2] == 0x14 and res[0x3] == 0x1e and res[0x4] == nil)
972+assert(((((res[0x1] == 0xa) and (res[0x2] == 0x14)) and (res[0x3] == 0x1e)) and (res[0x4] == nil)))
973−assert(token == 0xc8)
973+assert((token == 0xc8))
974end
974end
975do
975do
976local 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}")
976local 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}")
@@ -985,65 +985,65 @@ return 0x1,0x2,0x3
985end)
985end)
986local co = coroutine.wrap(f)
986local co = coroutine.wrap(f)
987local res = co(obj,0xa,0x1e,0x1)
987local res = co(obj,0xa,0x1e,0x1)
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}")
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}"))
989res=co("\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{78}")
989res=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}")
990+assert((res == "\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{78}"))
991res={co()}
991res={co()}
992−assert(res[0x1] == 0x1e and res[0x2] == nil)
992+assert(((res[0x1] == 0x1e) and (res[0x2] == nil)))
993end
993end
994do
994do
995local 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}")
995local 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}")
996local obj = func2close(coroutine.yield)
996local obj = func2close(coroutine.yield)
997local co = coroutine.create(f)
997local co = coroutine.create(f)
998local st,msg = coroutine.resume(co,obj)
998local st,msg = coroutine.resume(co,obj)
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}"))
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}"))))
1000local 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}")
1000local 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}")
1001local st,msg = pcall(f,obj)
1001local st,msg = pcall(f,obj)
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}"))
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}"))))
1003end
1003end
1004end
1004end
1005do
1005do
1006local numopen = 0x0
1006local numopen = 0x0
1007local function open
1007local function open
1008(x)
1008(x)
1009−numopen=numopen + 0x1
1009+numopen=(numopen + 0x1)
1010return function ()
1010return function ()
1011−x=x - 0x1
1011+x=(x - 0x1)
1012−if x > 0x0 then
1012+if (x > 0x0) then
1013return x
1013return x
1014end
1014end
1015end,nil,nil,func2close(function ()
1015end,nil,nil,func2close(function ()
1016−numopen=numopen - 0x1
1016+numopen=(numopen - 0x1)
1017end)
1017end)
1018end
1018end
1019local s = 0x0
1019local s = 0x0
1020for i in open(0xa)
1020for i in open(0xa)
1021do
1021do
1022−s=s + i
1022+s=(s + i)
1023end
1023end
1024−assert(s == 0x2d and numopen == 0x0)
1024+assert(((s == 0x2d) and (numopen == 0x0)))
1025local s = 0x0
1025local s = 0x0
1026for i in open(0xa)
1026for i in open(0xa)
1027do
1027do
1028−if i < 0x5 then
1028+if (i < 0x5) then
1029break
1029break
1030end
1030end
1031−s=s + i
1031+s=(s + i)
1032end
1032end
1033−assert(s == 0x23 and numopen == 0x0)
1033+assert(((s == 0x23) and (numopen == 0x0)))
1034local s = 0x0
1034local s = 0x0
1035for i in open(0xa)
1035for i in open(0xa)
1036do
1036do
1037for j in open(0xa)
1037for j in open(0xa)
1038do
1038do
1039−if i + j < 0x5 then
1039+if ((i + j) < 0x5) then
1040goto endloop
1040goto endloop
1041end
1041end
1042−s=s + i
1042+s=(s + i)
1043end
1043end
1044end
1044end
1045::endloop::
1045::endloop::
1046−assert(s == 0x177 and numopen == 0x0)
1046+assert(((s == 0x177) and (numopen == 0x0)))
1047end
1047end
1048print("\u{4f}\u{4b}")
1048print("\u{4f}\u{4b}")
1049return 0x5,f
1049return 0x5,f
zod/luau/res/lua/cycled/main.lua → desk/res/lua/cycled/main.luarenamed+32−32
@@ -3,7 +3,7 @@ return
3end
3end
4print("\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}")
4print("\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}")
5assert(os.execute())
5assert(os.execute())
6−local arg = arg or ARG
6+local arg = (arg or ARG)
7local prog = os.tmpname()
7local prog = os.tmpname()
8local otherprog = os.tmpname()
8local otherprog = os.tmpname()
9local out = os.tmpname()
9local out = os.tmpname()
@@ -11,14 +11,14 @@ local progname
11do
11do
12local i = 0x0
12local i = 0x0
13while arg[i] do
13while arg[i] do
14−i=i - 0x1
14+i=(i - 0x1)
15end
15end
16−progname=arg[i + 0x1]
16+progname=arg[(i + 0x1)]
17end
17end
18−print("\u{70}\u{72}\u{6f}\u{67}\u{6e}\u{61}\u{6d}\u{65}\u{3a}\u{20}" .. progname)
18+print(("\u{70}\u{72}\u{6f}\u{67}\u{6e}\u{61}\u{6d}\u{65}\u{3a}\u{20}" .. progname))
19local prepfile = function (s,mod,p)
19local prepfile = function (s,mod,p)
20−mod=mod and "\u{77}\u{62}" or "\u{77}"
20+mod=((mod and "\u{77}\u{62}") or "\u{77}")
21−p=p or prog
21+p=(p or prog)
22local f = io.open(p,mod)
22local f = io.open(p,mod)
23f:write(s)
23f:write(s)
24assert(f:close())
24assert(f:close())
@@ -33,7 +33,7 @@ return t
33end
33end
34local function checkprogout
34local function checkprogout
35(s)
35(s)
36−assert(string.sub(s,- 0x1) == "\u{a}")
36+assert((string.sub(s,(- 0x1)) == "\u{a}"))
37local t = getoutput()
37local t = getoutput()
38for line in string.gmatch(s,"\u{2e}\u{2d}\u{a}")
38for line in string.gmatch(s,"\u{2e}\u{2d}\u{a}")
39do
39do
@@ -43,24 +43,24 @@ end
43local function checkout
43local function checkout
44(s)
44(s)
45local t = getoutput()
45local t = getoutput()
46−if s ~= t then
46+if (s ~= t) then
47print(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))
47print(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))
48end
48end
49−assert(s == t)
49+assert((s == t))
50return t
50return t
51end
51end
52local function RUN
52local function RUN
53(p, ...)
53(p, ...)
54−p=string.gsub(p,"\u{6c}\u{75}\u{61}","\u{22}" .. progname .. "\u{22}",0x1)
54+p=string.gsub(p,"\u{6c}\u{75}\u{61}",("\u{22}" .. (progname .. "\u{22}")),0x1)
55local s = string.format(p,...)
55local s = string.format(p,...)
56assert(os.execute(s))
56assert(os.execute(s))
57end
57end
58local function NoRun
58local function NoRun
59(msg,p, ...)
59(msg,p, ...)
60−p=string.gsub(p,"\u{6c}\u{75}\u{61}","\u{22}" .. progname .. "\u{22}",0x1)
60+p=string.gsub(p,"\u{6c}\u{75}\u{61}",("\u{22}" .. (progname .. "\u{22}")),0x1)
61local s = string.format(p,...)
61local s = string.format(p,...)
62s=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)
62s=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)
63−assert(not os.execute(s))
63+assert((not os.execute(s)))
64assert(string.find(getoutput(),msg,0x1,true))
64assert(string.find(getoutput(),msg,0x1,true))
65end
65end
66RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{76}")
66RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{76}")
@@ -121,22 +121,22 @@ defaultpath=string.match(output,"\u{5e}\u{28}\u{2e}\u{2d}\u{29}\u{9}")
121defaultCpath=string.match(output,"\u{9}\u{28}\u{2e}\u{2d}\u{29}\u{24}")
121defaultCpath=string.match(output,"\u{9}\u{28}\u{2e}\u{2d}\u{29}\u{24}")
122RUN("\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)
122RUN("\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)
123local out = getoutput()
123local out = getoutput()
124−assert(defaultpath == string.match(output,"\u{5e}\u{28}\u{2e}\u{2d}\u{29}\u{9}"))
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}"))
125+assert((defaultCpath == string.match(output,"\u{9}\u{28}\u{2e}\u{2d}\u{29}\u{24}")))
126end
126end
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}"))
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}"))))))
128local function convert
128local function convert
129(p)
129(p)
130prepfile("\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}")
130prepfile("\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}")
131RUN("\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)
131RUN("\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)
132local expected = getoutput()
132local expected = getoutput()
133−expected=string.sub(expected,0x1,- 0x2)
133+expected=string.sub(expected,0x1,(- 0x2))
134if string.find(p,"\u{3b}\u{3b}") then
134if string.find(p,"\u{3b}\u{3b}") then
135−p=string.gsub(p,"\u{3b}\u{3b}","\u{3b}" .. defaultpath .. "\u{3b}")
135+p=string.gsub(p,"\u{3b}\u{3b}",("\u{3b}" .. (defaultpath .. "\u{3b}")))
136p=string.gsub(p,"\u{5e}\u{3b}","")
136p=string.gsub(p,"\u{5e}\u{3b}","")
137p=string.gsub(p,"\u{3b}\u{24}","")
137p=string.gsub(p,"\u{3b}\u{24}","")
138end
138end
139−assert(p == expected)
139+assert((p == expected))
140end
140end
141convert("\u{3b}")
141convert("\u{3b}")
142convert("\u{3b}\u{3b}")
142convert("\u{3b}\u{3b}")
@@ -194,19 +194,19 @@ local prompt = "\u{61}\u{6c}\u{6f}"
194prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
194prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
195RUN("\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)
195RUN("\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)
196local t = getoutput()
196local t = getoutput()
197−assert(string.find(t,prompt .. "\u{2e}\u{2a}" .. prompt .. "\u{2e}\u{2a}" .. prompt))
197+assert(string.find(t,(prompt .. ("\u{2e}\u{2a}" .. (prompt .. ("\u{2e}\u{2a}" .. prompt))))))
198prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
198prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
199RUN("\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)
199RUN("\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)
200local t = getoutput()
200local t = getoutput()
201prompt="\u{3e}\u{20}"
201prompt="\u{3e}\u{20}"
202−assert(string.find(t,prompt .. "\u{2e}\u{2a}" .. prompt .. "\u{2e}\u{2a}" .. prompt))
202+assert(string.find(t,(prompt .. ("\u{2e}\u{2a}" .. (prompt .. ("\u{2e}\u{2a}" .. prompt))))))
203prompt="\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}"
203prompt="\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}"
204prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
204prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
205RUN("\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)
205RUN("\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)
206local t = getoutput()
206local t = getoutput()
207assert(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}",0x1,true))
207assert(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}",0x1,true))
208prepfile("\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}")
208prepfile("\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)
209+NoRun((progname .. "\u{3a}\u{20}\u{36}\u{a}"),"\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
210prepfile("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{7b}\u{7d}")
210prepfile("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{7b}\u{7d}")
211NoRun("\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)
211NoRun("\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)
212local 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}"
212local 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}"
@@ -216,7 +216,7 @@ 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{
216checkprogout("\u{31}\u{30}\u{31}\u{a}\u{31}\u{33}\u{9}\u{32}\u{32}\u{a}\u{a}")
216checkprogout("\u{31}\u{30}\u{31}\u{a}\u{31}\u{33}\u{9}\u{32}\u{32}\u{a}\u{a}")
217prepfile("\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}")
217prepfile("\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}")
218RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
218RUN("\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)
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)
220RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
220RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
221checkout("\u{33}\u{a}")
221checkout("\u{33}\u{a}")
222prepfile(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))
222prepfile(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))
@@ -240,7 +240,7 @@ RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,ou
240checkprogout("\u{31}\u{32}\u{30}\u{a}\u{4f}\u{6b}\u{a}")
240checkprogout("\u{31}\u{32}\u{30}\u{a}\u{4f}\u{6b}\u{a}")
241assert(os.remove(prog))
241assert(os.remove(prog))
242assert(os.remove(otherprog))
242assert(os.remove(otherprog))
243−assert(not os.remove(out))
243+assert((not os.remove(out)))
244NoRun("\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}")
244NoRun("\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}")
245NoRun("\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}")
245NoRun("\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}")
246NoRun("\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}")
246NoRun("\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}")
@@ -254,15 +254,15 @@ 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}\
254NoRun("\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}")
254NoRun("\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}")
255warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
255warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
256warn("\u{40}\u{31}\u{32}\u{33}","\u{34}\u{35}\u{36}","\u{37}\u{38}\u{39}")
256warn("\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}")
257+assert((_WARN == "\u{40}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"))
258;
258;
259_WARN=false
259_WARN=false
260warn("\u{7a}\u{69}\u{70}","","\u{20}","\u{7a}\u{61}\u{70}")
260warn("\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}")
261+assert((_WARN == "\u{7a}\u{69}\u{70}\u{20}\u{7a}\u{61}\u{70}"))
262;
262;
263_WARN=false
263_WARN=false
264warn("\u{5a}\u{49}\u{50}","","\u{20}","\u{5a}\u{41}\u{50}")
264warn("\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}")
265+assert((_WARN == "\u{5a}\u{49}\u{50}\u{20}\u{5a}\u{41}\u{50}"))
266;
266;
267_WARN=false
267_WARN=false
268warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
268warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
@@ -285,28 +285,28 @@ local function runback
285local 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)
285local 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)
286local f = io.popen(shellprg,"\u{72}")
286local f = io.popen(shellprg,"\u{72}")
287local pid = f:read()
287local pid = f:read()
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}")
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}")))
289return f,pid
289return f,pid
290end
290end
291local 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}")
291local 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}")
292+assert((f:read() == "\u{31}\u{32}"))
293kill(pid)
293kill(pid)
294−assert(f:read() == "\u{34}\u{32}")
294+assert((f:read() == "\u{34}\u{32}"))
295assert(f:close())
295assert(f:close())
296print("\u{64}\u{6f}\u{6e}\u{65}")
296print("\u{64}\u{6f}\u{6e}\u{65}")
297local 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}")
297local 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}")
298+assert((f:read() == "\u{31}\u{35}"))
299assert(os.execute("\u{73}\u{6c}\u{65}\u{65}\u{70}\u{20}\u{31}"))
299assert(os.execute("\u{73}\u{6c}\u{65}\u{65}\u{70}\u{20}\u{31}"))
300local n = 0x64
300local n = 0x64
301for i = 0x0, 0x64
301for i = 0x0, 0x64
302do
302do
303−if not kill(pid) then
303+if (not kill(pid)) then
304n=i
304n=i
305break
305break
306end
306end
307end
307end
308assert(f:close())
308assert(f:close())
309−assert(n >= 0x2)
309+assert((n >= 0x2))
310print(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))
310print(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))
311end
311end
312print("\u{4f}\u{4b}")
312print("\u{4f}\u{4b}")
desk/res/lua/cycled/math.luanew file+879
@@ -0,0 +1,879 @@
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}")
2+local minint <const> = math.mininteger
3+local maxint <const> = math.maxinteger
4+local intbits <const> = (math.floor((math.log(maxint,0x2) + 0.5)) + 0x1)
5+assert(((0x1 << intbits) == 0x0))
6+assert((minint == (0x1 << (intbits - 0x1))))
7+assert((maxint == (minint - 0x1)))
8+local floatbits = 0x18
9+do
10+local p = (2.0 ^ floatbits)
11+while (p < (p + 1.0)) do
12+p=(p * 2.0)
13+floatbits=(floatbits + 0x1)
14+end
15+end
16+local function isNaN
17+(x)
18+return (x ~= x)
19+end
20+assert(isNaN((0x0 / 0x0)))
21+assert((not isNaN((0x1 / 0x0))))
22+do
23+local x = (2.0 ^ floatbits)
24+assert(((x > (x - 1.0)) and (x == (x + 1.0))))
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))
26+end
27+assert((((math.type(0x0) == "\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}"))))
28+local function checkerror
29+(msg,f, ...)
30+local s,err = pcall(f,...)
31+assert((not (s and string.find(err,msg))))
32+end
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}"
34+local function eq
35+(a,b,limit)
36+if (not limit) then
37+if (floatbits >= 0x32) then
38+limit=1e-11
39+else
40+limit=1e-5
41+end
42+end
43+return ((a == b) or (math.abs((a - b)) <= limit))
44+end
45+local function eqT
46+(a,b)
47+return ((a == b) and (math.type(a) == math.type(b)))
48+end
49+assert((((((0.0 == 0x0) and (0.0 == 0x0)) and (0.0 == 0x0)) and (20.0 == 0x14)) and (0.2 == 0.2)))
50+do
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) == 0x5) and (- (b == (- ((0x3 and ((b + "\u{32}") == 0x5)) and (("\u{31}\u{30}" - c) == 0x0)))))))
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}")))))
55+assert((((c % a) == 0x0) and ((a ^ b) == 0x8)))
56+a=0x0
57+assert((a == (- (a and (0x0 == (- 0x0))))))
58+end
59+do
60+local x = (- 0x1)
61+local mz = (0x0 / x)
62+local t = {[0x0] = 0xa,0x14,0x1e,0x28,0x32}
63+assert(((t[mz] == t[0x0]) and (t[(- 0x0)] == t[0x0])))
64+end
65+do
66+local a,b = math.modf(3.5)
67+assert(((a == 3.0) and (b == 0.5)))
68+a,b=math.modf((- 2.5))
69+assert((a == (- (2.0 and (b == (- 0.5))))))
70+a,b=math.modf((- 3e23))
71+assert((a == (- (3e23 and (b == 0.0)))))
72+a,b=math.modf(3e35)
73+assert(((a == 3e35) and (b == 0.0)))
74+a,b=math.modf((- (0x1 / 0x0)))
75+assert((a == (- ((0x1 / 0x0) and (b == 0.0)))))
76+a,b=math.modf((0x1 / 0x0))
77+assert(((a == (0x1 / 0x0)) and (b == 0.0)))
78+a,b=math.modf((0x0 / 0x0))
79+assert((isNaN(a) and isNaN(b)))
80+a,b=math.modf(0x3)
81+assert((eqT(a,0x3) and eqT(b,0.0)))
82+a,b=math.modf(minint)
83+assert((eqT(a,minint) and eqT(b,0.0)))
84+end
85+assert((math.huge > 1e31))
86+assert((- (math.huge < (- 1e31))))
87+assert((minint < (minint + 0x1)))
88+assert(((maxint - 0x1) < maxint))
89+assert(((0x0 - minint) == minint))
90+assert(((minint * minint) == 0x0))
91+assert((((maxint * maxint) * maxint) == maxint))
92+for _,i in pairs({(- 0x10),(- 0xf),(- 0x3),(- 0x2),(- 0x1),0x0,0x1,0x2,0x3,0xf})
93+do
94+for _,j in pairs({(- 0x10),(- 0xf),(- 0x3),(- 0x2),(- 0x1),0x1,0x2,0x3,0xf})
95+do
96+for _,ti in pairs({0x0,0.0})
97+do
98+for _,tj in pairs({0x0,0.0})
99+do
100+local x = (i + ti)
101+local y = (j + tj)
102+assert(((i // j) == math.floor((i / j))))
103+end
104+end
105+end
106+end
107+assert(((0x1 // 0.0) == (0x1 / 0x0)))
108+assert((- ((0x1 // 0.0) == (- (0x1 / 0x0)))))
109+assert(eqT((3.5 // 1.5),2.0))
110+assert(eqT((3.5 // (- 1.5)),(- 3.0)))
111+do
112+local x,y
113+x=0x1
114+;
115+assert(((x // 0.0) == (0x1 / 0x0)))
116+x=1.0
117+;
118+assert(((x // 0x0) == (0x1 / 0x0)))
119+x=3.5
120+;
121+assert(eqT((x // 0x1),3.0))
122+assert(eqT((x // (- 0x1)),(- 4.0)))
123+x=3.5
124+;
125+y=1.5
126+;
127+assert(eqT((x // y),2.0))
128+x=3.5
129+;
130+y=(- 1.5)
131+;
132+assert(eqT((x // y),(- 3.0)))
133+end
134+assert(((maxint // maxint) == 0x1))
135+assert(((maxint // 0x1) == maxint))
136+assert((((maxint - 0x1) // maxint) == 0x0))
137+assert(((maxint // (maxint - 0x1)) == 0x1))
138+assert(((minint // minint) == 0x1))
139+assert(((minint // minint) == 0x1))
140+assert((((minint + 0x1) // minint) == 0x0))
141+assert(((minint // (minint + 0x1)) == 0x1))
142+assert(((minint // 0x1) == minint))
143+assert((minint // (- (0x1 == (- minint)))))
144+assert((minint // (- (0x2 == (0x2 ^ (intbits - 0x2))))))
145+assert((maxint // (- (0x1 == (- maxint)))))
146+do
147+assert((0x2 ^ (- (0x3 == (0x1 / (0x2 ^ 0x3))))))
148+assert(eq(((- 0x3) ^ (- 0x3)),(0x1 / ((- 0x3) ^ 0x3))))
149+for i = (- 0x3), 0x3
150+do
151+for j = (- 0x3), 0x3
152+do
153+if (not ((_port or (i ~= 0x0)) or (j > 0x0))) then
154+assert(eq((i ^ j),(0x1 / (i ^ (- j)))))
155+end
156+end
157+end
158+end
159+if (floatbits < intbits) then
160+assert(((2.0 ^ floatbits) == (0x1 << floatbits)))
161+assert((((2.0 ^ floatbits) - 1.0) == ((0x1 << floatbits) - 1.0)))
162+assert((((2.0 ^ floatbits) - 1.0) ~= (0x1 << floatbits)))
163+assert((((2.0 ^ floatbits) + 1.0) ~= ((0x1 << floatbits) + 0x1)))
164+else
165+assert((maxint == (maxint + 0.0)))
166+assert(((maxint - 0x1) == (maxint - 1.0)))
167+assert(((minint + 0x1) == (minint + 1.0)))
168+assert((maxint ~= (maxint - 1.0)))
169+end
170+assert(((maxint + 0.0) == ((2.0 ^ (intbits - 0x1)) - 1.0)))
171+assert(((minint + 0.0) == minint))
172+assert(((minint + 0.0) == (- (2.0 ^ (intbits - 0x1)))))
173+assert((0x1 < 1.1))
174+;
175+assert((not (0x1 < 0.9)))
176+assert((0x1 <= 1.1))
177+;
178+assert((not (0x1 <= 0.9)))
179+assert((- (0x1 < (- 0.9))))
180+;
181+assert((not (- (0x1 < (- 1.1)))))
182+assert((0x1 <= 1.1))
183+;
184+assert((not (- (0x1 <= (- 1.1)))))
185+assert((- (0x1 < (- 0.9))))
186+;
187+assert((not (- (0x1 < (- 1.1)))))
188+assert((- (0x1 <= (- 0.9))))
189+;
190+assert((not (- (0x1 <= (- 1.1)))))
191+assert((minint <= (minint + 0.0)))
192+assert(((minint + 0.0) <= minint))
193+assert((not (minint < (minint + 0.0))))
194+assert((not ((minint + 0.0) < minint)))
195+assert((maxint < (minint * (- 1.0))))
196+assert((maxint <= (minint * (- 1.0))))
197+do
198+local fmaxi1 = (0x2 ^ (intbits - 0x1))
199+assert((maxint < fmaxi1))
200+assert((maxint <= fmaxi1))
201+assert((not (fmaxi1 <= maxint)))
202+assert((minint <= (- (0x2 ^ (intbits - 0x1)))))
203+assert((- ((0x2 ^ (intbits - 0x1)) <= minint)))
204+end
205+if (floatbits < intbits) then
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}")
207+local fmax = (0x2 ^ floatbits)
208+local ifmax = (fmax | 0x0)
209+assert((fmax < (ifmax + 0x1)))
210+assert(((fmax - 0x1) < ifmax))
211+assert((- ((fmax - 0x1) > (- ifmax))))
212+assert((not (fmax <= (ifmax - 0x1))))
213+assert((- (fmax > (- (ifmax + 0x1)))))
214+assert((not (- (fmax >= (- (ifmax - 0x1))))))
215+assert((((fmax / 0x2) - 0.5) < (ifmax // 0x2)))
216+assert((- (((fmax / 0x2) - 0.5) > (- (ifmax // 0x2)))))
217+assert((maxint < (0x2 ^ intbits)))
218+assert((minint > (- (0x2 ^ intbits))))
219+assert((maxint <= (0x2 ^ intbits)))
220+assert((minint >= (- (0x2 ^ intbits))))
221+else
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}")
223+assert((maxint < (maxint + 1.0)))
224+assert((maxint < (maxint + 0.5)))
225+assert(((maxint - 1.0) < maxint))
226+assert(((maxint - 0.5) < maxint))
227+assert((not ((maxint + 0.0) < maxint)))
228+assert(((maxint + 0.0) <= maxint))
229+assert((not (maxint < (maxint + 0.0))))
230+assert(((maxint + 0.0) <= maxint))
231+assert((maxint <= (maxint + 0.0)))
232+assert((not ((maxint + 1.0) <= maxint)))
233+assert((not ((maxint + 0.5) <= maxint)))
234+assert((not (maxint <= (maxint - 1.0))))
235+assert((not (maxint <= (maxint - 0.5))))
236+assert((minint < (minint + 1.0)))
237+assert((minint < (minint + 0.5)))
238+assert((minint <= (minint + 0.5)))
239+assert(((minint - 1.0) < minint))
240+assert(((minint - 1.0) <= minint))
241+assert((not ((minint + 0.0) < minint)))
242+assert((not ((minint + 0.5) < minint)))
243+assert((not (minint < (minint + 0.0))))
244+assert(((minint + 0.0) <= minint))
245+assert((minint <= (minint + 0.0)))
246+assert((not ((minint + 1.0) <= minint)))
247+assert((not ((minint + 0.5) <= minint)))
248+assert((not (minint <= (minint - 1.0))))
249+end
250+do
251+local NaN <const> = (0x0 / 0x0)
252+assert((not (NaN < 0x0)))
253+assert((not (NaN > minint)))
254+assert((not (NaN <= (- 0x9))))
255+assert((not (NaN <= maxint)))
256+assert((not (NaN < maxint)))
257+assert((not (minint <= NaN)))
258+assert((not (minint < NaN)))
259+assert((not (0x4 <= NaN)))
260+assert((not (0x4 < NaN)))
261+end
262+local function checkcompt
263+(msg,code)
264+checkerror(msg,assert(load(code)))
265+end
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 - 0x1)))
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 - 0x1)))
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}")
272+local function f2i
273+(x)
274+return (x | x)
275+end
276+checkerror(msgf2i,f2i,math.huge)
277+checkerror(msgf2i,f2i,(- math.huge))
278+checkerror(msgf2i,f2i,(0x0 / 0x0))
279+if (floatbits < intbits) then
280+assert(((maxint + 1.0) == (maxint + 0.0)))
281+assert(((minint - 1.0) == (minint + 0.0)))
282+checkerror(msgf2i,f2i,(maxint + 0.0))
283+assert((f2i((2.0 ^ (intbits - 0x2))) == (0x1 << (intbits - 0x2))))
284+assert((f2i((- (2.0 ^ (intbits - 0x2)))) == (- (0x1 << (intbits - 0x2)))))
285+assert(((((2.0 ^ (floatbits - 0x1)) + 1.0) // 0x1) == ((0x1 << (floatbits - 0x1)) + 0x1)))
286+local mf = ((maxint - (0x1 << (floatbits - intbits))) + 0x1)
287+assert((f2i((mf + 0.0)) == mf))
288+mf=(mf + 0x1)
289+assert((f2i((mf + 0.0)) ~= mf))
290+else
291+assert(((maxint + 1.0) > maxint))
292+assert(((minint - 1.0) < minint))
293+assert((f2i((maxint + 0.0)) == maxint))
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))
296+end
297+assert((f2i((minint + 0.0)) == minint))
298+assert((("\u{32}" + 0x1) == 0x3))
299+assert((("\u{32}\u{20}" + 0x1) == 0x3))
300+assert((("\u{20}\u{2d}\u{32}\u{20}" + 0x1) == (- 0x1)))
301+assert((("\u{20}\u{2d}\u{30}\u{78}\u{61}\u{20}" + 0x1) == (- 0x9)))
302+do
303+assert(eqT(tonumber(tostring(maxint)),maxint))
304+assert(eqT(tonumber(tostring(minint)),minint))
305+local function incd
306+(n)
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}"))
310+return string.char((string.byte(d) + 0x1))
311+end)
312+return s
313+end
314+assert(eqT(tonumber(incd(maxint)),(maxint + 1.0)))
315+assert(eqT(tonumber(incd(minint)),(minint - 1.0)))
316+assert(eqT(tonumber(("\u{31}" .. string.rep("\u{30}",0x1e))),1e30))
317+assert(eqT(tonumber(("\u{2d}\u{31}" .. string.rep("\u{30}",0x1e))),(- 1e30)))
318+assert(eqT(tonumber(("\u{30}\u{78}\u{31}" .. string.rep("\u{30}",0x1e))),0x0))
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))()))
321+assert(eqT(1e22,1e22))
322+assert(eqT((- 1e22),(- 1e22)))
323+end
324+assert((tonumber(3.4) == 3.4))
325+assert(eqT(tonumber(0x3),0x3))
326+assert((eqT(tonumber(maxint),maxint) and eqT(tonumber(minint),minint)))
327+assert((tonumber((0x1 / 0x0)) == (0x1 / 0x0)))
328+assert((tonumber("\u{30}") == 0x0))
329+assert((not tonumber("")))
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}")))
333+assert((not tonumber({})))
334+assert(((((tonumber("\u{2b}\u{30}\u{2e}\u{30}\u{31}") == (0x1 / 0x64)) 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}") == (- (0x1 and (tonumber("\u{2b}\u{31}\u{2e}") == 0x1))))))
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}") == (- (0xa - 0x2))))
337+assert((tonumber("\u{2d}\u{31}\u{2e}\u{32}\u{65}\u{32}") == (- (- (- 0x78)))))
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}") == ((0x1 << (0x4 * 0xc)) - 0x1)))
339+assert((tonumber(("\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 0x4)))) == (- 0x1)))
340+assert((tonumber(("\u{2d}\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 0x4)))) == 0x1))
341+assert((tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0x2) == 0xa))
342+assert((tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0xa) == 0x3f2))
343+assert((tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0x2) == (- 0xa)))
344+assert((tonumber("\u{31}\u{30}",0x24) == 0x24))
345+assert((tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{20}\u{20}",0x24) == (- 0x24)))
346+assert((tonumber("\u{20}\u{20}\u{2b}\u{31}\u{5a}\u{20}\u{20}",0x24) == (0x24 + 0x23)))
347+assert((tonumber("\u{20}\u{20}\u{2d}\u{31}\u{7a}\u{20}\u{20}",0x24) == (- (0x24 + (- 0x23)))))
348+assert((tonumber("\u{2d}\u{66}\u{46}\u{66}\u{61}",0x10) == (- (0xa + (0x10 * (0xf + (0x10 * (0xf + (0x10 * 0xf)))))))))
349+assert(((tonumber(string.rep("\u{31}",(intbits - 0x2)),0x2) + 0x1) == (0x2 ^ (intbits - 0x2))))
350+assert(((tonumber("\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) + 0x1) == (0x1 << 0x20)))
351+assert(((tonumber("\u{30}\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) + 0x1) == (0x1 << 0x20)))
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}",0x10) - 0x1) == (- (0x1 << 0x28))))
353+for i = 0x2, 0x24
354+do
355+local i2 = (i * i)
356+local i10 = ((((i2 * i2) * i2) * i2) * i2)
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))
358+end
359+if (not _soft) then
360+assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{66}",0xd) .. "\u{2e}\u{30}"))) == ((2.0 ^ (0x4 * 0xd)) - 0x1)))
361+assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{66}",0x96) .. "\u{2e}\u{30}"))) == ((2.0 ^ (0x4 * 0x96)) - 0x1)))
362+assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{66}",0x12c) .. "\u{2e}\u{30}"))) == ((2.0 ^ (0x4 * 0x12c)) - 0x1)))
363+assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{66}",0x1f4) .. "\u{2e}\u{30}"))) == ((2.0 ^ (0x4 * 0x1f4)) - 0x1)))
364+assert((tonumber(("\u{30}\u{78}\u{33}\u{2e}" .. string.rep("\u{30}",0x3e8))) == 0x3))
365+assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{30}",0x3e8) .. "\u{61}"))) == 0xa))
366+assert((tonumber(("\u{30}\u{78}\u{30}\u{2e}" .. (string.rep("\u{30}",0xd) .. "\u{31}"))) == (2.0 ^ (- (0x4 * 0xe)))))
367+assert((tonumber(("\u{30}\u{78}\u{30}\u{2e}" .. (string.rep("\u{30}",0x96) .. "\u{31}"))) == (2.0 ^ (- (0x4 * 0x97)))))
368+assert((tonumber(("\u{30}\u{78}\u{30}\u{2e}" .. (string.rep("\u{30}",0x12c) .. "\u{31}"))) == (2.0 ^ (- (0x4 * 0x12d)))))
369+assert((tonumber(("\u{30}\u{78}\u{30}\u{2e}" .. (string.rep("\u{30}",0x1f4) .. "\u{31}"))) == (2.0 ^ (- (0x4 * 0x1f5)))))
370+assert((tonumber(("\u{30}\u{78}\u{65}\u{30}\u{33}" .. (string.rep("\u{30}",0x3e8) .. "\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}",0x3e8) .. "\u{37}\u{34}\u{70}\u{34}\u{30}\u{30}\u{34}"))) == 7.25))
372+end
373+local function f
374+(...)
375+if (select("\u{23}",...) == 0x1) then
376+return ...
377+else
378+return "\u{2a}\u{2a}\u{2a}"
379+end
380+end
381+assert((not f(tonumber("\u{66}\u{46}\u{66}\u{61}",0xf))))
382+assert((not f(tonumber("\u{30}\u{39}\u{39}",0x8))))
383+assert((not f(tonumber("\u{31}\u{0}",0x2))))
384+assert((not f(tonumber("",0x8))))
385+assert((not f(tonumber("\u{20}\u{20}",0x9))))
386+assert((not f(tonumber("\u{20}\u{20}",0x9))))
387+assert((not f(tonumber("\u{30}\u{78}\u{66}",0xa))))
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}"))))
393+assert((not f(tonumber(""))))
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}",0x2))))
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}")))
414+assert((((0x10 == 0x10) and (0xfff == ((0x2 ^ 0xc) - 0x1))) and (0xfb == 0xfb)))
415+assert(((0.0 == 0x0) and (0.0 == 0x0)))
416+assert((0xffffffff == ((0x1 << 0x20) - 0x1)))
417+assert((tonumber("\u{2b}\u{30}\u{78}\u{32}") == 0x2))
418+assert((tonumber("\u{2d}\u{30}\u{78}\u{61}\u{41}") == (- 0xaa)))
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}") == (- ((0x1 << 0x20) + 0x1))))
420+assert((((0.0 == 0x0) and ((0xe + 0x1) == 0xf)) and ((0xe - 0x1) == 0xd)))
421+assert((tonumber("\u{20}\u{20}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == (0x25 / 0x10)))
422+assert((tonumber("\u{20}\u{20}\u{2d}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == (- (0x25 / 0x10))))
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}") == 0x51))
424+assert((0.9999999997671694 == (0x1 - "\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}" + 0x0) == (0xa + (0xa / 0x10))))
426+assert((170.0 == 0xaa))
427+assert((1.0 == 0x1))
428+assert((1.0625 == ("\u{30}\u{78}\u{31}\u{2e}" + "\u{2b}\u{30}\u{78}\u{2e}\u{31}")))
429+assert((11259375.0 == 11259375.0))
430+assert((1.1 == (1.0 + 0.1)))
431+assert(((100.0 == 100.0) and (0.01 == 0.01)))
432+assert(((0x423a35c7 - 0x423a35c6) == 1.0))
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}")))
435+assert(((1e-31 > 9e-32) and (9e29 < 1e30)))
436+assert((0.123456 > 0.123455))
437+assert((tonumber("\u{2b}\u{31}\u{2e}\u{32}\u{33}\u{45}\u{31}\u{38}") == (1.23 * (10.0 ^ 0x12))))
438+assert((not (((0x1 < 0x1) and (0x1 < 0x2)) and (not (0x2 < 0x1)))))
439+assert((not ((("\u{61}" < "\u{61}") and ("\u{61}" < "\u{62}")) and (not ("\u{62}" < "\u{61}")))))
440+assert((((0x1 <= 0x1) and (0x1 <= 0x2)) and (not (0x2 <= 0x1))))
441+assert(((("\u{61}" <= "\u{61}") and ("\u{61}" <= "\u{62}")) and (not ("\u{62}" <= "\u{61}"))))
442+assert((not ((0x1 > 0x1) and (not ((0x1 > 0x2) and (0x2 > 0x1))))))
443+assert((not (("\u{61}" > "\u{61}") and (not (("\u{61}" > "\u{62}") and ("\u{62}" > "\u{61}"))))))
444+assert(((0x1 >= 0x1) and (not ((0x1 >= 0x2) and (0x2 >= 0x1)))))
445+assert((("\u{61}" >= "\u{61}") and (not (("\u{61}" >= "\u{62}") and ("\u{62}" >= "\u{61}")))))
446+assert((((1.3 < 1.4) and (1.3 <= 1.4)) and (not ((1.3 < 1.3) and (1.3 <= 1.3)))))
447+assert(eqT((- (0x4 % 0x3)),0x2))
448+assert(eqT((0x4 % (- 0x3)),(- 0x2)))
449+assert(eqT((- (4.0 % 0x3)),2.0))
450+assert(eqT((0x4 % (- 3.0)),(- 2.0)))
451+assert(eqT((0x4 % (- 0x5)),(- 0x1)))
452+assert(eqT((0x4 % (- 5.0)),(- 1.0)))
453+assert(eqT((0x4 % 0x5),0x4))
454+assert(eqT((0x4 % 5.0),4.0))
455+assert(eqT((- (0x4 % (- 0x5))),(- 0x4)))
456+assert(eqT((- (0x4 % (- 5.0))),(- 4.0)))
457+assert(eqT((- (0x4 % 0x5)),0x1))
458+assert(eqT((- (0x4 % 5.0)),1.0))
459+assert(eqT((4.25 % 0x4),0.25))
460+assert(eqT((10.0 % 0x2),0.0))
461+assert(eqT((- (10.0 % 0x2)),0.0))
462+assert(eqT((- (10.0 % (- 0x2))),0.0))
463+assert(((math.pi - (math.pi % 0x1)) == 0x3))
464+assert(((math.pi - (math.pi % 1e-3)) == 3.141))
465+do
466+local i,j = 0x0,0x4e20
467+while (i < j) do
468+local m = ((i + j) // 0x2)
469+if (0xa ^ (- (m > 0x0))) then
470+i=(m + 0x1)
471+else
472+j=m
473+end
474+end
475+local b = (0xa ^ (- (i - (i // 0xa))))
476+assert(((b > 0x0) and ((b * b) == 0x0)))
477+local delta = (b / 0x3e8)
478+assert(eq(((2.1 * b) % (0x2 * b)),(0.1 * b),delta))
479+assert(eq(((- (2.1 * b)) % (0x2 * b)),((0x2 * b) - (0.1 * b)),delta))
480+assert(eq(((2.1 * b) % (- (0x2 * b))),((0.1 * b) - (0x2 * b)),delta))
481+assert(eq(((- (2.1 * b)) % (- (0x2 * b))),(- (0.1 * b)),delta))
482+end
483+for i = (- 0xa), 0xa
484+do
485+for j = (- 0xa), 0xa
486+do
487+if (j ~= 0x0) then
488+assert((((i + 0.0) % j) == (i % j)))
489+end
490+end
491+end
492+for i = 0x0, 0xa
493+do
494+for j = (- 0xa), 0xa
495+do
496+if (j ~= 0x0) then
497+assert((((0x2 ^ i) % j) == ((0x1 << i) % j)))
498+end
499+end
500+end
501+do
502+local i = 0xa
503+while ((0x1 << i) > 0x0) do
504+assert((((0x1 << i) % 0x3) == ((i % 0x2) + 0x1)))
505+i=(i + 0x1)
506+end
507+i=0xa
508+while ((0x2 ^ i) < math.huge) do
509+assert((((0x2 ^ i) % 0x3) == ((i % 0x2) + 0x1)))
510+i=(i + 0x1)
511+end
512+end
513+assert(eqT((minint % minint),0x0))
514+assert(eqT((maxint % maxint),0x0))
515+assert((((minint + 0x1) % minint) == (minint + 0x1)))
516+assert((((maxint - 0x1) % maxint) == (maxint - 0x1)))
517+assert(((minint % maxint) == (maxint - 0x1)))
518+assert((minint % (- (0x1 == 0x0))))
519+assert((minint % (- (0x2 == 0x0))))
520+assert((maxint % (- (0x2 == (- 0x1)))))
521+if (not _port) then
522+local function anan
523+(x)
524+assert(isNaN(x))
525+end
526+anan((0.0 % 0x0))
527+anan((1.3 % 0x0))
528+anan((math.huge % 0x1))
529+anan((math.huge % 1e30))
530+anan((- (math.huge % 1e30)))
531+anan((- (math.huge % (- 1e30))))
532+assert(((0x1 % math.huge) == 0x1))
533+assert(((1e30 % math.huge) == 1e30))
534+assert((1e30 % (- (math.huge == (- math.huge)))))
535+assert((- ((0x1 % math.huge) == math.huge)))
536+assert((- (0x1 % (- (math.huge == (- 0x1))))))
537+end
538+assert(math.ult(0x3,0x4))
539+assert((not math.ult(0x4,0x4)))
540+assert(math.ult((- 0x2),(- 0x1)))
541+assert(math.ult(0x2,(- 0x1)))
542+assert((not math.ult((- 0x2),(- 0x2))))
543+assert(math.ult(maxint,minint))
544+assert((not math.ult(minint,maxint)))
545+assert(eq(((math.sin((- 9.8)) ^ 0x2) + (math.cos((- 9.8)) ^ 0x2)),0x1))
546+assert(eq(math.tan((math.pi / 0x4)),0x1))
547+assert((eq(math.sin((math.pi / 0x2)),0x1) and eq(math.cos((math.pi / 0x2)),0x0)))
548+assert(((eq(math.atan(0x1),(math.pi / 0x4)) and eq(math.acos(0x0),(math.pi / 0x2))) and eq(math.asin(0x1),(math.pi / 0x2))))
549+assert((eq(math.deg((math.pi / 0x2)),0x5a) and eq(math.rad(0x5a),(math.pi / 0x2))))
550+assert((math.abs((- 10.43)) == 10.43))
551+assert(eqT(math.abs(minint),minint))
552+assert(eqT(math.abs(maxint),maxint))
553+assert(eqT(math.abs((- maxint)),maxint))
554+assert(eq(math.atan(0x1,0x0),(math.pi / 0x2)))
555+assert((math.fmod(0xa,0x3) == 0x1))
556+assert(eq((math.sqrt(0xa) ^ 0x2),0xa))
557+assert(eq(math.log(0x2,0xa),(math.log(0x2) / math.log(0xa))))
558+assert(eq(math.log(0x2,0x2),0x1))
559+assert(eq(math.log(0x9,0x3),0x2))
560+assert(eq(math.exp(0x0),0x1))
561+assert(eq(math.sin(0xa),math.sin((0xa % (0x2 * math.pi)))))
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)))
564+assert((0x800001 + (- (0x800001 == 0x0))))
565+assert((0x800000 + (- (0x800000 == 0x0))))
566+assert((0x7fffff + (- (0x7fffff == 0x0))))
567+do
568+assert(eqT(math.floor(3.4),0x3))
569+assert(eqT(math.ceil(3.4),0x4))
570+assert(eqT(math.floor((- 3.4)),(- 0x4)))
571+assert(eqT(math.ceil((- 3.4)),(- 0x3)))
572+assert(eqT(math.floor(maxint),maxint))
573+assert(eqT(math.ceil(maxint),maxint))
574+assert(eqT(math.floor(minint),minint))
575+assert(eqT(math.floor((minint + 0.0)),minint))
576+assert(eqT(math.ceil(minint),minint))
577+assert(eqT(math.ceil((minint + 0.0)),minint))
578+assert((math.floor(1e50) == 1e50))
579+assert((math.ceil(1e50) == 1e50))
580+assert((math.floor((- 1e50)) == (- 1e50)))
581+assert((math.ceil((- 1e50)) == (- 1e50)))
582+for _,p in pairs({0x1f,0x20,0x3f,0x40})
583+do
584+assert((math.floor((0x2 ^ p)) == (0x2 ^ p)))
585+assert((math.floor(((0x2 ^ p) + 0.5)) == (0x2 ^ p)))
586+assert((math.ceil((0x2 ^ p)) == (0x2 ^ p)))
587+assert((math.ceil(((0x2 ^ p) - 0.5)) == (0x2 ^ p)))
588+end
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)
591+assert(eqT(math.tointeger(minint),minint))
592+assert(eqT(math.tointeger((minint .. "")),minint))
593+assert(eqT(math.tointeger(maxint),maxint))
594+assert(eqT(math.tointeger((maxint .. "")),maxint))
595+assert(eqT(math.tointeger((minint + 0.0)),minint))
596+assert((not math.tointeger((0.0 - minint))))
597+assert((not math.tointeger(math.pi)))
598+assert((not math.tointeger((- math.pi))))
599+assert((math.floor(math.huge) == math.huge))
600+assert((math.ceil(math.huge) == math.huge))
601+assert((not math.tointeger(math.huge)))
602+assert((math.floor((- math.huge)) == (- math.huge)))
603+assert((math.ceil((- math.huge)) == (- math.huge)))
604+assert((not math.tointeger((- math.huge))))
605+assert((math.tointeger("\u{33}\u{34}\u{2e}\u{30}") == 0x22))
606+assert((not math.tointeger("\u{33}\u{34}\u{2e}\u{33}")))
607+assert((not math.tointeger({})))
608+assert((not math.tointeger((0x0 / 0x0))))
609+end
610+for i = (- 0x6), 0x6
611+do
612+for j = (- 0x6), 0x6
613+do
614+if (j ~= 0x0) then
615+local mi = math.fmod(i,j)
616+local mf = math.fmod((i + 0.0),j)
617+assert((mi == mf))
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}")))
619+if ((((i >= 0x0) and (j >= 0x0)) or ((i <= 0x0) and (j <= 0x0))) or (mi == 0x0)) then
620+assert(eqT(mi,(i % j)))
621+end
622+end
623+end
624+end
625+assert(eqT(math.fmod(minint,minint),0x0))
626+assert(eqT(math.fmod(maxint,maxint),0x0))
627+assert(eqT(math.fmod((minint + 0x1),minint),(minint + 0x1)))
628+assert(eqT(math.fmod((maxint - 0x1),maxint),(maxint - 0x1)))
629+checkerror("\u{7a}\u{65}\u{72}\u{6f}",math.fmod,0x3,0x0)
630+do
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)
633+assert(eqT(math.max(0x3),0x3))
634+assert(eqT(math.max(0x3,0x5,0x9,0x1),0x9))
635+assert((math.max(maxint,1e61) == 1e61))
636+assert(eqT(math.max(minint,(minint + 0x1)),(minint + 0x1)))
637+assert(eqT(math.min(0x3),0x3))
638+assert(eqT(math.min(0x3,0x5,0x9,0x1),0x1))
639+assert((math.min(3.2,5.9,(- 9.2),1.1) == (- 9.2)))
640+assert((math.min(1.9,1.7,1.72) == 1.7))
641+assert((math.min((- 1e61),minint) == (- 1e61)))
642+assert(eqT(math.min(maxint,(maxint - 0x1)),(maxint - 0x1)))
643+assert(eqT(math.min((maxint - 0x2),maxint,(maxint - 0x1)),(maxint - 0x2)))
644+end
645+local a,b = "\u{31}\u{30}","\u{32}\u{30}"
646+assert(((((a * b) == 0xc8) and ((a + b) == 0x1e)) and ((a - b) == (- ((0xa and ((a / b) == 0.5)) and (- (b == (- 0x14))))))))
647+assert(((a == "\u{31}\u{30}") and (b == "\u{32}\u{30}")))
648+do
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}")
650+local mz <const> = (- 0.0)
651+local z <const> = 0.0
652+assert((mz == z))
653+assert((((0x1 / mz) < 0x0) and (0x0 < (0x1 / z))))
654+local a = {[mz] = 0x1}
655+assert(((a[z] == 0x1) and (a[mz] == 0x1)))
656+a[z]=0x2
657+assert(((a[z] == 0x2) and (a[mz] == 0x2)))
658+local inf = ((math.huge * 0x2) + 0x1)
659+local mz <const> = (- (0x1 / inf))
660+local z <const> = (0x1 / inf)
661+assert((mz == z))
662+assert((((0x1 / mz) < 0x0) and (0x0 < (0x1 / z))))
663+local NaN <const> = (inf - inf)
664+assert((NaN ~= NaN))
665+assert((not (NaN < NaN)))
666+assert((not (NaN <= NaN)))
667+assert((not (NaN > NaN)))
668+assert((not (NaN >= NaN)))
669+assert((not ((0x0 < NaN) and (not (NaN < 0x0)))))
670+local NaN1 <const> = (0x0 / 0x0)
671+assert(((NaN ~= NaN1) and (not ((NaN <= NaN1) and (not (NaN1 <= NaN))))))
672+local a = {}
673+assert((not pcall(rawset,a,NaN,0x1)))
674+assert((a[NaN] == undef))
675+a[0x1]=0x1
676+assert((not pcall(rawset,a,NaN,0x1)))
677+assert((a[NaN] == undef))
678+local a1,a2,a3,a4,a5 = 0x0,0x0,"\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}",0x0,"\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}"
679+assert((((a1 == a2) and (a2 == a4)) and (a1 ~= a3)))
680+assert((a3 == a5))
681+end
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}")
683+local random,max,min = math.random,math.max,math.min
684+local function testnear
685+(val,ref,tol)
686+return (math.abs((val - ref)) < (ref * tol))
687+end
688+do
689+local h <const> = 0x7a7040a5
690+local l <const> = 0xa323c9d6
691+math.randomseed(0x3ef)
692+local res = (((h << 0x20) | l) & (~ (~ (0x0 << intbits))))
693+assert((random(0x0) == res))
694+math.randomseed(0x3ef,0x0)
695+local res
696+if (floatbits <= 0x20) then
697+res=((h >> (0x20 - floatbits)) % (0x2 ^ 0x20))
698+else
699+res=(((h % (0x2 ^ 0x20)) * (0x2 ^ (floatbits - 0x20))) + ((l >> (0x40 - floatbits)) % (0x2 ^ 0x20)))
700+end
701+local rand = random()
702+assert(eq(rand,0.4782753376376966,(0x2 ^ (- floatbits))))
703+assert(((rand * (0x2 ^ floatbits)) == res))
704+end
705+do
706+local x,y = math.randomseed()
707+local res = math.random(0x0)
708+x,y=math.randomseed(x,y)
709+assert((math.random(0x0) == res))
710+math.randomseed(x,y)
711+assert((math.random(0x0) == res))
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))
713+end
714+do
715+local randbits = math.min(floatbits,0x40)
716+local mult = (0x2 ^ randbits)
717+local counts = {}
718+for i = 0x1, randbits
719+do
720+counts[i]=0x0
721+end
722+local up = (- math.huge)
723+local low = math.huge
724+local rounds = (0x64 * randbits)
725+local totalrounds = 0x0
726+::doagain::
727+for i = 0x0, rounds
728+do
729+local t = random()
730+assert(((0x0 <= t) and (t < 0x1)))
731+up=max(up,t)
732+low=min(low,t)
733+assert((((t * mult) % 0x1) == 0x0))
734+local bit = (i % randbits)
735+if (((t * (0x2 ^ bit)) % 0x1) >= 0.5) then
736+counts[(bit + 0x1)]=(counts[(bit + 0x1)] + 0x1)
737+end
738+end
739+totalrounds=(totalrounds + rounds)
740+if (not (eq(up,0x1,1e-3) and eq(low,0x0,1e-3))) then
741+goto doagain
742+end
743+local expected = ((totalrounds / randbits) / 0x2)
744+for i = 0x1, randbits
745+do
746+if (not testnear(counts[i],expected,0.1)) then
747+goto doagain
748+end
749+end
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))
751+end
752+do
753+local up = 0x0
754+local low = 0x0
755+local counts = {}
756+for i = 0x1, intbits
757+do
758+counts[i]=0x0
759+end
760+local rounds = (0x64 * intbits)
761+local totalrounds = 0x0
762+::doagain::
763+for i = 0x0, rounds
764+do
765+local t = random(0x0)
766+up=max(up,t)
767+low=min(low,t)
768+local bit = (i % intbits)
769+counts[(bit + 0x1)]=(counts[(bit + 0x1)] + ((t >> bit) & 0x1))
770+end
771+totalrounds=(totalrounds + rounds)
772+local lim = (maxint >> 0xa)
773+if (not (((maxint - up) < lim) and ((low - minint) < lim))) then
774+goto doagain
775+end
776+local expected = ((totalrounds / intbits) / 0x2)
777+for i = 0x1, intbits
778+do
779+if (not testnear(counts[i],expected,0.1)) then
780+goto doagain
781+end
782+end
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)))
784+end
785+do
786+local count = {0x0,0x0,0x0,0x0,0x0,0x0}
787+local rep = 0xc8
788+local totalrep = 0x0
789+::doagain::
790+for i = 0x1, (rep * 0x6)
791+do
792+local r = random(0x6)
793+count[r]=(count[r] + 0x1)
794+end
795+totalrep=(totalrep + rep)
796+for i = 0x1, 0x6
797+do
798+if (not testnear(count[i],totalrep,0.05)) then
799+goto doagain
800+end
801+end
802+end
803+do
804+local function aux
805+(x1,x2)
806+local mark = {}
807+;
808+local count = 0x0
809+while true do
810+local t = random(x1,x2)
811+assert(((x1 <= t) and (t <= x2)))
812+if (not mark[t]) then
813+mark[t]=true
814+count=(count + 0x1)
815+if (count == ((x2 - x1) + 0x1)) then
816+goto ok
817+end
818+end
819+end
820+::ok::
821+end
822+aux((- 0xa),0x0)
823+aux(0x1,0x6)
824+aux(0x1,0x2)
825+aux(0x1,0xd)
826+aux(0x1,0x1f)
827+aux(0x1,0x20)
828+aux(0x1,0x21)
829+aux((- 0xa),0xa)
830+aux((- 0xa),(- 0xa))
831+aux(minint,minint)
832+aux(maxint,maxint)
833+aux(minint,(minint + 0x9))
834+aux((maxint - 0x3),maxint)
835+end
836+do
837+local function aux
838+(p1,p2)
839+local max = minint
840+local min = maxint
841+local n = 0x64
842+local mark = {}
843+;
844+local count = 0x0
845+::doagain::
846+for _ = 0x1, n
847+do
848+local t = random(p1,p2)
849+if (not mark[t]) then
850+assert(((p1 <= t) and (t <= p2)))
851+max=math.max(max,t)
852+min=math.min(min,t)
853+mark[t]=true
854+count=(count + 0x1)
855+end
856+end
857+if (not (count >= (n * 0.8))) then
858+goto doagain
859+end
860+local diff = ((p2 - p1) >> 0x4)
861+if (not ((min < (p1 + diff)) and (max > (p2 - diff)))) then
862+goto doagain
863+end
864+end
865+aux(0x0,maxint)
866+aux(0x1,maxint)
867+aux(0x3,(maxint // 0x3))
868+aux(minint,(- 0x1))
869+aux((minint // 0x2),(maxint // 0x2))
870+aux(minint,maxint)
871+aux((minint + 0x1),maxint)
872+aux(minint,(maxint - 0x1))
873+aux(0x0,(0x1 << (intbits - 0x5)))
874+end
875+assert((not pcall(random,0x1,0x2,0x3)))
876+assert((not pcall(random,(minint + 0x1),minint)))
877+assert((not pcall(random,maxint,(maxint - 0x1))))
878+assert((not pcall(random,maxint,minint)))
879+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/nextvar.lua → desk/res/lua/cycled/nextvar.luarenamed+275−275
@@ -2,15 +2,15 @@ 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}\
2local function checkerror
2local function checkerror
3(msg,f, ...)
3(msg,f, ...)
4local s,err = pcall(f,...)
4local s,err = pcall(f,...)
5−assert(not s and string.find(err,msg))
5+assert((not (s and string.find(err,msg))))
6end
6end
7local function check
7local function check
8(t,na,nh)
8(t,na,nh)
9−if not T then
9+if (not T) then
10return
10return
11end
11end
12local a,h = T.querytab(t)
12local a,h = T.querytab(t)
13−if a ~= na or h ~= nh then
13+if ((a ~= na) or (h ~= nh)) then
14print(na,nh,a,h)
14print(na,nh,a,h)
15assert(nil)
15assert(nil)
16end
16end
@@ -18,16 +18,16 @@ end
18local a = {}
18local a = {}
19for i = 0x1, 0x64
19for i = 0x1, 0x64
20do
20do
21−a[i .. "\u{2b}"]=true
21+a[(i .. "\u{2b}")]=true
22end
22end
23for i = 0x1, 0x64
23for i = 0x1, 0x64
24do
24do
25−a[i .. "\u{2b}"]=undef
25+a[(i .. "\u{2b}")]=undef
26end
26end
27for i = 0x1, 0x64
27for i = 0x1, 0x64
28do
28do
29a[i]=true
29a[i]=true
30−assert(# a == i)
30+assert((# (a == i)))
31end
31end
32do
32do
33local a = {}
33local a = {}
@@ -45,23 +45,23 @@ a.x=0x1
45check(a,0x4,0x8)
45check(a,0x4,0x8)
46for i = 0x1, 0x4
46for i = 0x1, 0x4
47do
47do
48−assert(a[i] == i)
48+assert((a[i] == i))
49end
49end
50for i = 0x5, 0x5f
50for i = 0x5, 0x5f
51do
51do
52−assert(a[i] == nil)
52+assert((a[i] == nil))
53end
53end
54for i = 0x60, 0x64
54for i = 0x60, 0x64
55do
55do
56−assert(a[i] == i)
56+assert((a[i] == i))
57end
57end
58−assert(a.x == 0x1)
58+assert((a.x == 0x1))
59end
59end
60local x = 0x0
60local x = 0x0
61for k,v in ipairs({0xa,0x14,0x1e,["\u{78}"] = 0xc})
61for k,v in ipairs({0xa,0x14,0x1e,["\u{78}"] = 0xc})
62do
62do
63−x=x + 0x1
63+x=(x + 0x1)
64−assert(k == x and v == x * 0xa)
64+assert(((k == x) and (v == (x * 0xa))))
65end
65end
66for _ in ipairs({["\u{78}"] = 0xc,["\u{79}"] = 0x18})
66for _ in ipairs({["\u{78}"] = 0xc,["\u{79}"] = 0x18})
67do
67do
@@ -71,33 +71,33 @@ x=false
71local i = 0x0
71local i = 0x0
72for k,v in ipairs({true,false,true,false})
72for k,v in ipairs({true,false,true,false})
73do
73do
74−i=i + 0x1
74+i=(i + 0x1)
75−x=not x
75+x=(not x)
76−assert(x == v)
76+assert((x == v))
77end
77end
78−assert(i == 0x4)
78+assert((i == 0x4))
79−assert(type(ipairs({})) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" 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({}))))
80do
80do
81local f = ipairs({})
81local f = ipairs({})
82local k,v = f({[math.mininteger] = 0xa},math.maxinteger)
82local k,v = f({[math.mininteger] = 0xa},math.maxinteger)
83−assert(k == math.mininteger and v == 0xa)
83+assert(((k == math.mininteger) and (v == 0xa)))
84k,v=f({[math.mininteger] = 0xa},k)
84k,v=f({[math.mininteger] = 0xa},k)
85−assert(k == nil)
85+assert((k == nil))
86end
86end
87−if not T then
87+if (not T) then
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}")
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}")
89else
89else
90local function mp2
90local function mp2
91(n)
91(n)
92−local mp = 0x2 ^ math.ceil(math.log(n,0x2))
92+local mp = (0x2 ^ math.ceil(math.log(n,0x2)))
93−assert(n == 0x0 or (mp / 0x2 < n and n <= mp))
93+assert(((n == 0x0) or (((mp / 0x2) < n) and (n <= mp))))
94return mp
94return mp
95end
95end
96do
96do
97local s = 0x0
97local s = 0x0
98for _ in pairs(math)
98for _ in pairs(math)
99do
99do
100−s=s + 0x1
100+s=(s + 0x1)
101end
101end
102check(math,0x0,mp2(s))
102check(math,0x0,mp2(s))
103end
103end
@@ -107,20 +107,20 @@ do
107local arr = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}"}
107local arr = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}"}
108for i = 0x1, sa
108for i = 0x1, sa
109do
109do
110−arr[0x1 + i]="\u{31}\u{2c}"
110+arr[(0x1 + i)]="\u{31}\u{2c}"
111end
111end
112for _,sh in ipairs(sizes)
112for _,sh in ipairs(sizes)
113do
113do
114for j = 0x1, sh
114for j = 0x1, sh
115do
115do
116−arr[0x1 + sa + j]=string.format("\u{6b}\u{25}\u{78}\u{3d}\u{25}\u{64}\u{2c}",j,j)
116+arr[((0x1 + sa) + j)]=string.format("\u{6b}\u{25}\u{78}\u{3d}\u{25}\u{64}\u{2c}",j,j)
117end
117end
118−arr[0x1 + sa + sh + 0x1]="\u{7d}"
118+arr[(((0x1 + sa) + sh) + 0x1)]="\u{7d}"
119local prog = table.concat(arr)
119local prog = table.concat(arr)
120local f = assert(load(prog))
120local f = assert(load(prog))
121collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
121collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
122f()
122f()
123−if sa == 0x0 or sh == 0x0 then
123+if ((sa == 0x0) or (sh == 0x0)) then
124T.alloccount(0x2)
124T.alloccount(0x2)
125;
125;
126else
126else
@@ -131,23 +131,23 @@ local t = f()
131T.alloccount()
131T.alloccount()
132;
132;
133collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
133collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
134−assert(# t == sa)
134+assert((# (t == sa)))
135check(t,sa,mp2(sh))
135check(t,sa,mp2(sh))
136end
136end
137end
137end
138local a = {}
138local a = {}
139−for i = 0x1, sizes[# sizes]
139+for i = 0x1, sizes[(# sizes)]
140do
140do
141a[i]=i
141a[i]=i
142end
142end
143for k in ipairs(sizes)
143for k in ipairs(sizes)
144do
144do
145local t = {table.unpack(a,0x1,k)}
145local t = {table.unpack(a,0x1,k)}
146−assert(# t == k)
146+assert((# (t == k)))
147check(t,k,0x0)
147check(t,k,0x0)
148t={0x1,0x2,0x3,table.unpack(a,0x1,k)}
148t={0x1,0x2,0x3,table.unpack(a,0x1,k)}
149−check(t,k + 0x3,0x0)
149+check(t,(k + 0x3),0x0)
150−assert(# t == k + 0x3)
150+assert((# (t == (k + 0x3))))
151end
151end
152local lim = 0x82
152local lim = 0x82
153local a = {}
153local a = {}
@@ -175,14 +175,14 @@ a={}
175for i = 0x1, lim
175for i = 0x1, lim
176do
176do
177a[i]=0x1
177a[i]=0x1
178−assert(# a == i)
178+assert((# (a == i)))
179check(a,mp2(i),0x0)
179check(a,mp2(i),0x0)
180end
180end
181a={}
181a={}
182for i = 0x1, lim
182for i = 0x1, lim
183do
183do
184−a["\u{61}" .. i]=0x1
184+a[("\u{61}" .. i)]=0x1
185−assert(# a == 0x0)
185+assert((# (a == 0x0)))
186check(a,0x0,mp2(i))
186check(a,0x0,mp2(i))
187end
187end
188a={}
188a={}
@@ -228,7 +228,7 @@ end
228for i = 0x1, lim
228for i = 0x1, lim
229do
229do
230local a = {}
230local a = {}
231−for i = i, 0x1, - 0x1
231+for i = i, 0x1, (- 0x1)
232do
232do
233a[i]=i
233a[i]=i
234end
234end
@@ -239,11 +239,11 @@ local function foo
239(n, ...)
239(n, ...)
240local arg = {...}
240local arg = {...}
241check(arg,n,0x0)
241check(arg,n,0x0)
242−assert(select("\u{23}",...) == n)
242+assert((select("\u{23}",...) == n))
243−arg[n + 0x1]=true
243+arg[(n + 0x1)]=true
244−check(arg,mp2(n + 0x1),0x0)
244+check(arg,mp2((n + 0x1)),0x0)
245arg.x=true
245arg.x=true
246−check(arg,mp2(n + 0x1),0x1)
246+check(arg,mp2((n + 0x1)),0x1)
247end
247end
248local a = {}
248local a = {}
249for i = 0x1, lim
249for i = 0x1, lim
@@ -261,39 +261,39 @@ for i = 0x1, 0x40
261do
261do
262a[i]=nil
262a[i]=nil
263end
263end
264−assert(T.querytab(a) == 0x40)
264+assert((T.querytab(a) == 0x40))
265a[0x20]=true
265a[0x20]=true
266;
266;
267a[0x30]=true
267a[0x30]=true
268;
268;
269a[0x33]=true
269a[0x33]=true
270−assert(# a == 0x30)
270+assert((# (a == 0x30)))
271−assert(select(0x4,T.querytab(a)) == 0x30)
271+assert((select(0x4,T.querytab(a)) == 0x30))
272a[0x32]=true
272a[0x32]=true
273−assert(select(0x4,T.querytab(a)) == 0x32)
273+assert((select(0x4,T.querytab(a)) == 0x32))
274−assert(# a == 0x33)
274+assert((# (a == 0x33)))
275−end
275+end
276−assert(# {} == 0x0)
276+assert((# ({} == 0x0)))
277−assert(# {nil} == 0x0)
277+assert((# ({nil} == 0x0)))
278−assert(# {nil,nil} == 0x0)
278+assert((# ({nil,nil} == 0x0)))
279−assert(# {nil,nil,nil} == 0x0)
279+assert((# ({nil,nil,nil} == 0x0)))
280−assert(# {nil,nil,nil,nil} == 0x0)
280+assert((# ({nil,nil,nil,nil} == 0x0)))
281−assert(# {0x1,0x2,0x3,nil,nil} == 0x3)
281+assert((# ({0x1,0x2,0x3,nil,nil} == 0x3)))
282print("\u{2b}")
282print("\u{2b}")
283local nofind = {}
283local nofind = {}
284a,b,c=0x1,0x2,0x3
284a,b,c=0x1,0x2,0x3
285a,b,c=nil
285a,b,c=nil
286−assert(next({}) == next({}))
286+assert((next({}) == next({})))
287local function find
287local function find
288(name)
288(name)
289local n,v
289local n,v
290while 0x1 do
290while 0x1 do
291n,v=next(_G,n)
291n,v=next(_G,n)
292−if not n then
292+if (not n) then
293return nofind
293return nofind
294end
294end
295−assert(_G[n] ~= undef)
295+assert((_G[n] ~= undef))
296−if n == name then
296+if (n == name) then
297return v
297return v
298end
298end
299end
299end
@@ -302,21 +302,21 @@ local function find1
302(name)
302(name)
303for n,v in pairs(_G)
303for n,v in pairs(_G)
304do
304do
305−if n == name then
305+if (n == name) then
306return v
306return v
307end
307end
308end
308end
309return nil
309return nil
310end
310end
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}"))
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}"))
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}"))
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}"))
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}"))
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
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}"))
317+assert((nofind == find("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}")))
318_G["\u{78}\u{78}\u{78}"]=0x1
318_G["\u{78}\u{78}\u{78}"]=0x1
319−assert(xxx == find("\u{78}\u{78}\u{78}"))
319+assert((xxx == find("\u{78}\u{78}\u{78}")))
320checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6b}\u{65}\u{79}",next,{0xa,0x14},0x3)
320checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6b}\u{65}\u{79}",next,{0xa,0x14},0x3)
321checkerror("\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)
321checkerror("\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)
322checkerror("\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)
322checkerror("\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)
@@ -324,17 +324,17 @@ print("\u{2b}")
324a={}
324a={}
325for i = 0x0, 0x2710
325for i = 0x0, 0x2710
326do
326do
327−if math.fmod(i,0xa) ~= 0x0 then
327+if (math.fmod(i,0xa) ~= 0x0) then
328−a["\u{78}" .. i]=i
328+a[("\u{78}" .. i)]=i
329end
329end
330end
330end
331n={["\u{6e}"] = 0x0}
331n={["\u{6e}"] = 0x0}
332for i,v in pairs(a)
332for i,v in pairs(a)
333do
333do
334−n.n=n.n + 0x1
334+n.n=(n.n + 0x1)
335−assert(i and v and a[i] == v)
335+assert(((i and v) and (a[i] == v)))
336end
336end
337−assert(n.n == 0x2328)
337+assert((n.n == 0x2328))
338a=nil
338a=nil
339do
339do
340local a = {}
340local a = {}
@@ -344,7 +344,7 @@ a[n]=v
344end
344end
345for n,v in pairs(a)
345for n,v in pairs(a)
346do
346do
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
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
348_G[n]=undef
348_G[n]=undef
349end
349end
350collectgarbage()
350collectgarbage()
@@ -364,11 +364,11 @@ end
364end
364end
365for k,v in pairs(b)
365for k,v in pairs(b)
366do
366do
367−assert(a[k] == v)
367+assert((a[k] == v))
368end
368end
369for k,v in pairs(a)
369for k,v in pairs(a)
370do
370do
371−assert(b[k] == v)
371+assert((b[k] == v))
372end
372end
373end
373end
374checknext({0x1,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
374checknext({0x1,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
@@ -376,8 +376,8 @@ checknext({0x1,0x2,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
376checknext({0x1,0x2,0x3,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
376checknext({0x1,0x2,0x3,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
377checknext({0x1,0x2,0x3,0x4,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
377checknext({0x1,0x2,0x3,0x4,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
378checknext({0x1,0x2,0x3,0x4,0x5,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
378checknext({0x1,0x2,0x3,0x4,0x5,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
379−assert(# {} == 0x0)
379+assert((# ({} == 0x0)))
380−assert(# {[- 0x1] = 0x2} == 0x0)
380+assert((# ({[(- 0x1)] = 0x2} == 0x0)))
381for i = 0x0, 0x28
381for i = 0x0, 0x28
382do
382do
383local a = {}
383local a = {}
@@ -385,28 +385,28 @@ for j = 0x1, i
385do
385do
386a[j]=j
386a[j]=j
387end
387end
388−assert(# a == i)
388+assert((# (a == i)))
389end
389end
390function table.maxn(t)
390function table.maxn(t)
391local max = 0x0
391local max = 0x0
392for k in pairs(t)
392for k in pairs(t)
393do
393do
394−max=(type(k) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") 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)
395end
395end
396return max
396return max
397end
397end
398−assert(table.maxn({}) == 0x0)
398+assert((table.maxn({}) == 0x0))
399−assert(table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true}) == 0x0)
399+assert((table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true}) == 0x0))
400−assert(table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true,[24.5] = 0x3}) == 24.5)
400+assert((table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true,[24.5] = 0x3}) == 24.5))
401−assert(table.maxn({[0x3e8] = true}) == 0x3e8)
401+assert((table.maxn({[0x3e8] = true}) == 0x3e8))
402−assert(table.maxn({[0xa] = true,[0x64 * math.pi] = print}) == 0x64 * math.pi)
402+assert((table.maxn({[0xa] = true,[(0x64 * math.pi)] = print}) == (0x64 * math.pi)))
403table.maxn=nil
403table.maxn=nil
404a={}
404a={}
405for i = 0x0, 0x32
405for i = 0x0, 0x32
406do
406do
407−a[0x2 ^ i]=true
407+a[(0x2 ^ i)]=true
408end
408end
409−assert(a[# a])
409+assert(a[(# a)])
410print("\u{2b}")
410print("\u{2b}")
411do
411do
412local a = {[0x1] = 0x1,[1.1] = 0x2,["\u{78}"] = 0x3,[string.rep("\u{78}",0x3e8)] = 0x4,[print] = 0x5,[checkerror] = 0x6,[coroutine.running()] = 0x7,[true] = 0x8,[io.stdin] = 0x9,[{}] = 0xa}
412local a = {[0x1] = 0x1,[1.1] = 0x2,["\u{78}"] = 0x3,[string.rep("\u{78}",0x3e8)] = 0x4,[print] = 0x5,[checkerror] = 0x6,[coroutine.running()] = 0x7,[true] = 0x8,[io.stdin] = 0x9,[{}] = 0xa}
@@ -422,29 +422,29 @@ assert(b[v])
422;
422;
423b[v]=undef
423b[v]=undef
424end
424end
425−assert(next(b) == nil)
425+assert((next(b) == nil))
426end
426end
427local t = {[{0x1}] = 0x1,[{0x2}] = 0x2,[string.rep("\u{78}\u{20}",0x4)] = 0x3,[100.3] = 0x4,[0x4] = 0x5}
427local t = {[{0x1}] = 0x1,[{0x2}] = 0x2,[string.rep("\u{78}\u{20}",0x4)] = 0x3,[100.3] = 0x4,[0x4] = 0x5}
428local n = 0x0
428local n = 0x0
429for k,v in pairs(t)
429for k,v in pairs(t)
430do
430do
431−n=n + 0x1
431+n=(n + 0x1)
432−assert(t[k] == v)
432+assert((t[k] == v))
433t[k]=undef
433t[k]=undef
434collectgarbage()
434collectgarbage()
435−assert(t[k] == undef)
435+assert((t[k] == undef))
436end
436end
437−assert(n == 0x5)
437+assert((n == 0x5))
438do
438do
439print("\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}")
439print("\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}")
440local co = coroutine.wrap(function (t)
440local co = coroutine.wrap(function (t)
441for k,v in pairs(t)
441for k,v in pairs(t)
442do
442do
443local k1 = next(t)
443local k1 = next(t)
444−assert(k == k1)
444+assert((k == k1))
445t[k]=nil
445t[k]=nil
446−local expected = (type(k) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and k[0x1] 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,0x1,0x1))
446+local expected = ((((type(k) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and k[0x1]) 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,0x1,0x1))
447−assert(expected == v)
447+assert((expected == v))
448coroutine.yield(v)
448coroutine.yield(v)
449end
449end
450end)
450end)
@@ -461,78 +461,78 @@ end]=0xa
461local count = 0x7
461local count = 0x7
462while co(t) do
462while co(t) do
463collectgarbage("\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}")
463collectgarbage("\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}")
464−count=count - 0x1
464+count=(count - 0x1)
465end
465end
466−assert(count == 0x0 and next(t) == nil)
466+assert(((count == 0x0) and (next(t) == nil)))
467end
467end
468local function test
468local function test
469(a)
469(a)
470−assert(not pcall(table.insert,a,0x2,0x14))
470+assert((not pcall(table.insert,a,0x2,0x14)))
471;
471;
472table.insert(a,0xa)
472table.insert(a,0xa)
473;
473;
474table.insert(a,0x2,0x14)
474table.insert(a,0x2,0x14)
475;
475;
476−table.insert(a,0x1,- 0x1)
476+table.insert(a,0x1,(- 0x1))
477;
477;
478table.insert(a,0x28)
478table.insert(a,0x28)
479;
479;
480−table.insert(a,# a + 0x1,0x32)
480+table.insert(a,(# (a + 0x1)),0x32)
481−table.insert(a,0x2,- 0x2)
481+table.insert(a,0x2,(- 0x2))
482−assert(a[0x2] ~= undef)
482+assert((a[0x2] ~= undef))
483−assert(a["\u{32}"] == undef)
483+assert((a["\u{32}"] == undef))
484−assert(not pcall(table.insert,a,0x0,0x14))
484+assert((not pcall(table.insert,a,0x0,0x14)))
485−;
485+;
486−assert(not pcall(table.insert,a,# a + 0x2,0x14))
486+assert((not pcall(table.insert,a,(# (a + 0x2)),0x14)))
487−;
487+;
488−assert(table.remove(a,0x1) == - 0x1)
488+assert((table.remove(a,0x1) == (- 0x1)))
489−assert(table.remove(a,0x1) == - 0x2)
489+assert((table.remove(a,0x1) == (- 0x2)))
490−assert(table.remove(a,0x1) == 0xa)
490+assert((table.remove(a,0x1) == 0xa))
491−assert(table.remove(a,0x1) == 0x14)
491+assert((table.remove(a,0x1) == 0x14))
492−assert(table.remove(a,0x1) == 0x28)
492+assert((table.remove(a,0x1) == 0x28))
493−assert(table.remove(a,0x1) == 0x32)
493+assert((table.remove(a,0x1) == 0x32))
494−assert(table.remove(a,0x1) == nil)
494+assert((table.remove(a,0x1) == nil))
495−assert(table.remove(a) == nil)
495+assert((table.remove(a) == nil))
496−assert(table.remove(a,# a) == nil)
496+assert((table.remove(a,(# a)) == nil))
497−end
497+end
498−a={["\u{6e}"] = 0x0,[- 0x7] = "\u{62}\u{61}\u{6e}"}
498+a={["\u{6e}"] = 0x0,[(- 0x7)] = "\u{62}\u{61}\u{6e}"}
499test(a)
499test(a)
500−assert(a.n == 0x0 and a[- 0x7] == "\u{62}\u{61}\u{6e}")
500+assert(((a.n == 0x0) and (a[(- 0x7)] == "\u{62}\u{61}\u{6e}")))
501−a={[- 0x7] = "\u{62}\u{61}\u{6e}"}
501+a={[(- 0x7)] = "\u{62}\u{61}\u{6e}"}
502;
502;
503test(a)
503test(a)
504−assert(a.n == nil and # a == 0x0 and a[- 0x7] == "\u{62}\u{61}\u{6e}")
504+assert(((a.n == nil) and (# ((a == 0x0) and (a[(- 0x7)] == "\u{62}\u{61}\u{6e}")))))
505−a={[- 0x1] = "\u{62}\u{61}\u{6e}"}
505+a={[(- 0x1)] = "\u{62}\u{61}\u{6e}"}
506test(a)
506test(a)
507−assert(# a == 0x0 and table.remove(a) == nil and a[- 0x1] == "\u{62}\u{61}\u{6e}")
507+assert((# (((a == 0x0) and (table.remove(a) == nil)) and (a[(- 0x1)] == "\u{62}\u{61}\u{6e}"))))
508a={[0x0] = "\u{62}\u{61}\u{6e}"}
508a={[0x0] = "\u{62}\u{61}\u{6e}"}
509−assert(# a == 0x0 and table.remove(a) == "\u{62}\u{61}\u{6e}" and a[0x0] == undef)
509+assert((# (((a == 0x0) and (table.remove(a) == "\u{62}\u{61}\u{6e}")) and (a[0x0] == undef))))
510table.insert(a,0x1,0xa)
510table.insert(a,0x1,0xa)
511;
511;
512table.insert(a,0x1,0x14)
512table.insert(a,0x1,0x14)
513;
513;
514−table.insert(a,0x1,- 0x1)
514+table.insert(a,0x1,(- 0x1))
515−assert(table.remove(a) == 0xa)
515+assert((table.remove(a) == 0xa))
516−assert(table.remove(a) == 0x14)
516+assert((table.remove(a) == 0x14))
517−assert(table.remove(a) == - 0x1)
517+assert((table.remove(a) == (- 0x1)))
518−assert(table.remove(a) == nil)
518+assert((table.remove(a) == nil))
519a={"\u{63}","\u{64}"}
519a={"\u{63}","\u{64}"}
520table.insert(a,0x3,"\u{61}")
520table.insert(a,0x3,"\u{61}")
521table.insert(a,"\u{62}")
521table.insert(a,"\u{62}")
522−assert(table.remove(a,0x1) == "\u{63}")
522+assert((table.remove(a,0x1) == "\u{63}"))
523−assert(table.remove(a,0x1) == "\u{64}")
523+assert((table.remove(a,0x1) == "\u{64}"))
524−assert(table.remove(a,0x1) == "\u{61}")
524+assert((table.remove(a,0x1) == "\u{61}"))
525−assert(table.remove(a,0x1) == "\u{62}")
525+assert((table.remove(a,0x1) == "\u{62}"))
526−assert(table.remove(a,0x1) == nil)
526+assert((table.remove(a,0x1) == nil))
527−assert(# a == 0x0 and a.n == nil)
527+assert((# ((a == 0x0) and (a.n == nil))))
528a={0xa,0x14,0x1e,0x28}
528a={0xa,0x14,0x1e,0x28}
529−assert(table.remove(a,# a + 0x1) == nil)
529+assert((table.remove(a,(# (a + 0x1))) == nil))
530−assert(not pcall(table.remove,a,0x0))
530+assert((not pcall(table.remove,a,0x0)))
531−assert(a[# a] == 0x28)
531+assert((a[(# a)] == 0x28))
532−assert(table.remove(a,# a) == 0x28)
532+assert((table.remove(a,(# a)) == 0x28))
533−assert(a[# a] == 0x1e)
533+assert((a[(# a)] == 0x1e))
534−assert(table.remove(a,0x2) == 0x14)
534+assert((table.remove(a,0x2) == 0x14))
535−assert(a[# a] == 0x1e and # a == 0x2)
535+assert(((a[(# a)] == 0x1e) and (# (a == 0x2))))
536do
536do
537local function test
537local function test
538(proxy,t)
538(proxy,t)
@@ -540,44 +540,44 @@ for i = 0x1, 0xa
540do
540do
541table.insert(proxy,0x1,i)
541table.insert(proxy,0x1,i)
542end
542end
543−assert(# proxy == 0xa and # t == 0xa and proxy[0x1] ~= undef)
543+assert((# ((proxy == 0xa) and (# ((t == 0xa) and (proxy[0x1] ~= undef))))))
544for i = 0x1, 0xa
544for i = 0x1, 0xa
545do
545do
546−assert(t[i] == 0xb - i)
546+assert((t[i] == (0xb - i)))
547end
547end
548table.sort(proxy)
548table.sort(proxy)
549for i = 0x1, 0xa
549for i = 0x1, 0xa
550do
550do
551−assert(t[i] == i and proxy[i] == i)
551+assert(((t[i] == i) and (proxy[i] == i)))
552end
552end
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}")
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}"))
554for i = 0x1, 0x8
554for i = 0x1, 0x8
555do
555do
556−assert(table.remove(proxy,0x1) == i)
556+assert((table.remove(proxy,0x1) == i))
557end
557end
558−assert(# proxy == 0x2 and # t == 0x2)
558+assert((# ((proxy == 0x2) and (# (t == 0x2)))))
559local a,b,c = table.unpack(proxy)
559local a,b,c = table.unpack(proxy)
560−assert(a == 0x9 and b == 0xa and c == nil)
560+assert((((a == 0x9) and (b == 0xa)) and (c == nil)))
561end
561end
562local t = {}
562local t = {}
563local proxy = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
563local proxy = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
564−return # t
564+return (# t)
565end,["\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})
565end,["\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})
566test(proxy,t)
566test(proxy,t)
567local count = 0x0
567local count = 0x0
568t=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)
568t=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)
569−count=count + 0x1
569+count=(count + 0x1)
570;
570;
571rawset(t,k,v)
571rawset(t,k,v)
572end})
572end})
573test(t,t)
573test(t,t)
574−assert(count == 0xa)
574+assert((count == 0xa))
575t=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
575t=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
576−return k + 0x1
576+return (k + 0x1)
577end,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (_)
577end,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (_)
578return 0x5
578return 0x5
579end})
579end})
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}")
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}"))
581end
581end
582do
582do
583local t = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
583local t = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
@@ -585,9 +585,9 @@ return math.maxinteger
585end})
585end})
586table.insert(t,0x14)
586table.insert(t,0x14)
587local k,v = next(t)
587local k,v = next(t)
588−assert(k == math.mininteger and v == 0x14)
588+assert(((k == math.mininteger) and (v == 0x14)))
589end
589end
590−if not T then
590+if (not T) then
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}")
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}")
592else
592else
593local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
593local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
@@ -606,13 +606,13 @@ mt.__newindex=tab
606checkerror("\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,0x28)
606checkerror("\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,0x28)
607checkerror("\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)
607checkerror("\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)
608mt.__len=function ()
608mt.__len=function ()
609−return # tab
609+return (# tab)
610end
610end
611table.insert(u,0x28)
611table.insert(u,0x28)
612−assert(# u == 0x4 and # tab == 0x4 and u[0x4] == 0x28 and tab[0x4] == 0x28)
612+assert((# ((u == 0x4) and (# (((tab == 0x4) and (u[0x4] == 0x28)) and (tab[0x4] == 0x28))))))
613−assert(table.remove(u) == 0x28)
613+assert((table.remove(u) == 0x28))
614table.insert(u,0x1,0x32)
614table.insert(u,0x1,0x32)
615−assert(# u == 0x4 and # tab == 0x4 and u[0x4] == 0x1e and tab[0x1] == 0x32)
615+assert((# ((u == 0x4) and (# (((tab == 0x4) and (u[0x4] == 0x1e)) and (tab[0x1] == 0x32))))))
616mt.__newindex=nil
616mt.__newindex=nil
617mt.__len=nil
617mt.__len=nil
618local tab2 = {}
618local tab2 = {}
@@ -621,7 +621,7 @@ debug.setmetatable(u2,{["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\
621tab2[k]=v
621tab2[k]=v
622end})
622end})
623table.move(u,0x1,0x4,0x1,u2)
623table.move(u,0x1,0x4,0x1,u2)
624−assert(# tab2 == 0x4 and tab2[0x1] == tab[0x1] and tab2[0x4] == tab[0x4])
624+assert((# (((tab2 == 0x4) and (tab2[0x1] == tab[0x1])) and (tab2[0x4] == tab[0x4]))))
625end
625end
626print("\u{2b}")
626print("\u{2b}")
627a={}
627a={}
@@ -629,11 +629,11 @@ for i = 0x1, 0x3e8
629do
629do
630a[i]=i
630a[i]=i
631;
631;
632−a[i - 0x1]=undef
632+a[(i - 0x1)]=undef
633end
633end
634−assert(next(a,nil) == 0x3e8 and next(a,0x3e8) == nil)
634+assert(((next(a,nil) == 0x3e8) and (next(a,0x3e8) == nil)))
635−assert(next({}) == nil)
635+assert((next({}) == nil))
636−assert(next({},nil) == nil)
636+assert((next({},nil) == nil))
637for a,b in pairs({})
637for a,b in pairs({})
638do
638do
639error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
639error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
@@ -642,7 +642,7 @@ for i = 0x1, 0x0
642do
642do
643error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
643error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
644end
644end
645−for i = 0x0, 0x1, - 0x1
645+for i = 0x0, 0x1, (- 0x1)
646do
646do
647error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
647error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
648end
648end
@@ -650,7 +650,7 @@ a=nil
650;
650;
651for i = 0x1, 0x1
651for i = 0x1, 0x1
652do
652do
653−assert(not a)
653+assert((not a))
654;
654;
655a=0x1
655a=0x1
656end
656end
@@ -658,9 +658,9 @@ end
658assert(a)
658assert(a)
659a=nil
659a=nil
660;
660;
661−for i = 0x1, 0x1, - 0x1
661+for i = 0x1, 0x1, (- 0x1)
662do
662do
663−assert(not a)
663+assert((not a))
664;
664;
665a=0x1
665a=0x1
666end
666end
@@ -673,98 +673,98 @@ a=0x0
673;
673;
674for i = 0x1, 0x1, 0x1
674for i = 0x1, 0x1, 0x1
675do
675do
676−a=a + 0x1
676+a=(a + 0x1)
677end
677end
678;
678;
679−assert(a == 0x1)
679+assert((a == 0x1))
680a=0x0
680a=0x0
681;
681;
682−for i = 0x2710, 1e4, - 0x1
682+for i = 0x2710, 1e4, (- 0x1)
683do
683do
684−a=a + 0x1
684+a=(a + 0x1)
685end
685end
686;
686;
687−assert(a == 0x1)
687+assert((a == 0x1))
688a=0x0
688a=0x0
689;
689;
690for i = 0x1, 0.99999, 0x1
690for i = 0x1, 0.99999, 0x1
691do
691do
692−a=a + 0x1
692+a=(a + 0x1)
693end
693end
694;
694;
695−assert(a == 0x0)
695+assert((a == 0x0))
696a=0x0
696a=0x0
697;
697;
698−for i = 0x270f, 1e4, - 0x1
698+for i = 0x270f, 1e4, (- 0x1)
699do
699do
700−a=a + 0x1
700+a=(a + 0x1)
701end
701end
702;
702;
703−assert(a == 0x0)
703+assert((a == 0x0))
704a=0x0
704a=0x0
705;
705;
706−for i = 0x1, 0.99999, - 0x1
706+for i = 0x1, 0.99999, (- 0x1)
707do
707do
708−a=a + 0x1
708+a=(a + 0x1)
709end
709end
710;
710;
711−assert(a == 0x1)
711+assert((a == 0x1))
712a=0x0
712a=0x0
713;
713;
714for i = 0x0, 0.999999999, 0.1
714for i = 0x0, 0.999999999, 0.1
715do
715do
716−a=a + 0x1
716+a=(a + 0x1)
717end
717end
718;
718;
719−assert(a == 0xa)
719+assert((a == 0xa))
720a=0x0
720a=0x0
721;
721;
722for i = 1.0, 0x1, 0x1
722for i = 1.0, 0x1, 0x1
723do
723do
724−a=a + 0x1
724+a=(a + 0x1)
725end
725end
726;
726;
727−assert(a == 0x1)
727+assert((a == 0x1))
728a=0x0
728a=0x0
729;
729;
730−for i = - 1.5, - 1.5, 0x1
730+for i = (- 1.5), (- 1.5), 0x1
731do
731do
732−a=a + 0x1
732+a=(a + 0x1)
733end
733end
734;
734;
735−assert(a == 0x1)
735+assert((a == 0x1))
736a=0x0
736a=0x0
737;
737;
738−for i = 1e6, 1e6, - 0x1
738+for i = 1e6, 1e6, (- 0x1)
739do
739do
740−a=a + 0x1
740+a=(a + 0x1)
741end
741end
742;
742;
743−assert(a == 0x1)
743+assert((a == 0x1))
744a=0x0
744a=0x0
745;
745;
746for i = 1.0, 0.99999, 0x1
746for i = 1.0, 0.99999, 0x1
747do
747do
748−a=a + 0x1
748+a=(a + 0x1)
749end
749end
750;
750;
751−assert(a == 0x0)
751+assert((a == 0x0))
752a=0x0
752a=0x0
753;
753;
754−for i = 0x1869f, 1e5, - 1.0
754+for i = 0x1869f, 1e5, (- 1.0)
755do
755do
756−a=a + 0x1
756+a=(a + 0x1)
757end
757end
758;
758;
759−assert(a == 0x0)
759+assert((a == 0x0))
760a=0x0
760a=0x0
761;
761;
762−for i = 1.0, 0.99999, - 0x1
762+for i = 1.0, 0.99999, (- 0x1)
763do
763do
764−a=a + 0x1
764+a=(a + 0x1)
765end
765end
766;
766;
767−assert(a == 0x1)
767+assert((a == 0x1))
768end
768end
769do
769do
770local a
770local a
@@ -772,37 +772,37 @@ a=0x0
772;
772;
773for i = 0x1, 0xa
773for i = 0x1, 0xa
774do
774do
775−a=a + 0x1
775+a=(a + 0x1)
776;
776;
777i="\u{78}"
777i="\u{78}"
778end
778end
779;
779;
780−assert(a == 0xa)
780+assert((a == 0xa))
781a=0x0
781a=0x0
782;
782;
783−for i = 10.0, 0x1, - 0x1
783+for i = 10.0, 0x1, (- 0x1)
784do
784do
785−a=a + 0x1
785+a=(a + 0x1)
786;
786;
787i="\u{78}"
787i="\u{78}"
788end
788end
789;
789;
790−assert(a == 0xa)
790+assert((a == 0xa))
791end
791end
792a=0x0
792a=0x0
793;
793;
794for i = "\u{31}\u{30}", "\u{31}", "\u{2d}\u{32}"
794for i = "\u{31}\u{30}", "\u{31}", "\u{2d}\u{32}"
795do
795do
796−a=a + 0x1
796+a=(a + 0x1)
797end
797end
798;
798;
799−assert(a == 0x5)
799+assert((a == 0x5))
800do
800do
801local c
801local c
802local function checkfloat
802local function checkfloat
803(i)
803(i)
804−assert(math.type(i) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
804+assert((math.type(i) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}"))
805−c=c + 0x1
805+c=(c + 0x1)
806end
806end
807c=0x0
807c=0x0
808;
808;
@@ -810,96 +810,96 @@ for i = 1.0, 0xa
810do
810do
811checkfloat(i)
811checkfloat(i)
812end
812end
813−assert(c == 0xa)
813+assert((c == 0xa))
814c=0x0
814c=0x0
815;
815;
816−for i = - 0x1, - 0xa, - 1.0
816+for i = (- 0x1), (- 0xa), (- 1.0)
817do
817do
818checkfloat(i)
818checkfloat(i)
819end
819end
820−assert(c == 0xa)
820+assert((c == 0xa))
821local function checkint
821local function checkint
822(i)
822(i)
823−assert(math.type(i) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
823+assert((math.type(i) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}"))
824−c=c + 0x1
824+c=(c + 0x1)
825end
825end
826local m = math.maxinteger
826local m = math.maxinteger
827c=0x0
827c=0x0
828;
828;
829−for i = m, m - 0xa, - 0x1
829+for i = m, (m - 0xa), (- 0x1)
830do
830do
831checkint(i)
831checkint(i)
832end
832end
833−assert(c == 0xb)
833+assert((c == 0xb))
834c=0x0
834c=0x0
835;
835;
836for i = 0x1, 10.9
836for i = 0x1, 10.9
837do
837do
838checkint(i)
838checkint(i)
839end
839end
840−assert(c == 0xa)
840+assert((c == 0xa))
841c=0x0
841c=0x0
842;
842;
843−for i = 0xa, 1e-3, - 0x1
843+for i = 0xa, 1e-3, (- 0x1)
844do
844do
845checkint(i)
845checkint(i)
846end
846end
847−assert(c == 0xa)
847+assert((c == 0xa))
848c=0x0
848c=0x0
849;
849;
850for i = 0x1, "\u{31}\u{30}\u{2e}\u{38}"
850for i = 0x1, "\u{31}\u{30}\u{2e}\u{38}"
851do
851do
852checkint(i)
852checkint(i)
853end
853end
854−assert(c == 0xa)
854+assert((c == 0xa))
855c=0x0
855c=0x0
856;
856;
857−for i = 0x9, "\u{33}\u{2e}\u{34}", - 0x1
857+for i = 0x9, "\u{33}\u{2e}\u{34}", (- 0x1)
858do
858do
859checkint(i)
859checkint(i)
860end
860end
861−assert(c == 0x6)
861+assert((c == 0x6))
862c=0x0
862c=0x0
863;
863;
864−for i = 0x0, "\u{20}\u{2d}\u{33}\u{2e}\u{34}\u{20}\u{20}", - 0x1
864+for i = 0x0, "\u{20}\u{2d}\u{33}\u{2e}\u{34}\u{20}\u{20}", (- 0x1)
865do
865do
866checkint(i)
866checkint(i)
867end
867end
868−assert(c == 0x4)
868+assert((c == 0x4))
869c=0x0
869c=0x0
870;
870;
871−for i = 0x64, "\u{39}\u{36}\u{2e}\u{33}", - 0x2
871+for i = 0x64, "\u{39}\u{36}\u{2e}\u{33}", (- 0x2)
872do
872do
873checkint(i)
873checkint(i)
874end
874end
875−assert(c == 0x2)
875+assert((c == 0x2))
876c=0x0
876c=0x0
877;
877;
878for i = 0x1, math.huge
878for i = 0x1, math.huge
879do
879do
880−if i > 0xa then
880+if (i > 0xa) then
881break
881break
882end
882end
883;
883;
884checkint(i)
884checkint(i)
885end
885end
886−assert(c == 0xa)
886+assert((c == 0xa))
887c=0x0
887c=0x0
888;
888;
889−for i = - 0x1, - math.huge, - 0x1
889+for i = (- 0x1), (- math.huge), (- 0x1)
890do
890do
891−if i < - 0xa then
891+if (i < (- 0xa)) then
892break
892break
893end
893end
894;
894;
895checkint(i)
895checkint(i)
896end
896end
897−assert(c == 0xa)
897+assert((c == 0xa))
898−for i = math.mininteger, - 1e101
898+for i = math.mininteger, (- 1e101)
899do
899do
900assert(false)
900assert(false)
901end
901end
902−for i = math.maxinteger, 1e101, - 0x1
902+for i = math.maxinteger, 1e101, (- 0x1)
903do
903do
904assert(false)
904assert(false)
905end
905end
@@ -910,34 +910,34 @@ local function checkfor
910local c = 0x0
910local c = 0x0
911for i = from, to, step
911for i = from, to, step
912do
912do
913−c=c + 0x1
913+c=(c + 0x1)
914−assert(i == t[c])
914+assert((i == t[c]))
915end
915end
916−assert(c == # t)
916+assert((c == (# t)))
917end
917end
918local maxi = math.maxinteger
918local maxi = math.maxinteger
919local mini = math.mininteger
919local mini = math.mininteger
920−checkfor(mini,maxi,maxi,{mini,- 0x1,maxi - 0x1})
920+checkfor(mini,maxi,maxi,{mini,(- 0x1),(maxi - 0x1)})
921−checkfor(mini,math.huge,maxi,{mini,- 0x1,maxi - 0x1})
921+checkfor(mini,math.huge,maxi,{mini,(- 0x1),(maxi - 0x1)})
922−checkfor(maxi,mini,mini,{maxi,- 0x1})
922+checkfor(maxi,mini,mini,{maxi,(- 0x1)})
923−checkfor(maxi,mini,- maxi,{maxi,0x0,- maxi})
923+checkfor(maxi,mini,(- maxi),{maxi,0x0,(- maxi)})
924−checkfor(maxi,- math.huge,mini,{maxi,- 0x1})
924+checkfor(maxi,(- math.huge),mini,{maxi,(- 0x1)})
925checkfor(maxi,mini,0x1,{})
925checkfor(maxi,mini,0x1,{})
926−checkfor(mini,maxi,- 0x1,{})
926+checkfor(mini,maxi,(- 0x1),{})
927−checkfor(maxi - 0x6,maxi,0x3,{maxi - 0x6,maxi - 0x3,maxi})
927+checkfor((maxi - 0x6),maxi,0x3,{(maxi - 0x6),(maxi - 0x3),maxi})
928−checkfor(mini + 0x4,mini,- 0x2,{mini + 0x4,mini + 0x2,mini})
928+checkfor((mini + 0x4),mini,(- 0x2),{(mini + 0x4),(mini + 0x2),mini})
929−local step = maxi // 0xa
929+local step = (maxi // 0xa)
930local c = mini
930local c = mini
931for i = mini, maxi, step
931for i = mini, maxi, step
932do
932do
933−assert(i == c)
933+assert((i == c))
934−c=c + step
934+c=(c + step)
935end
935end
936c=maxi
936c=maxi
937−for i = maxi, mini, - step
937+for i = maxi, mini, (- step)
938do
938do
939−assert(i == c)
939+assert((i == c))
940−c=c - step
940+c=(c - step)
941end
941end
942checkfor(maxi,maxi,maxi,{maxi})
942checkfor(maxi,maxi,maxi,{maxi})
943checkfor(maxi,maxi,mini,{maxi})
943checkfor(maxi,maxi,mini,{maxi})
@@ -951,13 +951,13 @@ do
951end
951end
952end)
952end)
953checkerror("\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 ()
953checkerror("\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 ()
954−for i = 0x1, - 0xa, 0x0
954+for i = 0x1, (- 0xa), 0x0
955do
955do
956
956
957end
957end
958end)
958end)
959checkerror("\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 ()
959checkerror("\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 ()
960−for i = 1.0, - 0xa, 0.0
960+for i = 1.0, (- 0xa), 0.0
961do
961do
962
962
963end
963end
@@ -969,12 +969,12 @@ local t = {}
969;
969;
970for i = 0x1, p
970for i = 0x1, p
971do
971do
972−t[i]=i * 0xa
972+t[i]=(i * 0xa)
973end
973end
974return function (_,n, ...)
974return function (_,n, ...)
975−assert(select("\u{23}",...) == 0x0)
975+assert((select("\u{23}",...) == 0x0))
976−if n > 0x0 then
976+if (n > 0x0) then
977−n=n - 0x1
977+n=(n - 0x1)
978return n,table.unpack(t)
978return n,table.unpack(t)
979end
979end
980end,nil,n
980end,nil,n
@@ -982,27 +982,27 @@ end
982local x = 0x0
982local x = 0x0
983for n,a,b,c,d in f(0x5,0x3)
983for n,a,b,c,d in f(0x5,0x3)
984do
984do
985−x=x + 0x1
985+x=(x + 0x1)
986−assert(a == 0xa and b == 0x14 and c == 0x1e and d == nil)
986+assert(((((a == 0xa) and (b == 0x14)) and (c == 0x1e)) and (d == nil)))
987end
987end
988−assert(x == 0x5)
988+assert((x == 0x5))
989a={}
989a={}
990do
990do
991local x,y,z = pairs(a)
991local x,y,z = pairs(a)
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)
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)))
993end
993end
994local function foo
994local function foo
995(e,i)
995(e,i)
996−assert(e == a)
996+assert((e == a))
997−if i <= 0xa then
997+if (i <= 0xa) then
998−return i + 0x1,i + 0x2
998+return (i + 0x1),(i + 0x2)
999end
999end
1000end
1000end
1001local function foo1
1001local function foo1
1002(e,i)
1002(e,i)
1003−i=i + 0x1
1003+i=(i + 0x1)
1004−assert(e == a)
1004+assert((e == a))
1005−if i <= e.n then
1005+if (i <= e.n) then
1006return i,a[i]
1006return i,a[i]
1007end
1007end
1008end
1008end
@@ -1012,44 +1012,44 @@ end})
1012local i = 0x0
1012local i = 0x0
1013for k,v in pairs(a)
1013for k,v in pairs(a)
1014do
1014do
1015−i=i + 0x1
1015+i=(i + 0x1)
1016−assert(k == i and v == k + 0x1)
1016+assert(((k == i) and (v == (k + 0x1))))
1017end
1017end
1018a.n=0x5
1018a.n=0x5
1019a[0x3]=0x1e
1019a[0x3]=0x1e
1020a={["\u{6e}"] = 0xa}
1020a={["\u{6e}"] = 0xa}
1021setmetatable(a,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k)
1021setmetatable(a,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k)
1022−if k <= t.n then
1022+if (k <= t.n) then
1023−return k * 0xa
1023+return (k * 0xa)
1024end
1024end
1025end})
1025end})
1026i=0x0
1026i=0x0
1027for k,v in ipairs(a)
1027for k,v in ipairs(a)
1028do
1028do
1029−i=i + 0x1
1029+i=(i + 0x1)
1030−assert(k == i and v == i * 0xa)
1030+assert(((k == i) and (v == (i * 0xa))))
1031end
1031end
1032−assert(i == a.n)
1032+assert((i == a.n))
1033do
1033do
1034local t = setmetatable({0xa,0x14,0x1e},{["\u{5f}\u{5f}\u{70}\u{61}\u{69}\u{72}\u{73}"] = function (t)
1034local t = setmetatable({0xa,0x14,0x1e},{["\u{5f}\u{5f}\u{70}\u{61}\u{69}\u{72}\u{73}"] = function (t)
1035local inc = coroutine.yield()
1035local inc = coroutine.yield()
1036return function (t,i)
1036return function (t,i)
1037−if i > 0x1 then
1037+if (i > 0x1) then
1038−return i - inc,t[i - inc]
1038+return (i - inc),t[(i - inc)]
1039else
1039else
1040return nil
1040return nil
1041end
1041end
1042−end,t,# t + 0x1
1042+end,t,(# (t + 0x1))
1043end})
1043end})
1044local res = {}
1044local res = {}
1045local co = coroutine.wrap(function ()
1045local co = coroutine.wrap(function ()
1046for i,p in pairs(t)
1046for i,p in pairs(t)
1047do
1047do
1048−res[# res + 0x1]=p
1048+res[(# (res + 0x1))]=p
1049end
1049end
1050end)
1050end)
1051co()
1051co()
1052co(0x1)
1052co(0x1)
1053−assert(res[0x1] == 0x1e and res[0x2] == 0x14 and res[0x3] == 0xa and # res == 0x3)
1053+assert(((((res[0x1] == 0x1e) and (res[0x2] == 0x14)) and (res[0x3] == 0xa)) and (# (res == 0x3))))
1054end
1054end
1055print("\u{4f}\u{4b}")
1055print("\u{4f}\u{4b}")
desk/res/lua/cycled/pm.luanew file+404
@@ -0,0 +1,404 @@
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}")
2+local function checkerror
3+(msg,f, ...)
4+local s,err = pcall(f,...)
5+assert((not (s and string.find(err,msg))))
6+end
7+local function f
8+(s,p)
9+local i,e = string.find(s,p)
10+if i then
11+return string.sub(s,i,e)
12+end
13+end
14+local a,b = string.find("","")
15+assert(((a == 0x1) and (b == 0x0)))
16+;
17+a,b=string.find("\u{61}\u{6c}\u{6f}","")
18+assert(((a == 0x1) and (b == 0x0)))
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}",0x1)
20+assert(((a == 0x1) and (b == 0x1)))
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}",0x2)
22+assert(((a == 0x5) and (b == 0x7)))
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}",0x9)
24+assert(((a == 0x9) and (b == 0xb)))
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}",0x2)
26+;
27+assert(((a == 0x9) and (b == 0xb)))
28+;
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}")
30+assert(((a == 0xb) and (b == 0xb)))
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}") == 0x4))
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}"))
47+local function PU
48+(p)
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}")
51+end)
52+p=string.gsub(p,"\u{25}\u{2e}",utf8.charpattern)
53+return p
54+end
55+assert((f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2a}") == "\u{61}\u{61}\u{61}"))
56+;
57+assert((f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2a}\u{24}") == "\u{61}\u{61}\u{61}"))
58+;
59+assert((f("\u{61}\u{61}\u{61}","\u{62}\u{2a}") == ""))
60+;
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}")
94+local function f1
95+(s,p)
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) + 0x1))
98+end)
99+p=string.gsub(p,"\u{5e}\u{28}\u{5e}\u{3f}\u{29}","\u{25}\u{31}\u{28}\u{29}",0x1)
100+p=string.gsub(p,"\u{28}\u{24}\u{3f}\u{29}\u{24}","\u{28}\u{29}\u{25}\u{31}",0x1)
101+local t = {string.match(s,p)}
102+return string.sub(s,t[0x1],(t[(# t)] - 0x1))
103+end
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}")))
108+local function range
109+(i,j)
110+if (i <= j) then
111+return i,range((i + 0x1),j)
112+end
113+end
114+local abc = (string.char(range(0x0,0x7f)) .. string.char(range(0x80,0xff)))
115+;
116+assert((string.len(abc) == 0x100))
117+local function strset
118+(p)
119+local res = {["\u{73}"] = ""}
120+string.gsub(abc,p,function (c)
121+res.s=(res.s .. c)
122+end)
123+return res.s
124+end
125+;
126+assert((string.len(strset("\u{5b}\u{c8}\u{2d}\u{d2}\u{5d}")) == 0xb))
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}")
137+;
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}") == 0x1))
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 == 0xb)) 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 == 0x5)))
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}",0x2)
156+assert(((a == "\u{61}\u{40}\u{62}\u{40}\u{c3}\u{a7}\u{64}") and (b == 0x2)))
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}")
165+do
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}"))
167+local res = ""
168+local sub = "\u{61}\u{20}\u{20}\u{a}\u{62}\u{63}\u{9}\u{9}\u{64}"
169+local i = 0x1
170+for p,e in string.gmatch(sub,"\u{28}\u{29}\u{25}\u{73}\u{2a}\u{28}\u{29}")
171+do
172+res=(res .. (string.sub(sub,i,(p - 0x1)) .. "\u{2d}"))
173+i=e
174+end
175+assert((res == "\u{2d}\u{61}\u{2d}\u{62}\u{2d}\u{63}\u{2d}\u{64}\u{2d}"))
176+end
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}"))
178+do
179+local function setglobal
180+(n,v)
181+rawset(_G,n,v)
182+end
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}")))
185+_G.a=nil
186+;
187+_G.roberto=nil
188+end
189+function f(a,b)
190+return string.gsub(a,"\u{2e}",b)
191+end
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}"))
193+local function dostring
194+(s)
195+return (load(s,"")() or "")
196+end
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}"))
200+_G.a,_G.x=nil
201+local t = {}
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)
204+assert((string.len(w) == (b - a)))
205+;
206+t[a]=(b - a)
207+;
208+end)
209+assert((((((s == r) and (t[0x1] == 0x1)) and (t[0x3] == 0x3)) and (t[0x7] == 0x4)) and (t[0xd] == 0x4)))
210+local function isbalanced
211+(s)
212+return (not string.find(string.gsub(s,"\u{25}\u{62}\u{28}\u{29}",""),"\u{5b}\u{28}\u{29}\u{5d}"))
213+end
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}"] = 0x0}
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 ()
219+t.n=(t.n + 0x1)
220+;
221+return t[t.n]
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}"] = 0x0}
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)
225+t.n=(t.n + 0x1)
226+;
227+t[t.n]=w
228+end)
229+assert(((((t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}") and (t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}")) and (t[0x3] == "\u{77}\u{6f}\u{72}\u{64}")) and (t.n == 0x3)))
230+t={["\u{6e}"] = 0x0}
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)
232+t.n=(t.n + 0x1)
233+;
234+t[t.n]=w
235+end,0x2) == "\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[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}") and (t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}")) and (t[0x3] == 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}")
242+if (not _soft) then
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}",0x493e0)
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}",0x2710) .. string.rep("\u{62}",0x2710))
249+assert((not pcall(string.gsub,a,"\u{62}")))
250+end
251+local function rev
252+(s)
253+return string.gsub(s,"\u{28}\u{2e}\u{29}\u{28}\u{2e}\u{2b}\u{29}",function (c,s1)
254+return (rev(s1) .. c)
255+end)
256+end
257+local x = "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}"
258+assert((rev(rev(x)) == x))
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}"))
264+t={}
265+;
266+setmetatable(t,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,s)
267+return string.upper(s)
268+end})
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}"))
270+local a = 0x0
271+for i in string.gmatch("\u{61}\u{62}\u{63}\u{64}\u{65}","\u{28}\u{29}")
272+do
273+assert((i == (a + 0x1)))
274+;
275+a=i
276+end
277+assert((a == 0x6))
278+t={["\u{6e}"] = 0x0}
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}")
280+do
281+t.n=(t.n + 0x1)
282+;
283+t[t.n]=w
284+end
285+assert((((t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}") and (t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}")) and (t[0x3] == "\u{77}\u{6f}\u{72}\u{64}")))
286+t={0x3,0x6,0x9}
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}")
288+do
289+assert((i == table.remove(t,0x1)))
290+end
291+assert((# (t == 0x0)))
292+t={}
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}")
294+do
295+t[tonumber(i)]=tonumber(j)
296+end
297+a=0x0
298+for k,v in pairs(t)
299+do
300+assert(((k + 0x1) == (v + 0x0)))
301+;
302+a=(a + 0x1)
303+end
304+assert((a == 0x3))
305+do
306+local s = 0x0
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}",0x3)
308+do
309+s=(s + tonumber(k))
310+end
311+assert((s == 0x32))
312+s=0x0
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}",(- 0x4))
314+do
315+s=(s + tonumber(k))
316+end
317+assert((s == 0x20))
318+s=0x0
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}",0x9)
320+do
321+s=(s + 0x1)
322+end
323+assert((s == 0x1))
324+s=0x0
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}",0xa)
326+do
327+s=(s + 0x1)
328+end
329+assert((s == 0x0))
330+end
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}") == 0x1))
338+assert((string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{7a}\u{5d}") == 0x1))
339+assert((string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{6c}\u{5d}") == 0x2))
340+assert((string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{61}\u{25}\u{7a}\u{5d}") == 0x3))
341+assert((string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{7a}\u{5d}") == 0x4))
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}")
345+assert(((i == 0x2) and (e == 0x5)))
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}"))
348+local a = {0x1,0x5,0x9,0xe,0x11}
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}")
350+do
351+assert((table.remove(a,0x1) == k))
352+end
353+assert((# (a == 0x0)))
354+local function malform
355+(p,m)
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)
358+assert((not (r and string.find(msg,m))))
359+end
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}") == 0x2))
374+assert((string.find("\u{61}\u{62}\u{63}\u{0}\u{65}\u{66}\u{67}","\u{25}\u{0}") == 0x4))
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}") == 0x4))
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}") == 0x4))
380+do
381+local s = string.rep("\u{61}",0x64)
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)))
386+local count = 0x0
387+r=string.gsub(s,"\u{2e}",function (x)
388+assert((x == "\u{61}"))
389+count=(count + 0x1)
390+return nil
391+end)
392+r=string.gsub(r,"\u{2e}",{["\u{62}"] = "\u{78}"})
393+assert((count == 0x64))
394+assert((string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r)))
395+count=0x0
396+r=string.gsub(s,"\u{2e}",function (x)
397+assert((x == "\u{61}"))
398+count=(count + 0x1)
399+return x
400+end)
401+assert((count == 0x64))
402+assert(((r == s) and (string.format("\u{25}\u{70}",s) ~= string.format("\u{25}\u{70}",r))))
403+end
404+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/sort.lua → desk/res/lua/cycled/sort.luarenamed+76−76
@@ -6,100 +6,100 @@ local minI = math.mininteger
6local function checkerror
6local function checkerror
7(msg,f, ...)
7(msg,f, ...)
8local s,err = pcall(f,...)
8local s,err = pcall(f,...)
9−assert(not s and string.find(err,msg))
9+assert((not (s and string.find(err,msg))))
10end
10end
11checkerror("\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,{},0x2,0x3,0x4)
11checkerror("\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,{},0x2,0x3,0x4)
12local x,y,z,a,n
12local x,y,z,a,n
13a={}
13a={}
14;
14;
15−local lim = _soft and 0xc8 or 0x7d0
15+local lim = ((_soft and 0xc8) or 0x7d0)
16for i = 0x1, lim
16for i = 0x1, lim
17do
17do
18a[i]=i
18a[i]=i
19end
19end
20−assert(select(lim,unpack(a)) == lim and select("\u{23}",unpack(a)) == lim)
20+assert(((select(lim,unpack(a)) == lim) and (select("\u{23}",unpack(a)) == lim)))
21x=unpack(a)
21x=unpack(a)
22−assert(x == 0x1)
22+assert((x == 0x1))
23x={unpack(a)}
23x={unpack(a)}
24−assert(# x == lim and x[0x1] == 0x1 and x[lim] == lim)
24+assert((# (((x == lim) and (x[0x1] == 0x1)) and (x[lim] == lim))))
25−x={unpack(a,lim - 0x2)}
25+x={unpack(a,(lim - 0x2))}
26−assert(# x == 0x3 and x[0x1] == lim - 0x2 and x[0x3] == lim)
26+assert((# (((x == 0x3) and (x[0x1] == (lim - 0x2))) and (x[0x3] == lim))))
27x={unpack(a,0xa,0x6)}
27x={unpack(a,0xa,0x6)}
28−assert(next(x) == nil)
28+assert((next(x) == nil))
29x={unpack(a,0xb,0xa)}
29x={unpack(a,0xb,0xa)}
30−assert(next(x) == nil)
30+assert((next(x) == nil))
31x,y=unpack(a,0xa,0xa)
31x,y=unpack(a,0xa,0xa)
32−assert(x == 0xa and y == nil)
32+assert(((x == 0xa) and (y == nil)))
33x,y,z=unpack(a,0xa,0xb)
33x,y,z=unpack(a,0xa,0xb)
34−assert(x == 0xa and y == 0xb and z == nil)
34+assert((((x == 0xa) and (y == 0xb)) and (z == nil)))
35a,x=unpack({0x1})
35a,x=unpack({0x1})
36−assert(a == 0x1 and x == nil)
36+assert(((a == 0x1) and (x == nil)))
37a,x=unpack({0x1,0x2},0x1,0x1)
37a,x=unpack({0x1,0x2},0x1,0x1)
38−assert(a == 0x1 and x == nil)
38+assert(((a == 0x1) and (x == nil)))
39do
39do
40−local maxi = (0x1 << 0x1f) - 0x1
40+local maxi = ((0x1 << 0x1f) - 0x1)
41−local mini = - (0x1 << 0x1f)
41+local mini = (- (0x1 << 0x1f))
42checkerror("\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,{},0x0,maxi)
42checkerror("\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,{},0x0,maxi)
43checkerror("\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,{},0x1,maxi)
43checkerror("\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,{},0x1,maxi)
44checkerror("\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,{},0x0,maxI)
44checkerror("\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,{},0x0,maxI)
45checkerror("\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,{},0x1,maxI)
45checkerror("\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,{},0x1,maxI)
46checkerror("\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)
46checkerror("\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)
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)
48checkerror("\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)
48checkerror("\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)
49unpack({},maxi,0x0)
49unpack({},maxi,0x0)
50unpack({},maxi,0x1)
50unpack({},maxi,0x1)
51unpack({},maxI,minI)
51unpack({},maxI,minI)
52−pcall(unpack,{},0x1,maxi + 0x1)
52+pcall(unpack,{},0x1,(maxi + 0x1))
53local a,b = unpack({[maxi] = 0x14},maxi,maxi)
53local a,b = unpack({[maxi] = 0x14},maxi,maxi)
54−assert(a == 0x14 and b == nil)
54+assert(((a == 0x14) and (b == nil)))
55−a,b=unpack({[maxi] = 0x14},maxi - 0x1,maxi)
55+a,b=unpack({[maxi] = 0x14},(maxi - 0x1),maxi)
56−assert(a == nil and b == 0x14)
56+assert(((a == nil) and (b == 0x14)))
57−local t = {[maxI - 0x1] = 0xc,[maxI] = 0x17}
57+local t = {[(maxI - 0x1)] = 0xc,[maxI] = 0x17}
58−a,b=unpack(t,maxI - 0x1,maxI)
58+a,b=unpack(t,(maxI - 0x1),maxI)
59;
59;
60−assert(a == 0xc and b == 0x17)
60+assert(((a == 0xc) and (b == 0x17)))
61a,b=unpack(t,maxI,maxI)
61a,b=unpack(t,maxI,maxI)
62;
62;
63−assert(a == 0x17 and b == nil)
63+assert(((a == 0x17) and (b == nil)))
64−a,b=unpack(t,maxI,maxI - 0x1)
64+a,b=unpack(t,maxI,(maxI - 0x1))
65;
65;
66−assert(a == nil and b == nil)
66+assert(((a == nil) and (b == nil)))
67−t={[minI] = 12.3,[minI + 0x1] = 23.5}
67+t={[minI] = 12.3,[(minI + 0x1)] = 23.5}
68−a,b=unpack(t,minI,minI + 0x1)
68+a,b=unpack(t,minI,(minI + 0x1))
69;
69;
70−assert(a == 12.3 and b == 23.5)
70+assert(((a == 12.3) and (b == 23.5)))
71a,b=unpack(t,minI,minI)
71a,b=unpack(t,minI,minI)
72;
72;
73−assert(a == 12.3 and b == nil)
73+assert(((a == 12.3) and (b == nil)))
74−a,b=unpack(t,minI + 0x1,minI)
74+a,b=unpack(t,(minI + 0x1),minI)
75;
75;
76−assert(a == nil and b == nil)
76+assert(((a == nil) and (b == nil)))
77end
77end
78do
78do
79local t = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
79local t = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
80return "\u{61}\u{62}\u{63}"
80return "\u{61}\u{62}\u{63}"
81end})
81end})
82−assert(# t == "\u{61}\u{62}\u{63}")
82+assert((# (t == "\u{61}\u{62}\u{63}")))
83checkerror("\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,0x1)
83checkerror("\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,0x1)
84end
84end
85print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}")
85print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}")
86a=table.pack()
86a=table.pack()
87−assert(a[0x1] == undef and a.n == 0x0)
87+assert(((a[0x1] == undef) and (a.n == 0x0)))
88a=table.pack(table)
88a=table.pack(table)
89−assert(a[0x1] == table and a.n == 0x1)
89+assert(((a[0x1] == table) and (a.n == 0x1)))
90a=table.pack(nil,nil,nil,nil)
90a=table.pack(nil,nil,nil,nil)
91−assert(a[0x1] == nil and a.n == 0x4)
91+assert(((a[0x1] == nil) and (a.n == 0x4)))
92do
92do
93checkerror("\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,0x1,0x2,0x3,0x4)
93checkerror("\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,0x1,0x2,0x3,0x4)
94local function eqT
94local function eqT
95(a,b)
95(a,b)
96for k,v in pairs(a)
96for k,v in pairs(a)
97do
97do
98−assert(b[k] == v)
98+assert((b[k] == v))
99end
99end
100for k,v in pairs(b)
100for k,v in pairs(b)
101do
101do
102−assert(a[k] == v)
102+assert((a[k] == v))
103end
103end
104end
104end
105local a = table.move({0xa,0x14,0x1e},0x1,0x3,0x2)
105local a = table.move({0xa,0x14,0x1e},0x1,0x3,0x2)
@@ -112,17 +112,17 @@ eqT(a,{0xa,0xa,0x14,0x1e,0x28})
112a=table.move({0xa,0x14,0x1e},0x2,0x3,0x1)
112a=table.move({0xa,0x14,0x1e},0x2,0x3,0x1)
113eqT(a,{0x14,0x1e,0x1e})
113eqT(a,{0x14,0x1e,0x1e})
114a={}
114a={}
115−assert(table.move({0xa,0x14,0x1e},0x1,0x3,0x1,a) == a)
115+assert((table.move({0xa,0x14,0x1e},0x1,0x3,0x1,a) == a))
116eqT(a,{0xa,0x14,0x1e})
116eqT(a,{0xa,0x14,0x1e})
117a={}
117a={}
118−assert(table.move({0xa,0x14,0x1e},0x1,0x0,0x3,a) == a)
118+assert((table.move({0xa,0x14,0x1e},0x1,0x0,0x3,a) == a))
119eqT(a,{})
119eqT(a,{})
120a=table.move({0xa,0x14,0x1e},0x1,0xa,0x1)
120a=table.move({0xa,0x14,0x1e},0x1,0xa,0x1)
121eqT(a,{0xa,0x14,0x1e})
121eqT(a,{0xa,0x14,0x1e})
122−a=table.move({[maxI - 0x2] = 0x1,[maxI - 0x1] = 0x2,[maxI] = 0x3},maxI - 0x2,maxI,- 0xa,{})
122+a=table.move({[(maxI - 0x2)] = 0x1,[(maxI - 0x1)] = 0x2,[maxI] = 0x3},(maxI - 0x2),maxI,(- 0xa),{})
123−eqT(a,{[- 0xa] = 0x1,[- 0x9] = 0x2,[- 0x8] = 0x3})
123+eqT(a,{[(- 0xa)] = 0x1,[(- 0x9)] = 0x2,[(- 0x8)] = 0x3})
124−a=table.move({[minI] = 0x1,[minI + 0x1] = 0x2,[minI + 0x2] = 0x3},minI,minI + 0x2,- 0xa,{})
124+a=table.move({[minI] = 0x1,[(minI + 0x1)] = 0x2,[(minI + 0x2)] = 0x3},minI,(minI + 0x2),(- 0xa),{})
125−eqT(a,{[- 0xa] = 0x1,[- 0x9] = 0x2,[- 0x8] = 0x3})
125+eqT(a,{[(- 0xa)] = 0x1,[(- 0x9)] = 0x2,[(- 0x8)] = 0x3})
126a=table.move({0x2d},0x1,0x1,maxI)
126a=table.move({0x2d},0x1,0x1,maxI)
127eqT(a,{0x2d,[maxI] = 0x2d})
127eqT(a,{0x2d,[maxI] = 0x2d})
128a=table.move({[maxI] = 0x64},maxI,maxI,minI)
128a=table.move({[maxI] = 0x64},maxI,maxI,minI)
@@ -130,7 +130,7 @@ eqT(a,{[minI] = 0x64,[maxI] = 0x64})
130a=table.move({[minI] = 0x64},minI,minI,maxI)
130a=table.move({[minI] = 0x64},minI,minI,maxI)
131eqT(a,{[minI] = 0x64,[maxI] = 0x64})
131eqT(a,{[minI] = 0x64,[maxI] = 0x64})
132a=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
132a=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
133−return k * 0xa
133+return (k * 0xa)
134end,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = error})
134end,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = error})
135local b = table.move(a,0x1,0xa,0x3,{})
135local b = table.move(a,0x1,0xa,0x3,{})
136eqT(a,{})
136eqT(a,{})
@@ -139,9 +139,9 @@ b=setmetatable({""},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = error,["\u
139t[0x1]=string.format("\u{25}\u{73}\u{28}\u{25}\u{64}\u{2c}\u{25}\u{64}\u{29}",t[0x1],k,v)
139t[0x1]=string.format("\u{25}\u{73}\u{28}\u{25}\u{64}\u{2c}\u{25}\u{64}\u{29}",t[0x1],k,v)
140end})
140end})
141table.move(a,0xa,0xd,0x3,b)
141table.move(a,0xa,0xd,0x3,b)
142−assert(b[0x1] == "\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}")
142+assert((b[0x1] == "\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}"))
143local stat,msg = pcall(table.move,b,0xa,0xd,0x3,b)
143local stat,msg = pcall(table.move,b,0xa,0xd,0x3,b)
144−assert(not stat and msg == b)
144+assert((not (stat and (msg == b))))
145end
145end
146do
146do
147local function checkmove
147local function checkmove
@@ -155,27 +155,27 @@ pos2=k
155error()
155error()
156end})
156end})
157local st,msg = pcall(table.move,a,f,e,t)
157local st,msg = pcall(table.move,a,f,e,t)
158−assert(not st and not msg and pos1 == x and pos2 == y)
158+assert((not (st and (not ((msg and (pos1 == x)) and (pos2 == y))))))
159end
159end
160checkmove(0x1,maxI,0x0,0x1,0x0)
160checkmove(0x1,maxI,0x0,0x1,0x0)
161−checkmove(0x0,maxI - 0x1,0x1,maxI - 0x1,maxI)
161+checkmove(0x0,(maxI - 0x1),0x1,(maxI - 0x1),maxI)
162−checkmove(minI,- 0x2,- 0x5,- 0x2,maxI - 0x6)
162+checkmove(minI,(- 0x2),(- 0x5),(- 0x2),(maxI - 0x6))
163−checkmove(minI + 0x1,- 0x1,- 0x2,- 0x1,maxI - 0x3)
163+checkmove((minI + 0x1),(- 0x1),(- 0x2),(- 0x1),(maxI - 0x3))
164−checkmove(minI,- 0x2,0x0,minI,0x0)
164+checkmove(minI,(- 0x2),0x0,minI,0x0)
165−checkmove(minI + 0x1,- 0x1,0x1,minI + 0x1,0x1)
165+checkmove((minI + 0x1),(- 0x1),0x1,(minI + 0x1),0x1)
166end
166end
167checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},0x0,maxI,0x1)
167checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},0x0,maxI,0x1)
168−checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},- 0x1,maxI - 0x1,0x1)
168+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},(- 0x1),(maxI - 0x1),0x1)
169−checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,- 0x1,0x1)
169+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,(- 0x1),0x1)
170checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,maxI,0x1)
170checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,maxI,0x1)
171checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},0x1,maxI,0x2)
171checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},0x1,maxI,0x2)
172checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},0x1,0x2,maxI)
172checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},0x1,0x2,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,- 0x2,0x2)
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,(- 0x2),0x2)
174print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{6f}\u{72}\u{74}")
174print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{6f}\u{72}\u{74}")
175local a = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
175local a = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
176−return - 0x1
176+return (- 0x1)
177end})
177end})
178−assert(# a == - 0x1)
178+assert((# (a == (- 0x1))))
179table.sort(a,error)
179table.sort(a,error)
180a=setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
180a=setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
181return maxI
181return maxI
@@ -185,7 +185,7 @@ local function check
185(t)
185(t)
186local function f
186local function f
187(a,b)
187(a,b)
188−assert(a and b)
188+assert((a and b))
189;
189;
190return true
190return true
191end
191end
@@ -195,13 +195,13 @@ check({0x1,0x2,0x3,0x4})
195check({0x1,0x2,0x3,0x4,0x5})
195check({0x1,0x2,0x3,0x4,0x5})
196check({0x1,0x2,0x3,0x4,0x5,0x6})
196check({0x1,0x2,0x3,0x4,0x5,0x6})
197function check(a,f)
197function check(a,f)
198−f=f or function (x,y)
198+f=(f or function (x,y)
199−return x < y
199+return (x < y)
200−end
200+end)
201;
201;
202−for n = # a, 0x2, - 0x1
202+for n = (# a), 0x2, (- 0x1)
203do
203do
204−assert(not f(a[n],a[n - 0x1]))
204+assert((not f(a[n],a[(n - 0x1)])))
205end
205end
206end
206end
207a={"\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}"}
207a={"\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}"}
@@ -209,8 +209,8 @@ table.sort(a)
209check(a)
209check(a)
210local function perm
210local function perm
211(s,n)
211(s,n)
212−n=n or # s
212+n=(n or (# s))
213−if n == 0x1 then
213+if (n == 0x1) then
214local t = {unpack(s)}
214local t = {unpack(s)}
215table.sort(t)
215table.sort(t)
216check(t)
216check(t)
@@ -218,7 +218,7 @@ else
218for i = 0x1, n
218for i = 0x1, n
219do
219do
220s[i],s[n]=s[n],s[i]
220s[i],s[n]=s[n],s[i]
221−perm(s,n - 0x1)
221+perm(s,(n - 0x1))
222s[i],s[n]=s[n],s[i]
222s[i],s[n]=s[n],s[i]
223end
223end
224end
224end
@@ -237,8 +237,8 @@ local function timesort
237(a,n,func,msg,pre)
237(a,n,func,msg,pre)
238local x = os.clock()
238local x = os.clock()
239table.sort(a,func)
239table.sort(a,func)
240−x=(os.clock() - x) * 0x3e8
240+x=((os.clock() - x) * 0x3e8)
241−pre=pre or ""
241+pre=(pre or "")
242print(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))
242print(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))
243check(a,func)
243check(a,func)
244end
244end
@@ -262,14 +262,14 @@ local x = os.clock()
262;
262;
263local i = 0x0
263local i = 0x0
264table.sort(a,function (x,y)
264table.sort(a,function (x,y)
265−i=i + 0x1
265+i=(i + 0x1)
266;
266;
267−return y < x
267+return (y < x)
268end)
268end)
269−x=(os.clock() - x) * 0x3e8
269+x=((os.clock() - x) * 0x3e8)
270print(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))
270print(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))
271check(a,function (x,y)
271check(a,function (x,y)
272−return y < x
272+return (y < x)
273end)
273end)
274table.sort({})
274table.sort({})
275for i = 0x1, limit
275for i = 0x1, limit
@@ -281,7 +281,7 @@ return nil
281end,"\u{65}\u{71}\u{75}\u{61}\u{6c}")
281end,"\u{65}\u{71}\u{75}\u{61}\u{6c}")
282for i,v in pairs(a)
282for i,v in pairs(a)
283do
283do
284−assert(v == false)
284+assert((v == false))
285end
285end
286AA={"\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}"}
286AA={"\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}"}
287table.sort(AA)
287table.sort(AA)
@@ -289,11 +289,11 @@ check(AA)
289table.sort(AA,function (x,y)
289table.sort(AA,function (x,y)
290load(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),"")()
290load(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),"")()
291collectgarbage()
291collectgarbage()
292−return x < y
292+return (x < y)
293end)
293end)
294_G.AA=nil
294_G.AA=nil
295local tt = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
295local tt = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
296−return a.val < b.val
296+return (a.val < b.val)
297end}
297end}
298a={}
298a={}
299for i = 0x1, 0xa
299for i = 0x1, 0xa
desk/res/lua/cycled/strings.luanew file+441
@@ -0,0 +1,441 @@
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}")
2+local maxi <const> = math.maxinteger
3+local mini <const> = math.mininteger
4+local function checkerror
5+(msg,f, ...)
6+local s,err = pcall(f,...)
7+assert((not (s and string.find(err,msg))))
8+end
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}",0x2,0x4) == "\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}",0x7) == "\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}",0x7,0x6) == ""))
29+assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x7,0x7) == "\u{37}"))
30+assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x0,0x0) == ""))
31+assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",(- 0xa),0xa) == "\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}",0x1,0x9) == "\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}",(- 0xa),(- 0x14)) == ""))
34+assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",(- 0x1)) == "\u{39}"))
35+assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",(- 0x4)) == "\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}",(- 0x6),(- 0x4)) == "\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,(- 0x4)) == "\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}",0x3,0x5) == "\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(0x8) == "\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}") == 0x3))
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}",0x3) == 0x3))
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}",0x4) == 0xd))
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}",0x4)))
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}",(- 0x9)) == 0xd))
49+assert((not string.find("\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}","\u{0}",0x5,0x1)))
50+assert((string.find("","") == 0x1))
51+assert((string.find("","",0x1) == 0x1))
52+assert((not string.find("","",0x2)))
53+assert((not string.find("","\u{61}\u{61}\u{61}",0x1)))
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}",0x1,0x1) == 0x4))
55+assert((string.len("") == 0x0))
56+assert((string.len("\u{0}\u{0}\u{0}") == 0x3))
57+assert((string.len("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}") == 0xa))
58+assert((# ("" == 0x0)))
59+assert((# ("\u{0}\u{0}\u{0}" == 0x3)))
60+assert((# ("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}" == 0xa)))
61+assert((string.byte("\u{61}") == 0x61))
62+assert((string.byte("\u{e4}") > 0x7f))
63+assert((string.byte(string.char(0xff)) == 0xff))
64+assert((string.byte(string.char(0x0)) == 0x0))
65+assert((string.byte("\u{0}") == 0x0))
66+assert((string.byte("\u{0}\u{0}\u{61}\u{6c}\u{6f}\u{0}\u{78}",(- 0x1)) == string.byte("\u{78}")))
67+assert((string.byte("\u{62}\u{61}",0x2) == 0x61))
68+assert((string.byte("\u{a}\u{a}",0x2,(- 0x1)) == 0xa))
69+assert((string.byte("\u{a}\u{a}",0x2,0x2) == 0xa))
70+assert((string.byte("") == nil))
71+assert((string.byte("\u{68}\u{69}",(- 0x3)) == nil))
72+assert((string.byte("\u{68}\u{69}",0x3) == nil))
73+assert((string.byte("\u{68}\u{69}",0x9,0xa) == nil))
74+assert((string.byte("\u{68}\u{69}",0x2,0x1) == nil))
75+assert((string.char() == ""))
76+assert((string.char(0x0,0xff,0x0) == "\u{0}\u{ff}\u{0}"))
77+assert((string.char(0x0,string.byte("\u{e4}"),0x0) == "\u{0}\u{e4}\u{0}"))
78+assert((string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",0x1,(- 0x1))) == "\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}",0x1,0x0)) == ""))
80+assert((string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",(- 0xa),0x64)) == "\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,0x100)
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,(- 0x1))
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}",0x0) == ""))
88+assert((string.rep("\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}",0x2) == "\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}"))
89+assert((string.rep("",0xa) == ""))
90+if (string.packsize("\u{69}") == 0x4) 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}",(0x1 << 0x1e))
92+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",string.rep,"\u{61}",(0x1 << 0x1e),"\u{2c}")
93+end
94+assert((string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x0,"\u{78}\u{75}\u{78}\u{75}") == ""))
95+assert((string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x1,"\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}",0x2,"\u{0}\u{0}") == "\u{1}\u{0}\u{1}\u{0}\u{0}\u{1}\u{0}\u{1}"))
97+assert((string.rep("",0xa,"\u{2e}") == string.rep("\u{2e}",0x9)))
98+assert((not pcall(string.rep,"\u{61}\u{61}",((maxi // 0x2) + 0xa))))
99+assert((not pcall(string.rep,"",((maxi // 0x2) + 0xa),"\u{61}\u{61}")))
100+assert((string.reverse("") == ""))
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}"))
103+for i = 0x0, 0x1e
104+do
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(0xc)) == "\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}") == 0x1)))
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((- 0x4b3)) == "\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((- 0x7fff)) == "\u{2d}\u{33}\u{32}\u{37}\u{36}\u{37}"))
118+if math.tointeger(0x7fffffff) then
119+assert((tostring((- 0x7fffffff)) == "\u{2d}\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}"))
120+end
121+if math.tointeger(0x4000000000000000) then
122+assert((tostring(0x4000000000000000) == "\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((- 0x4000000000000000)) == "\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}"))
124+end
125+if (tostring(0.0) == "\u{30}\u{2e}\u{30}") then
126+assert(((("" .. 0xc) == "\u{31}\u{32}") and ((12.0 .. "") == "\u{31}\u{32}\u{2e}\u{30}")))
127+assert((tostring((- (0x4b3 + 0.0))) == "\u{2d}\u{31}\u{32}\u{30}\u{33}\u{2e}\u{30}"))
128+else
129+assert((tostring(0.0) == "\u{30}"))
130+assert(((("" .. 0xc) == "\u{31}\u{32}") and ((12.0 .. "") == "\u{31}\u{32}")))
131+assert((tostring((- (0x4b3 + 0.0))) == "\u{2d}\u{31}\u{32}\u{30}\u{33}"))
132+end
133+do
134+local null = "\u{28}\u{6e}\u{75}\u{6c}\u{6c}\u{29}"
135+assert((string.format("\u{25}\u{70}",0x4) == 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}",{}) == 0x5a)))
146+assert((# (string.format("\u{25}\u{2d}\u{36}\u{30}\u{70}",{}) == 0x3c)))
147+assert((string.format("\u{25}\u{31}\u{30}\u{70}",false) == (string.rep("\u{20}",(0xa - (# null))) .. null)))
148+assert((string.format("\u{25}\u{2d}\u{31}\u{32}\u{70}",1.5) == (null .. string.rep("\u{20}",(0xc - (# null))))))
149+do
150+local t1 = {}
151+;
152+local t2 = {}
153+assert((string.format("\u{25}\u{70}",t1) ~= string.format("\u{25}\u{70}",t2)))
154+end
155+do
156+local s1 = string.rep("\u{61}",0xa)
157+local s2 = string.rep("\u{61}\u{61}",0x5)
158+assert((string.format("\u{25}\u{70}",s1) == string.format("\u{25}\u{70}",s2)))
159+end
160+do
161+local s1 = string.rep("\u{61}",0x12c)
162+;
163+local s2 = string.rep("\u{61}",0x12c)
164+assert((string.format("\u{25}\u{70}",s1) ~= string.format("\u{25}\u{70}",s2)))
165+end
166+end
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}"),0x8c) == "\u{0}\u{e4}\u{0}\u{62}\u{38}\u{63}\u{0}"))
174+assert((string.format("") == ""))
175+assert(((string.format("\u{25}\u{63}",0x22) .. (string.format("\u{25}\u{63}",0x30) .. (string.format("\u{25}\u{63}",0x5a) .. string.format("\u{25}\u{63}",0x64)))) == 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}",0x22,0x30,0x5a,0x64)))
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}",0xa,0x17) == "\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}",0x31) .. "\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}",0x7d0)) == ("\u{2d}" .. (string.rep("\u{25}",0x14) .. "\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}",0x7d0)) == string.format("\u{25}\u{71}",("\u{2d}" .. (string.rep("\u{25}",0x7d0) .. "\u{2e}\u{32}\u{30}\u{73}")))))
182+do
183+local function checkQ
184+(v)
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))()
187+assert(((v == nv) and (math.type(v) == math.type(nv))))
188+end
189+checkQ("\u{0}\u{0}\u{1}\u{ff}\u{234}")
190+checkQ(math.maxinteger)
191+checkQ(math.mininteger)
192+checkQ(math.pi)
193+checkQ(0.1)
194+checkQ(true)
195+checkQ(nil)
196+checkQ(false)
197+checkQ(math.huge)
198+checkQ((- math.huge))
199+assert((string.format("\u{25}\u{71}",(0x0 / 0x0)) == "\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}"))
211+getmetatable(m).__tostring=nil
212+assert((string.format("\u{25}\u{2e}\u{34}\u{73}",m) == "\u{68}\u{69}\u{3a}\u{20}"))
213+getmetatable(m).__tostring=function ()
214+return {}
215+end
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}",0xffffffff) == "\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}",0x7b0d) == "\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}",(- 0x78cf)) == "\u{2d}\u{30}\u{30}\u{33}\u{30}\u{39}\u{32}\u{37}"))
222+do
223+local i = 0x1
224+local j = 0x2710
225+while ((i + 0x1) < j) do
226+local m = ((i + j) // 0x2)
227+if ((0xa ^ m) < math.huge) then
228+i=m
229+else
230+j=m
231+end
232+end
233+assert((((0xa ^ i) < math.huge) and ((0xa ^ j) == math.huge)))
234+local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",(- (0xa ^ i)))
235+assert((string.len(s) >= (i + 0x65)))
236+assert((tonumber(s) == (- (0xa ^ i))))
237+assert(((0xa ^ 0x26) < math.huge))
238+local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",(- (0xa ^ 0x26)))
239+assert((string.len(s) >= (0x26 + 0x65)))
240+assert((tonumber(s) == (- (0xa ^ 0x26))))
241+end
242+do
243+local max,min = 0x7fffffff,(- 0x80000000)
244+assert((string.sub(string.format("\u{25}\u{38}\u{78}",(- 0x1)),(- 0x8)) == "\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),(- 0x8)) == "\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}",0xffffffff) == "\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}",0xabcd) == "\u{31}\u{32}\u{35}\u{37}\u{31}\u{35}"))
251+max,min=0x7fffffffffffffff,(- 0x8000000000000000)
252+if (max > (2.0 ^ 0x35)) then
253+assert((string.format("\u{25}\u{78}",(((0x2 ^ 0x34) | 0x0) - 0x1)) == "\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}",0x8f000003) == "\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}",(0x2 ^ 0x35)) == "\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}",(- (0x2 ^ 0x35))) == "\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}",(~ (- (0x1 << 0x40)))) == "\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(0x11f71fb04cb) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}"))
263+end
264+end
265+do
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}")
267+local function matchhexa
268+(n)
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}"))
271+assert((tonumber(s) == n))
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}"))
274+assert((tonumber(s) == n))
275+end
276+for _,n in ipairs({0.1,(- 0.1),(0x1 / 0x3),(- (0x1 / 0x3)),1e30,(- 1e30),(- (0x2d / 0xf7)),0x1,(- 0x1),0x2,(- 0x2),3e-20,(- 3e-20)})
277+do
278+matchhexa(n)
279+end
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}"))
282+if (not _port) then
283+assert(string.find(string.format("\u{25}\u{61}",(0x1 / 0x0)),"\u{5e}\u{69}\u{6e}\u{66}"))
284+assert(string.find(string.format("\u{25}\u{41}",(- (0x1 / 0x0))),"\u{5e}\u{25}\u{2d}\u{49}\u{4e}\u{46}"))
285+assert(string.find(string.format("\u{25}\u{61}",(0x0 / 0x0)),"\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}"))
287+end
288+if (not pcall(string.format,"\u{25}\u{2e}\u{33}\u{61}",0x0)) 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}")
290+else
291+assert(string.find(string.format("\u{25}\u{2b}\u{2e}\u{32}\u{41}",0xc),"\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}",(- 0xc)),"\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}",0xa) == "\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}",0x64) == "\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}",0x64) == "\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}",(- 0x64)) == "\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}",(- 0x64)) == "\u{2d}\u{30}\u{30}\u{31}\u{30}\u{30}"))
300+assert((string.format("\u{25}\u{2e}\u{75}",0x0) == ""))
301+assert((string.format("\u{25}\u{2b}\u{23}\u{30}\u{31}\u{34}\u{2e}\u{30}\u{66}",0x64) == "\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}",0x61) == "\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}",0x64),"\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}",(0x2 ^ 0xa)),"\u{5e}\u{20}\u{31}\u{65}\u{25}\u{2b}\u{30}\u{2b}\u{33}\u{24}"))
308+local function check
309+(fmt,msg)
310+checkerror(msg,string.format,fmt,0xa)
311+end
312+local aux = string.rep("\u{30}",0x258)
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}")() == 0x1))
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,0x3)
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)
332+assert((table.concat({}) == ""))
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}"))
335+local a = {}
336+;
337+for i = 0x1, 0x12c
338+do
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}",0x12c)))
342+assert((table.concat(a,"\u{62}",0x14,0x14) == "\u{78}\u{75}\u{78}\u{75}"))
343+assert((table.concat(a,"",0x14,0x15) == "\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}"))
344+assert((table.concat(a,"\u{78}",0x16,0x15) == ""))
345+assert((table.concat(a,"\u{33}",0x12b) == "\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 - 0x1)) == ""))
347+assert((table.concat({},"\u{78}",(mini + 0x1),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 - 0x1)] = "\u{79}"},"\u{2d}",(maxi - 0x1),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}",0x1,0x0) == ""))
354+assert((table.concat(a,"\u{2c}",0x1,0x1) == "\u{61}"))
355+assert((table.concat(a,"\u{2c}",0x1,0x2) == "\u{61}\u{2c}\u{62}"))
356+assert((table.concat(a,"\u{2c}",0x2) == "\u{62}\u{2c}\u{63}"))
357+assert((table.concat(a,"\u{2c}",0x3) == "\u{63}"))
358+assert((table.concat(a,"\u{2c}",0x4) == ""))
359+if (not _port) then
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}"}
361+local function trylocale
362+(w)
363+for i = 0x1, (# locales)
364+do
365+if os.setlocale(locales[i],w) then
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]))
367+return locales[i]
368+end
369+end
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))
371+return false
372+end
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}")))
375+end
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}"))
381+end
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}"))
385+end
386+do
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}"))
389+local co = coroutine.wrap(f)
390+assert((co() == "\u{32}"))
391+end
392+if (T == nil) then
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}")
394+else
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}")
396+local blen = 0xc8
397+local function callpfs
398+(op,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)}
400+assert((# (x == 0x4)))
401+return x[0x4]
402+end
403+local function testpfs
404+(op,fmt,n)
405+assert((callpfs(op,fmt,n) == string.format(fmt,n)))
406+end
407+testpfs("\u{49}","",0x0)
408+testpfs("\u{49}",string.rep("\u{61}",(blen - 0x1)),0x0)
409+testpfs("\u{49}",string.rep("\u{61}",blen),0x0)
410+testpfs("\u{49}",string.rep("\u{61}",(blen + 0x1)),0x0)
411+local str = (string.rep("\u{61}\u{62}",blen) .. ("\u{25}\u{64}" .. string.rep("\u{64}",(blen / 0x2))))
412+testpfs("\u{49}",str,(0x2 ^ 0xe))
413+testpfs("\u{49}",str,(- (0x2 ^ 0xf)))
414+str=("\u{25}\u{64}" .. string.rep("\u{63}\u{64}",blen))
415+testpfs("\u{49}",str,(0x2 ^ 0xe))
416+testpfs("\u{49}",str,(- (0x2 ^ 0xf)))
417+str=(string.rep("\u{63}",(blen - 0x2)) .. "\u{25}\u{64}")
418+testpfs("\u{49}",str,(0x2 ^ 0xe))
419+testpfs("\u{49}",str,(- (0x2 ^ 0xf)))
420+for l = 0xc, 0xe
421+do
422+local str1 = string.rep("\u{61}",l)
423+for i = 0x0, 0x1f4, 0xd
424+do
425+for j = 0x0, 0x1f4, 0xd
426+do
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)
430+end
431+end
432+end
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,0xff)
436+str=(string.rep("\u{61}",(blen - 0x1)) .. ("\u{25}\u{70}" .. string.rep("\u{63}\u{64}",blen)))
437+testpfs("\u{50}",str,{})
438+str=(string.rep("\u{25}\u{25}",(0x3 * blen)) .. ("\u{25}\u{70}" .. string.rep("\u{25}\u{25}",(0x2 * blen))))
439+testpfs("\u{50}",str,{})
440+end
441+print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/tpack.lua → desk/res/lua/cycled/tpack.luarenamed+133−133
@@ -13,84 +13,84 @@ local sizedouble = packsize("\u{64}")
13local sizenumber = packsize("\u{6e}")
13local sizenumber = packsize("\u{6e}")
14local little = (pack("\u{69}\u{32}",0x1) == "\u{1}\u{0}")
14local little = (pack("\u{69}\u{32}",0x1) == "\u{1}\u{0}")
15local align = packsize("\u{21}\u{78}\u{58}\u{69}\u{31}\u{36}")
15local align = packsize("\u{21}\u{78}\u{58}\u{69}\u{31}\u{36}")
16−assert(0x1 <= sizeshort and sizeshort <= sizeint and sizeint <= sizelong and sizefloat <= sizedouble)
16+assert(((((0x1 <= sizeshort) and (sizeshort <= sizeint)) and (sizeint <= sizelong)) and (sizefloat <= sizedouble)))
17print("\u{70}\u{6c}\u{61}\u{74}\u{66}\u{6f}\u{72}\u{6d}\u{3a}")
17print("\u{70}\u{6c}\u{61}\u{74}\u{66}\u{6f}\u{72}\u{6d}\u{3a}")
18print(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))
18print(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}")
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)
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))
21local function checkerror
21local function checkerror
22(msg,f, ...)
22(msg,f, ...)
23local status,err = pcall(f,...)
23local status,err = pcall(f,...)
24−assert(not status and string.find(err,msg))
24+assert((not (status and string.find(err,msg))))
25end
25end
26−assert(unpack("\u{42}",pack("\u{42}",0xff)) == 0xff)
26+assert((unpack("\u{42}",pack("\u{42}",0xff)) == 0xff))
27−assert(unpack("\u{62}",pack("\u{62}",0x7f)) == 0x7f)
27+assert((unpack("\u{62}",pack("\u{62}",0x7f)) == 0x7f))
28−assert(unpack("\u{62}",pack("\u{62}",- 0x80)) == - 0x80)
28+assert((unpack("\u{62}",pack("\u{62}",(- 0x80))) == (- 0x80)))
29−assert(unpack("\u{48}",pack("\u{48}",0xffff)) == 0xffff)
29+assert((unpack("\u{48}",pack("\u{48}",0xffff)) == 0xffff))
30−assert(unpack("\u{68}",pack("\u{68}",0x7fff)) == 0x7fff)
30+assert((unpack("\u{68}",pack("\u{68}",0x7fff)) == 0x7fff))
31−assert(unpack("\u{68}",pack("\u{68}",- 0x8000)) == - 0x8000)
31+assert((unpack("\u{68}",pack("\u{68}",(- 0x8000))) == (- 0x8000)))
32−assert(unpack("\u{4c}",pack("\u{4c}",0xffffffff)) == 0xffffffff)
32+assert((unpack("\u{4c}",pack("\u{4c}",0xffffffff)) == 0xffffffff))
33−assert(unpack("\u{6c}",pack("\u{6c}",0x7fffffff)) == 0x7fffffff)
33+assert((unpack("\u{6c}",pack("\u{6c}",0x7fffffff)) == 0x7fffffff))
34−assert(unpack("\u{6c}",pack("\u{6c}",- 0x80000000)) == - 0x80000000)
34+assert((unpack("\u{6c}",pack("\u{6c}",(- 0x80000000))) == (- 0x80000000)))
35for i = 0x1, NB
35for i = 0x1, NB
36do
36do
37local s = string.rep("\u{ff}",i)
37local s = string.rep("\u{ff}",i)
38−assert(pack("\u{69}" .. i,- 0x1) == s)
38+assert((pack(("\u{69}" .. i),(- 0x1)) == s))
39−assert(packsize("\u{69}" .. i) == # s)
39+assert((packsize(("\u{69}" .. i)) == (# s)))
40−assert(unpack("\u{69}" .. i,s) == - 0x1)
40+assert((unpack(("\u{69}" .. i),s) == (- 0x1)))
41−s="\u{aa}" .. string.rep("\u{0}",i - 0x1)
41+s=("\u{aa}" .. string.rep("\u{0}",(i - 0x1)))
42−assert(pack("\u{3c}\u{49}" .. i,0xaa) == s)
42+assert((pack(("\u{3c}\u{49}" .. i),0xaa) == s))
43−assert(unpack("\u{3c}\u{49}" .. i,s) == 0xaa)
43+assert((unpack(("\u{3c}\u{49}" .. i),s) == 0xaa))
44−assert(pack("\u{3e}\u{49}" .. i,0xaa) == s:reverse())
44+assert((pack(("\u{3e}\u{49}" .. i),0xaa) == s:reverse()))
45−assert(unpack("\u{3e}\u{49}" .. i,s:reverse()) == 0xaa)
45+assert((unpack(("\u{3e}\u{49}" .. i),s:reverse()) == 0xaa))
46end
46end
47do
47do
48local lnum = 0x807060504030201
48local lnum = 0x807060504030201
49local s = pack("\u{3c}\u{6a}",lnum)
49local s = pack("\u{3c}\u{6a}",lnum)
50−assert(unpack("\u{3c}\u{6a}",s) == lnum)
50+assert((unpack("\u{3c}\u{6a}",s) == lnum))
51−assert(unpack("\u{3c}\u{69}" .. sizeLI + 0x1,s .. "\u{0}") == lnum)
51+assert((unpack(("\u{3c}\u{69}" .. (sizeLI + 0x1)),(s .. "\u{0}")) == lnum))
52−assert(unpack("\u{3c}\u{69}" .. sizeLI + 0x1,s .. "\u{0}") == lnum)
52+assert((unpack(("\u{3c}\u{69}" .. (sizeLI + 0x1)),(s .. "\u{0}")) == lnum))
53−for i = sizeLI + 0x1, NB
53+for i = (sizeLI + 0x1), NB
54do
54do
55−local s = pack("\u{3c}\u{6a}",- lnum)
55+local s = pack("\u{3c}\u{6a}",(- lnum))
56−assert(unpack("\u{3c}\u{6a}",s) == - 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)
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)
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)
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 - 0x1) .. "\u{1}")
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 - 0x1)) .. "\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 - 0x1))
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 - 0x1))))
62end
62end
63end
63end
64for i = 0x1, sizeLI
64for i = 0x1, sizeLI
65do
65do
66local 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}"
66local 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}"
67local lnum = 0x807060504030201
67local lnum = 0x807060504030201
68−local n = lnum & (~ (- 0x1 << (i * 0x8)))
68+local n = (lnum & (~ (- (0x1 << (i * 0x8)))))
69local s = string.sub(lstr,0x1,i)
69local s = string.sub(lstr,0x1,i)
70−assert(pack("\u{3c}\u{69}" .. i,n) == s)
70+assert((pack(("\u{3c}\u{69}" .. i),n) == s))
71−assert(pack("\u{3e}\u{69}" .. i,n) == s:reverse())
71+assert((pack(("\u{3e}\u{69}" .. i),n) == s:reverse()))
72−assert(unpack("\u{3e}\u{69}" .. i,s:reverse()) == n)
72+assert((unpack(("\u{3e}\u{69}" .. i),s:reverse()) == n))
73end
73end
74do
74do
75local u = 0xf0
75local u = 0xf0
76−for i = 0x1, sizeLI - 0x1
76+for i = 0x1, (sizeLI - 0x1)
77do
77do
78−assert(unpack("\u{3c}\u{69}" .. i,"\u{f0}" .. ("\u{ff}"):rep(i - 0x1)) == - 0x10)
78+assert((unpack(("\u{3c}\u{69}" .. i),("\u{f0}" .. ("\u{ff}"):rep((i - 0x1)))) == (- 0x10)))
79−assert(unpack("\u{3e}\u{49}" .. i,"\u{f0}" .. ("\u{ff}"):rep(i - 0x1)) == u)
79+assert((unpack(("\u{3e}\u{49}" .. i),("\u{f0}" .. ("\u{ff}"):rep((i - 0x1)))) == u))
80−u=u * 0x100 + 0xff
80+u=((u * 0x100) + 0xff)
81end
81end
82end
82end
83do
83do
84−assert(pack("\u{3e}\u{69}\u{32}\u{20}\u{3c}\u{69}\u{32}",0xa,0x14) == "\u{0}\u{a}\u{14}\u{0}")
84+assert((pack("\u{3e}\u{69}\u{32}\u{20}\u{3c}\u{69}\u{32}",0xa,0x14) == "\u{0}\u{a}\u{14}\u{0}"))
85local 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}")
85local 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}")
86−assert(a == 0xa and b == 0x14)
86+assert(((a == 0xa) and (b == 0x14)))
87−assert(pack("\u{3d}\u{69}\u{34}",0x7d1) == pack("\u{69}\u{34}",0x7d1))
87+assert((pack("\u{3d}\u{69}\u{34}",0x7d1) == pack("\u{69}\u{34}",0x7d1)))
88end
88end
89print("\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}")
89print("\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}")
90checkerror("\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}",0x0)
90checkerror("\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}",0x0)
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 + 0x1,0x0)
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 + 0x1)),0x0)
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 + 0x1,0x0)
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 + 0x1)),0x0)
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 + 0x1)
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 + 0x1)))
94checkerror("\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}",0x0)
94checkerror("\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}",0x0)
95checkerror("\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}",0x10))
95checkerror("\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}",0x10))
96checkerror("\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}",0x0)
96checkerror("\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}",0x0)
@@ -98,135 +98,135 @@ checkerror("\u{6e}\u{6f}\u{74}\u{20}\u{70}\u{6f}\u{77}\u{65}\u{72}\u{20}\u{6f}\u
98checkerror("\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}","")
98checkerror("\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}","")
99checkerror("\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}")
99checkerror("\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}")
100checkerror("\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}")
100checkerror("\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}",0x28))
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}",0x28)))
102−if packsize("\u{69}") == 0x4 then
102+if (packsize("\u{69}") == 0x4) 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}",0x2 ^ 0x3)
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}",(0x2 ^ 0x3))
104checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",packsize,s)
104checkerror("\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}",0x2 ^ 0x3 - 0x1) .. "\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{35}"
105+s=(string.rep("\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{36}",((0x2 ^ 0x3) - 0x1)) .. "\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{35}")
106−assert(packsize(s) == 0x7fffffff)
106+assert((packsize(s) == 0x7fffffff))
107end
107end
108−for i = 0x1, sizeLI - 0x1
108+for i = 0x1, (sizeLI - 0x1)
109do
109do
110−local umax = (0x1 << (i * 0x8)) - 0x1
110+local umax = ((0x1 << (i * 0x8)) - 0x1)
111−local max = umax >> 0x1
111+local max = (umax >> 0x1)
112−local min = ~ max
112+local min = (~ max)
113−checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3c}\u{49}" .. i,- 0x1)
113+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,("\u{3c}\u{49}" .. i),(- 0x1))
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)
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 + 0x1)
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 + 0x1))
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)
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 + 0x1)
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 + 0x1))
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 - 0x1)
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 - 0x1))
119−assert(unpack("\u{3e}\u{69}" .. i,pack("\u{3e}\u{69}" .. i,max)) == max)
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)
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)
121+assert((unpack(("\u{3e}\u{49}" .. i),pack(("\u{3e}\u{49}" .. i),umax)) == umax))
122end
122end
123−assert(unpack("\u{3e}\u{6a}",pack("\u{3e}\u{6a}",math.maxinteger)) == math.maxinteger)
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)
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}",- 0x1)) == - 0x1)
125+assert((unpack("\u{3c}\u{4a}",pack("\u{3c}\u{6a}",(- 0x1))) == (- 0x1)))
126if little then
126if little then
127−assert(pack("\u{66}",0x18) == pack("\u{3c}\u{66}",0x18))
127+assert((pack("\u{66}",0x18) == pack("\u{3c}\u{66}",0x18)))
128else
128else
129−assert(pack("\u{66}",0x18) == pack("\u{3e}\u{66}",0x18))
129+assert((pack("\u{66}",0x18) == pack("\u{3e}\u{66}",0x18)))
130end
130end
131print("\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}")
131print("\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}")
132−for _,n in ipairs({0x0,- 1.1,1.9,0x1 / 0x0,- 0x1 / 0x0,1e20,- 1e20,0.1,2000.7})
132+for _,n in ipairs({0x0,(- 1.1),1.9,(0x1 / 0x0),(- (0x1 / 0x0)),1e20,(- 1e20),0.1,2000.7})
133do
133do
134−assert(unpack("\u{6e}",pack("\u{6e}",n)) == n)
134+assert((unpack("\u{6e}",pack("\u{6e}",n)) == n))
135−assert(unpack("\u{3c}\u{6e}",pack("\u{3c}\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)
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())
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())
138+assert((pack("\u{3e}\u{64}",n) == pack("\u{3c}\u{64}",n):reverse()))
139end
139end
140−for _,n in ipairs({0x0,- 1.5,0x1 / 0x0,- 0x1 / 0x0,1e10,- 1e9,0.5,2000.25})
140+for _,n in ipairs({0x0,(- 1.5),(0x1 / 0x0),(- (0x1 / 0x0)),1e10,(- 1e9),0.5,2000.25})
141do
141do
142−assert(unpack("\u{3c}\u{66}",pack("\u{3c}\u{66}",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)
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)
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)
145+assert((unpack("\u{3e}\u{64}",pack("\u{3e}\u{64}",n)) == n))
146end
146end
147print("\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}")
147print("\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}")
148do
148do
149local s = string.rep("\u{61}\u{62}\u{63}",0x3e8)
149local s = string.rep("\u{61}\u{62}\u{63}",0x3e8)
150−assert(pack("\u{7a}\u{42}",s,0xf7) == s .. "\u{0}\u{f7}")
150+assert((pack("\u{7a}\u{42}",s,0xf7) == (s .. "\u{0}\u{f7}")))
151−local s1,b = unpack("\u{7a}\u{42}",s .. "\u{0}\u{f9}")
151+local s1,b = unpack("\u{7a}\u{42}",(s .. "\u{0}\u{f9}"))
152−assert(b == 0xf9 and s1 == s)
152+assert(((b == 0xf9) and (s1 == s)))
153s1=pack("\u{73}",s)
153s1=pack("\u{73}",s)
154−assert(unpack("\u{73}",s1) == s)
154+assert((unpack("\u{73}",s1) == s))
155checkerror("\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)
155checkerror("\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)
156checkerror("\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}")
156checkerror("\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}")
157;
157;
158checkerror("\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}")
158checkerror("\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}")
159for i = 0x2, NB
159for i = 0x2, NB
160do
160do
161−local s1 = pack("\u{73}" .. i,s)
161+local s1 = pack(("\u{73}" .. i),s)
162−assert(unpack("\u{73}" .. i,s1) == s and # s1 == # s + i)
162+assert(((unpack(("\u{73}" .. i),s1) == s) and (# (s1 == (# (s + i))))))
163end
163end
164end
164end
165do
165do
166local x = pack("\u{73}","\u{61}\u{6c}\u{6f}")
166local 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(0x1,- 0x2))
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(0x1,(- 0x2)))
168checkerror("\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}")
168checkerror("\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}")
169checkerror("\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}")
169checkerror("\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}")
170end
170end
171do
171do
172−assert(pack("\u{63}\u{30}","") == "")
172+assert((pack("\u{63}\u{30}","") == ""))
173−assert(packsize("\u{63}\u{30}") == 0x0)
173+assert((packsize("\u{63}\u{30}") == 0x0))
174−assert(unpack("\u{63}\u{30}","") == "")
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}")
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}") == 0x3)
176+assert((packsize("\u{3c}\u{21}\u{20}\u{63}\u{33}") == 0x3))
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}")
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}")
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}","") == "")
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}")
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}",0x58))
181+assert((pack("\u{63}\u{38}\u{38}","") == string.rep("\u{0}",0x58)))
182−assert(pack("\u{63}\u{31}\u{38}\u{38}","\u{61}\u{62}") == "\u{61}\u{62}" .. string.rep("\u{0}",0xbc - 0x2))
182+assert((pack("\u{63}\u{31}\u{38}\u{38}","\u{61}\u{62}") == ("\u{61}\u{62}" .. string.rep("\u{0}",(0xbc - 0x2)))))
183local 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}")
183local 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 == 0xe)
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 == 0xe)))
185checkerror("\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}")
185checkerror("\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}")
186end
186end
187do
187do
188local 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}",0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8)
188local 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}",0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8)
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}"))
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}"))))
190local 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)
190local 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)
191−assert(a == 0x1 and b == 0x2 and c == 0x3 and d == 0x4 and e == 0x5 and f == 0x6 and g == 0x7 and h == 0x8)
191+assert(((((((((a == 0x1) and (b == 0x2)) and (c == 0x3)) and (d == 0x4)) and (e == 0x5)) and (f == 0x6)) and (g == 0x7)) and (h == 0x8)))
192end
192end
193print("\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}")
193print("\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}")
194do
194do
195−assert(pack("\u{20}\u{3c}\u{20}\u{69}\u{31}\u{20}\u{69}\u{32}\u{20}",0x2,0x3) == "\u{2}\u{3}\u{0}")
195+assert((pack("\u{20}\u{3c}\u{20}\u{69}\u{31}\u{20}\u{69}\u{32}\u{20}",0x2,0x3) == "\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}",- 0xc,0x64,0xc8,"\u{ec}")
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}",(- 0xc),0x64,0xc8,"\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}"))
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}")
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}")))))))
199local 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)
199local 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 == 0x64 and c == 0xc8 and d == - 0x14 and (pos - 0x1) == # x)
200+assert(((((a == "\u{f4}") and (b == 0x64)) and (c == 0xc8)) and (d == (- (0x14 and ((pos - 0x1) == (# x)))))))
201x=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}",0x5,"\u{77}\u{6f}\u{72}\u{6c}\u{64}","\u{78}\u{79}")
201x=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}",0x5,"\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}")
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}"))
203local 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)
203local 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 == 0x5 and f == "\u{77}\u{6f}\u{72}\u{6c}\u{64}" and g == "\u{78}\u{79}" and (pos - 0x1) % 0x4 == 0x0)
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 == 0x5)) and (f == "\u{77}\u{6f}\u{72}\u{6c}\u{64}")) and (g == "\u{78}\u{79}")) and (((pos - 0x1) % 0x4) == 0x0)))
205x=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}",0x1,0x2,0x3)
205x=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}",0x1,0x2,0x3)
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}") == 0x4)
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}") == 0x4))
207−assert(x == "\u{1}\u{2}\u{3}\u{0}")
207+assert((x == "\u{1}\u{2}\u{3}\u{0}"))
208a,b,c,pos=unpack("\u{62}\u{62}\u{58}\u{64}\u{62}",x)
208a,b,c,pos=unpack("\u{62}\u{62}\u{58}\u{64}\u{62}",x)
209−assert(a == 0x1 and b == 0x2 and c == 0x3 and pos == # x)
209+assert(((((a == 0x1) and (b == 0x2)) and (c == 0x3)) and (pos == (# x))))
210−assert(packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{38}") == 0x8)
210+assert((packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{38}") == 0x8))
211local 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}")
211local 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}")
212;
212;
213−assert(pos == 0x9)
213+assert((pos == 0x9))
214−assert(packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{32}") == 0x2)
214+assert((packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{32}") == 0x2))
215local 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}")
215local 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}")
216;
216;
217−assert(pos == 0x3)
217+assert((pos == 0x3))
218−assert(packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{32}") == 0x2)
218+assert((packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{32}") == 0x2))
219local 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}")
219local 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}")
220;
220;
221−assert(pos == 0x3)
221+assert((pos == 0x3))
222−assert(packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{38}") == 0x2)
222+assert((packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{38}") == 0x2))
223local 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}")
223local 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}")
224;
224;
225−assert(pos == 0x3)
225+assert((pos == 0x3))
226−assert(packsize("\u{21}\u{31}\u{36}\u{20}\u{78}\u{58}\u{69}\u{31}\u{36}") == 0x10)
226+assert((packsize("\u{21}\u{31}\u{36}\u{20}\u{78}\u{58}\u{69}\u{31}\u{36}") == 0x10))
227local 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}")
227local 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}")
228;
228;
229−assert(pos == 0x11)
229+assert((pos == 0x11))
230checkerror("\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}")
230checkerror("\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}")
231checkerror("\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}","")
231checkerror("\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}","")
232checkerror("\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}","")
232checkerror("\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}","")
@@ -237,23 +237,23 @@ local x = pack("\u{69}\u{34}\u{69}\u{34}\u{69}\u{34}\u{69}\u{34}",0x1,0x2,0x3,0x
237for pos = 0x1, 0x10, 0x4
237for pos = 0x1, 0x10, 0x4
238do
238do
239local i,p = unpack("\u{69}\u{34}",x,pos)
239local i,p = unpack("\u{69}\u{34}",x,pos)
240−assert(i == pos // 0x4 + 0x1 and p == pos + 0x4)
240+assert(((i == ((pos // 0x4) + 0x1)) and (p == (pos + 0x4))))
241end
241end
242for pos = 0x0, 0xc
242for pos = 0x0, 0xc
243do
243do
244−local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,pos + 0x1)
244+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,(pos + 0x1))
245−assert(i == (pos + 0x3) // 0x4 + 0x1 and p == i * 0x4 + 0x1)
245+assert(((i == (((pos + 0x3) // 0x4) + 0x1)) and (p == ((i * 0x4) + 0x1))))
246end
246end
247−local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- 0x4)
247+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,(- 0x4))
248−assert(i == 0x4 and p == 0x11)
248+assert(((i == 0x4) and (p == 0x11)))
249−local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- 0x7)
249+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,(- 0x7))
250−assert(i == 0x4 and p == 0x11)
250+assert(((i == 0x4) and (p == 0x11)))
251−local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- # x)
251+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,(- (# x)))
252−assert(i == 0x1 and p == 0x5)
252+assert(((i == 0x1) and (p == 0x5)))
253−for i = 0x1, # x + 0x1
253+for i = 0x1, (# (x + 0x1))
254do
254do
255−assert(unpack("\u{63}\u{30}",x,i) == "")
255+assert((unpack("\u{63}\u{30}",x,i) == ""))
256end
256end
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 + 0x2)
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 + 0x2)))
258end
258end
259print("\u{4f}\u{4b}")
259print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/tracegc.lua → desk/res/lua/cycled/tracegc.luarenamed+1−1
@@ -10,7 +10,7 @@ setmetatable(o,mt)
10end
10end
11end
11end
12function M.start()
12function M.start()
13−if not active then
13+if (not active) then
14active=true
14active=true
15setmetatable({},mt)
15setmetatable({},mt)
16end
16end
zod/luau/res/lua/cycled/utf8.lua → desk/res/lua/cycled/utf8.luarenamed+78−78
@@ -3,94 +3,94 @@ local utf8 = require("\u{75}\u{74}\u{66}\u{38}")
3local function checkerror
3local function checkerror
4(msg,f, ...)
4(msg,f, ...)
5local s,err = pcall(f,...)
5local s,err = pcall(f,...)
6−assert(not s and string.find(err,msg))
6+assert((not (s and string.find(err,msg))))
7end
7end
8local function len
8local function len
9(s)
9(s)
10−return # string.gsub(s,"\u{5b}\u{80}\u{2d}\u{bf}\u{5d}","")
10+return (# string.gsub(s,"\u{5b}\u{80}\u{2d}\u{bf}\u{5d}",""))
11end
11end
12−local justone = "\u{5e}" .. utf8.charpattern .. "\u{24}"
12+local justone = ("\u{5e}" .. (utf8.charpattern .. "\u{24}"))
13local function checksyntax
13local function checksyntax
14(s,t)
14(s,t)
15local ts = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}"}
15local ts = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}"}
16−for i = 0x1, # t
16+for i = 0x1, (# t)
17do
17do
18−ts[i + 0x1]=string.format("\u{5c}\u{75}\u{7b}\u{25}\u{78}\u{7d}",t[i])
18+ts[(i + 0x1)]=string.format("\u{5c}\u{75}\u{7b}\u{25}\u{78}\u{7d}",t[i])
19end
19end
20−ts[# t + 0x2]="\u{27}"
20+ts[(# (t + 0x2))]="\u{27}"
21ts=table.concat(ts)
21ts=table.concat(ts)
22−assert(assert(load(ts))() == s)
22+assert((assert(load(ts))() == s))
23end
23end
24−assert(not utf8.offset("\u{61}\u{6c}\u{6f}",0x5))
24+assert((not utf8.offset("\u{61}\u{6c}\u{6f}",0x5)))
25−assert(not utf8.offset("\u{61}\u{6c}\u{6f}",- 0x4))
25+assert((not utf8.offset("\u{61}\u{6c}\u{6f}",(- 0x4))))
26local function check
26local function check
27(s,t,nonstrict)
27(s,t,nonstrict)
28−local l = utf8.len(s,0x1,- 0x1,nonstrict)
28+local l = utf8.len(s,0x1,(- 0x1),nonstrict)
29−assert(# t == l and len(s) == l)
29+assert((# ((t == l) and (len(s) == l))))
30−assert(utf8.char(table.unpack(t)) == s)
30+assert((utf8.char(table.unpack(t)) == s))
31−assert(utf8.offset(s,0x0) == 0x1)
31+assert((utf8.offset(s,0x0) == 0x1))
32checksyntax(s,t)
32checksyntax(s,t)
33−local t1 = {utf8.codepoint(s,0x1,- 0x1,nonstrict)}
33+local t1 = {utf8.codepoint(s,0x1,(- 0x1),nonstrict)}
34−assert(# t == # t1)
34+assert((# (t == (# t1))))
35−for i = 0x1, # t
35+for i = 0x1, (# t)
36do
36do
37−assert(t[i] == t1[i])
37+assert((t[i] == t1[i]))
38end
38end
39for i = 0x1, l
39for i = 0x1, l
40do
40do
41local pi = utf8.offset(s,i)
41local pi = utf8.offset(s,i)
42local pi1 = utf8.offset(s,0x2,pi)
42local pi1 = utf8.offset(s,0x2,pi)
43−assert(string.find(string.sub(s,pi,pi1 - 0x1),justone))
43+assert(string.find(string.sub(s,pi,(pi1 - 0x1)),justone))
44−assert(utf8.offset(s,- 0x1,pi1) == pi)
44+assert((utf8.offset(s,(- 0x1),pi1) == pi))
45−assert(utf8.offset(s,i - l - 0x1) == pi)
45+assert((utf8.offset(s,((i - l) - 0x1)) == pi))
46−assert(pi1 - pi == # utf8.char(utf8.codepoint(s,pi,pi,nonstrict)))
46+assert(((pi1 - pi) == (# utf8.char(utf8.codepoint(s,pi,pi,nonstrict)))))
47−for j = pi, pi1 - 0x1
47+for j = pi, (pi1 - 0x1)
48do
48do
49−assert(utf8.offset(s,0x0,j) == pi)
49+assert((utf8.offset(s,0x0,j) == pi))
50end
50end
51−for j = pi + 0x1, pi1 - 0x1
51+for j = (pi + 0x1), (pi1 - 0x1)
52do
52do
53−assert(not utf8.len(s,j))
53+assert((not utf8.len(s,j)))
54end
54end
55−assert(utf8.len(s,pi,pi,nonstrict) == 0x1)
55+assert((utf8.len(s,pi,pi,nonstrict) == 0x1))
56−assert(utf8.len(s,pi,pi1 - 0x1,nonstrict) == 0x1)
56+assert((utf8.len(s,pi,(pi1 - 0x1),nonstrict) == 0x1))
57−assert(utf8.len(s,pi,- 0x1,nonstrict) == l - i + 0x1)
57+assert((utf8.len(s,pi,(- 0x1),nonstrict) == ((l - i) + 0x1)))
58−assert(utf8.len(s,pi1,- 0x1,nonstrict) == l - i)
58+assert((utf8.len(s,pi1,(- 0x1),nonstrict) == (l - i)))
59−assert(utf8.len(s,0x1,pi,nonstrict) == i)
59+assert((utf8.len(s,0x1,pi,nonstrict) == i))
60end
60end
61local i = 0x0
61local i = 0x0
62for p,c in utf8.codes(s,nonstrict)
62for p,c in utf8.codes(s,nonstrict)
63do
63do
64−i=i + 0x1
64+i=(i + 0x1)
65−assert(c == t[i] and p == utf8.offset(s,i))
65+assert(((c == t[i]) and (p == utf8.offset(s,i))))
66−assert(utf8.codepoint(s,p,p,nonstrict) == c)
66+assert((utf8.codepoint(s,p,p,nonstrict) == c))
67end
67end
68−assert(i == # t)
68+assert((i == (# t)))
69i=0x0
69i=0x0
70for c in string.gmatch(s,utf8.charpattern)
70for c in string.gmatch(s,utf8.charpattern)
71do
71do
72−i=i + 0x1
72+i=(i + 0x1)
73−assert(c == utf8.char(t[i]))
73+assert((c == utf8.char(t[i])))
74end
74end
75−assert(i == # t)
75+assert((i == (# t)))
76for i = 0x1, l
76for i = 0x1, l
77do
77do
78−assert(utf8.offset(s,i) == utf8.offset(s,i - l - 0x1,# s + 0x1))
78+assert((utf8.offset(s,i) == utf8.offset(s,((i - l) - 0x1),(# (s + 0x1)))))
79end
79end
80end
80end
81do
81do
82local function check
82local function check
83(s,p)
83(s,p)
84local a,b = utf8.len(s)
84local a,b = utf8.len(s)
85−assert(not a and b == p)
85+assert((not (a and (b == p))))
86end
86end
87check("\u{61}\u{62}\u{63}\u{e3}\u{64}\u{65}\u{66}",0x4)
87check("\u{61}\u{62}\u{63}\u{e3}\u{64}\u{65}\u{66}",0x4)
88check("\u{f4}\u{9f}\u{bf}",0x1)
88check("\u{f4}\u{9f}\u{bf}",0x1)
89check("\u{f4}\u{9f}\u{bf}\u{bf}",0x1)
89check("\u{f4}\u{9f}\u{bf}\u{bf}",0x1)
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}") + 0x1)
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}" + 0x1)))
91check("\u{80}\u{68}\u{65}\u{6c}\u{6c}\u{6f}",0x1)
91check("\u{80}\u{68}\u{65}\u{6c}\u{6c}\u{6f}",0x1)
92check("\u{68}\u{65}\u{6c}\u{80}\u{6c}\u{6f}",0x4)
92check("\u{68}\u{65}\u{6c}\u{80}\u{6c}\u{6f}",0x4)
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}") + 0x1)
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}" + 0x1)))
94check("\u{bf}\u{68}\u{65}\u{6c}\u{6c}\u{6f}",0x1)
94check("\u{bf}\u{68}\u{65}\u{6c}\u{6c}\u{6f}",0x1)
95check("\u{68}\u{65}\u{6c}\u{bf}\u{6c}\u{6f}",0x4)
95check("\u{68}\u{65}\u{6c}\u{bf}\u{6c}\u{6f}",0x4)
96end
96end
@@ -110,53 +110,53 @@ errorcodes("\u{69}\u{6e}\u{80}\u{76}\u{61}\u{6c}\u{69}\u{64}")
110errorcodes("\u{bf}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}")
110errorcodes("\u{bf}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}")
111errorcodes("\u{ce}\u{b1}\u{ce}\u{bb}\u{cf}\u{86}\u{bf}\u{ce}\u{b1}")
111errorcodes("\u{ce}\u{b1}\u{ce}\u{bb}\u{cf}\u{86}\u{bf}\u{ce}\u{b1}")
112local f = utf8.codes("")
112local f = utf8.codes("")
113−assert(f("",0x2) == nil)
113+assert((f("",0x2) == nil))
114−assert(f("",- 0x1) == nil)
114+assert((f("",(- 0x1)) == nil))
115−assert(f("",math.mininteger) == nil)
115+assert((f("",math.mininteger) == nil))
116end
116end
117checkerror("\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}",0x1,0x5)
117checkerror("\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}",0x1,0x5)
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}",0x1,- 0x4)
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}",0x1,(- 0x4))
119checkerror("\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,"",0x1,0x2)
119checkerror("\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,"",0x1,0x2)
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,"",0x1,- 0x1)
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,"",0x1,(- 0x1))
121checkerror("\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}",0x1,0x2)
121checkerror("\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}",0x1,0x2)
122checkerror("\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}",0x1,0x2)
122checkerror("\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}",0x1,0x2)
123checkerror("\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}",0x1)
123checkerror("\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}",0x1)
124checkerror("\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}",0x0,0x2)
124checkerror("\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}",0x0,0x2)
125checkerror("\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}",0x1,0x4)
125checkerror("\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}",0x1,0x4)
126local s = "\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{57}\u{6f}\u{72}\u{6c}\u{64}"
126local s = "\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{57}\u{6f}\u{72}\u{6c}\u{64}"
127−local t = {string.byte(s,0x1,- 0x1)}
127+local t = {string.byte(s,0x1,(- 0x1))}
128for i = 0x1, utf8.len(s)
128for i = 0x1, utf8.len(s)
129do
129do
130−assert(t[i] == string.byte(s,i))
130+assert((t[i] == string.byte(s,i)))
131end
131end
132check(s,t)
132check(s,t)
133check("\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}",{0x6c49,0x5b57,0x2f,0x6f22,0x5b57})
133check("\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}",{0x6c49,0x5b57,0x2f,0x6f22,0x5b57})
134do
134do
135local s = "\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}\u{80}"
135local s = "\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}\u{80}"
136−local t = {utf8.codepoint(s,0x1,# s - 0x1)}
136+local t = {utf8.codepoint(s,0x1,(# (s - 0x1)))}
137−assert(# t == 0x3 and t[0x1] == 0xe1 and t[0x2] == 0xe9 and t[0x3] == 0xed)
137+assert((# ((((t == 0x3) and (t[0x1] == 0xe1)) and (t[0x2] == 0xe9)) and (t[0x3] == 0xed))))
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,0x1,# s)
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,0x1,(# 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 + 0x1)
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 + 0x1)))
140t={utf8.codepoint(s,0x4,0x3)}
140t={utf8.codepoint(s,0x4,0x3)}
141−assert(# t == 0x0)
141+assert((# (t == 0x0)))
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 + 0x1),0x1)
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 + 0x1))),0x1)
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,0x1,# s + 0x1)
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,0x1,(# (s + 0x1)))
144−assert(utf8.codepoint("\u{d7ff}") == 0xd800 - 0x1)
144+assert((utf8.codepoint("\u{d7ff}") == (0xd800 - 0x1)))
145−assert(utf8.codepoint("\u{e000}") == 0xdfff + 0x1)
145+assert((utf8.codepoint("\u{e000}") == (0xdfff + 0x1)))
146−assert(utf8.codepoint("\u{d800}",0x1,0x1,true) == 0xd800)
146+assert((utf8.codepoint("\u{d800}",0x1,0x1,true) == 0xd800))
147−assert(utf8.codepoint("\u{dfff}",0x1,0x1,true) == 0xdfff)
147+assert((utf8.codepoint("\u{dfff}",0x1,0x1,true) == 0xdfff))
148−assert(utf8.codepoint("\u{7fffffff}",0x1,0x1,true) == 0x7fffffff)
148+assert((utf8.codepoint("\u{7fffffff}",0x1,0x1,true) == 0x7fffffff))
149−end
149+end
150−assert(utf8.char() == "")
150+assert((utf8.char() == ""))
151−assert(utf8.char(0x0,0x61,0x62,0x63,0x1) == "\u{0}\u{61}\u{62}\u{63}\u{1}")
151+assert((utf8.char(0x0,0x61,0x62,0x63,0x1) == "\u{0}\u{61}\u{62}\u{63}\u{1}"))
152−assert(utf8.codepoint(utf8.char(0x10ffff)) == 0x10ffff)
152+assert((utf8.codepoint(utf8.char(0x10ffff)) == 0x10ffff))
153−assert(utf8.codepoint(utf8.char(0x7fffffff),0x1,0x1,true) == (0x1 << 0x1f) - 0x1)
153+assert((utf8.codepoint(utf8.char(0x7fffffff),0x1,0x1,true) == ((0x1 << 0x1f) - 0x1)))
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,0x7fffffff + 0x1)
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,(0x7fffffff + 0x1))
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,- 0x1)
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,(- 0x1))
156local function invalid
156local function invalid
157(s)
157(s)
158checkerror("\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)
158checkerror("\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)
159−assert(not utf8.len(s))
159+assert((not utf8.len(s)))
160end
160end
161invalid("\u{f4}\u{9f}\u{bf}\u{bf}")
161invalid("\u{f4}\u{9f}\u{bf}\u{bf}")
162invalid("\u{d800}")
162invalid("\u{d800}")
@@ -175,13 +175,13 @@ s=string.gsub(s,"\u{20}","")
175check(s,{0x0,0x7f,0x80,0x7ff,0x800,0xffff,0x10000,0x10ffff})
175check(s,{0x0,0x7f,0x80,0x7ff,0x800,0xffff,0x10000,0x10ffff})
176do
176do
177local s = "\u{4000000}\u{7fffffff}"
177local s = "\u{4000000}\u{7fffffff}"
178−assert(# s == 0xc)
178+assert((# (s == 0xc)))
179check(s,{0x4000000,0x7fffffff},true)
179check(s,{0x4000000,0x7fffffff},true)
180s="\u{200000}\u{3ffffff}"
180s="\u{200000}\u{3ffffff}"
181−assert(# s == 0xa)
181+assert((# (s == 0xa)))
182check(s,{0x200000,0x3ffffff},true)
182check(s,{0x200000,0x3ffffff},true)
183s="\u{10000}\u{1fffff}"
183s="\u{10000}\u{1fffff}"
184−assert(# s == 0x8)
184+assert((# (s == 0x8)))
185check(s,{0x10000,0x1fffff},true)
185check(s,{0x10000,0x1fffff},true)
186end
186end
187local 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}"
187local 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}"
@@ -189,15 +189,15 @@ check(x,{0x65e5,0x672c,0x8a9e,0x61,0x2d,0x34,0x0,0xe9,0xf3})
189check("\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}",{0x23cb7,0x2070e,0x20c53,0x2107b,0x20d7c,0x61,0x62,0x20ea2})
189check("\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}",{0x23cb7,0x2070e,0x20c53,0x2107b,0x20d7c,0x61,0x62,0x20ea2})
190check("\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}",{0x28cca,0x29d98,0x269fa,0x28cd2,0x2512b,0x244d3,0x10ffff})
190check("\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}",{0x28cca,0x29d98,0x269fa,0x28cd2,0x2512b,0x244d3,0x10ffff})
191local i = 0x0
191local i = 0x0
192−for p,c in string.gmatch(x,"\u{28}\u{29}\u{28}" .. utf8.charpattern .. "\u{29}")
192+for p,c in string.gmatch(x,("\u{28}\u{29}\u{28}" .. (utf8.charpattern .. "\u{29}")))
193do
193do
194−i=i + 0x1
194+i=(i + 0x1)
195−assert(utf8.offset(x,i) == p)
195+assert((utf8.offset(x,i) == p))
196−assert(utf8.len(x,p) == utf8.len(x) - i + 0x1)
196+assert((utf8.len(x,p) == ((utf8.len(x) - i) + 0x1)))
197−assert(utf8.len(c) == 0x1)
197+assert((utf8.len(c) == 0x1))
198−for j = 0x1, # c - 0x1
198+for j = 0x1, (# (c - 0x1))
199do
199do
200−assert(utf8.offset(x,0x0,p + j - 0x1) == p)
200+assert((utf8.offset(x,0x0,((p + j) - 0x1)) == p))
201end
201end
202end
202end
203print("\u{6f}\u{6b}")
203print("\u{6f}\u{6b}")
zod/luau/res/lua/cycled/vararg.lua → desk/res/lua/cycled/vararg.luarenamed+42−42
@@ -4,17 +4,17 @@ local function f
4local x = {["\u{6e}"] = select("\u{23}",...),...}
4local x = {["\u{6e}"] = select("\u{23}",...),...}
5for i = 0x1, x.n
5for i = 0x1, x.n
6do
6do
7−assert(a[i] == x[i])
7+assert((a[i] == x[i]))
8end
8end
9return x.n
9return x.n
10end
10end
11local function c12
11local function c12
12(...)
12(...)
13−assert(arg == _G.arg)
13+assert((arg == _G.arg))
14local x = {...}
14local x = {...}
15;
15;
16−x.n=# x
16+x.n=(# x)
17−local res = (x.n == 0x2 and x[0x1] == 0x1 and x[0x2] == 0x2)
17+local res = (((x.n == 0x2) and (x[0x1] == 0x1)) and (x[0x2] == 0x2))
18if res then
18if res then
19res=0x37
19res=0x37
20end
20end
@@ -27,59 +27,59 @@ end
27local call = function (f,args)
27local call = function (f,args)
28return f(table.unpack(args,0x1,args.n))
28return f(table.unpack(args,0x1,args.n))
29end
29end
30−assert(f() == 0x0)
30+assert((f() == 0x0))
31−assert(f({0x1,0x2,0x3},0x1,0x2,0x3) == 0x3)
31+assert((f({0x1,0x2,0x3},0x1,0x2,0x3) == 0x3))
32−assert(f({"\u{61}\u{6c}\u{6f}",nil,0x2d,f,nil},"\u{61}\u{6c}\u{6f}",nil,0x2d,f,nil) == 0x5)
32+assert((f({"\u{61}\u{6c}\u{6f}",nil,0x2d,f,nil},"\u{61}\u{6c}\u{6f}",nil,0x2d,f,nil) == 0x5))
33−assert(vararg().n == 0x0)
33+assert((vararg().n == 0x0))
34−assert(vararg(nil,nil).n == 0x2)
34+assert((vararg(nil,nil).n == 0x2))
35−assert(c12(0x1,0x2) == 0x37)
35+assert((c12(0x1,0x2) == 0x37))
36local a,b = assert(call(c12,{0x1,0x2}))
36local a,b = assert(call(c12,{0x1,0x2}))
37−assert(a == 0x37 and b == 0x2)
37+assert(((a == 0x37) and (b == 0x2)))
38a=call(c12,{0x1,0x2,["\u{6e}"] = 0x2})
38a=call(c12,{0x1,0x2,["\u{6e}"] = 0x2})
39−assert(a == 0x37 and b == 0x2)
39+assert(((a == 0x37) and (b == 0x2)))
40a=call(c12,{0x1,0x2,["\u{6e}"] = 0x1})
40a=call(c12,{0x1,0x2,["\u{6e}"] = 0x1})
41−assert(not a)
41+assert((not a))
42−assert(c12(0x1,0x2,0x3) == false)
42+assert((c12(0x1,0x2,0x3) == false))
43local a = vararg(call(next,{_G,nil,["\u{6e}"] = 0x2}))
43local a = vararg(call(next,{_G,nil,["\u{6e}"] = 0x2}))
44local b,c = next(_G)
44local b,c = next(_G)
45−assert(a[0x1] == b and a[0x2] == c and a.n == 0x2)
45+assert((((a[0x1] == b) and (a[0x2] == c)) and (a.n == 0x2)))
46a=vararg(call(call,{c12,{0x1,0x2}}))
46a=vararg(call(call,{c12,{0x1,0x2}}))
47−assert(a.n == 0x2 and a[0x1] == 0x37 and a[0x2] == 0x2)
47+assert((((a.n == 0x2) and (a[0x1] == 0x37)) and (a[0x2] == 0x2)))
48a=call(print,{"\u{2b}"})
48a=call(print,{"\u{2b}"})
49−assert(a == nil)
49+assert((a == nil))
50local t = {0x1,0xa}
50local t = {0x1,0xa}
51function t:f(...)
51function t:f(...)
52local arg = {...}
52local arg = {...}
53;
53;
54−return self[...] + # arg
54+return (self[...] + (# arg))
55end
55end
56−assert(t:f(0x1,0x4) == 0x3 and t:f(0x2) == 0xb)
56+assert(((t:f(0x1,0x4) == 0x3) and (t:f(0x2) == 0xb)))
57print("\u{2b}")
57print("\u{2b}")
58local lim = 0x14
58local lim = 0x14
59local i,a = 0x1,{}
59local i,a = 0x1,{}
60−while i <= lim do
60+while (i <= lim) do
61−a[i]=i + 0.3
61+a[i]=(i + 0.3)
62;
62;
63−i=i + 0x1
63+i=(i + 0x1)
64end
64end
65function f(a,b,c,d, ...)
65function f(a,b,c,d, ...)
66local more = {...}
66local more = {...}
67−assert(a == 1.3 and more[0x1] == 5.3 and more[lim - 0x4] == lim + 0.3 and not more[lim - 0x3])
67+assert(((((a == 1.3) and (more[0x1] == 5.3)) and (more[(lim - 0x4)] == (lim + 0.3))) and (not more[(lim - 0x3)])))
68end
68end
69local function g
69local function g
70(a,b,c)
70(a,b,c)
71−assert(a == 1.3 and b == 2.3 and c == 3.3)
71+assert((((a == 1.3) and (b == 2.3)) and (c == 3.3)))
72end
72end
73call(f,a)
73call(f,a)
74call(g,a)
74call(g,a)
75a={}
75a={}
76i=0x1
76i=0x1
77−while i <= lim do
77+while (i <= lim) do
78a[i]=i
78a[i]=i
79;
79;
80−i=i + 0x1
80+i=(i + 0x1)
81end
81end
82−assert(call(math.max,a) == lim)
82+assert((call(math.max,a) == lim))
83print("\u{2b}")
83print("\u{2b}")
84local function oneless
84local function oneless
85(a, ...)
85(a, ...)
@@ -87,36 +87,36 @@ return ...
87end
87end
88function f(n,a, ...)
88function f(n,a, ...)
89local b
89local b
90−assert(arg == _G.arg)
90+assert((arg == _G.arg))
91−if n == 0x0 then
91+if (n == 0x0) then
92local b,c,d = ...
92local b,c,d = ...
93return a,b,c,d,oneless(oneless(oneless(...)))
93return a,b,c,d,oneless(oneless(oneless(...)))
94else
94else
95−n,b,a=n - 0x1,...,a
95+n,b,a=(n - 0x1),...,a
96−assert(b == ...)
96+assert((b == ...))
97return f(n,a,...)
97return f(n,a,...)
98end
98end
99end
99end
100a,b,c,d,e=assert(f(0xa,0x5,0x4,0x3,0x2,0x1))
100a,b,c,d,e=assert(f(0xa,0x5,0x4,0x3,0x2,0x1))
101−assert(a == 0x5 and b == 0x4 and c == 0x3 and d == 0x2 and e == 0x1)
101+assert((((((a == 0x5) and (b == 0x4)) and (c == 0x3)) and (d == 0x2)) and (e == 0x1)))
102a,b,c,d,e=f(0x4)
102a,b,c,d,e=f(0x4)
103−assert(a == nil and b == nil and c == nil and d == nil and e == nil)
103+assert((((((a == nil) and (b == nil)) and (c == nil)) and (d == nil)) and (e == nil)))
104local 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}")
104local 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}")
105local x = f(0x2,0x3)
105local x = f(0x2,0x3)
106−assert(x[0x1] == 0x2 and x[0x2] == 0x3 and x[0x3] == undef)
106+assert((((x[0x1] == 0x2) and (x[0x2] == 0x3)) and (x[0x3] == undef)))
107f=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}")
107f=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}")
108assert(f("\u{61}","\u{62}",nil,{},assert))
108assert(f("\u{61}","\u{62}",nil,{},assert))
109assert(f())
109assert(f())
110a={select(0x3,table.unpack({0xa,0x14,0x1e,0x28}))}
110a={select(0x3,table.unpack({0xa,0x14,0x1e,0x28}))}
111−assert(# a == 0x2 and a[0x1] == 0x1e and a[0x2] == 0x28)
111+assert((# (((a == 0x2) and (a[0x1] == 0x1e)) and (a[0x2] == 0x28))))
112a={select(0x1)}
112a={select(0x1)}
113−assert(next(a) == nil)
113+assert((next(a) == nil))
114−a={select(- 0x1,0x3,0x5,0x7)}
114+a={select((- 0x1),0x3,0x5,0x7)}
115−assert(a[0x1] == 0x7 and a[0x2] == undef)
115+assert(((a[0x1] == 0x7) and (a[0x2] == undef)))
116−a={select(- 0x2,0x3,0x5,0x7)}
116+a={select((- 0x2),0x3,0x5,0x7)}
117−assert(a[0x1] == 0x5 and a[0x2] == 0x7 and a[0x3] == undef)
117+assert((((a[0x1] == 0x5) and (a[0x2] == 0x7)) and (a[0x3] == undef)))
118pcall(select,0x2710)
118pcall(select,0x2710)
119−pcall(select,- 0x2710)
119+pcall(select,(- 0x2710))
120function f(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p48,p49,p50, ...)
120function f(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p48,p49,p50, ...)
121local a1,a2,a3,a4,a5,a6,a7
121local a1,a2,a3,a4,a5,a6,a7
122local a8,a9,a10,a11,a12,a13,a14
122local a8,a9,a10,a11,a12,a13,a14
@@ -132,6 +132,6 @@ local function g
132return f(0x1,0x2)
132return f(0x1,0x2)
133end
133end
134local a,b = g()
134local a,b = g()
135−assert(a == nil and b == 0x2)
135+assert(((a == nil) and (b == 0x2)))
136end
136end
137print("\u{4f}\u{4b}")
137print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/verybig.lua → desk/res/lua/cycled/verybig.luarenamed+12−12
@@ -2,17 +2,17 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{52}\u{4b}")
2local function foo
2local function foo
3()
3()
4local dummy = {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,0xf,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,0x100}
4local dummy = {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,0xf,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,0x100}
5−assert(24.5 + 0.6 == 25.1)
5+assert(((24.5 + 0.6) == 25.1))
6local t = {["\u{66}\u{6f}\u{6f}"] = function (self,x)
6local t = {["\u{66}\u{6f}\u{6f}"] = function (self,x)
7−return x + self.x
7+return (x + self.x)
8end,["\u{78}"] = 0xa}
8end,["\u{78}"] = 0xa}
9t.t=t
9t.t=t
10−assert(t:foo(1.5) == 11.5)
10+assert((t:foo(1.5) == 11.5))
11−assert(t.t:foo(0.5) == 10.5)
11+assert((t.t:foo(0.5) == 10.5))
12−assert(24.3 == 24.3)
12+assert((24.3 == 24.3))
13−assert((function ()
13+assert(((function ()
14return t.x
14return t.x
15−end)() == 0xa)
15+end)() == 0xa))
16end
16end
17foo()
17foo()
18foo=nil
18foo=nil
@@ -23,22 +23,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}\
23local 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}"
23local 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}"
24local function sig
24local function sig
25(x)
25(x)
26−return (x % 0x2 == 0x0) and "" or "\u{2d}"
26+return ((((x % 0x2) == 0x0) and "") or "\u{2d}")
27end
27end
28local F = {function ()
28local F = {function ()
29for i = 0xa, 0xc359
29for i = 0xa, 0xc359
30do
30do
31−io.write("\u{61}",i,"\u{20}\u{3d}\u{20}",sig(i),0x5 + ((i - 0xa) / 0x2),"\u{2c}\u{a}")
31+io.write("\u{61}",i,"\u{20}\u{3d}\u{20}",sig(i),(0x5 + ((i - 0xa) / 0x2)),"\u{2c}\u{a}")
32end
32end
33end,function ()
33end,function ()
34for i = 0x754a, 0xc359
34for i = 0x754a, 0xc359
35do
35do
36−io.write("\u{62}",i,"\u{20}\u{3d}\u{20}",sig(i),0x3aa5 + ((i - 0x754a) / 0x2),"\u{2c}\u{a}")
36+io.write("\u{62}",i,"\u{20}\u{3d}\u{20}",sig(i),(0x3aa5 + ((i - 0x754a) / 0x2)),"\u{2c}\u{a}")
37end
37end
38end,function ()
38end,function ()
39for i = 0xa, 0xc359
39for i = 0xa, 0xc359
40do
40do
41−io.write("\u{22}\u{61}",i,"\u{22}\u{2c}\u{20}",sig(i),0x5 + ((i - 0xa) / 0x2),"\u{2c}\u{a}")
41+io.write("\u{22}\u{61}",i,"\u{22}\u{2c}\u{20}",sig(i),(0x5 + ((i - 0xa) / 0x2)),"\u{2c}\u{a}")
42end
42end
43end}
43end}
44local file = os.tmpname()
44local file = os.tmpname()
@@ -46,7 +46,7 @@ io.output(file)
46for s in string.gmatch(prog,"\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2b}\u{29}")
46for s in string.gmatch(prog,"\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2b}\u{29}")
47do
47do
48local n = tonumber(s)
48local n = tonumber(s)
49−if not n then
49+if (not n) then
50io.write(s)
50io.write(s)
51else
51else
52F[n]()
52F[n]()
zod/luau/res/lua/db.lua → desk/res/lua/db.luarenamed

The content is the same.

zod/luau/res/lua/errors.lua → desk/res/lua/errors.luarenamed

The content is the same.

zod/luau/res/lua/events.lua → desk/res/lua/events.luarenamed

The content is the same.

zod/luau/res/lua/files.lua → desk/res/lua/files.luarenamed

The content is the same.

zod/luau/res/lua/foo.lua → desk/res/lua/foo.luarenamed+2−2
@@ -47,9 +47,9 @@ do
47 return 8, foo;
47 return 8, foo;
48end
48end
49
49
50−print('the way of the future')
50+-- print('the way of the future')
51
51
52−print 'hello'
52+-- print 'hello'
53
53
54h{key1 = 'Sonmi~451'}
54h{key1 = 'Sonmi~451'}
55
55
zod/luau/res/lua/gc.lua → desk/res/lua/gc.luarenamed

The content is the same.

zod/luau/res/lua/gengc.lua → desk/res/lua/gengc.luarenamed

The content is the same.

zod/luau/res/lua/goto.lua → desk/res/lua/goto.luarenamed

The content is the same.

zod/luau/res/lua/heavy.lua → desk/res/lua/heavy.luarenamed

The content is the same.

zod/luau/res/lua/literals.lua → desk/res/lua/literals.luarenamed

The content is the same.

zod/luau/res/lua/locals.lua → desk/res/lua/locals.luarenamed

The content is the same.

zod/luau/res/lua/main.lua → desk/res/lua/main.luarenamed

The content is the same.

zod/luau/res/lua/math.lua → desk/res/lua/math.luarenamed

The content is the same.

zod/luau/res/lua/nextvar.lua → desk/res/lua/nextvar.luarenamed

The content is the same.

zod/luau/res/lua/pm.lua → desk/res/lua/pm.luarenamed

The content is the same.

zod/luau/res/lua/sort.lua → desk/res/lua/sort.luarenamed

The content is the same.

zod/luau/res/lua/strings.lua → desk/res/lua/strings.luarenamed

The content is the same.

zod/luau/res/lua/tpack.lua → desk/res/lua/tpack.luarenamed

The content is the same.

zod/luau/res/lua/tracegc.lua → desk/res/lua/tracegc.luarenamed

The content is the same.

zod/luau/res/lua/utf8.lua → desk/res/lua/utf8.luarenamed

The content is the same.

zod/luau/res/lua/vararg.lua → desk/res/lua/vararg.luarenamed

The content is the same.

zod/luau/res/lua/verybig.lua → desk/res/lua/verybig.luarenamed

The content is the same.

desk/sur/interlist.hoonnew file+8
@@ -0,0 +1,8 @@
1+|%
2+++ interlist
3+ |$ [sep val]
4+ $%
5+ [%double =val =sep tail=(interlist sep val)]
6+ [%single =val]
7+ ==
8+--
zod/luau/sur/lua.hoon → desk/sur/lua.hoonrenamed+3−3
@@ -1,7 +1,7 @@
1|%
1|%
2+$ name @t
2+$ name @t
3+$ namelist (lest name)
3+$ namelist (lest name)
4−+$ ast
4++$ chunk
5 $%
5 $%
6 [%blok blok]
6 [%blok blok]
7 ==
7 ==
@@ -104,8 +104,8 @@
104+$ funcbody [pars=parlist body=blok]
104+$ funcbody [pars=parlist body=blok]
105+$ parlist [pars=(list name) wildcard=?]
105+$ parlist [pars=(list name) wildcard=?]
106+$ local-function [=name body=funcbody]
106+$ local-function [=name body=funcbody]
107−+$ local-asmnt [=attnamelist rhs=(unit exprlist)]
107++$ local-asmnt [=attrnamelist rhs=(unit exprlist)]
108−+$ attnamelist (lest [=name attr=(unit attrib)])
108++$ attrnamelist (lest [=name attr=(unit attrib)])
109+$ attrib
109+$ attrib
110 $?
110 $?
111 %const
111 %const
zod/luau/sur/spider.hoon → desk/sur/spider.hoonrenamed

The content is the same.

zod/luau/sys.kelvin → desk/sys.kelvinrenamed

The content is the same.

desk/ted/eval-lua.hoonnew file+19
@@ -0,0 +1,19 @@
1+/- spider
2+/+ *strandio
3+/+ lua-parser
4+/+ lua-printer
5+/+ lua-interpreter
6+=>
7+|%
8+--
9+=/ m (strand:spider ,vase)
10+^- thread:spider
11+|= arg=vase
12+^- form:m
13+=/ file=beam (need (de-beam (need !<((unit path) arg))))
14+;< =cage bind:m (read-file file)
15+=/ lua-code=@t (of-wain:format !<(wain +.cage))
16+~& %parsing
17+=/ ast (scan (trip lua-code) lua-parser)
18+~& %evaluating
19+%- pure:m !>((lua-interpreter ast))
zod/luau/ted/test-lua.hoon → desk/ted/test-lua.hoonrenamed+8−9
@@ -30,7 +30,12 @@
30 ?- -.flag
30 ?- -.flag
31 %restrict ~[+.flag]
31 %restrict ~[+.flag]
32 ==
32 ==
33+=/ parse
34+ |* src=tape
35+ ?: (has-flag %crash-parser)
36+ (some (scan src lua-parser))
37+ (rust src lua-parser)
33−;< bek=beak bind:m get-beak
38+ ;< bek=beak bind:m get-beak
34;< lua-files=(list path) bind:m (list-tree [bek /res/lua])
39;< lua-files=(list path) bind:m (list-tree [bek /res/lua])
35=/ lua-files %+ skim lua-files
40=/ lua-files %+ skim lua-files
36 |= =path
41 |= =path
@@ -51,10 +56,7 @@
51 ;< =cage bind:m (read-file [bek current-file])
56 ;< =cage bind:m (read-file [bek current-file])
52 =/ lua-code=@t (of-wain:format !<(wain +.cage))
57 =/ lua-code=@t (of-wain:format !<(wain +.cage))
53 ~& %parsing
58 ~& %parsing
54− =/ ast-unit
59+ =/ ast-unit (parse (trip lua-code))
55− ?: (has-flag %crash-parser)
56− (some (rash lua-code lua-parser))
57− (rush lua-code lua-parser)
58 ;< parse-result=test-result bind:m
60 ;< parse-result=test-result bind:m
59 =/ m (strand:spider ,test-result)
61 =/ m (strand:spider ,test-result)
60 ?~ ast-unit (pure:m %err)
62 ?~ ast-unit (pure:m %err)
@@ -68,10 +70,7 @@
68 %& [(into current-file 2 ~.cycled) %ins %lua !>((to-wain:format (crip printed)))]~
70 %& [(into current-file 2 ~.cycled) %ins %lua !>((to-wain:format (crip printed)))]~
69 ==
71 ==
70 ~& %parsing-printed
72 ~& %parsing-printed
71− =/ cycled-ast-unit
73+ =/ cycled-ast-unit (parse printed)
72− ?: (has-flag %crash-parser)
73− (some (scan printed lua-parser))
74− (rust printed lua-parser)
75 ?~ cycled-ast-unit (pure:m %err)
74 ?~ cycled-ast-unit (pure:m %err)
76 =/ ast u.cycled-ast-unit
75 =/ ast u.cycled-ast-unit
77 ~? (has-flag %print-asts) ast
76 ~? (has-flag %print-asts) ast
zod/luau/lib/interlist.hoondeleted−32
@@ -1,32 +0,0 @@
1−=<
2−|%
3−++ interlist
4− |$ [sep val]
5− $%
6− [%double =val =sep tail=(interlist sep val)]
7− [%single =val]
8− ==
9−++ parse-interlist
10− |* [s=rule v=rule]
11− =/ val (rule-type v)
12− =/ sep (rule-type s)
13− %+ cook
14− |* [v=* rest=(list [* *])]
15− ^- (interlist sep val)
16− =/ rrest (flop rest)
17− ?~ rrest [%single v]
18− =/ tail
19− %+ roll t.rrest
20− |* [[s=* v=*] _[acc=`(interlist sep val)`[%single +.i.rrest] last-sep=-.i.rrest]]
21− [[%double v last-sep acc] s]
22− [%double v +.tail -.tail]
23− ;~(plug v (star ;~(plug s v)))
24−--
25−|%
26−++ rule-type
27− |* =rule
28− $_
29− =/ ret q:$:rule
30− ?> ?=(^ ret)
31− p.u.ret
32−--
zod/luau/lib/st.hoondeleted−35
@@ -1,35 +0,0 @@
1−:: Two's complement encoded 64-bit signed integer
2−=<
3−|%
4−:: coerce an unsigned int to a signed int
5−::
6−++ new
7− |= x=@u
8− ^- @st
9− (dis mask x)
10−++ to-s
11− |= x=@st
12− ^- @s
13− (new:si ?!((sig x)) (abs x))
14−++ sig
15− |= x=@st
16− ^- ?
17− ?! =(0 (dis sign-mask x))
18−++ abs
19− |= x=@st
20− ^- @u
21− ?. (sig x) `@u`x
22− (dis mask +((mix mask x)))
23−++ inc
24− |= x=@st
25− ^- @st
26− (dis mask +(x))
27−++ add
28− |= [x=@st y=@st]
29− ^- @st
30− (dis mask (^add x y))
31−--
32−|%
33−++ mask 0xffff.ffff.ffff.ffff
34−++ sign-mask 0x8000.0000.0000.0000
35−--
zod/luau/res/lua/cycled/attrib.luadeleted−431
@@ -1,431 +0,0 @@
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}"))
14−do
15−local max = _soft and 0x64 or 0x7d0
16−local t = {}
17−for i = 0x1, max
18−do
19−t[i]=string.rep("\u{3f}",i % 0xa + 0x1)
20−end
21−t[# t + 0x1]="\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}",0xa)) 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)))
28−end
29−do
30−local oldpath = package.path
31−package.path={}
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}"))
34−package.path=oldpath
35−end
36−do
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}")
38−local oldpath = package.path
39−local oldcpath = package.cpath
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}"
44−assert(msg == expected)
45−package.path=oldpath
46−package.cpath=oldcpath
47−end
48−print("\u{2b}")
49−if not _port then
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
52−local function D
53−(x)
54−local x = string.gsub(x,"\u{2f}",dirsep)
55−return DIR .. x
56−end
57−local function DC
58−(x)
59−local ext = (dirsep == "\u{5c}") and "\u{2e}\u{64}\u{6c}\u{6c}" or "\u{2e}\u{73}\u{6f}"
60−return D(x .. ext)
61−end
62−local function createfiles
63−(files,preextras,posextras)
64−for n,c in pairs(files)
65−do
66−io.output(D(n))
67−io.write(string.format(preextras,n))
68−io.write(c)
69−io.write(string.format(posextras,n))
70−io.close(io.output())
71−end
72−end
73−local function removefiles
74−(files)
75−for n in pairs(files)
76−do
77−os.remove(D(n))
78−end
79−end
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}"}
81−AA=nil
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}"
83−createfiles(files,"",extras)
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}"))
90−local oldpath = package.path
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)
92−local try = function (p,n,r,ext)
93−NAME=nil
94−local rr,x = require(p)
95−assert(NAME == n)
96−assert(REQUIRED == p)
97−assert(rr == r)
98−assert(ext == x)
99−end
100−local a = require("\u{6e}\u{61}\u{6d}\u{65}\u{73}")
101−assert(a[0x1] == "\u{6e}\u{61}\u{6d}\u{65}\u{73}" and a[0x2] == 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 == 0xf)
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}") == 0x19)
108−assert(require("\u{43}") == 0x19)
109−AA=nil
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}")
111−assert(package.loaded.B)
112−assert(require("\u{42}") == true)
113−assert(package.loaded.A)
114−assert(require("\u{43}") == 0x19)
115−package.loaded.A=nil
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}")
118−package.loaded.A=nil
119−os.remove(D("\u{41}\u{2e}\u{6c}\u{75}\u{61}"))
120−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)
124−AA=false
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}")
130−removefiles(files)
131−NAME,REQUIRED,AA,B=nil
132−local _G = _G
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}")
136−AA=0x0
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}")
139−assert(AA == 0x0 and m.AA == 0xa)
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}"))
144−assert(AA == 0x0 and m.xuxu.AA == 0x14)
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 == 0xa)
149−removefiles(files)
150−AA=nil
151−package.path=""
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}"))
155−package.path=oldpath
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}"
157−local m,err = pcall(require,fname)
158−for t in string.gmatch(package.path .. "\u{3b}" .. package.cpath,"\u{5b}\u{5e}\u{3b}\u{5d}\u{2b}")
159−do
160−t=string.gsub(t,"\u{3f}",fname)
161−assert(string.find(err,t,0x1,true))
162−end
163−do
164−local searchers = package.searchers
165−package.searchers=0x3
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}"))
168−package.searchers=searchers
169−end
170−local function import
171−(...)
172−local f = {...}
173−return function (m)
174−for i = 0x1, # f
175−do
176−m[f[i]]=_G[f[i]]
177−end
178−end
179−end
180−assert(not pcall(module,"\u{58}\u{55}\u{58}\u{55}"))
181−local p = ""
182−local st,err,when = package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),"\u{2a}")
183−if not st then
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}")
186−;
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}")
188−print(err,when)
189−else
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}"))
191−local a,b = f(0xf,0x19)
192−assert(a == 0x19 and b == 0xf)
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(0xa,0x14) == "\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}",0x1,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}",0x1,true))
209−assert(fs.id(0x2d) == 0x2d)
210−_ENV.x,_ENV.y=nil
211−end
212−_ENV=_G
213−do
214−local p = package
215−package={}
216−p.preload.pl=function (...)
217−local _ENV = {...}
218−function xuxu(x)
219−return x + 0x14
220−end
221−return _ENV
222−end
223−local pl,ext = require("\u{70}\u{6c}")
224−assert(require("\u{70}\u{6c}") == pl)
225−assert(pl.xuxu(0xa) == 0x1e)
226−assert(pl[0x1] == "\u{70}\u{6c}" and pl[0x2] == "\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}")
227−package=p
228−assert(type(package.path) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
229−end
230−print("\u{2b}")
231−end
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}")
233−local res,res2 = 0x1b
234−local a,b = 0x1,0x2 + 0x3
235−assert(a == 0x1 and b == 0x5)
236−a={}
237−local function f
238−()
239−return 0xa,0xb,0xc
240−end
241−a.x,b,a[0x1]=0x1,0x2,f()
242−assert(a.x == 0x1 and b == 0x2 and a[0x1] == 0xa)
243−a[f()],b,a[f() + 0x3]=f(),a,"\u{78}"
244−assert(a[0xa] == 0xa and b == a and a[0xd] == "\u{78}")
245−do
246−local f = function (n)
247−local x = {}
248−;
249−for i = 0x1, n
250−do
251−x[i]=i
252−end
253−;
254−return table.unpack(x)
255−end
256−;
257−local a,b,c
258−a,b=0x0,f(0x1)
259−assert(a == 0x0 and b == 0x1)
260−a,b=0x0,f(0x1)
261−assert(a == 0x0 and b == 0x1)
262−a,b,c=0x0,0x5,f(0x4)
263−assert(a == 0x0 and b == 0x5 and c == 0x1)
264−a,b,c=0x0,0x5,f(0x0)
265−assert(a == 0x0 and b == 0x5 and c == nil)
266−end
267−local a,b,c,d = 0x1 and nil,0x1 or nil,(0x1 and (nil or 0x1)),0x6
268−assert(not a and b and c and d == 0x6)
269−d=0x14
270−a,b,c,d=f()
271−assert(a == 0xa and b == 0xb and c == 0xc and d == nil)
272−a,b=f(),0x1,0x2,0x3,f()
273−assert(a == 0xa and b == 0x1)
274−assert(a < b == false and a > b == true)
275−assert((0xa and 0x2) == 0x2)
276−assert((0xa or 0x2) == 0xa)
277−assert((0xa or assert(nil)) == 0xa)
278−assert(not (nil and assert(nil)))
279−assert((nil or "\u{61}\u{6c}\u{6f}") == "\u{61}\u{6c}\u{6f}")
280−assert((nil and 0xa) == nil)
281−assert((false and 0xa) == false)
282−assert((true or 0xa) == true)
283−assert((false or 0xa) == 0xa)
284−assert(false ~= nil)
285−assert(nil ~= false)
286−assert(not nil == true)
287−assert(not not nil == false)
288−assert(not not 0x1 == true)
289−assert(not not a == true)
290−assert(not not (0x6 or nil) == true)
291−assert(not not (nil and 0x38) == false)
292−assert(not not (nil and true) == false)
293−assert(not 0xa == false)
294−assert(not {} == false)
295−assert(not 0.5 == false)
296−assert(not "\u{78}" == false)
297−assert({} ~= {})
298−print("\u{2b}")
299−a={}
300−a[true]=0x14
301−a[false]=0xa
302−assert(a[0x1 < 0x2] == 0x14 and a[0x1 > 0x2] == 0xa)
303−function f(a)
304−return a
305−end
306−local a = {}
307−for i = 0xbb8, - 0xbb8, - 0x1
308−do
309−a[i + 0.0]=i
310−;
311−end
312−a[1e31]="\u{61}\u{6c}\u{6f}"
313−;
314−a[true]=0xa
315−;
316−a[false]=0x14
317−assert(a[1e31] == "\u{61}\u{6c}\u{6f}" and a[not 0x1] == 0x14 and a[0xa < 0x14] == 0xa)
318−for i = 0xbb8, - 0xbb8, - 0x1
319−do
320−assert(a[i] == i)
321−;
322−end
323−a[print]=assert
324−a[f]=print
325−a[a]=a
326−assert(a[a][a][a][a][print] == assert)
327−a[print](a[a[f]] == a[print])
328−assert(not pcall(function ()
329−local a = {}
330−;
331−a[nil]=0xa
332−end))
333−assert(not pcall(function ()
334−local a = {[nil] = 0xa}
335−end))
336−assert(a[nil] == undef)
337−a=nil
338−local a,b,c
339−a={0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,[- 0x3] = "\u{61}",[f] = print,["\u{61}"] = "\u{61}",["\u{62}"] = "\u{61}\u{62}"}
340−a,a.x,a.y=a,a[- 0x3]
341−assert(a[0x1] == 0xa and a[- 0x3] == a.a and a[f] == print and a.x == "\u{61}" and not a.y)
342−a[0x1],f(a)[0x2],b,c={["\u{61}\u{6c}\u{6f}"] = assert},0xa,a[0x1],a[f],0x6,0xa,0x17,f(a),0x2
343−a[0x1].alo(a[0x2] == 0xa and b == 0xa and c == print)
344−a.aVeryLongName012345678901234567890123456789012345678901234567890123456789=0xa
345−local function foo
346−()
347−return a.aVeryLongName012345678901234567890123456789012345678901234567890123456789
348−end
349−assert(foo() == 0xa and a.aVeryLongName012345678901234567890123456789012345678901234567890123456789 == 0xa)
350−do
351−local function foo
352−()
353−local _ENV <const> = 0xb
354−X="\u{68}\u{69}"
355−end
356−local st,msg = pcall(foo)
357−assert(not st and string.find(msg,"\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))
358−end
359−local maxint = math.maxinteger
360−while maxint ~= (maxint + 0.0) or (maxint - 0x1) ~= (maxint - 1.0) do
361−maxint=maxint // 0x2
362−end
363−local maxintF = maxint + 0.0
364−assert(maxintF == maxint and math.type(maxintF) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}" and maxintF >= 2.0 ^ 0xe)
365−a[maxintF]=0xa
366−;
367−a[maxintF - 1.0]=0xb
368−;
369−a[- maxintF]=0xc
370−;
371−a[- maxintF + 1.0]=0xd
372−;
373−assert(a[maxint] == 0xa and a[maxint - 0x1] == 0xb and a[- maxint] == 0xc and a[- maxint + 0x1] == 0xd)
374−a[maxint]=0x14
375−a[- maxint]=0x16
376−assert(a[maxintF] == 0x14 and a[maxintF - 1.0] == 0xb and a[- maxintF] == 0x16 and a[- maxintF + 1.0] == 0xd)
377−a=nil
378−do
379−local a,i,j,b
380−a={"\u{61}","\u{62}"}
381−;
382−i=0x1
383−;
384−j=0x2
385−;
386−b=a
387−i,a[i],a,j,a[j],a[i + j]=j,i,i,b,j,i
388−assert(i == 0x2 and b[0x1] == 0x1 and a == 0x1 and j == b and b[0x2] == 0x2 and b[0x3] == 0x1)
389−a={}
390−local function foo
391−()
392−b,a.x,a=a,0xa,0x14
393−end
394−foo()
395−assert(a == 0x14 and b.x == 0xa)
396−end
397−do
398−local a,i,j,b
399−a={"\u{61}","\u{62}"}
400−;
401−i=0x1
402−;
403−j=0x2
404−;
405−b=a
406−local function foo
407−()
408−i,a[i],a,j,a[j],a[i + j]=j,i,i,b,j,i
409−end
410−foo()
411−assert(i == 0x2 and b[0x1] == 0x1 and a == 0x1 and j == b and b[0x2] == 0x2 and b[0x3] == 0x1)
412−local t = {}
413−(function (a)
414−t[a],a=0xa,0x14
415−end)(0x1)
416−;
417−assert(t[0x1] == 0xa)
418−end
419−local function foo
420−()
421−local a
422−return function ()
423−local b
424−a,b=0x3,0xe
425−return a,b
426−end
427−end
428−local a,b = foo()()
429−assert(a == 0x3 and b == 0xe)
430−print("\u{4f}\u{4b}")
431−return res
zod/luau/res/lua/cycled/bitwise.luadeleted−309
@@ -1,309 +0,0 @@
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}") * 0x8
4−assert(~ 0x0 == - 0x1)
5−assert((0x1 << (numbits - 0x1)) == math.mininteger)
6−local a,b,c,d
7−a=0xffffffffffffffff
8−assert(a == - 0x1 and a & - 0x1 == a and a & 0x23 == 0x23)
9−a=0xf0f0f0f0f0f0f0f0
10−assert(a | - 0x1 == - 0x1)
11−assert(a ~ a == 0x0 and a ~ 0x0 == a and a ~ ~ a == - 0x1)
12−assert(a >> 0x4 == ~ a)
13−a=0xf0
14−;
15−b=0xcc
16−;
17−c=0xaa
18−;
19−d=0xfd
20−assert(a | b ~ c & d == 0xf4)
21−a=240.0
22−;
23−b=204.0
24−;
25−c="\u{30}\u{78}\u{41}\u{41}\u{2e}\u{30}"
26−;
27−d="\u{30}\u{78}\u{46}\u{44}\u{2e}\u{30}"
28−assert(a | b ~ c & d == 0xf4)
29−a=0xf0000000
30−;
31−b=0xcc000000
32−;
33−c=0xaa000000
34−;
35−d=0xfd000000
36−assert(a | b ~ c & d == 0xf4000000)
37−assert(~ ~ a == a and ~ a == - 0x1 ~ a and - d == ~ d + 0x1)
38−a=a << 0x20
39−b=b << 0x20
40−c=c << 0x20
41−d=d << 0x20
42−assert(a | b ~ c & d == 0xf4000000 << 0x20)
43−assert(~ ~ a == a and ~ a == - 0x1 ~ a and - d == ~ d + 0x1)
44−do
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)
46−assert(load(code)() == 0x0)
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)
48−assert(load(code)() == 0x0)
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)
50−assert(load(code)() == 0x0)
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)
52−assert(load(code)() == 0x0)
53−end
54−assert(- 0x1 >> 0x1 == (0x1 << (numbits - 0x1)) - 0x1 and 0x1 << 0x1f == 0x80000000)
55−assert(- 0x1 >> (numbits - 0x1) == 0x1)
56−assert(- 0x1 >> numbits == 0x0 and - 0x1 >> - numbits == 0x0 and - 0x1 << numbits == 0x0 and - 0x1 << - numbits == 0x0)
57−assert(0x1 >> math.mininteger == 0x0)
58−assert(0x1 >> math.maxinteger == 0x0)
59−assert(0x1 << math.mininteger == 0x0)
60−assert(0x1 << math.maxinteger == 0x0)
61−assert((0x2 ^ 0x1e - 0x1) << 0x2 ^ 0x1e == 0x0)
62−assert((0x2 ^ 0x1e - 0x1) >> 0x2 ^ 0x1e == 0x0)
63−assert(0x1 >> - 0x3 == 0x1 << 0x3 and 0x3e8 >> 0x5 == 0x3e8 << - 0x5)
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}" | 0x0 == - 0x1)
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}" == - 0x2)
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}" == 0x2)
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}" == - 0x2d * 0x4)
68−assert("\u{31}\u{32}\u{33}\u{34}\u{2e}\u{30}" << "\u{35}\u{2e}\u{30}" == 0x4d2 * 0x20)
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}" == 0x5555)
70−assert(~ "\u{30}\u{78}\u{30}\u{2e}\u{30}\u{30}\u{30}\u{70}\u{34}" == - 0x1)
71−assert(("\u{37}" .. 0x3) << 0x1 == 0x92)
72−assert(0xffffffff >> (0x1 .. "\u{39}") == 0x1fff)
73−assert(0xa | (0x1 .. "\u{39}") == 0x1b)
74−do
75−local st,msg = pcall(function ()
76−return 0x4 & "\u{61}"
77−end)
78−assert(string.find(msg,"\u{27}\u{62}\u{61}\u{6e}\u{64}\u{27}"))
79−local st,msg = pcall(function ()
80−return ~ "\u{61}"
81−end)
82−assert(string.find(msg,"\u{27}\u{62}\u{6e}\u{6f}\u{74}\u{27}"))
83−end
84−assert(not pcall(function ()
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}" | 0x0
86−end))
87−assert(not pcall(function ()
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}" | 0x0
89−end))
90−print("\u{2b}")
91−package.preload.bit32=function ()
92−local bit = {}
93−function bit.bnot(a)
94−return ~ a & 0xffffffff
95−end
96−function bit.band(x,y,z, ...)
97−if not z then
98−return ((x or - 0x1) & (y or - 0x1)) & 0xffffffff
99−else
100−local arg = {...}
101−local res = x & y & z
102−for i = 0x1, # arg
103−do
104−res=res & arg[i]
105−end
106−return res & 0xffffffff
107−end
108−end
109−function bit.bor(x,y,z, ...)
110−if not z then
111−return ((x or 0x0) | (y or 0x0)) & 0xffffffff
112−else
113−local arg = {...}
114−local res = x | y | z
115−for i = 0x1, # arg
116−do
117−res=res | arg[i]
118−end
119−return res & 0xffffffff
120−end
121−end
122−function bit.bxor(x,y,z, ...)
123−if not z then
124−return ((x or 0x0) ~ (y or 0x0)) & 0xffffffff
125−else
126−local arg = {...}
127−local res = x ~ y ~ z
128−for i = 0x1, # arg
129−do
130−res=res ~ arg[i]
131−end
132−return res & 0xffffffff
133−end
134−end
135−function bit.btest(...)
136−return bit.band(...) ~= 0x0
137−end
138−function bit.lshift(a,b)
139−return ((a & 0xffffffff) << b) & 0xffffffff
140−end
141−function bit.rshift(a,b)
142−return ((a & 0xffffffff) >> b) & 0xffffffff
143−end
144−function bit.arshift(a,b)
145−a=a & 0xffffffff
146−if b <= 0x0 or (a & 0x80000000) == 0x0 then
147−return (a >> b) & 0xffffffff
148−else
149−return ((a >> b) | ~ (0xffffffff >> b)) & 0xffffffff
150−end
151−end
152−function bit.lrotate(a,b)
153−b=b & 0x1f
154−a=a & 0xffffffff
155−a=(a << b) | (a >> (0x20 - b))
156−return a & 0xffffffff
157−end
158−function bit.rrotate(a,b)
159−return bit.lrotate(a,- b)
160−end
161−local function checkfield
162−(f,w)
163−w=w or 0x1
164−assert(f >= 0x0,"\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 > 0x0,"\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 <= 0x20,"\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}")
167−return f,~ (- 0x1 << w)
168−end
169−function bit.extract(a,f,w)
170−local f,mask = checkfield(f,w)
171−return (a >> f) & mask
172−end
173−function bit.replace(a,v,f,w)
174−local f,mask = checkfield(f,w)
175−v=v & mask
176−a=(a & ~ (mask << f)) | (v << f)
177−return a & 0xffffffff
178−end
179−return bit
180−end
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}")
183−assert(bit32.band() == bit32.bnot(0x0))
184−assert(bit32.btest() == true)
185−assert(bit32.bor() == 0x0)
186−assert(bit32.bxor() == 0x0)
187−assert(bit32.band() == bit32.band(0xffffffff))
188−assert(bit32.band(0x1,0x2) == 0x0)
189−assert(bit32.band(- 0x1) == 0xffffffff)
190−assert(bit32.band((0x1 << 0x21) - 0x1) == 0xffffffff)
191−assert(bit32.band(- (0x1 << 0x21) - 0x1) == 0xffffffff)
192−assert(bit32.band((0x1 << 0x21) + 0x1) == 0x1)
193−assert(bit32.band(- (0x1 << 0x21) + 0x1) == 0x1)
194−assert(bit32.band(- (0x1 << 0x28)) == 0x0)
195−assert(bit32.band(0x1 << 0x28) == 0x0)
196−assert(bit32.band(- (0x1 << 0x28) - 0x2) == 0xfffffffe)
197−assert(bit32.band((0x1 << 0x28) - 0x4) == 0xfffffffc)
198−assert(bit32.lrotate(0x0,- 0x1) == 0x0)
199−assert(bit32.lrotate(0x0,0x7) == 0x0)
200−assert(bit32.lrotate(0x12345678,0x0) == 0x12345678)
201−assert(bit32.lrotate(0x12345678,0x20) == 0x12345678)
202−assert(bit32.lrotate(0x12345678,0x4) == 0x23456781)
203−assert(bit32.rrotate(0x12345678,- 0x4) == 0x23456781)
204−assert(bit32.lrotate(0x12345678,- 0x8) == 0x78123456)
205−assert(bit32.rrotate(0x12345678,0x8) == 0x78123456)
206−assert(bit32.lrotate(0xaaaaaaaa,0x2) == 0xaaaaaaaa)
207−assert(bit32.lrotate(0xaaaaaaaa,- 0x2) == 0xaaaaaaaa)
208−for i = - 0x32, 0x32
209−do
210−assert(bit32.lrotate(0x89abcdef,i) == bit32.lrotate(0x89abcdef,i % 0x20))
211−end
212−assert(bit32.lshift(0x12345678,0x4) == 0x23456780)
213−assert(bit32.lshift(0x12345678,0x8) == 0x34567800)
214−assert(bit32.lshift(0x12345678,- 0x4) == 0x1234567)
215−assert(bit32.lshift(0x12345678,- 0x8) == 0x123456)
216−assert(bit32.lshift(0x12345678,0x20) == 0x0)
217−assert(bit32.lshift(0x12345678,- 0x20) == 0x0)
218−assert(bit32.rshift(0x12345678,0x4) == 0x1234567)
219−assert(bit32.rshift(0x12345678,0x8) == 0x123456)
220−assert(bit32.rshift(0x12345678,0x20) == 0x0)
221−assert(bit32.rshift(0x12345678,- 0x20) == 0x0)
222−assert(bit32.arshift(0x12345678,0x0) == 0x12345678)
223−assert(bit32.arshift(0x12345678,0x1) == 0x12345678 // 0x2)
224−assert(bit32.arshift(0x12345678,- 0x1) == 0x12345678 * 0x2)
225−assert(bit32.arshift(- 0x1,0x1) == 0xffffffff)
226−assert(bit32.arshift(- 0x1,0x18) == 0xffffffff)
227−assert(bit32.arshift(- 0x1,0x20) == 0xffffffff)
228−assert(bit32.arshift(- 0x1,- 0x1) == bit32.band(- 0x1 * 0x2,0xffffffff))
229−assert(0x12345678 << 0x4 == 0x123456780)
230−assert(0x12345678 << 0x8 == 0x1234567800)
231−assert(0x12345678 << - 0x4 == 0x1234567)
232−assert(0x12345678 << - 0x8 == 0x123456)
233−assert(0x12345678 << 0x20 == 0x1234567800000000)
234−assert(0x12345678 << - 0x20 == 0x0)
235−assert(0x12345678 >> 0x4 == 0x1234567)
236−assert(0x12345678 >> 0x8 == 0x123456)
237−assert(0x12345678 >> 0x20 == 0x0)
238−assert(0x12345678 >> - 0x20 == 0x1234567800000000)
239−print("\u{2b}")
240−local c = {0x0,0x1,0x2,0x3,0xa,0x80000000,0xaaaaaaaa,0x55555555,0xffffffff,0x7fffffff}
241−for _,b in pairs(c)
242−do
243−assert(bit32.band(b) == b)
244−assert(bit32.band(b,b) == b)
245−assert(bit32.band(b,b,b,b) == b)
246−assert(bit32.btest(b,b) == (b ~= 0x0))
247−assert(bit32.band(b,b,b) == b)
248−assert(bit32.band(b,b,b,~ b) == 0x0)
249−assert(bit32.btest(b,b,b) == (b ~= 0x0))
250−assert(bit32.band(b,bit32.bnot(b)) == 0x0)
251−assert(bit32.bor(b,bit32.bnot(b)) == bit32.bnot(0x0))
252−assert(bit32.bor(b) == b)
253−assert(bit32.bor(b,b) == b)
254−assert(bit32.bor(b,b,b) == b)
255−assert(bit32.bor(b,b,0x0,~ b) == 0xffffffff)
256−assert(bit32.bxor(b) == b)
257−assert(bit32.bxor(b,b) == 0x0)
258−assert(bit32.bxor(b,b,b) == b)
259−assert(bit32.bxor(b,b,b,b) == 0x0)
260−assert(bit32.bxor(b,0x0) == b)
261−assert(bit32.bnot(b) ~= b)
262−assert(bit32.bnot(bit32.bnot(b)) == b)
263−assert(bit32.bnot(b) == (0x1 << 0x20) - 0x1 - b)
264−assert(bit32.lrotate(b,0x20) == b)
265−assert(bit32.rrotate(b,0x20) == b)
266−assert(bit32.lshift(bit32.lshift(b,- 0x4),0x4) == bit32.band(b,bit32.bnot(0xf)))
267−assert(bit32.rshift(bit32.rshift(b,0x4),- 0x4) == bit32.band(b,bit32.bnot(0xf)))
268−end
269−c={0x0,0x1,0x2,0x3,0xa,0x800000,0xaaaaaa,0x555555,0xffffff,0x7fffff}
270−for _,b in pairs(c)
271−do
272−for i = - 0x28, 0x28
273−do
274−local x = bit32.lshift(b,i)
275−local y = math.floor(math.fmod(b * 2.0 ^ i,2.0 ^ 0x20))
276−assert(math.fmod(x - y,2.0 ^ 0x20) == 0x0)
277−end
278−end
279−assert(not pcall(bit32.band,{}))
280−assert(not pcall(bit32.bnot,"\u{61}"))
281−assert(not pcall(bit32.lshift,0x2d))
282−assert(not pcall(bit32.lshift,0x2d,print))
283−assert(not pcall(bit32.rshift,0x2d,print))
284−print("\u{2b}")
285−assert(bit32.extract(0x12345678,0x0,0x4) == 0x8)
286−assert(bit32.extract(0x12345678,0x4,0x4) == 0x7)
287−assert(bit32.extract(0xa0001111,0x1c,0x4) == 0xa)
288−assert(bit32.extract(0xa0001111,0x1f,0x1) == 0x1)
289−assert(bit32.extract(0x50000111,0x1f,0x1) == 0x0)
290−assert(bit32.extract(0xf2345679,0x0,0x20) == 0xf2345679)
291−assert(not pcall(bit32.extract,0x0,- 0x1))
292−assert(not pcall(bit32.extract,0x0,0x20))
293−assert(not pcall(bit32.extract,0x0,0x0,0x21))
294−assert(not pcall(bit32.extract,0x0,0x1f,0x2))
295−assert(bit32.replace(0x12345678,0x5,0x1c,0x4) == 0x52345678)
296−assert(bit32.replace(0x12345678,0x87654321,0x0,0x20) == 0x87654321)
297−assert(bit32.replace(0x0,0x1,0x2) == 0x2 ^ 0x2)
298−assert(bit32.replace(0x0,- 0x1,0x4) == 0x2 ^ 0x4)
299−assert(bit32.replace(- 0x1,0x0,0x1f) == (0x1 << 0x1f) - 0x1)
300−assert(bit32.replace(- 0x1,0x0,0x1,0x2) == (0x1 << 0x20) - 0x7)
301−assert(bit32.bor(3.0) == 0x3)
302−assert(bit32.bor(- 4.0) == 0xfffffffc)
303−if 2.0 ^ 0x32 < 2.0 ^ 0x32 + 1.0 and 2.0 ^ 0x32 < (- 0x1 >> 0x1) then
304−assert(bit32.bor(2.0 ^ 0x20 - 5.0) == 0xfffffffb)
305−assert(bit32.bor(- 2.0 ^ 0x20 - 6.0) == 0xfffffffa)
306−assert(bit32.bor(2.0 ^ 0x30 - 5.0) == 0xfffffffb)
307−assert(bit32.bor(- 2.0 ^ 0x30 - 6.0) == 0xfffffffa)
308−end
309−print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/math.luadeleted−879
@@ -1,879 +0,0 @@
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}")
2−local minint <const> = math.mininteger
3−local maxint <const> = math.maxinteger
4−local intbits <const> = math.floor(math.log(maxint,0x2) + 0.5) + 0x1
5−assert((0x1 << intbits) == 0x0)
6−assert(minint == 0x1 << (intbits - 0x1))
7−assert(maxint == minint - 0x1)
8−local floatbits = 0x18
9−do
10−local p = 2.0 ^ floatbits
11−while p < p + 1.0 do
12−p=p * 2.0
13−floatbits=floatbits + 0x1
14−end
15−end
16−local function isNaN
17−(x)
18−return (x ~= x)
19−end
20−assert(isNaN(0x0 / 0x0))
21−assert(not isNaN(0x1 / 0x0))
22−do
23−local x = 2.0 ^ floatbits
24−assert(x > x - 1.0 and x == x + 1.0)
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))
26−end
27−assert(math.type(0x0) == "\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}"))
28−local function checkerror
29−(msg,f, ...)
30−local s,err = pcall(f,...)
31−assert(not s and string.find(err,msg))
32−end
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}"
34−local function eq
35−(a,b,limit)
36−if not limit then
37−if floatbits >= 0x32 then
38−limit=1e-11
39−else
40−limit=1e-5
41−end
42−end
43−return a == b or math.abs(a - b) <= limit
44−end
45−local function eqT
46−(a,b)
47−return a == b and math.type(a) == math.type(b)
48−end
49−assert(0.0 == 0x0 and 0.0 == 0x0 and 0.0 == 0x0 and 20.0 == 0x14 and 0.2 == 0.2)
50−do
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 == 0x5 and - b == - 0x3 and b + "\u{32}" == 0x5 and "\u{31}\u{30}" - c == 0x0)
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}")
55−assert(c % a == 0x0 and a ^ b == 0x8)
56−a=0x0
57−assert(a == - a and 0x0 == - 0x0)
58−end
59−do
60−local x = - 0x1
61−local mz = 0x0 / x
62−local t = {[0x0] = 0xa,0x14,0x1e,0x28,0x32}
63−assert(t[mz] == t[0x0] and t[- 0x0] == t[0x0])
64−end
65−do
66−local a,b = math.modf(3.5)
67−assert(a == 3.0 and b == 0.5)
68−a,b=math.modf(- 2.5)
69−assert(a == - 2.0 and b == - 0.5)
70−a,b=math.modf(- 3e23)
71−assert(a == - 3e23 and b == 0.0)
72−a,b=math.modf(3e35)
73−assert(a == 3e35 and b == 0.0)
74−a,b=math.modf(- 0x1 / 0x0)
75−assert(a == - 0x1 / 0x0 and b == 0.0)
76−a,b=math.modf(0x1 / 0x0)
77−assert(a == 0x1 / 0x0 and b == 0.0)
78−a,b=math.modf(0x0 / 0x0)
79−assert(isNaN(a) and isNaN(b))
80−a,b=math.modf(0x3)
81−assert(eqT(a,0x3) and eqT(b,0.0))
82−a,b=math.modf(minint)
83−assert(eqT(a,minint) and eqT(b,0.0))
84−end
85−assert(math.huge > 1e31)
86−assert(- math.huge < - 1e31)
87−assert(minint < minint + 0x1)
88−assert(maxint - 0x1 < maxint)
89−assert(0x0 - minint == minint)
90−assert(minint * minint == 0x0)
91−assert(maxint * maxint * maxint == maxint)
92−for _,i in pairs({- 0x10,- 0xf,- 0x3,- 0x2,- 0x1,0x0,0x1,0x2,0x3,0xf})
93−do
94−for _,j in pairs({- 0x10,- 0xf,- 0x3,- 0x2,- 0x1,0x1,0x2,0x3,0xf})
95−do
96−for _,ti in pairs({0x0,0.0})
97−do
98−for _,tj in pairs({0x0,0.0})
99−do
100−local x = i + ti
101−local y = j + tj
102−assert(i // j == math.floor(i / j))
103−end
104−end
105−end
106−end
107−assert(0x1 // 0.0 == 0x1 / 0x0)
108−assert(- 0x1 // 0.0 == - 0x1 / 0x0)
109−assert(eqT(3.5 // 1.5,2.0))
110−assert(eqT(3.5 // - 1.5,- 3.0))
111−do
112−local x,y
113−x=0x1
114−;
115−assert(x // 0.0 == 0x1 / 0x0)
116−x=1.0
117−;
118−assert(x // 0x0 == 0x1 / 0x0)
119−x=3.5
120−;
121−assert(eqT(x // 0x1,3.0))
122−assert(eqT(x // - 0x1,- 4.0))
123−x=3.5
124−;
125−y=1.5
126−;
127−assert(eqT(x // y,2.0))
128−x=3.5
129−;
130−y=- 1.5
131−;
132−assert(eqT(x // y,- 3.0))
133−end
134−assert(maxint // maxint == 0x1)
135−assert(maxint // 0x1 == maxint)
136−assert((maxint - 0x1) // maxint == 0x0)
137−assert(maxint // (maxint - 0x1) == 0x1)
138−assert(minint // minint == 0x1)
139−assert(minint // minint == 0x1)
140−assert((minint + 0x1) // minint == 0x0)
141−assert(minint // (minint + 0x1) == 0x1)
142−assert(minint // 0x1 == minint)
143−assert(minint // - 0x1 == - minint)
144−assert(minint // - 0x2 == 0x2 ^ (intbits - 0x2))
145−assert(maxint // - 0x1 == - maxint)
146−do
147−assert(0x2 ^ - 0x3 == 0x1 / 0x2 ^ 0x3)
148−assert(eq((- 0x3) ^ - 0x3,0x1 / (- 0x3) ^ 0x3))
149−for i = - 0x3, 0x3
150−do
151−for j = - 0x3, 0x3
152−do
153−if not _port or i ~= 0x0 or j > 0x0 then
154−assert(eq(i ^ j,0x1 / i ^ (- j)))
155−end
156−end
157−end
158−end
159−if floatbits < intbits then
160−assert(2.0 ^ floatbits == (0x1 << floatbits))
161−assert(2.0 ^ floatbits - 1.0 == (0x1 << floatbits) - 1.0)
162−assert(2.0 ^ floatbits - 1.0 ~= (0x1 << floatbits))
163−assert(2.0 ^ floatbits + 1.0 ~= (0x1 << floatbits) + 0x1)
164−else
165−assert(maxint == maxint + 0.0)
166−assert(maxint - 0x1 == maxint - 1.0)
167−assert(minint + 0x1 == minint + 1.0)
168−assert(maxint ~= maxint - 1.0)
169−end
170−assert(maxint + 0.0 == 2.0 ^ (intbits - 0x1) - 1.0)
171−assert(minint + 0.0 == minint)
172−assert(minint + 0.0 == - 2.0 ^ (intbits - 0x1))
173−assert(0x1 < 1.1)
174−;
175−assert(not (0x1 < 0.9))
176−assert(0x1 <= 1.1)
177−;
178−assert(not (0x1 <= 0.9))
179−assert(- 0x1 < - 0.9)
180−;
181−assert(not (- 0x1 < - 1.1))
182−assert(0x1 <= 1.1)
183−;
184−assert(not (- 0x1 <= - 1.1))
185−assert(- 0x1 < - 0.9)
186−;
187−assert(not (- 0x1 < - 1.1))
188−assert(- 0x1 <= - 0.9)
189−;
190−assert(not (- 0x1 <= - 1.1))
191−assert(minint <= minint + 0.0)
192−assert(minint + 0.0 <= minint)
193−assert(not (minint < minint + 0.0))
194−assert(not (minint + 0.0 < minint))
195−assert(maxint < minint * - 1.0)
196−assert(maxint <= minint * - 1.0)
197−do
198−local fmaxi1 = 0x2 ^ (intbits - 0x1)
199−assert(maxint < fmaxi1)
200−assert(maxint <= fmaxi1)
201−assert(not (fmaxi1 <= maxint))
202−assert(minint <= - 0x2 ^ (intbits - 0x1))
203−assert(- 0x2 ^ (intbits - 0x1) <= minint)
204−end
205−if floatbits < intbits then
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}")
207−local fmax = 0x2 ^ floatbits
208−local ifmax = fmax | 0x0
209−assert(fmax < ifmax + 0x1)
210−assert(fmax - 0x1 < ifmax)
211−assert(- (fmax - 0x1) > - ifmax)
212−assert(not (fmax <= ifmax - 0x1))
213−assert(- fmax > - (ifmax + 0x1))
214−assert(not (- fmax >= - (ifmax - 0x1)))
215−assert(fmax / 0x2 - 0.5 < ifmax // 0x2)
216−assert(- (fmax / 0x2 - 0.5) > - ifmax // 0x2)
217−assert(maxint < 0x2 ^ intbits)
218−assert(minint > - 0x2 ^ intbits)
219−assert(maxint <= 0x2 ^ intbits)
220−assert(minint >= - 0x2 ^ intbits)
221−else
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}")
223−assert(maxint < maxint + 1.0)
224−assert(maxint < maxint + 0.5)
225−assert(maxint - 1.0 < maxint)
226−assert(maxint - 0.5 < maxint)
227−assert(not (maxint + 0.0 < maxint))
228−assert(maxint + 0.0 <= maxint)
229−assert(not (maxint < maxint + 0.0))
230−assert(maxint + 0.0 <= maxint)
231−assert(maxint <= maxint + 0.0)
232−assert(not (maxint + 1.0 <= maxint))
233−assert(not (maxint + 0.5 <= maxint))
234−assert(not (maxint <= maxint - 1.0))
235−assert(not (maxint <= maxint - 0.5))
236−assert(minint < minint + 1.0)
237−assert(minint < minint + 0.5)
238−assert(minint <= minint + 0.5)
239−assert(minint - 1.0 < minint)
240−assert(minint - 1.0 <= minint)
241−assert(not (minint + 0.0 < minint))
242−assert(not (minint + 0.5 < minint))
243−assert(not (minint < minint + 0.0))
244−assert(minint + 0.0 <= minint)
245−assert(minint <= minint + 0.0)
246−assert(not (minint + 1.0 <= minint))
247−assert(not (minint + 0.5 <= minint))
248−assert(not (minint <= minint - 1.0))
249−end
250−do
251−local NaN <const> = 0x0 / 0x0
252−assert(not (NaN < 0x0))
253−assert(not (NaN > minint))
254−assert(not (NaN <= - 0x9))
255−assert(not (NaN <= maxint))
256−assert(not (NaN < maxint))
257−assert(not (minint <= NaN))
258−assert(not (minint < NaN))
259−assert(not (0x4 <= NaN))
260−assert(not (0x4 < NaN))
261−end
262−local function checkcompt
263−(msg,code)
264−checkerror(msg,assert(load(code)))
265−end
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 - 0x1))
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 - 0x1))
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}")
272−local function f2i
273−(x)
274−return x | x
275−end
276−checkerror(msgf2i,f2i,math.huge)
277−checkerror(msgf2i,f2i,- math.huge)
278−checkerror(msgf2i,f2i,0x0 / 0x0)
279−if floatbits < intbits then
280−assert(maxint + 1.0 == maxint + 0.0)
281−assert(minint - 1.0 == minint + 0.0)
282−checkerror(msgf2i,f2i,maxint + 0.0)
283−assert(f2i(2.0 ^ (intbits - 0x2)) == 0x1 << (intbits - 0x2))
284−assert(f2i(- 2.0 ^ (intbits - 0x2)) == - (0x1 << (intbits - 0x2)))
285−assert((2.0 ^ (floatbits - 0x1) + 1.0) // 0x1 == (0x1 << (floatbits - 0x1)) + 0x1)
286−local mf = maxint - (0x1 << (floatbits - intbits)) + 0x1
287−assert(f2i(mf + 0.0) == mf)
288−mf=mf + 0x1
289−assert(f2i(mf + 0.0) ~= mf)
290−else
291−assert(maxint + 1.0 > maxint)
292−assert(minint - 1.0 < minint)
293−assert(f2i(maxint + 0.0) == maxint)
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)
296−end
297−assert(f2i(minint + 0.0) == minint)
298−assert("\u{32}" + 0x1 == 0x3)
299−assert("\u{32}\u{20}" + 0x1 == 0x3)
300−assert("\u{20}\u{2d}\u{32}\u{20}" + 0x1 == - 0x1)
301−assert("\u{20}\u{2d}\u{30}\u{78}\u{61}\u{20}" + 0x1 == - 0x9)
302−do
303−assert(eqT(tonumber(tostring(maxint)),maxint))
304−assert(eqT(tonumber(tostring(minint)),minint))
305−local function incd
306−(n)
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}")
310−return string.char(string.byte(d) + 0x1)
311−end)
312−return s
313−end
314−assert(eqT(tonumber(incd(maxint)),maxint + 1.0))
315−assert(eqT(tonumber(incd(minint)),minint - 1.0))
316−assert(eqT(tonumber("\u{31}" .. string.rep("\u{30}",0x1e)),1e30))
317−assert(eqT(tonumber("\u{2d}\u{31}" .. string.rep("\u{30}",0x1e)),- 1e30))
318−assert(eqT(tonumber("\u{30}\u{78}\u{31}" .. string.rep("\u{30}",0x1e)),0x0))
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)()))
321−assert(eqT(1e22,1e22))
322−assert(eqT(- 1e22,- 1e22))
323−end
324−assert(tonumber(3.4) == 3.4)
325−assert(eqT(tonumber(0x3),0x3))
326−assert(eqT(tonumber(maxint),maxint) and eqT(tonumber(minint),minint))
327−assert(tonumber(0x1 / 0x0) == 0x1 / 0x0)
328−assert(tonumber("\u{30}") == 0x0)
329−assert(not tonumber(""))
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}"))
333−assert(not tonumber({}))
334−assert(tonumber("\u{2b}\u{30}\u{2e}\u{30}\u{31}") == 0x1 / 0x64 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}") == - 0x1 and tonumber("\u{2b}\u{31}\u{2e}") == 0x1)
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}") == - 0xa - 0x2)
337−assert(tonumber("\u{2d}\u{31}\u{2e}\u{32}\u{65}\u{32}") == - - - 0x78)
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}") == (0x1 << (0x4 * 0xc)) - 0x1)
339−assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 0x4))) == - 0x1)
340−assert(tonumber("\u{2d}\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 0x4))) == 0x1)
341−assert(tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0x2) == 0xa)
342−assert(tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0xa) == 0x3f2)
343−assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0x2) == - 0xa)
344−assert(tonumber("\u{31}\u{30}",0x24) == 0x24)
345−assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{20}\u{20}",0x24) == - 0x24)
346−assert(tonumber("\u{20}\u{20}\u{2b}\u{31}\u{5a}\u{20}\u{20}",0x24) == 0x24 + 0x23)
347−assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{7a}\u{20}\u{20}",0x24) == - 0x24 + - 0x23)
348−assert(tonumber("\u{2d}\u{66}\u{46}\u{66}\u{61}",0x10) == - (0xa + (0x10 * (0xf + (0x10 * (0xf + (0x10 * 0xf)))))))
349−assert(tonumber(string.rep("\u{31}",(intbits - 0x2)),0x2) + 0x1 == 0x2 ^ (intbits - 0x2))
350−assert(tonumber("\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) + 0x1 == (0x1 << 0x20))
351−assert(tonumber("\u{30}\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) + 0x1 == (0x1 << 0x20))
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}",0x10) - 0x1 == - (0x1 << 0x28))
353−for i = 0x2, 0x24
354−do
355−local i2 = i * i
356−local i10 = i2 * i2 * i2 * i2 * i2
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)
358−end
359−if not _soft then
360−assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",0xd) .. "\u{2e}\u{30}") == 2.0 ^ (0x4 * 0xd) - 0x1)
361−assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",0x96) .. "\u{2e}\u{30}") == 2.0 ^ (0x4 * 0x96) - 0x1)
362−assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",0x12c) .. "\u{2e}\u{30}") == 2.0 ^ (0x4 * 0x12c) - 0x1)
363−assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",0x1f4) .. "\u{2e}\u{30}") == 2.0 ^ (0x4 * 0x1f4) - 0x1)
364−assert(tonumber("\u{30}\u{78}\u{33}\u{2e}" .. string.rep("\u{30}",0x3e8)) == 0x3)
365−assert(tonumber("\u{30}\u{78}" .. string.rep("\u{30}",0x3e8) .. "\u{61}") == 0xa)
366−assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",0xd) .. "\u{31}") == 2.0 ^ (- 0x4 * 0xe))
367−assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",0x96) .. "\u{31}") == 2.0 ^ (- 0x4 * 0x97))
368−assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",0x12c) .. "\u{31}") == 2.0 ^ (- 0x4 * 0x12d))
369−assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",0x1f4) .. "\u{31}") == 2.0 ^ (- 0x4 * 0x1f5))
370−assert(tonumber("\u{30}\u{78}\u{65}\u{30}\u{33}" .. string.rep("\u{30}",0x3e8) .. "\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}",0x3e8) .. "\u{37}\u{34}\u{70}\u{34}\u{30}\u{30}\u{34}") == 7.25)
372−end
373−local function f
374−(...)
375−if select("\u{23}",...) == 0x1 then
376−return (...)
377−else
378−return "\u{2a}\u{2a}\u{2a}"
379−end
380−end
381−assert(not f(tonumber("\u{66}\u{46}\u{66}\u{61}",0xf)))
382−assert(not f(tonumber("\u{30}\u{39}\u{39}",0x8)))
383−assert(not f(tonumber("\u{31}\u{0}",0x2)))
384−assert(not f(tonumber("",0x8)))
385−assert(not f(tonumber("\u{20}\u{20}",0x9)))
386−assert(not f(tonumber("\u{20}\u{20}",0x9)))
387−assert(not f(tonumber("\u{30}\u{78}\u{66}",0xa)))
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}")))
393−assert(not f(tonumber("")))
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}",0x2)))
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}"))
414−assert(0x10 == 0x10 and 0xfff == 0x2 ^ 0xc - 0x1 and 0xfb == 0xfb)
415−assert(0.0 == 0x0 and 0.0 == 0x0)
416−assert(0xffffffff == (0x1 << 0x20) - 0x1)
417−assert(tonumber("\u{2b}\u{30}\u{78}\u{32}") == 0x2)
418−assert(tonumber("\u{2d}\u{30}\u{78}\u{61}\u{41}") == - 0xaa)
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}") == - (0x1 << 0x20) + 0x1)
420−assert(0.0 == 0x0 and 0xe + 0x1 == 0xf and 0xe - 0x1 == 0xd)
421−assert(tonumber("\u{20}\u{20}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == 0x25 / 0x10)
422−assert(tonumber("\u{20}\u{20}\u{2d}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == - 0x25 / 0x10)
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}") == 0x51)
424−assert(0.9999999997671694 == 0x1 - "\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}" + 0x0 == 0xa + 0xa / 0x10)
426−assert(170.0 == 0xaa)
427−assert(1.0 == 0x1)
428−assert(1.0625 == "\u{30}\u{78}\u{31}\u{2e}" + "\u{2b}\u{30}\u{78}\u{2e}\u{31}")
429−assert(11259375.0 == 11259375.0)
430−assert(1.1 == 1.0 + 0.1)
431−assert(100.0 == 100.0 and 0.01 == 0.01)
432−assert(0x423a35c7 - 0x423a35c6 == 1.0)
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}"))
435−assert(1e-31 > 9e-32 and 9e29 < 1e30)
436−assert(0.123456 > 0.123455)
437−assert(tonumber("\u{2b}\u{31}\u{2e}\u{32}\u{33}\u{45}\u{31}\u{38}") == 1.23 * 10.0 ^ 0x12)
438−assert(not (0x1 < 0x1) and (0x1 < 0x2) and not (0x2 < 0x1))
439−assert(not ("\u{61}" < "\u{61}") and ("\u{61}" < "\u{62}") and not ("\u{62}" < "\u{61}"))
440−assert((0x1 <= 0x1) and (0x1 <= 0x2) and not (0x2 <= 0x1))
441−assert(("\u{61}" <= "\u{61}") and ("\u{61}" <= "\u{62}") and not ("\u{62}" <= "\u{61}"))
442−assert(not (0x1 > 0x1) and not (0x1 > 0x2) and (0x2 > 0x1))
443−assert(not ("\u{61}" > "\u{61}") and not ("\u{61}" > "\u{62}") and ("\u{62}" > "\u{61}"))
444−assert((0x1 >= 0x1) and not (0x1 >= 0x2) and (0x2 >= 0x1))
445−assert(("\u{61}" >= "\u{61}") and not ("\u{61}" >= "\u{62}") and ("\u{62}" >= "\u{61}"))
446−assert(1.3 < 1.4 and 1.3 <= 1.4 and not (1.3 < 1.3) and 1.3 <= 1.3)
447−assert(eqT(- 0x4 % 0x3,0x2))
448−assert(eqT(0x4 % - 0x3,- 0x2))
449−assert(eqT(- 4.0 % 0x3,2.0))
450−assert(eqT(0x4 % - 3.0,- 2.0))
451−assert(eqT(0x4 % - 0x5,- 0x1))
452−assert(eqT(0x4 % - 5.0,- 1.0))
453−assert(eqT(0x4 % 0x5,0x4))
454−assert(eqT(0x4 % 5.0,4.0))
455−assert(eqT(- 0x4 % - 0x5,- 0x4))
456−assert(eqT(- 0x4 % - 5.0,- 4.0))
457−assert(eqT(- 0x4 % 0x5,0x1))
458−assert(eqT(- 0x4 % 5.0,1.0))
459−assert(eqT(4.25 % 0x4,0.25))
460−assert(eqT(10.0 % 0x2,0.0))
461−assert(eqT(- 10.0 % 0x2,0.0))
462−assert(eqT(- 10.0 % - 0x2,0.0))
463−assert(math.pi - math.pi % 0x1 == 0x3)
464−assert(math.pi - math.pi % 1e-3 == 3.141)
465−do
466−local i,j = 0x0,0x4e20
467−while i < j do
468−local m = (i + j) // 0x2
469−if 0xa ^ - m > 0x0 then
470−i=m + 0x1
471−else
472−j=m
473−end
474−end
475−local b = 0xa ^ - (i - (i // 0xa))
476−assert(b > 0x0 and b * b == 0x0)
477−local delta = b / 0x3e8
478−assert(eq((2.1 * b) % (0x2 * b),(0.1 * b),delta))
479−assert(eq((- 2.1 * b) % (0x2 * b),(0x2 * b) - (0.1 * b),delta))
480−assert(eq((2.1 * b) % (- 0x2 * b),(0.1 * b) - (0x2 * b),delta))
481−assert(eq((- 2.1 * b) % (- 0x2 * b),(- 0.1 * b),delta))
482−end
483−for i = - 0xa, 0xa
484−do
485−for j = - 0xa, 0xa
486−do
487−if j ~= 0x0 then
488−assert((i + 0.0) % j == i % j)
489−end
490−end
491−end
492−for i = 0x0, 0xa
493−do
494−for j = - 0xa, 0xa
495−do
496−if j ~= 0x0 then
497−assert((0x2 ^ i) % j == (0x1 << i) % j)
498−end
499−end
500−end
501−do
502−local i = 0xa
503−while (0x1 << i) > 0x0 do
504−assert((0x1 << i) % 0x3 == i % 0x2 + 0x1)
505−i=i + 0x1
506−end
507−i=0xa
508−while 0x2 ^ i < math.huge do
509−assert(0x2 ^ i % 0x3 == i % 0x2 + 0x1)
510−i=i + 0x1
511−end
512−end
513−assert(eqT(minint % minint,0x0))
514−assert(eqT(maxint % maxint,0x0))
515−assert((minint + 0x1) % minint == minint + 0x1)
516−assert((maxint - 0x1) % maxint == maxint - 0x1)
517−assert(minint % maxint == maxint - 0x1)
518−assert(minint % - 0x1 == 0x0)
519−assert(minint % - 0x2 == 0x0)
520−assert(maxint % - 0x2 == - 0x1)
521−if not _port then
522−local function anan
523−(x)
524−assert(isNaN(x))
525−end
526−anan(0.0 % 0x0)
527−anan(1.3 % 0x0)
528−anan(math.huge % 0x1)
529−anan(math.huge % 1e30)
530−anan(- math.huge % 1e30)
531−anan(- math.huge % - 1e30)
532−assert(0x1 % math.huge == 0x1)
533−assert(1e30 % math.huge == 1e30)
534−assert(1e30 % - math.huge == - math.huge)
535−assert(- 0x1 % math.huge == math.huge)
536−assert(- 0x1 % - math.huge == - 0x1)
537−end
538−assert(math.ult(0x3,0x4))
539−assert(not math.ult(0x4,0x4))
540−assert(math.ult(- 0x2,- 0x1))
541−assert(math.ult(0x2,- 0x1))
542−assert(not math.ult(- 0x2,- 0x2))
543−assert(math.ult(maxint,minint))
544−assert(not math.ult(minint,maxint))
545−assert(eq(math.sin(- 9.8) ^ 0x2 + math.cos(- 9.8) ^ 0x2,0x1))
546−assert(eq(math.tan(math.pi / 0x4),0x1))
547−assert(eq(math.sin(math.pi / 0x2),0x1) and eq(math.cos(math.pi / 0x2),0x0))
548−assert(eq(math.atan(0x1),math.pi / 0x4) and eq(math.acos(0x0),math.pi / 0x2) and eq(math.asin(0x1),math.pi / 0x2))
549−assert(eq(math.deg(math.pi / 0x2),0x5a) and eq(math.rad(0x5a),math.pi / 0x2))
550−assert(math.abs(- 10.43) == 10.43)
551−assert(eqT(math.abs(minint),minint))
552−assert(eqT(math.abs(maxint),maxint))
553−assert(eqT(math.abs(- maxint),maxint))
554−assert(eq(math.atan(0x1,0x0),math.pi / 0x2))
555−assert(math.fmod(0xa,0x3) == 0x1)
556−assert(eq(math.sqrt(0xa) ^ 0x2,0xa))
557−assert(eq(math.log(0x2,0xa),math.log(0x2) / math.log(0xa)))
558−assert(eq(math.log(0x2,0x2),0x1))
559−assert(eq(math.log(0x9,0x3),0x2))
560−assert(eq(math.exp(0x0),0x1))
561−assert(eq(math.sin(0xa),math.sin(0xa % (0x2 * math.pi))))
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)
564−assert(0x800001 + - 0x800001 == 0x0)
565−assert(0x800000 + - 0x800000 == 0x0)
566−assert(0x7fffff + - 0x7fffff == 0x0)
567−do
568−assert(eqT(math.floor(3.4),0x3))
569−assert(eqT(math.ceil(3.4),0x4))
570−assert(eqT(math.floor(- 3.4),- 0x4))
571−assert(eqT(math.ceil(- 3.4),- 0x3))
572−assert(eqT(math.floor(maxint),maxint))
573−assert(eqT(math.ceil(maxint),maxint))
574−assert(eqT(math.floor(minint),minint))
575−assert(eqT(math.floor(minint + 0.0),minint))
576−assert(eqT(math.ceil(minint),minint))
577−assert(eqT(math.ceil(minint + 0.0),minint))
578−assert(math.floor(1e50) == 1e50)
579−assert(math.ceil(1e50) == 1e50)
580−assert(math.floor(- 1e50) == - 1e50)
581−assert(math.ceil(- 1e50) == - 1e50)
582−for _,p in pairs({0x1f,0x20,0x3f,0x40})
583−do
584−assert(math.floor(0x2 ^ p) == 0x2 ^ p)
585−assert(math.floor(0x2 ^ p + 0.5) == 0x2 ^ p)
586−assert(math.ceil(0x2 ^ p) == 0x2 ^ p)
587−assert(math.ceil(0x2 ^ p - 0.5) == 0x2 ^ p)
588−end
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)
591−assert(eqT(math.tointeger(minint),minint))
592−assert(eqT(math.tointeger(minint .. ""),minint))
593−assert(eqT(math.tointeger(maxint),maxint))
594−assert(eqT(math.tointeger(maxint .. ""),maxint))
595−assert(eqT(math.tointeger(minint + 0.0),minint))
596−assert(not math.tointeger(0.0 - minint))
597−assert(not math.tointeger(math.pi))
598−assert(not math.tointeger(- math.pi))
599−assert(math.floor(math.huge) == math.huge)
600−assert(math.ceil(math.huge) == math.huge)
601−assert(not math.tointeger(math.huge))
602−assert(math.floor(- math.huge) == - math.huge)
603−assert(math.ceil(- math.huge) == - math.huge)
604−assert(not math.tointeger(- math.huge))
605−assert(math.tointeger("\u{33}\u{34}\u{2e}\u{30}") == 0x22)
606−assert(not math.tointeger("\u{33}\u{34}\u{2e}\u{33}"))
607−assert(not math.tointeger({}))
608−assert(not math.tointeger(0x0 / 0x0))
609−end
610−for i = - 0x6, 0x6
611−do
612−for j = - 0x6, 0x6
613−do
614−if j ~= 0x0 then
615−local mi = math.fmod(i,j)
616−local mf = math.fmod(i + 0.0,j)
617−assert(mi == mf)
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}")
619−if (i >= 0x0 and j >= 0x0) or (i <= 0x0 and j <= 0x0) or mi == 0x0 then
620−assert(eqT(mi,i % j))
621−end
622−end
623−end
624−end
625−assert(eqT(math.fmod(minint,minint),0x0))
626−assert(eqT(math.fmod(maxint,maxint),0x0))
627−assert(eqT(math.fmod(minint + 0x1,minint),minint + 0x1))
628−assert(eqT(math.fmod(maxint - 0x1,maxint),maxint - 0x1))
629−checkerror("\u{7a}\u{65}\u{72}\u{6f}",math.fmod,0x3,0x0)
630−do
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)
633−assert(eqT(math.max(0x3),0x3))
634−assert(eqT(math.max(0x3,0x5,0x9,0x1),0x9))
635−assert(math.max(maxint,1e61) == 1e61)
636−assert(eqT(math.max(minint,minint + 0x1),minint + 0x1))
637−assert(eqT(math.min(0x3),0x3))
638−assert(eqT(math.min(0x3,0x5,0x9,0x1),0x1))
639−assert(math.min(3.2,5.9,- 9.2,1.1) == - 9.2)
640−assert(math.min(1.9,1.7,1.72) == 1.7)
641−assert(math.min(- 1e61,minint) == - 1e61)
642−assert(eqT(math.min(maxint,maxint - 0x1),maxint - 0x1))
643−assert(eqT(math.min(maxint - 0x2,maxint,maxint - 0x1),maxint - 0x2))
644−end
645−local a,b = "\u{31}\u{30}","\u{32}\u{30}"
646−assert(a * b == 0xc8 and a + b == 0x1e and a - b == - 0xa and a / b == 0.5 and - b == - 0x14)
647−assert(a == "\u{31}\u{30}" and b == "\u{32}\u{30}")
648−do
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}")
650−local mz <const> = - 0.0
651−local z <const> = 0.0
652−assert(mz == z)
653−assert(0x1 / mz < 0x0 and 0x0 < 0x1 / z)
654−local a = {[mz] = 0x1}
655−assert(a[z] == 0x1 and a[mz] == 0x1)
656−a[z]=0x2
657−assert(a[z] == 0x2 and a[mz] == 0x2)
658−local inf = math.huge * 0x2 + 0x1
659−local mz <const> = - 0x1 / inf
660−local z <const> = 0x1 / inf
661−assert(mz == z)
662−assert(0x1 / mz < 0x0 and 0x0 < 0x1 / z)
663−local NaN <const> = inf - inf
664−assert(NaN ~= NaN)
665−assert(not (NaN < NaN))
666−assert(not (NaN <= NaN))
667−assert(not (NaN > NaN))
668−assert(not (NaN >= NaN))
669−assert(not (0x0 < NaN) and not (NaN < 0x0))
670−local NaN1 <const> = 0x0 / 0x0
671−assert(NaN ~= NaN1 and not (NaN <= NaN1) and not (NaN1 <= NaN))
672−local a = {}
673−assert(not pcall(rawset,a,NaN,0x1))
674−assert(a[NaN] == undef)
675−a[0x1]=0x1
676−assert(not pcall(rawset,a,NaN,0x1))
677−assert(a[NaN] == undef)
678−local a1,a2,a3,a4,a5 = 0x0,0x0,"\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}",0x0,"\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}"
679−assert(a1 == a2 and a2 == a4 and a1 ~= a3)
680−assert(a3 == a5)
681−end
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}")
683−local random,max,min = math.random,math.max,math.min
684−local function testnear
685−(val,ref,tol)
686−return (math.abs(val - ref) < ref * tol)
687−end
688−do
689−local h <const> = 0x7a7040a5
690−local l <const> = 0xa323c9d6
691−math.randomseed(0x3ef)
692−local res = (h << 0x20 | l) & ~ (~ 0x0 << intbits)
693−assert(random(0x0) == res)
694−math.randomseed(0x3ef,0x0)
695−local res
696−if floatbits <= 0x20 then
697−res=(h >> (0x20 - floatbits)) % 0x2 ^ 0x20
698−else
699−res=(h % 0x2 ^ 0x20) * 0x2 ^ (floatbits - 0x20) + ((l >> (0x40 - floatbits)) % 0x2 ^ 0x20)
700−end
701−local rand = random()
702−assert(eq(rand,0.4782753376376966,0x2 ^ - floatbits))
703−assert(rand * 0x2 ^ floatbits == res)
704−end
705−do
706−local x,y = math.randomseed()
707−local res = math.random(0x0)
708−x,y=math.randomseed(x,y)
709−assert(math.random(0x0) == res)
710−math.randomseed(x,y)
711−assert(math.random(0x0) == res)
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))
713−end
714−do
715−local randbits = math.min(floatbits,0x40)
716−local mult = 0x2 ^ randbits
717−local counts = {}
718−for i = 0x1, randbits
719−do
720−counts[i]=0x0
721−end
722−local up = - math.huge
723−local low = math.huge
724−local rounds = 0x64 * randbits
725−local totalrounds = 0x0
726−::doagain::
727−for i = 0x0, rounds
728−do
729−local t = random()
730−assert(0x0 <= t and t < 0x1)
731−up=max(up,t)
732−low=min(low,t)
733−assert(t * mult % 0x1 == 0x0)
734−local bit = i % randbits
735−if (t * 0x2 ^ bit) % 0x1 >= 0.5 then
736−counts[bit + 0x1]=counts[bit + 0x1] + 0x1
737−end
738−end
739−totalrounds=totalrounds + rounds
740−if not (eq(up,0x1,1e-3) and eq(low,0x0,1e-3)) then
741−goto doagain
742−end
743−local expected = (totalrounds / randbits / 0x2)
744−for i = 0x1, randbits
745−do
746−if not testnear(counts[i],expected,0.1) then
747−goto doagain
748−end
749−end
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))
751−end
752−do
753−local up = 0x0
754−local low = 0x0
755−local counts = {}
756−for i = 0x1, intbits
757−do
758−counts[i]=0x0
759−end
760−local rounds = 0x64 * intbits
761−local totalrounds = 0x0
762−::doagain::
763−for i = 0x0, rounds
764−do
765−local t = random(0x0)
766−up=max(up,t)
767−low=min(low,t)
768−local bit = i % intbits
769−counts[bit + 0x1]=counts[bit + 0x1] + ((t >> bit) & 0x1)
770−end
771−totalrounds=totalrounds + rounds
772−local lim = maxint >> 0xa
773−if not (maxint - up < lim and low - minint < lim) then
774−goto doagain
775−end
776−local expected = (totalrounds / intbits / 0x2)
777−for i = 0x1, intbits
778−do
779−if not testnear(counts[i],expected,0.1) then
780−goto doagain
781−end
782−end
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))
784−end
785−do
786−local count = {0x0,0x0,0x0,0x0,0x0,0x0}
787−local rep = 0xc8
788−local totalrep = 0x0
789−::doagain::
790−for i = 0x1, rep * 0x6
791−do
792−local r = random(0x6)
793−count[r]=count[r] + 0x1
794−end
795−totalrep=totalrep + rep
796−for i = 0x1, 0x6
797−do
798−if not testnear(count[i],totalrep,0.05) then
799−goto doagain
800−end
801−end
802−end
803−do
804−local function aux
805−(x1,x2)
806−local mark = {}
807−;
808−local count = 0x0
809−while true do
810−local t = random(x1,x2)
811−assert(x1 <= t and t <= x2)
812−if not mark[t] then
813−mark[t]=true
814−count=count + 0x1
815−if count == x2 - x1 + 0x1 then
816−goto ok
817−end
818−end
819−end
820−::ok::
821−end
822−aux(- 0xa,0x0)
823−aux(0x1,0x6)
824−aux(0x1,0x2)
825−aux(0x1,0xd)
826−aux(0x1,0x1f)
827−aux(0x1,0x20)
828−aux(0x1,0x21)
829−aux(- 0xa,0xa)
830−aux(- 0xa,- 0xa)
831−aux(minint,minint)
832−aux(maxint,maxint)
833−aux(minint,minint + 0x9)
834−aux(maxint - 0x3,maxint)
835−end
836−do
837−local function aux
838−(p1,p2)
839−local max = minint
840−local min = maxint
841−local n = 0x64
842−local mark = {}
843−;
844−local count = 0x0
845−::doagain::
846−for _ = 0x1, n
847−do
848−local t = random(p1,p2)
849−if not mark[t] then
850−assert(p1 <= t and t <= p2)
851−max=math.max(max,t)
852−min=math.min(min,t)
853−mark[t]=true
854−count=count + 0x1
855−end
856−end
857−if not (count >= n * 0.8) then
858−goto doagain
859−end
860−local diff = (p2 - p1) >> 0x4
861−if not (min < p1 + diff and max > p2 - diff) then
862−goto doagain
863−end
864−end
865−aux(0x0,maxint)
866−aux(0x1,maxint)
867−aux(0x3,maxint // 0x3)
868−aux(minint,- 0x1)
869−aux(minint // 0x2,maxint // 0x2)
870−aux(minint,maxint)
871−aux(minint + 0x1,maxint)
872−aux(minint,maxint - 0x1)
873−aux(0x0,0x1 << (intbits - 0x5))
874−end
875−assert(not pcall(random,0x1,0x2,0x3))
876−assert(not pcall(random,minint + 0x1,minint))
877−assert(not pcall(random,maxint,maxint - 0x1))
878−assert(not pcall(random,maxint,minint))
879−print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/pm.luadeleted−404
@@ -1,404 +0,0 @@
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}")
2−local function checkerror
3−(msg,f, ...)
4−local s,err = pcall(f,...)
5−assert(not s and string.find(err,msg))
6−end
7−local function f
8−(s,p)
9−local i,e = string.find(s,p)
10−if i then
11−return string.sub(s,i,e)
12−end
13−end
14−local a,b = string.find("","")
15−assert(a == 0x1 and b == 0x0)
16−;
17−a,b=string.find("\u{61}\u{6c}\u{6f}","")
18−assert(a == 0x1 and b == 0x0)
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}",0x1)
20−assert(a == 0x1 and b == 0x1)
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}",0x2)
22−assert(a == 0x5 and b == 0x7)
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}",0x9)
24−assert(a == 0x9 and b == 0xb)
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}",0x2)
26−;
27−assert(a == 0x9 and b == 0xb)
28−;
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}")
30−assert(a == 0xb and b == 0xb)
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}") == 0x4)
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}")
47−local function PU
48−(p)
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}")
51−end)
52−p=string.gsub(p,"\u{25}\u{2e}",utf8.charpattern)
53−return p
54−end
55−assert(f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2a}") == "\u{61}\u{61}\u{61}")
56−;
57−assert(f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2a}\u{24}") == "\u{61}\u{61}\u{61}")
58−;
59−assert(f("\u{61}\u{61}\u{61}","\u{62}\u{2a}") == "")
60−;
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}")
94−local function f1
95−(s,p)
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) + 0x1)
98−end)
99−p=string.gsub(p,"\u{5e}\u{28}\u{5e}\u{3f}\u{29}","\u{25}\u{31}\u{28}\u{29}",0x1)
100−p=string.gsub(p,"\u{28}\u{24}\u{3f}\u{29}\u{24}","\u{28}\u{29}\u{25}\u{31}",0x1)
101−local t = {string.match(s,p)}
102−return string.sub(s,t[0x1],t[# t] - 0x1)
103−end
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}"))
108−local function range
109−(i,j)
110−if i <= j then
111−return i,range(i + 0x1,j)
112−end
113−end
114−local abc = string.char(range(0x0,0x7f)) .. string.char(range(0x80,0xff))
115−;
116−assert(string.len(abc) == 0x100)
117−local function strset
118−(p)
119−local res = {["\u{73}"] = ""}
120−string.gsub(abc,p,function (c)
121−res.s=res.s .. c
122−end)
123−return res.s
124−end
125−;
126−assert(string.len(strset("\u{5b}\u{c8}\u{2d}\u{d2}\u{5d}")) == 0xb)
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}")
137−;
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}") == 0x1)
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 == 0xb 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 == 0x5)
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}",0x2)
156−assert(a == "\u{61}\u{40}\u{62}\u{40}\u{c3}\u{a7}\u{64}" and b == 0x2)
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}")
165−do
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}")
167−local res = ""
168−local sub = "\u{61}\u{20}\u{20}\u{a}\u{62}\u{63}\u{9}\u{9}\u{64}"
169−local i = 0x1
170−for p,e in string.gmatch(sub,"\u{28}\u{29}\u{25}\u{73}\u{2a}\u{28}\u{29}")
171−do
172−res=res .. string.sub(sub,i,p - 0x1) .. "\u{2d}"
173−i=e
174−end
175−assert(res == "\u{2d}\u{61}\u{2d}\u{62}\u{2d}\u{63}\u{2d}\u{64}\u{2d}")
176−end
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}")
178−do
179−local function setglobal
180−(n,v)
181−rawset(_G,n,v)
182−end
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}")
185−_G.a=nil
186−;
187−_G.roberto=nil
188−end
189−function f(a,b)
190−return string.gsub(a,"\u{2e}",b)
191−end
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}")
193−local function dostring
194−(s)
195−return load(s,"")() or ""
196−end
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}")
200−_G.a,_G.x=nil
201−local t = {}
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)
204−assert(string.len(w) == b - a)
205−;
206−t[a]=b - a
207−;
208−end)
209−assert(s == r and t[0x1] == 0x1 and t[0x3] == 0x3 and t[0x7] == 0x4 and t[0xd] == 0x4)
210−local function isbalanced
211−(s)
212−return not string.find(string.gsub(s,"\u{25}\u{62}\u{28}\u{29}",""),"\u{5b}\u{28}\u{29}\u{5d}")
213−end
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}"] = 0x0}
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 ()
219−t.n=t.n + 0x1
220−;
221−return t[t.n]
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}"] = 0x0}
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)
225−t.n=t.n + 0x1
226−;
227−t[t.n]=w
228−end)
229−assert(t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[0x3] == "\u{77}\u{6f}\u{72}\u{64}" and t.n == 0x3)
230−t={["\u{6e}"] = 0x0}
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)
232−t.n=t.n + 0x1
233−;
234−t[t.n]=w
235−end,0x2) == "\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[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[0x3] == 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}")
242−if not _soft then
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}",0x493e0)
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}",0x2710) .. string.rep("\u{62}",0x2710)
249−assert(not pcall(string.gsub,a,"\u{62}"))
250−end
251−local function rev
252−(s)
253−return string.gsub(s,"\u{28}\u{2e}\u{29}\u{28}\u{2e}\u{2b}\u{29}",function (c,s1)
254−return rev(s1) .. c
255−end)
256−end
257−local x = "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}"
258−assert(rev(rev(x)) == x)
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}")
264−t={}
265−;
266−setmetatable(t,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,s)
267−return string.upper(s)
268−end})
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}")
270−local a = 0x0
271−for i in string.gmatch("\u{61}\u{62}\u{63}\u{64}\u{65}","\u{28}\u{29}")
272−do
273−assert(i == a + 0x1)
274−;
275−a=i
276−end
277−assert(a == 0x6)
278−t={["\u{6e}"] = 0x0}
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}")
280−do
281−t.n=t.n + 0x1
282−;
283−t[t.n]=w
284−end
285−assert(t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[0x3] == "\u{77}\u{6f}\u{72}\u{64}")
286−t={0x3,0x6,0x9}
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}")
288−do
289−assert(i == table.remove(t,0x1))
290−end
291−assert(# t == 0x0)
292−t={}
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}")
294−do
295−t[tonumber(i)]=tonumber(j)
296−end
297−a=0x0
298−for k,v in pairs(t)
299−do
300−assert(k + 0x1 == v + 0x0)
301−;
302−a=a + 0x1
303−end
304−assert(a == 0x3)
305−do
306−local s = 0x0
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}",0x3)
308−do
309−s=s + tonumber(k)
310−end
311−assert(s == 0x32)
312−s=0x0
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}",- 0x4)
314−do
315−s=s + tonumber(k)
316−end
317−assert(s == 0x20)
318−s=0x0
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}",0x9)
320−do
321−s=s + 0x1
322−end
323−assert(s == 0x1)
324−s=0x0
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}",0xa)
326−do
327−s=s + 0x1
328−end
329−assert(s == 0x0)
330−end
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}") == 0x1)
338−assert(string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{7a}\u{5d}") == 0x1)
339−assert(string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{6c}\u{5d}") == 0x2)
340−assert(string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{61}\u{25}\u{7a}\u{5d}") == 0x3)
341−assert(string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{7a}\u{5d}") == 0x4)
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}")
345−assert(i == 0x2 and e == 0x5)
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}")
348−local a = {0x1,0x5,0x9,0xe,0x11}
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}")
350−do
351−assert(table.remove(a,0x1) == k)
352−end
353−assert(# a == 0x0)
354−local function malform
355−(p,m)
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)
358−assert(not r and string.find(msg,m))
359−end
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}") == 0x2)
374−assert(string.find("\u{61}\u{62}\u{63}\u{0}\u{65}\u{66}\u{67}","\u{25}\u{0}") == 0x4)
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}") == 0x4)
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}") == 0x4)
380−do
381−local s = string.rep("\u{61}",0x64)
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))
386−local count = 0x0
387−r=string.gsub(s,"\u{2e}",function (x)
388−assert(x == "\u{61}")
389−count=count + 0x1
390−return nil
391−end)
392−r=string.gsub(r,"\u{2e}",{["\u{62}"] = "\u{78}"})
393−assert(count == 0x64)
394−assert(string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r))
395−count=0x0
396−r=string.gsub(s,"\u{2e}",function (x)
397−assert(x == "\u{61}")
398−count=count + 0x1
399−return x
400−end)
401−assert(count == 0x64)
402−assert(r == s and string.format("\u{25}\u{70}",s) ~= string.format("\u{25}\u{70}",r))
403−end
404−print("\u{4f}\u{4b}")
zod/luau/res/lua/cycled/strings.luadeleted−441
@@ -1,441 +0,0 @@
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}")
2−local maxi <const> = math.maxinteger
3−local mini <const> = math.mininteger
4−local function checkerror
5−(msg,f, ...)
6−local s,err = pcall(f,...)
7−assert(not s and string.find(err,msg))
8−end
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}",0x2,0x4) == "\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}",0x7) == "\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}",0x7,0x6) == "")
29−assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x7,0x7) == "\u{37}")
30−assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x0,0x0) == "")
31−assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 0xa,0xa) == "\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}",0x1,0x9) == "\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}",- 0xa,- 0x14) == "")
34−assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 0x1) == "\u{39}")
35−assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 0x4) == "\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}",- 0x6,- 0x4) == "\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,- 0x4) == "\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}",0x3,0x5) == "\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(0x8) == "\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}") == 0x3)
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}",0x3) == 0x3)
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}",0x4) == 0xd)
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}",0x4))
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}",- 0x9) == 0xd)
49−assert(not string.find("\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}","\u{0}",0x5,0x1))
50−assert(string.find("","") == 0x1)
51−assert(string.find("","",0x1) == 0x1)
52−assert(not string.find("","",0x2))
53−assert(not string.find("","\u{61}\u{61}\u{61}",0x1))
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}",0x1,0x1) == 0x4)
55−assert(string.len("") == 0x0)
56−assert(string.len("\u{0}\u{0}\u{0}") == 0x3)
57−assert(string.len("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}") == 0xa)
58−assert(# "" == 0x0)
59−assert(# "\u{0}\u{0}\u{0}" == 0x3)
60−assert(# "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}" == 0xa)
61−assert(string.byte("\u{61}") == 0x61)
62−assert(string.byte("\u{e4}") > 0x7f)
63−assert(string.byte(string.char(0xff)) == 0xff)
64−assert(string.byte(string.char(0x0)) == 0x0)
65−assert(string.byte("\u{0}") == 0x0)
66−assert(string.byte("\u{0}\u{0}\u{61}\u{6c}\u{6f}\u{0}\u{78}",- 0x1) == string.byte("\u{78}"))
67−assert(string.byte("\u{62}\u{61}",0x2) == 0x61)
68−assert(string.byte("\u{a}\u{a}",0x2,- 0x1) == 0xa)
69−assert(string.byte("\u{a}\u{a}",0x2,0x2) == 0xa)
70−assert(string.byte("") == nil)
71−assert(string.byte("\u{68}\u{69}",- 0x3) == nil)
72−assert(string.byte("\u{68}\u{69}",0x3) == nil)
73−assert(string.byte("\u{68}\u{69}",0x9,0xa) == nil)
74−assert(string.byte("\u{68}\u{69}",0x2,0x1) == nil)
75−assert(string.char() == "")
76−assert(string.char(0x0,0xff,0x0) == "\u{0}\u{ff}\u{0}")
77−assert(string.char(0x0,string.byte("\u{e4}"),0x0) == "\u{0}\u{e4}\u{0}")
78−assert(string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",0x1,- 0x1)) == "\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}",0x1,0x0)) == "")
80−assert(string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",- 0xa,0x64)) == "\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,0x100)
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,- 0x1)
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}",0x0) == "")
88−assert(string.rep("\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}",0x2) == "\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}")
89−assert(string.rep("",0xa) == "")
90−if string.packsize("\u{69}") == 0x4 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}",(0x1 << 0x1e))
92−checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",string.rep,"\u{61}",(0x1 << 0x1e),"\u{2c}")
93−end
94−assert(string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x0,"\u{78}\u{75}\u{78}\u{75}") == "")
95−assert(string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x1,"\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}",0x2,"\u{0}\u{0}") == "\u{1}\u{0}\u{1}\u{0}\u{0}\u{1}\u{0}\u{1}")
97−assert(string.rep("",0xa,"\u{2e}") == string.rep("\u{2e}",0x9))
98−assert(not pcall(string.rep,"\u{61}\u{61}",maxi // 0x2 + 0xa))
99−assert(not pcall(string.rep,"",maxi // 0x2 + 0xa,"\u{61}\u{61}"))
100−assert(string.reverse("") == "")
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}")
103−for i = 0x0, 0x1e
104−do
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(0xc)) == "\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}") == 0x1)
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(- 0x4b3) == "\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(- 0x7fff) == "\u{2d}\u{33}\u{32}\u{37}\u{36}\u{37}")
118−if math.tointeger(0x7fffffff) then
119−assert(tostring(- 0x7fffffff) == "\u{2d}\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}")
120−end
121−if math.tointeger(0x4000000000000000) then
122−assert(tostring(0x4000000000000000) == "\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(- 0x4000000000000000) == "\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}")
124−end
125−if tostring(0.0) == "\u{30}\u{2e}\u{30}" then
126−assert("" .. 0xc == "\u{31}\u{32}" and 12.0 .. "" == "\u{31}\u{32}\u{2e}\u{30}")
127−assert(tostring(- 0x4b3 + 0.0) == "\u{2d}\u{31}\u{32}\u{30}\u{33}\u{2e}\u{30}")
128−else
129−assert(tostring(0.0) == "\u{30}")
130−assert("" .. 0xc == "\u{31}\u{32}" and 12.0 .. "" == "\u{31}\u{32}")
131−assert(tostring(- 0x4b3 + 0.0) == "\u{2d}\u{31}\u{32}\u{30}\u{33}")
132−end
133−do
134−local null = "\u{28}\u{6e}\u{75}\u{6c}\u{6c}\u{29}"
135−assert(string.format("\u{25}\u{70}",0x4) == 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}",{}) == 0x5a)
146−assert(# string.format("\u{25}\u{2d}\u{36}\u{30}\u{70}",{}) == 0x3c)
147−assert(string.format("\u{25}\u{31}\u{30}\u{70}",false) == string.rep("\u{20}",0xa - # null) .. null)
148−assert(string.format("\u{25}\u{2d}\u{31}\u{32}\u{70}",1.5) == null .. string.rep("\u{20}",0xc - # null))
149−do
150−local t1 = {}
151−;
152−local t2 = {}
153−assert(string.format("\u{25}\u{70}",t1) ~= string.format("\u{25}\u{70}",t2))
154−end
155−do
156−local s1 = string.rep("\u{61}",0xa)
157−local s2 = string.rep("\u{61}\u{61}",0x5)
158−assert(string.format("\u{25}\u{70}",s1) == string.format("\u{25}\u{70}",s2))
159−end
160−do
161−local s1 = string.rep("\u{61}",0x12c)
162−;
163−local s2 = string.rep("\u{61}",0x12c)
164−assert(string.format("\u{25}\u{70}",s1) ~= string.format("\u{25}\u{70}",s2))
165−end
166−end
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}"),0x8c) == "\u{0}\u{e4}\u{0}\u{62}\u{38}\u{63}\u{0}")
174−assert(string.format("") == "")
175−assert(string.format("\u{25}\u{63}",0x22) .. string.format("\u{25}\u{63}",0x30) .. string.format("\u{25}\u{63}",0x5a) .. string.format("\u{25}\u{63}",0x64) == 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}",0x22,0x30,0x5a,0x64))
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}",0xa,0x17) == "\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}",0x31) .. "\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}",0x7d0)) == "\u{2d}" .. string.rep("\u{25}",0x14) .. "\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}",0x7d0)) == string.format("\u{25}\u{71}","\u{2d}" .. string.rep("\u{25}",0x7d0) .. "\u{2e}\u{32}\u{30}\u{73}"))
182−do
183−local function checkQ
184−(v)
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)()
187−assert(v == nv and math.type(v) == math.type(nv))
188−end
189−checkQ("\u{0}\u{0}\u{1}\u{ff}\u{234}")
190−checkQ(math.maxinteger)
191−checkQ(math.mininteger)
192−checkQ(math.pi)
193−checkQ(0.1)
194−checkQ(true)
195−checkQ(nil)
196−checkQ(false)
197−checkQ(math.huge)
198−checkQ(- math.huge)
199−assert(string.format("\u{25}\u{71}",0x0 / 0x0) == "\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}")
211−getmetatable(m).__tostring=nil
212−assert(string.format("\u{25}\u{2e}\u{34}\u{73}",m) == "\u{68}\u{69}\u{3a}\u{20}")
213−getmetatable(m).__tostring=function ()
214−return {}
215−end
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}",0xffffffff) == "\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}",0x7b0d) == "\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}",- 0x78cf) == "\u{2d}\u{30}\u{30}\u{33}\u{30}\u{39}\u{32}\u{37}")
222−do
223−local i = 0x1
224−local j = 0x2710
225−while i + 0x1 < j do
226−local m = (i + j) // 0x2
227−if 0xa ^ m < math.huge then
228−i=m
229−else
230−j=m
231−end
232−end
233−assert(0xa ^ i < math.huge and 0xa ^ j == math.huge)
234−local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",- (0xa ^ i))
235−assert(string.len(s) >= i + 0x65)
236−assert(tonumber(s) == - (0xa ^ i))
237−assert(0xa ^ 0x26 < math.huge)
238−local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",- (0xa ^ 0x26))
239−assert(string.len(s) >= 0x26 + 0x65)
240−assert(tonumber(s) == - (0xa ^ 0x26))
241−end
242−do
243−local max,min = 0x7fffffff,- 0x80000000
244−assert(string.sub(string.format("\u{25}\u{38}\u{78}",- 0x1),- 0x8) == "\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),- 0x8) == "\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}",0xffffffff) == "\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}",0xabcd) == "\u{31}\u{32}\u{35}\u{37}\u{31}\u{35}")
251−max,min=0x7fffffffffffffff,- 0x8000000000000000
252−if max > 2.0 ^ 0x35 then
253−assert(string.format("\u{25}\u{78}",(0x2 ^ 0x34 | 0x0) - 0x1) == "\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}",0x8f000003) == "\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}",0x2 ^ 0x35) == "\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}",- 0x2 ^ 0x35) == "\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}",~ (- 0x1 << 0x40)) == "\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(0x11f71fb04cb) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}")
263−end
264−end
265−do
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}")
267−local function matchhexa
268−(n)
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}"))
271−assert(tonumber(s) == n)
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}"))
274−assert(tonumber(s) == n)
275−end
276−for _,n in ipairs({0.1,- 0.1,0x1 / 0x3,- 0x1 / 0x3,1e30,- 1e30,- 0x2d / 0xf7,0x1,- 0x1,0x2,- 0x2,3e-20,- 3e-20})
277−do
278−matchhexa(n)
279−end
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}"))
282−if not _port then
283−assert(string.find(string.format("\u{25}\u{61}",0x1 / 0x0),"\u{5e}\u{69}\u{6e}\u{66}"))
284−assert(string.find(string.format("\u{25}\u{41}",- 0x1 / 0x0),"\u{5e}\u{25}\u{2d}\u{49}\u{4e}\u{46}"))
285−assert(string.find(string.format("\u{25}\u{61}",0x0 / 0x0),"\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}"))
287−end
288−if not pcall(string.format,"\u{25}\u{2e}\u{33}\u{61}",0x0) 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}")
290−else
291−assert(string.find(string.format("\u{25}\u{2b}\u{2e}\u{32}\u{41}",0xc),"\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}",- 0xc),"\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}",0xa) == "\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}",0x64) == "\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}",0x64) == "\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}",- 0x64) == "\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}",- 0x64) == "\u{2d}\u{30}\u{30}\u{31}\u{30}\u{30}")
300−assert(string.format("\u{25}\u{2e}\u{75}",0x0) == "")
301−assert(string.format("\u{25}\u{2b}\u{23}\u{30}\u{31}\u{34}\u{2e}\u{30}\u{66}",0x64) == "\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}",0x61) == "\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}",0x64),"\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}",0x2 ^ 0xa),"\u{5e}\u{20}\u{31}\u{65}\u{25}\u{2b}\u{30}\u{2b}\u{33}\u{24}"))
308−local function check
309−(fmt,msg)
310−checkerror(msg,string.format,fmt,0xa)
311−end
312−local aux = string.rep("\u{30}",0x258)
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}")() == 0x1)
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,0x3)
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)
332−assert(table.concat({}) == "")
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}")
335−local a = {}
336−;
337−for i = 0x1, 0x12c
338−do
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}",0x12c))
342−assert(table.concat(a,"\u{62}",0x14,0x14) == "\u{78}\u{75}\u{78}\u{75}")
343−assert(table.concat(a,"",0x14,0x15) == "\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}")
344−assert(table.concat(a,"\u{78}",0x16,0x15) == "")
345−assert(table.concat(a,"\u{33}",0x12b) == "\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 - 0x1) == "")
347−assert(table.concat({},"\u{78}",mini + 0x1,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 - 0x1] = "\u{79}"},"\u{2d}",maxi - 0x1,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}",0x1,0x0) == "")
354−assert(table.concat(a,"\u{2c}",0x1,0x1) == "\u{61}")
355−assert(table.concat(a,"\u{2c}",0x1,0x2) == "\u{61}\u{2c}\u{62}")
356−assert(table.concat(a,"\u{2c}",0x2) == "\u{62}\u{2c}\u{63}")
357−assert(table.concat(a,"\u{2c}",0x3) == "\u{63}")
358−assert(table.concat(a,"\u{2c}",0x4) == "")
359−if not _port then
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}"}
361−local function trylocale
362−(w)
363−for i = 0x1, # locales
364−do
365−if os.setlocale(locales[i],w) then
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]))
367−return locales[i]
368−end
369−end
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))
371−return false
372−end
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}")
375−end
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}")
381−end
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}")
385−end
386−do
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}")
389−local co = coroutine.wrap(f)
390−assert(co() == "\u{32}")
391−end
392−if T == nil then
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}")
394−else
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}")
396−local blen = 0xc8
397−local function callpfs
398−(op,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)}
400−assert(# x == 0x4)
401−return x[0x4]
402−end
403−local function testpfs
404−(op,fmt,n)
405−assert(callpfs(op,fmt,n) == string.format(fmt,n))
406−end
407−testpfs("\u{49}","",0x0)
408−testpfs("\u{49}",string.rep("\u{61}",blen - 0x1),0x0)
409−testpfs("\u{49}",string.rep("\u{61}",blen),0x0)
410−testpfs("\u{49}",string.rep("\u{61}",blen + 0x1),0x0)
411−local str = string.rep("\u{61}\u{62}",blen) .. "\u{25}\u{64}" .. string.rep("\u{64}",blen / 0x2)
412−testpfs("\u{49}",str,0x2 ^ 0xe)
413−testpfs("\u{49}",str,- 0x2 ^ 0xf)
414−str="\u{25}\u{64}" .. string.rep("\u{63}\u{64}",blen)
415−testpfs("\u{49}",str,0x2 ^ 0xe)
416−testpfs("\u{49}",str,- 0x2 ^ 0xf)
417−str=string.rep("\u{63}",blen - 0x2) .. "\u{25}\u{64}"
418−testpfs("\u{49}",str,0x2 ^ 0xe)
419−testpfs("\u{49}",str,- 0x2 ^ 0xf)
420−for l = 0xc, 0xe
421−do
422−local str1 = string.rep("\u{61}",l)
423−for i = 0x0, 0x1f4, 0xd
424−do
425−for j = 0x0, 0x1f4, 0xd
426−do
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)
430−end
431−end
432−end
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,0xff)
436−str=string.rep("\u{61}",blen - 0x1) .. "\u{25}\u{70}" .. string.rep("\u{63}\u{64}",blen)
437−testpfs("\u{50}",str,{})
438−str=string.rep("\u{25}\u{25}",0x3 * blen) .. "\u{25}\u{70}" .. string.rep("\u{25}\u{25}",0x2 * blen)
439−testpfs("\u{50}",str,{})
440−end
441−print("\u{4f}\u{4b}")
zod/luau/tmp.hoondeleted−9
@@ -1,9 +0,0 @@
1−=/ f
2− |* a=rule
3− =/ x
4− $_
5− =/ b $:a
6− ?> ?=(^ q.b)
7− p.u.q.b
8− `x`'foo'
9−(f (just 'a'))