aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2009-12-27 17:42:41 +0100
committerMike Pall <mike>2009-12-27 17:42:41 +0100
commitbc470637081979939698413ca108372e672d3b48 (patch)
tree6559f76ea898aba5c263c8ab56f63eaa2f6480ff /src
parent690760aa3853e63331f46e40c8276d9f5939261d (diff)
downloadluajit-bc470637081979939698413ca108372e672d3b48.tar.gz
luajit-bc470637081979939698413ca108372e672d3b48.tar.bz2
luajit-bc470637081979939698413ca108372e672d3b48.zip
Use fastcall for remaining 1-arg/2-arg calls from interpreter.
Simplifies conversion to x64 calling conventions.
Diffstat (limited to 'src')
-rw-r--r--src/buildvm_x86.dasc175
-rw-r--r--src/buildvm_x86.h2336
-rw-r--r--src/lib_base.c5
-rw-r--r--src/lj_func.c2
-rw-r--r--src/lj_func.h2
-rw-r--r--src/lj_gc.c2
-rw-r--r--src/lj_gc.h2
-rw-r--r--src/lj_meta.c4
-rw-r--r--src/lj_meta.h4
-rw-r--r--src/lj_state.c4
-rw-r--r--src/lj_state.h4
-rw-r--r--src/lj_tab.c2
-rw-r--r--src/lj_tab.h2
-rw-r--r--src/lj_trace.c4
-rw-r--r--src/lj_trace.h4
15 files changed, 1248 insertions, 1304 deletions
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index 9ce8ef16..eadd8d57 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -588,14 +588,9 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
588 | // - A return back from a lua_call() with (high) nresults adjustment. 588 | // - A return back from a lua_call() with (high) nresults adjustment.
589 | mov L:RB->top, BASE // Save current top held in BASE (yes). 589 | mov L:RB->top, BASE // Save current top held in BASE (yes).
590 | mov NRESULTS, RD // Need to fill only remainder with nil. 590 | mov NRESULTS, RD // Need to fill only remainder with nil.
591 |.if X64 591 | mov FCARG2, RA
592 | mov CARG2d, RA // Caveat: CARG1d may be RA. 592 | mov FCARG1, L:RB
593 | mov CARG1d, L:RB 593 | call extern lj_state_growstack@8 // (lua_State *L, int n)
594 |.else
595 | mov ARG2, RA // Grow by wanted nresults+1.
596 | mov ARG1, L:RB
597 |.endif
598 | call extern lj_state_growstack // (lua_State *L, int n)
599 | mov BASE, L:RB->top // Need the (realloced) L->top in BASE. 594 | mov BASE, L:RB->top // Need the (realloced) L->top in BASE.
600 | jmp <3 595 | jmp <3
601 | 596 |
@@ -653,11 +648,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
653 |//-- Grow stack on-demand ----------------------------------------------- 648 |//-- Grow stack on-demand -----------------------------------------------
654 | 649 |
655 |->gate_c_growstack: // Grow stack for C function. 650 |->gate_c_growstack: // Grow stack for C function.
656 |.if X64 651 | mov FCARG2, LUA_MINSTACK
657 | mov CARG2d, LUA_MINSTACK
658 |.else
659 | mov ARG2, LUA_MINSTACK
660 |.endif
661 | jmp >1 652 | jmp >1
662 | 653 |
663 |->gate_lv_growstack: // Grow stack for vararg Lua function. 654 |->gate_lv_growstack: // Grow stack for vararg Lua function.
@@ -677,17 +668,12 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
677 | mov L:RB->base, BASE 668 | mov L:RB->base, BASE
678 | mov L:RB->top, RC 669 | mov L:RB->top, RC
679 | mov SAVE_PC, PC 670 | mov SAVE_PC, PC
680 |.if X64 671 | mov FCARG2, RA
681 | mov CARG2d, RA
682 | mov CARG1d, L:RB // Caveat: CARG1d may be RA.
683 |.else
684 | mov ARG2, RA
685 | mov ARG1, L:RB
686 |.endif
687 |1: 672 |1:
673 | mov FCARG1, L:RB
688 | // L:RB = L, L->base = new base, L->top = top 674 | // L:RB = L, L->base = new base, L->top = top
689 | // SAVE_PC = initial PC+1 (undefined for C functions) 675 | // SAVE_PC = initial PC+1 (undefined for C functions)
690 | call extern lj_state_growstack // (lua_State *L, int n) 676 | call extern lj_state_growstack@8 // (lua_State *L, int n)
691 | mov RA, L:RB->base 677 | mov RA, L:RB->base
692 | mov RC, L:RB->top 678 | mov RC, L:RB->top
693 | mov LFUNC:RB, [RA-8] 679 | mov LFUNC:RB, [RA-8]
@@ -1189,20 +1175,12 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1189 | jmp aword LFUNC:RB->gate 1175 | jmp aword LFUNC:RB->gate
1190 | 1176 |
1191 |->vmeta_len: 1177 |->vmeta_len:
1192 |.if X64
1193 | mov L:RB, SAVE_L 1178 | mov L:RB, SAVE_L
1194 | mov L:RB->base, BASE // Caveat: CARG2d may be BASE.
1195 | lea CARG2d, [BASE+RD*8]
1196 | mov CARG1d, L:RB
1197 |.else
1198 | lea RD, [BASE+RD*8]
1199 | mov L:RB, SAVE_L
1200 | mov ARG2, RD
1201 | mov ARG1, L:RB
1202 | mov L:RB->base, BASE 1179 | mov L:RB->base, BASE
1203 |.endif 1180 | lea FCARG2, [BASE+RD*8] // Caveat: FCARG2 == BASE
1181 | mov L:FCARG1, L:RB
1204 | mov SAVE_PC, PC 1182 | mov SAVE_PC, PC
1205 | call extern lj_meta_len // (lua_State *L, TValue *o) 1183 | call extern lj_meta_len@8 // (lua_State *L, TValue *o)
1206 | // TValue * (metamethod) returned in eax (RC). 1184 | // TValue * (metamethod) returned in eax (RC).
1207 | mov BASE, L:RB->base 1185 | mov BASE, L:RB->base
1208 | jmp ->vmeta_binop // Binop call for compatibility. 1186 | jmp ->vmeta_binop // Binop call for compatibility.
@@ -1243,19 +1221,12 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1243 |//-- Argument coercion for 'for' statement ------------------------------ 1221 |//-- Argument coercion for 'for' statement ------------------------------
1244 | 1222 |
1245 |->vmeta_for: 1223 |->vmeta_for:
1246 |.if X64
1247 | mov L:RB, SAVE_L
1248 | mov L:RB->base, BASE // Caveat: CARG2d may be BASE.
1249 | mov CARG2d, RA
1250 | mov CARG1d, L:RB // Caveat: CARG1d may be RA.
1251 |.else
1252 | mov L:RB, SAVE_L 1224 | mov L:RB, SAVE_L
1253 | mov ARG2, RA
1254 | mov ARG1, L:RB
1255 | mov L:RB->base, BASE 1225 | mov L:RB->base, BASE
1256 |.endif 1226 | mov FCARG2, RA // Caveat: FCARG2 == BASE
1227 | mov L:FCARG1, L:RB // Caveat: FCARG1 == RA
1257 | mov SAVE_PC, PC 1228 | mov SAVE_PC, PC
1258 | call extern lj_meta_for // (lua_State *L, TValue *base) 1229 | call extern lj_meta_for@8 // (lua_State *L, TValue *base)
1259 | mov BASE, L:RB->base 1230 | mov BASE, L:RB->base
1260 | mov RC, [PC-4] 1231 | mov RC, [PC-4]
1261 | movzx RA, RCH 1232 | movzx RA, RCH
@@ -1572,30 +1543,20 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1572 |.ffunc_1 ipairs_aux 1543 |.ffunc_1 ipairs_aux
1573 | cmp dword [RA+4], LJ_TTAB; jne ->fff_fallback 1544 | cmp dword [RA+4], LJ_TTAB; jne ->fff_fallback
1574 | cmp dword [RA+12], LJ_TISNUM; ja ->fff_fallback 1545 | cmp dword [RA+12], LJ_TISNUM; ja ->fff_fallback
1575 | // Caveat: xmm0/xmm1/ARG2 used in getinth call, too.
1576 if (sse) { 1546 if (sse) {
1577 | movsd xmm0, qword [RA+8] 1547 | movsd xmm0, qword [RA+8]
1578 | sseconst_1 xmm1, RBa 1548 | sseconst_1 xmm1, RBa
1579 |.if X64WIN
1580 | addsd xmm1, xmm0
1581 | cvtsd2si RC, xmm1
1582 | movsd qword [RA-8], xmm1
1583 |.else
1584 | addsd xmm0, xmm1 1549 | addsd xmm0, xmm1
1585 | cvtsd2si RC, xmm0 1550 | cvtsd2si RC, xmm0
1586 | movsd qword [RA-8], xmm0 1551 | movsd qword [RA-8], xmm0
1587 | .if not X64
1588 | mov ARG2, RC
1589 | .endif
1590 |.endif
1591 } else { 1552 } else {
1592 |.if not X64 1553 |.if not X64
1593 | fld qword [RA+8] 1554 | fld qword [RA+8]
1594 | fld1 1555 | fld1
1595 | faddp st1 1556 | faddp st1
1596 | fist ARG2 1557 | fist ARG1
1597 | fstp qword [RA-8] 1558 | fstp qword [RA-8]
1598 | mov RC, ARG2 1559 | mov RC, ARG1
1599 |.endif 1560 |.endif
1600 } 1561 }
1601 | mov TAB:RB, [RA] 1562 | mov TAB:RB, [RA]
@@ -1611,14 +1572,15 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1611 | jmp ->fff_res2 1572 | jmp ->fff_res2
1612 |2: // Check for empty hash part first. Otherwise call C function. 1573 |2: // Check for empty hash part first. Otherwise call C function.
1613 | cmp dword TAB:RB->hmask, 0; je ->fff_res0 1574 | cmp dword TAB:RB->hmask, 0; je ->fff_res0
1614 |.if X64
1615 | mov CARG1d, TAB:RB
1616 |.else
1617 | mov ARG1, TAB:RB
1618 |.endif
1619 | mov TMP1, BASE // Save BASE and RA. 1575 | mov TMP1, BASE // Save BASE and RA.
1576 |.if X64 and not X64WIN
1577 | mov FCARG1, TAB:RB
1620 | mov RB, RA 1578 | mov RB, RA
1621 | call extern lj_tab_getinth // (GCtab *t, int32_t key) 1579 |.else
1580 | xchg FCARG1, TAB:RB // Caveat: FCARG1 == RA
1581 |.endif
1582 | mov FCARG2, RC
1583 | call extern lj_tab_getinth@8 // (GCtab *t, int32_t key)
1622 | // cTValue * or NULL returned in eax (RC). 1584 | // cTValue * or NULL returned in eax (RC).
1623 | mov RA, RB 1585 | mov RA, RB
1624 | mov BASE, TMP1 1586 | mov BASE, TMP1
@@ -1825,28 +1787,22 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1825 | mov RD, 1+2 // nresults+1 = 1 + false + error. 1787 | mov RD, 1+2 // nresults+1 = 1 + false + error.
1826 | jmp <7 1788 | jmp <7
1827 |.else 1789 |.else
1828 |.if X64 1790 | mov FCARG2, L:PC
1829 | mov CARG2d, L:PC 1791 | mov FCARG1, L:RB
1830 | mov CARG1d, L:RB 1792 | call extern lj_ffh_coroutine_wrap_err@8 // (lua_State *L, lua_State *co)
1831 |.else
1832 | mov ARG2, L:PC
1833 | mov ARG1, L:RB
1834 |.endif
1835 | call extern lj_ffh_coroutine_wrap_err // (lua_State *L, lua_State *co)
1836 | // Error function does not return. 1793 | // Error function does not return.
1837 |.endif 1794 |.endif
1838 | 1795 |
1839 |9: // Handle stack expansion on return from yield. 1796 |9: // Handle stack expansion on return from yield.
1840 | mov L:RA, ARG1 // The callee doesn't modify SAVE_L.
1841 | mov L:RA->top, KBASE // Undo coroutine stack clearing.
1842 |.if X64 1797 |.if X64
1843 | mov CARG2d, PC 1798 | mov L:RA, TMP1
1844 | mov CARG1d, L:RB
1845 |.else 1799 |.else
1846 | mov ARG2, PC 1800 | mov L:RA, ARG1 // The callee doesn't modify SAVE_L.
1847 | mov ARG1, L:RB
1848 |.endif 1801 |.endif
1849 | call extern lj_state_growstack // (lua_State *L, int n) 1802 | mov L:RA->top, KBASE // Undo coroutine stack clearing.
1803 | mov FCARG2, PC
1804 | mov FCARG1, L:RB
1805 | call extern lj_state_growstack@8 // (lua_State *L, int n)
1850 | mov BASE, L:RB->base 1806 | mov BASE, L:RB->base
1851 | jmp <4 // Retry the stack move. 1807 | jmp <4 // Retry the stack move.
1852 |.endmacro 1808 |.endmacro
@@ -2493,13 +2449,17 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2493 | mov TMP1, BASE // Save old BASE (relative). 2449 | mov TMP1, BASE // Save old BASE (relative).
2494 | mov L:RB->base, RA 2450 | mov L:RB->base, RA
2495 | lea RC, [RA+NARGS:RC*8-8] 2451 | lea RC, [RA+NARGS:RC*8-8]
2496 | mov ARG1, L:RB
2497 | lea BASE, [RC+8*LUA_MINSTACK] // Ensure enough space for handler. 2452 | lea BASE, [RC+8*LUA_MINSTACK] // Ensure enough space for handler.
2498 | mov L:RB->top, RC 2453 | mov L:RB->top, RC
2499 | mov CFUNC:RA, [RA-8] 2454 | mov CFUNC:RC, [RA-8]
2500 | cmp BASE, L:RB->maxstack 2455 | cmp BASE, L:RB->maxstack
2501 | ja >5 // Need to grow stack. 2456 | ja >5 // Need to grow stack.
2502 | call aword CFUNC:RA->f // (lua_State *L) 2457 |.if X64
2458 | mov CARG1d, L:RB
2459 |.else
2460 | mov ARG1, L:RB
2461 |.endif
2462 | call aword CFUNC:RC->f // (lua_State *L)
2503 | // Either throws an error or recovers and returns 0 or NRESULTS (+1). 2463 | // Either throws an error or recovers and returns 0 or NRESULTS (+1).
2504 | test RC, RC; jnz >3 2464 | test RC, RC; jnz >3
2505 |1: // Returned 0: retry fast path. 2465 |1: // Returned 0: retry fast path.
@@ -2526,8 +2486,9 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2526 | jmp ->fff_res 2486 | jmp ->fff_res
2527 | 2487 |
2528 |5: // Grow stack for fallback handler. 2488 |5: // Grow stack for fallback handler.
2529 | mov ARG2, LUA_MINSTACK 2489 | mov FCARG2, LUA_MINSTACK
2530 | call extern lj_state_growstack // (lua_State *L, int n) 2490 | mov FCARG1, L:RB
2491 | call extern lj_state_growstack@8 // (lua_State *L, int n)
2531 | jmp <1 // Dumb retry (goes through ff first). 2492 | jmp <1 // Dumb retry (goes through ff first).
2532 | 2493 |
2533 |->fff_gcstep: // Call GC step function. 2494 |->fff_gcstep: // Call GC step function.
@@ -2541,13 +2502,9 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2541 | mov SAVE_PC, PC // Redundant (but a defined value). 2502 | mov SAVE_PC, PC // Redundant (but a defined value).
2542 | mov L:RB->base, RA 2503 | mov L:RB->base, RA
2543 | lea RC, [RA+NARGS:RC*8-8] 2504 | lea RC, [RA+NARGS:RC*8-8]
2544 |.if X64 2505 | mov FCARG1, L:RB
2545 | mov CARG1d, L:RB
2546 |.else
2547 | mov ARG1, L:RB
2548 |.endif
2549 | mov L:RB->top, RC 2506 | mov L:RB->top, RC
2550 | call extern lj_gc_step // (lua_State *L) 2507 | call extern lj_gc_step@4 // (lua_State *L)
2551 | mov RA, L:RB->base 2508 | mov RA, L:RB->base
2552 | mov RC, L:RB->top 2509 | mov RC, L:RB->top
2553 | sub RC, RA 2510 | sub RC, RA
@@ -2619,17 +2576,11 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2619#if LJ_HASJIT 2576#if LJ_HASJIT
2620 | mov L:RB, SAVE_L 2577 | mov L:RB, SAVE_L
2621 | mov L:RB->base, BASE 2578 | mov L:RB->base, BASE
2622 |.if X64 2579 | mov FCARG2, PC
2623 | mov CARG2d, PC 2580 | lea FCARG1, [DISPATCH+GG_DISP2J]
2624 | lea CARG1d, [DISPATCH+GG_DISP2J]
2625 |.else
2626 | lea RA, [DISPATCH+GG_DISP2J]
2627 | mov ARG2, PC
2628 | mov ARG1, RA
2629 |.endif
2630 | mov [DISPATCH+DISPATCH_J(L)], L:RB 2581 | mov [DISPATCH+DISPATCH_J(L)], L:RB
2631 | mov SAVE_PC, PC 2582 | mov SAVE_PC, PC
2632 | call extern lj_trace_hot // (jit_State *J, const BCIns *pc) 2583 | call extern lj_trace_hot@8 // (jit_State *J, const BCIns *pc)
2633 | jmp <4 2584 | jmp <4
2634#endif 2585#endif
2635 | 2586 |
@@ -2637,17 +2588,11 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2637#if LJ_HASJIT 2588#if LJ_HASJIT
2638 | mov L:RB, SAVE_L 2589 | mov L:RB, SAVE_L
2639 | mov L:RB->base, BASE 2590 | mov L:RB->base, BASE
2640 |.if X64 2591 | mov FCARG2, PC
2641 | mov CARG2d, PC 2592 | lea FCARG1, [DISPATCH+GG_DISP2J]
2642 | lea CARG1d, [DISPATCH+GG_DISP2J]
2643 |.else
2644 | lea RA, [DISPATCH+GG_DISP2J]
2645 | mov ARG2, PC
2646 | mov ARG1, RA
2647 |.endif
2648 | mov [DISPATCH+DISPATCH_J(L)], L:RB 2593 | mov [DISPATCH+DISPATCH_J(L)], L:RB
2649 | mov SAVE_PC, PC 2594 | mov SAVE_PC, PC
2650 | call extern lj_trace_hot // (jit_State *J, const BCIns *pc) 2595 | call extern lj_trace_hot@8 // (jit_State *J, const BCIns *pc)
2651 | mov BASE, L:RB->base 2596 | mov BASE, L:RB->base
2652 | // Dispatch the first instruction and optionally record it. 2597 | // Dispatch the first instruction and optionally record it.
2653 | ins_next 2598 | ins_next
@@ -2689,12 +2634,10 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2689 | mov L:RB, [DISPATCH+DISPATCH_GL(jit_L)] 2634 | mov L:RB, [DISPATCH+DISPATCH_GL(jit_L)]
2690 | mov BASE, [DISPATCH+DISPATCH_GL(jit_base)] 2635 | mov BASE, [DISPATCH+DISPATCH_GL(jit_base)]
2691 | mov [DISPATCH+DISPATCH_J(L)], L:RB 2636 | mov [DISPATCH+DISPATCH_J(L)], L:RB
2692 | lea RC, [esp+16]
2693 | mov L:RB->base, BASE 2637 | mov L:RB->base, BASE
2694 | lea RA, [DISPATCH+GG_DISP2J] 2638 | lea FCARG2, [esp+16]
2695 | mov ARG2, RC 2639 | lea FCARG1, [DISPATCH+GG_DISP2J]
2696 | mov ARG1, RA 2640 | call extern lj_trace_exit@8 // (jit_State *J, ExitState *ex)
2697 | call extern lj_trace_exit // (jit_State *J, ExitState *ex)
2698 | // Interpreter C frame returned in eax. 2641 | // Interpreter C frame returned in eax.
2699 | mov esp, eax // Reposition stack to C frame. 2642 | mov esp, eax // Reposition stack to C frame.
2700 | mov BASE, L:RB->base 2643 | mov BASE, L:RB->base
@@ -3863,11 +3806,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3863 | mov L:RB, SAVE_L 3806 | mov L:RB, SAVE_L
3864 | cmp dword L:RB->openupval, 0 3807 | cmp dword L:RB->openupval, 0
3865 | je >1 3808 | je >1
3866 | lea RA, [BASE+RA*8]
3867 | mov ARG2, RA
3868 | mov ARG1, L:RB
3869 | mov L:RB->base, BASE 3809 | mov L:RB->base, BASE
3870 | call extern lj_func_closeuv // (lua_State *L, TValue *level) 3810 | lea FCARG2, [BASE+RA*8] // Caveat: FCARG2 == BASE
3811 | mov L:FCARG1, L:RB // Caveat: FCARG1 == RA
3812 | call extern lj_func_closeuv@8 // (lua_State *L, TValue *level)
3871 | mov BASE, L:RB->base 3813 | mov BASE, L:RB->base
3872 |1: 3814 |1:
3873 | ins_next 3815 | ins_next
@@ -4456,7 +4398,6 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
4456 | jbe <3 // No vararg slots? 4398 | jbe <3 // No vararg slots?
4457 | mov RB, RC 4399 | mov RB, RC
4458 | shr RB, 3 4400 | shr RB, 3
4459 | mov ARG2, RB // Store this for stack growth below.
4460 | add RB, 1 4401 | add RB, 1
4461 | mov NRESULTS, RB // NRESULTS = #varargs+1 4402 | mov NRESULTS, RB // NRESULTS = #varargs+1
4462 | mov L:RB, SAVE_L 4403 | mov L:RB, SAVE_L
@@ -4479,8 +4420,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
4479 | mov L:RB->top, RA 4420 | mov L:RB->top, RA
4480 | mov SAVE_PC, PC 4421 | mov SAVE_PC, PC
4481 | sub KBASE, BASE // Need delta, because BASE may change. 4422 | sub KBASE, BASE // Need delta, because BASE may change.
4482 | mov ARG1, L:RB 4423 | mov FCARG2, NRESULTS
4483 | call extern lj_state_growstack // (lua_State *L, int n) 4424 | sub FCARG2, 1
4425 | mov FCARG1, L:RB
4426 | call extern lj_state_growstack@8 // (lua_State *L, int n)
4484 | mov BASE, L:RB->base 4427 | mov BASE, L:RB->base
4485 | mov RA, L:RB->top 4428 | mov RA, L:RB->top
4486 | add KBASE, BASE 4429 | add KBASE, BASE
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index f1f14e70..bd2c7812 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15226] = { 15static const unsigned char build_actionlist[15184] = {
16 254,1,248,10,137,202,139,173,233,137,114,252,252,15,182,141,233,139,181,233, 16 254,1,248,10,137,202,139,173,233,137,114,252,252,15,182,141,233,139,181,233,
17 139,189,233,139,108,36,48,141,12,202,141,68,194,252,252,59,141,233,15,135, 17 139,189,233,139,108,36,48,141,12,202,141,68,194,252,252,59,141,233,15,135,
18 244,11,248,9,189,237,248,1,137,40,137,104,8,131,192,16,57,200,15,130,244, 18 244,11,248,9,189,237,248,1,137,40,137,104,8,131,192,16,57,200,15,130,244,
@@ -39,687 +39,687 @@ static const unsigned char build_actionlist[15226] = {
39 49,192,248,22,131,196,28,91,94,95,93,195,248,6,15,130,244,253,59,149,233, 39 49,192,248,22,131,196,28,91,94,95,93,195,248,6,15,130,244,253,59,149,233,
40 15,135,244,254,199,66,252,252,237,131,194,8,131,192,1,252,233,244,4,248,7, 40 15,135,244,254,199,66,252,252,237,131,194,8,131,192,1,252,233,244,4,248,7,
41 133,201,15,132,244,5,41,193,141,20,202,252,233,244,5,248,8,137,149,233,255, 41 133,201,15,132,244,5,41,193,141,20,202,252,233,244,5,248,8,137,149,233,255,
42 137,68,36,20,137,76,36,4,137,44,36,232,251,1,0,139,149,233,252,233,244,3, 42 137,68,36,20,137,202,137,252,233,232,251,1,0,139,149,233,252,233,244,3,248,
43 248,23,139,76,36,4,139,68,36,8,129,225,239,137,204,139,108,36,48,139,173, 43 23,139,76,36,4,139,68,36,8,129,225,239,137,204,139,108,36,48,139,173,233,
44 233,199,133,233,237,252,233,244,22,248,24,139,76,36,4,129,225,239,137,204, 44 199,133,233,237,252,233,244,22,248,24,139,76,36,4,129,225,239,137,204,139,
45 139,108,36,48,185,252,248,252,255,252,255,252,255,184,237,139,149,233,139, 45 108,36,48,185,252,248,252,255,252,255,252,255,184,237,139,149,233,139,157,
46 157,233,129,195,239,139,114,252,252,199,66,252,252,237,199,131,233,237,252, 46 233,129,195,239,139,114,252,252,199,66,252,252,237,199,131,233,237,252,233,
47 233,244,16,248,20,255,252,247,198,237,15,132,244,25,131,230,252,248,41,252, 47 244,16,248,20,255,252,247,198,237,15,132,244,25,131,230,252,248,41,252,242,
48 242,141,76,49,252,248,139,114,252,252,199,68,10,4,237,252,233,244,16,248, 48 141,76,49,252,248,139,114,252,252,199,68,10,4,237,252,233,244,16,248,15,186,
49 15,199,68,36,4,237,252,233,244,247,248,13,131,232,8,137,202,137,252,249,139, 49 237,252,233,244,247,248,13,131,232,8,137,202,137,252,249,139,181,233,139,
50 181,233,139,108,36,48,248,11,131,232,4,41,209,193,252,233,3,131,198,4,137, 50 108,36,48,248,11,131,232,4,41,209,193,252,233,3,131,198,4,137,149,233,137,
51 149,233,137,133,233,137,116,36,24,137,76,36,4,137,44,36,248,1,232,251,1,0, 51 133,233,137,116,36,24,137,202,248,1,137,252,233,232,251,1,0,139,141,233,139,
52 139,141,233,139,133,233,139,105,252,248,139,113,252,252,41,200,193,232,3, 52 133,233,139,105,252,248,139,113,252,252,41,200,193,232,3,131,192,1,252,255,
53 131,192,1,252,255,165,233,248,26,255,85,87,86,83,131,252,236,28,139,108,36, 53 165,233,248,26,255,85,87,86,83,131,252,236,28,139,108,36,48,139,76,36,52,
54 48,139,76,36,52,190,237,49,192,141,188,253,36,233,139,157,233,129,195,239, 54 190,237,49,192,141,188,253,36,233,139,157,233,129,195,239,137,189,233,137,
55 137,189,233,137,68,36,24,137,68,36,52,56,133,233,15,132,244,249,199,131,233, 55 68,36,24,137,68,36,52,56,133,233,15,132,244,249,199,131,233,237,136,133,233,
56 237,136,133,233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209, 56 139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,
57 139,114,252,252,137,68,36,20,252,247,198,237,15,132,244,17,252,233,244,18, 57 137,68,36,20,252,247,198,237,15,132,244,17,252,233,244,18,248,27,85,87,86,
58 248,27,85,87,86,83,131,252,236,28,190,237,255,252,233,244,247,248,28,85,87, 58 83,131,252,236,28,190,237,255,252,233,244,247,248,28,85,87,86,83,131,252,
59 86,83,131,252,236,28,190,237,248,1,139,108,36,48,139,76,36,52,248,2,139,189, 59 236,28,190,237,248,1,139,108,36,48,139,76,36,52,248,2,139,189,233,137,124,
60 233,137,124,36,52,137,108,36,24,137,165,233,139,157,233,129,195,239,248,3, 60 36,52,137,108,36,24,137,165,233,139,157,233,129,195,239,248,3,199,131,233,
61 199,131,233,237,139,149,233,1,206,41,214,139,133,233,41,200,193,232,3,131, 61 237,139,149,233,1,206,41,214,139,133,233,41,200,193,232,3,131,192,1,139,105,
62 192,1,139,105,252,248,129,121,253,252,252,239,15,133,244,29,252,255,165,233, 62 252,248,129,121,253,252,252,239,15,133,244,29,252,255,165,233,248,30,255,
63 248,30,255,85,87,86,83,131,252,236,28,139,108,36,48,139,68,36,56,139,76,36, 63 85,87,86,83,131,252,236,28,139,108,36,48,139,68,36,56,139,76,36,52,139,84,
64 52,139,84,36,60,137,108,36,24,139,189,233,43,189,233,199,68,36,60,0,0,0,0, 64 36,60,137,108,36,24,139,189,233,43,189,233,199,68,36,60,0,0,0,0,137,124,36,
65 137,124,36,56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52, 65 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233,
66 137,165,233,252,255,210,133,192,15,132,244,21,137,193,190,237,252,233,244, 66 252,255,210,133,192,15,132,244,21,137,193,190,237,252,233,244,2,248,25,1,
67 2,248,25,1,209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237, 67 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,
68 137,200,139,117,252,244,139,77,252,240,139,122,252,248,139,191,233,139,191, 68 117,252,244,139,77,252,240,139,122,252,248,139,191,233,139,191,233,252,255,
69 233,252,255,225,248,31,15,182,78,252,255,131,252,237,16,141,12,202,41,252, 69 225,248,31,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15,132,
70 233,15,132,244,32,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137, 70 244,32,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,77,4,137,
71 77,4,137,69,0,137,108,36,4,252,233,244,33,248,34,137,68,36,16,199,68,36,20, 71 69,0,137,108,36,4,252,233,244,33,248,34,137,68,36,16,199,68,36,20,237,255,
72 237,255,141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41, 72 141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65,
73 199,65,4,237,137,205,252,233,244,248,248,35,15,182,70,252,254,255,252,242, 73 4,237,137,205,252,233,244,248,248,35,15,182,70,252,254,255,252,242,15,42,
74 15,42,192,252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92,36, 74 192,252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92,36,16,255,
75 16,255,141,68,36,16,252,233,244,247,248,36,15,182,70,252,254,141,4,194,248, 75 141,68,36,16,252,233,244,247,248,36,15,182,70,252,254,141,4,194,248,1,15,
76 1,15,182,110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137, 76 182,110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,
77 68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133,192, 77 8,137,44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133,192,15,
78 15,132,244,249,248,32,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137, 78 132,244,249,248,32,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,4,
79 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 79 202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,
80 3,139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,3,0, 80 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,3,0,0,
81 0,0,252,255,165,233,248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128, 81 0,252,255,165,233,248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,
82 126,252,252,235,15,133,244,247,141,139,233,255,137,41,199,65,4,237,137,205, 82 252,252,235,15,133,244,247,141,139,233,255,137,41,199,65,4,237,137,205,252,
83 252,233,244,248,248,38,15,182,70,252,254,255,141,68,36,16,252,233,244,247, 83 233,244,248,248,38,15,182,70,252,254,255,141,68,36,16,252,233,244,247,248,
84 248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234, 84 39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,
85 248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116, 85 2,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,
86 36,24,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139, 86 24,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139,108,
87 108,202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204,15,182,232,131, 87 202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204,15,182,232,131,198,
88 198,4,193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182, 88 4,193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182,70,252,
89 70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214, 89 253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214,139,105,
90 139,105,252,248,184,4,0,0,0,252,255,165,233,248,41,15,182,110,252,252,141, 90 252,248,184,4,0,0,0,252,255,165,233,248,41,15,182,110,252,252,141,4,194,141,
91 4,194,141,12,202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137, 91 12,202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,
92 44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139,149,233,131,252,248, 92 149,233,137,116,36,24,232,251,1,3,248,3,139,149,233,131,252,248,1,15,135,
93 1,15,135,244,42,248,4,255,141,118,4,15,130,244,252,248,5,15,183,70,252,254, 93 244,42,248,4,255,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,
94 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 94 253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
95 252,255,36,171,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244, 95 36,171,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,
96 6,248,44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,137,108,36, 96 44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,137,108,36,12,139,
97 12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,137,116,36, 97 108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,137,116,36,24,232,
98 24,232,251,1,4,252,233,244,3,248,46,255,141,4,199,252,233,244,247,248,47, 98 251,1,4,252,233,244,3,248,46,255,141,4,199,252,233,244,247,248,47,141,4,199,
99 141,4,199,141,44,252,234,149,252,233,244,248,248,48,141,4,194,137,197,252, 99 141,44,252,234,149,252,233,244,248,248,48,141,4,194,137,197,252,233,244,248,
100 233,244,248,248,49,141,4,194,248,1,141,44,252,234,248,2,141,12,202,137,108, 100 248,49,141,4,194,248,1,141,44,252,234,248,2,141,12,202,137,108,36,8,139,108,
101 36,8,139,108,36,48,137,68,36,12,15,182,70,252,252,137,76,36,4,137,68,36,16, 101 36,48,137,68,36,12,15,182,70,252,252,137,76,36,4,137,68,36,16,137,44,36,137,
102 137,44,36,137,149,233,137,116,36,24,232,251,1,5,139,149,233,133,192,15,132, 102 149,233,137,116,36,24,232,251,1,5,139,149,233,133,192,15,132,244,40,248,42,
103 244,40,248,42,137,193,41,208,137,113,252,244,141,176,233,139,105,252,248, 103 137,193,41,208,137,113,252,244,141,176,233,139,105,252,248,184,3,0,0,0,129,
104 184,3,0,0,0,129,121,253,252,252,239,15,133,244,29,255,252,255,165,233,248, 104 121,253,252,252,239,15,133,244,29,255,252,255,165,233,248,50,139,108,36,48,
105 50,141,4,194,139,108,36,48,137,68,36,4,137,44,36,137,149,233,137,116,36,24, 105 137,149,233,141,20,194,137,252,233,137,116,36,24,232,251,1,6,139,149,233,
106 232,251,1,6,139,149,233,252,233,244,42,248,29,137,76,36,20,137,68,36,16,131, 106 252,233,244,42,248,29,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193,139,
107 252,233,8,141,4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149, 107 108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,
108 233,137,116,36,24,232,251,1,7,139,149,233,139,76,36,20,139,68,36,16,139,105, 108 251,1,7,139,149,233,139,76,36,20,139,68,36,16,139,105,252,248,131,192,1,57,
109 252,248,131,192,1,57,215,15,132,244,51,252,255,165,233,248,52,139,108,36, 109 215,15,132,244,51,252,255,165,233,248,52,139,108,36,48,137,149,233,137,202,
110 48,137,76,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,8,139,149,233, 110 137,252,233,137,116,36,24,232,251,1,8,139,149,233,139,70,252,252,15,182,204,
111 139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,248, 111 15,182,232,193,232,16,252,255,164,253,171,233,248,53,129,252,248,239,15,130,
112 53,129,252,248,239,15,130,244,54,255,139,105,4,129,252,253,239,15,131,244, 112 244,54,255,139,105,4,129,252,253,239,15,131,244,54,137,68,36,20,137,105,252,
113 54,137,68,36,20,137,105,252,252,139,41,137,105,252,248,131,232,2,15,132,244, 113 252,139,41,137,105,252,248,131,232,2,15,132,244,248,137,76,36,16,248,1,131,
114 248,137,76,36,16,248,1,131,193,8,139,105,4,137,105,252,252,139,41,137,105, 114 193,8,139,105,4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,
115 252,248,131,232,1,15,133,244,1,139,76,36,16,248,2,139,68,36,20,252,233,244, 115 1,139,76,36,16,248,2,139,68,36,20,252,233,244,55,248,56,129,252,248,239,15,
116 55,248,56,129,252,248,239,15,130,244,54,139,105,4,184,237,252,247,213,57, 116 130,244,54,139,105,4,184,237,252,247,213,57,232,255,15,71,197,255,15,134,
117 232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,139,105,252,248,139, 117 244,247,137,232,248,1,255,139,105,252,248,139,132,253,197,233,199,65,252,
118 132,253,197,233,199,65,252,252,237,137,65,252,248,252,233,244,57,248,58,129, 118 252,237,137,65,252,248,252,233,244,57,248,58,129,252,248,239,15,130,244,54,
119 252,248,239,15,130,244,54,139,105,4,129,252,253,239,15,133,244,252,248,1, 119 139,105,4,129,252,253,239,15,133,244,252,248,1,139,41,139,173,233,248,2,133,
120 139,41,139,173,233,248,2,133,252,237,199,65,252,252,237,15,132,244,57,139, 120 252,237,199,65,252,252,237,15,132,244,57,139,65,252,248,139,131,233,199,65,
121 65,252,248,139,131,233,199,65,252,252,237,137,105,252,248,137,76,36,16,139, 121 252,252,237,137,105,252,248,137,76,36,16,139,141,233,255,35,136,233,105,201,
122 141,233,255,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133, 122 239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,
123 244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3, 123 251,248,4,139,137,233,133,201,15,133,244,3,252,233,244,57,248,5,139,105,4,
124 252,233,244,57,248,5,139,105,4,129,252,253,239,15,132,244,57,255,139,1,139, 124 129,252,253,239,15,132,244,57,255,139,1,139,76,36,16,137,105,252,252,137,
125 76,36,16,137,105,252,252,137,65,252,248,252,233,244,57,248,6,129,252,253, 125 65,252,248,252,233,244,57,248,6,129,252,253,239,15,132,244,1,129,252,253,
126 239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213, 126 239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171,233,252,233,
127 139,172,253,171,233,252,233,244,2,248,59,129,252,248,239,15,130,244,54,129, 127 244,2,248,59,129,252,248,239,15,130,244,54,129,121,253,4,239,15,133,244,54,
128 121,253,4,239,15,133,244,54,255,139,41,131,189,233,0,15,133,244,54,129,121, 128 255,139,41,131,189,233,0,15,133,244,54,129,121,253,12,239,15,133,244,54,139,
129 253,12,239,15,133,244,54,139,65,8,137,133,233,199,65,252,252,237,137,105, 129 65,8,137,133,233,199,65,252,252,237,137,105,252,248,252,246,133,233,235,15,
130 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131,233,137, 130 132,244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,252,
131 171,233,137,133,233,248,1,252,233,244,57,248,60,255,129,252,248,239,15,130, 131 233,244,57,248,60,255,129,252,248,239,15,130,244,54,129,121,253,4,239,15,
132 244,54,129,121,253,4,239,15,133,244,54,139,1,139,108,36,48,137,68,36,4,137, 132 133,244,54,139,1,139,108,36,48,137,68,36,4,137,44,36,137,205,137,84,36,16,
133 44,36,137,205,137,84,36,16,131,193,8,137,76,36,8,232,251,1,9,137,252,233, 133 131,193,8,137,76,36,8,232,251,1,9,137,252,233,139,84,36,16,139,40,139,64,
134 139,84,36,16,139,40,139,64,4,137,105,252,248,137,65,252,252,252,233,244,57, 134 4,137,105,252,248,137,65,252,252,252,233,244,57,248,61,129,252,248,239,15,
135 248,61,129,252,248,239,15,133,244,54,129,121,253,4,239,15,135,244,54,255, 135 133,244,54,129,121,253,4,239,15,135,244,54,255,252,242,15,16,1,252,233,244,
136 252,242,15,16,1,252,233,244,62,255,221,1,252,233,244,63,255,248,64,129,252, 136 62,255,221,1,252,233,244,63,255,248,64,129,252,248,239,15,130,244,54,129,
137 248,239,15,130,244,54,129,121,253,4,239,15,133,244,249,139,1,248,2,199,65, 137 121,253,4,239,15,133,244,249,139,1,248,2,199,65,252,252,237,137,65,252,248,
138 252,252,237,137,65,252,248,252,233,244,57,248,3,129,121,253,4,239,15,135, 138 252,233,244,57,248,3,129,121,253,4,239,15,135,244,54,131,187,233,0,15,133,
139 244,54,131,187,233,0,15,133,244,54,139,171,233,59,171,233,255,15,130,244, 139 244,54,139,171,233,59,171,233,255,15,130,244,247,232,244,65,248,1,139,108,
140 247,232,244,65,248,1,139,108,36,48,137,141,233,137,113,252,252,137,116,36, 140 36,48,137,141,233,137,113,252,252,137,116,36,24,137,84,36,16,137,202,137,
141 24,137,84,36,16,137,202,137,252,233,232,251,1,10,139,141,233,139,84,36,16, 141 252,233,232,251,1,10,139,141,233,139,84,36,16,252,233,244,2,248,66,129,252,
142 252,233,244,2,248,66,129,252,248,239,15,130,244,54,15,132,244,248,248,1,129, 142 248,239,15,130,244,54,15,132,244,248,248,1,129,121,253,4,239,15,133,244,54,
143 121,253,4,239,15,133,244,54,139,41,137,108,36,4,139,108,36,48,137,44,36,137, 143 139,41,137,108,36,4,139,108,36,48,137,44,36,137,141,233,255,137,113,252,252,
144 141,233,255,137,113,252,252,137,84,36,16,131,193,8,137,76,36,8,137,116,36, 144 137,84,36,16,131,193,8,137,76,36,8,137,116,36,24,232,251,1,11,139,141,233,
145 24,232,251,1,11,139,141,233,139,84,36,16,133,192,15,132,244,249,139,105,8, 145 139,84,36,16,133,192,15,132,244,249,139,105,8,139,65,12,137,105,252,248,137,
146 139,65,12,137,105,252,248,137,65,252,252,139,105,16,139,65,20,137,41,137, 146 65,252,252,139,105,16,139,65,20,137,41,137,65,4,248,67,184,237,252,233,244,
147 65,4,248,67,184,237,252,233,244,68,248,2,199,65,12,237,252,233,244,1,248, 147 68,248,2,199,65,12,237,252,233,244,1,248,3,199,65,252,252,237,252,233,244,
148 3,199,65,252,252,237,252,233,244,57,248,69,129,252,248,239,15,130,244,54, 148 57,248,69,129,252,248,239,15,130,244,54,129,121,253,4,239,255,15,133,244,
149 129,121,253,4,239,255,15,133,244,54,139,133,233,199,65,252,252,237,137,65, 149 54,139,133,233,199,65,252,252,237,137,65,252,248,199,65,12,237,184,237,252,
150 252,248,199,65,12,237,184,237,252,233,244,68,248,70,129,252,248,239,15,130, 150 233,244,68,248,70,129,252,248,239,15,130,244,54,129,121,253,4,239,15,133,
151 244,54,129,121,253,4,239,15,133,244,54,129,121,253,12,239,15,135,244,54,255, 151 244,54,129,121,253,12,239,15,135,244,54,255,252,242,15,16,65,8,189,0,0,252,
152 252,242,15,16,65,8,189,0,0,252,240,63,102,15,110,205,102,15,112,201,81,252, 152 240,63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,242,15,45,192,
153 242,15,88,193,252,242,15,45,192,252,242,15,17,65,252,248,137,68,36,4,255, 153 252,242,15,17,65,252,248,255,221,65,8,217,232,222,193,219,20,36,221,89,252,
154 221,65,8,217,232,222,193,219,84,36,4,221,89,252,248,139,68,36,4,255,139,41, 154 248,139,4,36,255,139,41,59,133,233,15,131,244,248,193,224,3,3,133,233,248,
155 59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15, 155 1,129,120,253,4,239,15,132,244,71,139,40,139,64,4,137,41,137,65,4,252,233,
156 132,244,71,139,40,139,64,4,137,41,137,65,4,252,233,244,67,248,2,131,189,233, 156 244,67,248,2,131,189,233,0,15,132,244,71,137,84,36,16,135,205,137,194,232,
157 0,15,132,244,71,137,44,36,137,84,36,16,137,205,232,251,1,12,137,252,233,139, 157 251,1,12,137,252,233,139,84,36,16,133,192,15,133,244,1,248,71,184,237,252,
158 84,36,16,133,192,15,133,244,1,248,71,184,237,252,233,244,68,248,72,255,129, 158 233,244,68,248,72,255,129,252,248,239,15,130,244,54,129,121,253,4,239,15,
159 252,248,239,15,130,244,54,129,121,253,4,239,15,133,244,54,139,133,233,199, 159 133,244,54,139,133,233,199,65,252,252,237,137,65,252,248,255,15,87,192,252,
160 65,252,252,237,137,65,252,248,255,15,87,192,252,242,15,17,65,8,255,217,252, 160 242,15,17,65,8,255,217,252,238,221,89,8,255,184,237,252,233,244,68,248,73,
161 238,221,89,8,255,184,237,252,233,244,68,248,73,129,252,248,239,15,130,244, 161 129,252,248,239,15,130,244,54,137,113,252,252,190,237,137,202,131,193,8,131,
162 54,137,113,252,252,190,237,137,202,131,193,8,131,232,1,139,105,252,248,248, 162 232,1,139,105,252,248,248,1,252,246,131,233,235,15,133,244,249,248,2,129,
163 1,252,246,131,233,235,15,133,244,249,248,2,129,121,253,252,252,239,15,133, 163 121,253,252,252,239,15,133,244,29,252,255,165,233,248,3,131,198,1,252,233,
164 244,29,252,255,165,233,248,3,131,198,1,252,233,244,2,248,74,255,129,252,248, 164 244,2,248,74,255,129,252,248,239,15,130,244,54,129,121,253,12,239,15,133,
165 239,15,130,244,54,129,121,253,12,239,15,133,244,54,137,113,252,252,139,105, 165 244,54,137,113,252,252,139,105,4,137,105,12,199,65,4,237,139,41,139,113,8,
166 4,137,105,12,199,65,4,237,139,41,139,113,8,137,105,8,137,49,190,237,137,202, 166 137,105,8,137,49,190,237,137,202,129,193,239,131,232,2,252,233,244,1,248,
167 129,193,239,131,232,2,252,233,244,1,248,9,139,116,36,24,252,233,244,54,248, 167 9,139,116,36,24,252,233,244,54,248,75,129,252,248,239,15,130,244,54,139,41,
168 75,129,252,248,239,15,130,244,54,139,41,137,113,252,252,137,116,36,24,137, 168 137,113,252,252,137,116,36,24,137,44,36,129,121,253,4,239,15,133,244,9,255,
169 44,36,129,121,253,4,239,15,133,244,9,255,131,189,233,0,15,133,244,9,128,189, 169 131,189,233,0,15,133,244,9,128,189,233,235,15,135,244,9,139,181,233,137,116,
170 233,235,15,135,244,9,139,181,233,137,116,36,4,15,132,244,247,59,181,233,15, 170 36,4,15,132,244,247,59,181,233,15,132,244,9,248,1,141,116,198,252,240,59,
171 132,244,9,248,1,141,116,198,252,240,59,181,233,15,135,244,9,137,181,233,139, 171 181,233,15,135,244,9,137,181,233,139,108,36,48,137,141,233,131,193,8,137,
172 108,36,48,137,141,233,131,193,8,137,141,233,255,139,108,36,4,141,76,193,232, 172 141,233,255,139,108,36,4,141,76,193,232,41,252,241,57,252,238,15,132,244,
173 41,252,241,57,252,238,15,132,244,249,248,2,139,68,14,4,137,70,252,252,139, 173 249,248,2,139,68,14,4,137,70,252,252,139,4,14,137,70,252,248,131,252,238,
174 4,14,137,70,252,248,131,252,238,8,57,252,238,15,133,244,2,248,3,49,201,137, 174 8,57,252,238,15,133,244,2,248,3,49,201,137,76,36,12,137,76,36,8,232,244,26,
175 76,36,12,137,76,36,8,232,244,26,199,131,233,237,139,108,36,48,139,52,36,139, 175 199,131,233,237,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,
176 149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137, 176 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,
177 142,233,137,252,254,41,206,15,132,244,252,255,141,4,50,193,252,238,3,59,133, 177 244,252,255,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,41,205,
178 233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41, 178 248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,
179 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248, 179 5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24,137,68,36,20,185,
180 7,139,116,36,24,137,68,36,20,185,252,248,252,255,252,255,252,255,252,247, 180 252,248,252,255,252,255,252,255,252,247,198,237,15,132,244,17,252,233,244,
181 198,237,15,132,244,17,252,233,244,18,248,8,199,66,252,252,237,139,142,233, 181 18,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233,139,1,137,
182 131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244, 182 2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,255,139,12,36,137,185,233,
183 7,248,9,255,139,12,36,137,185,233,137,116,36,4,137,44,36,232,251,1,0,139, 183 137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,248,9,139,116,
184 149,233,252,233,244,4,248,9,139,116,36,24,252,233,244,54,248,76,139,173,233, 184 36,24,252,233,244,54,248,76,139,173,233,137,113,252,252,137,116,36,24,137,
185 137,113,252,252,137,116,36,24,137,44,36,131,189,233,0,15,133,244,9,128,189, 185 44,36,131,189,233,0,15,133,244,9,128,189,233,235,15,135,244,9,139,181,233,
186 233,235,15,135,244,9,139,181,233,137,116,36,4,15,132,244,247,59,181,233,255, 186 137,116,36,4,15,132,244,247,59,181,233,255,15,132,244,9,248,1,141,116,198,
187 15,132,244,9,248,1,141,116,198,252,248,59,181,233,15,135,244,9,137,181,233, 187 252,248,59,181,233,15,135,244,9,137,181,233,139,108,36,48,137,141,233,137,
188 139,108,36,48,137,141,233,137,141,233,139,108,36,4,141,76,193,252,240,41, 188 141,233,139,108,36,4,141,76,193,252,240,41,252,241,57,252,238,15,132,244,
189 252,241,57,252,238,15,132,244,249,248,2,139,68,14,4,137,70,252,252,139,4, 189 249,248,2,139,68,14,4,137,70,252,252,139,4,14,137,70,252,248,131,252,238,
190 14,137,70,252,248,131,252,238,8,57,252,238,15,133,244,2,248,3,49,201,137, 190 8,57,252,238,15,133,244,2,248,3,49,201,137,76,36,12,137,76,36,8,232,244,26,
191 76,36,12,137,76,36,8,232,244,26,199,131,233,237,139,108,36,48,139,52,36,139, 191 199,131,233,237,139,108,36,48,139,52,36,139,149,233,255,129,252,248,239,15,
192 149,233,255,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233, 192 135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,
193 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133, 193 15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,41,
194 233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41, 194 205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,
195 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,24,137, 195 244,5,248,6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,
196 68,36,20,49,201,252,247,198,237,15,132,244,17,255,252,233,244,18,248,8,137, 196 237,15,132,244,17,255,252,233,244,18,248,8,137,252,242,137,252,233,232,251,
197 116,36,4,137,44,36,232,251,1,13,248,9,139,12,36,137,185,233,137,116,36,4, 197 1,13,248,9,139,12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,
198 137,44,36,232,251,1,0,139,149,233,252,233,244,4,248,77,139,108,36,48,137, 198 149,233,252,233,244,4,248,77,139,108,36,48,137,113,252,252,252,247,133,233,
199 113,252,252,252,247,133,233,237,15,132,244,54,137,141,233,141,68,193,252, 199 237,15,132,244,54,137,141,233,141,68,193,252,248,137,133,233,49,192,137,133,
200 248,137,133,233,49,192,137,133,233,176,235,136,133,233,252,233,244,22,255, 200 233,176,235,136,133,233,252,233,244,22,255,248,63,221,89,252,248,252,233,
201 248,63,221,89,252,248,252,233,244,57,248,78,129,252,248,239,15,130,244,54, 201 244,57,248,78,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,
202 129,121,253,4,239,15,135,244,54,252,242,15,16,1,102,15,252,239,201,102,15, 202 54,252,242,15,16,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,
203 118,201,102,15,115,209,1,15,84,193,248,62,252,242,15,17,65,252,248,255,248, 203 84,193,248,62,252,242,15,17,65,252,248,255,248,78,129,252,248,239,15,130,
204 78,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,217, 204 244,54,129,121,253,4,239,15,135,244,54,221,1,217,225,248,62,248,63,221,89,
205 225,248,62,248,63,221,89,252,248,255,248,57,184,237,248,68,137,68,36,20,248, 205 252,248,255,248,57,184,237,248,68,137,68,36,20,248,55,252,247,198,237,15,
206 55,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,139, 206 133,244,253,248,5,56,70,252,255,15,135,244,252,139,6,15,182,204,15,182,232,
207 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68, 207 131,198,4,193,232,16,252,255,36,171,248,6,199,68,193,252,244,237,131,192,
208 193,252,244,237,131,192,1,252,233,244,5,248,7,137,202,185,252,248,252,255, 208 1,252,233,244,5,248,7,137,202,185,252,248,252,255,252,255,252,255,252,233,
209 252,255,252,255,252,233,244,18,255,248,79,129,252,248,239,15,130,244,54,129, 209 244,18,255,248,79,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,
210 121,253,4,239,15,135,244,54,252,242,15,81,1,252,233,244,62,248,80,129,252, 210 244,54,252,242,15,81,1,252,233,244,62,248,80,129,252,248,239,15,130,244,54,
211 248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,232, 211 129,121,253,4,239,15,135,244,54,252,242,15,16,1,232,244,81,252,233,244,62,
212 244,81,252,233,244,62,248,82,255,129,252,248,239,15,130,244,54,129,121,253, 212 248,82,255,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,
213 4,239,15,135,244,54,252,242,15,16,1,232,244,83,252,233,244,62,255,248,79, 213 252,242,15,16,1,232,244,83,252,233,244,62,255,248,79,129,252,248,239,15,130,
214 129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,217,252, 214 244,54,129,121,253,4,239,15,135,244,54,221,1,217,252,250,252,233,244,63,248,
215 250,252,233,244,63,248,80,129,252,248,239,15,130,244,54,129,121,253,4,239, 215 80,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,232,
216 15,135,244,54,221,1,232,244,81,252,233,244,63,248,82,255,129,252,248,239, 216 244,81,252,233,244,63,248,82,255,129,252,248,239,15,130,244,54,129,121,253,
217 15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,232,244,83,252,233,244, 217 4,239,15,135,244,54,221,1,232,244,83,252,233,244,63,255,248,84,129,252,248,
218 63,255,248,84,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244, 218 239,15,130,244,54,129,121,253,4,239,15,135,244,54,217,252,237,221,1,217,252,
219 54,217,252,237,221,1,217,252,241,252,233,244,63,248,85,129,252,248,239,15, 219 241,252,233,244,63,248,85,129,252,248,239,15,130,244,54,129,121,253,4,239,
220 130,244,54,129,121,253,4,239,15,135,244,54,217,252,236,221,1,217,252,241, 220 15,135,244,54,217,252,236,221,1,217,252,241,252,233,244,63,248,86,129,252,
221 252,233,244,63,248,86,129,252,248,239,255,15,130,244,54,129,121,253,4,239, 221 248,239,255,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,232,244,87,
222 15,135,244,54,221,1,232,244,87,252,233,244,63,248,88,129,252,248,239,15,130, 222 252,233,244,63,248,88,129,252,248,239,15,130,244,54,129,121,253,4,239,15,
223 244,54,129,121,253,4,239,15,135,244,54,221,1,217,252,254,252,233,244,63,248, 223 135,244,54,221,1,217,252,254,252,233,244,63,248,89,129,252,248,239,255,15,
224 89,129,252,248,239,255,15,130,244,54,129,121,253,4,239,15,135,244,54,221, 224 130,244,54,129,121,253,4,239,15,135,244,54,221,1,217,252,255,252,233,244,
225 1,217,252,255,252,233,244,63,248,90,129,252,248,239,15,130,244,54,129,121, 225 63,248,90,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,
226 253,4,239,15,135,244,54,221,1,217,252,242,221,216,252,233,244,63,248,91,129, 226 1,217,252,242,221,216,252,233,244,63,248,91,129,252,248,239,15,130,244,54,
227 252,248,239,15,130,244,54,255,129,121,253,4,239,15,135,244,54,221,1,217,192, 227 255,129,121,253,4,239,15,135,244,54,221,1,217,192,216,200,217,232,222,225,
228 216,200,217,232,222,225,217,252,250,217,252,243,252,233,244,63,248,92,129, 228 217,252,250,217,252,243,252,233,244,63,248,92,129,252,248,239,15,130,244,
229 252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,217,192,216, 229 54,129,121,253,4,239,15,135,244,54,221,1,217,192,216,200,217,232,222,225,
230 200,217,232,222,225,217,252,250,217,201,217,252,243,252,233,244,63,248,93, 230 217,252,250,217,201,217,252,243,252,233,244,63,248,93,129,252,248,239,15,
231 129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,255,221,1,217, 231 130,244,54,129,121,253,4,239,15,135,244,54,255,221,1,217,232,217,252,243,
232 232,217,252,243,252,233,244,63,255,248,94,129,252,248,239,15,130,244,54,129, 232 252,233,244,63,255,248,94,129,252,248,239,15,130,244,54,129,121,253,4,239,
233 121,253,4,239,15,135,244,54,252,242,15,16,1,252,242,15,17,4,36,255,248,94, 233 15,135,244,54,252,242,15,16,1,252,242,15,17,4,36,255,248,94,129,252,248,239,
234 129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,221,28, 234 15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,221,28,36,255,137,76,
235 36,255,137,76,36,16,137,213,232,251,1,14,139,76,36,16,137,252,234,252,233, 235 36,16,137,213,232,251,1,14,139,76,36,16,137,252,234,252,233,244,63,255,248,
236 244,63,255,248,95,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135, 236 95,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242,
237 244,54,252,242,15,16,1,252,242,15,17,4,36,255,248,95,129,252,248,239,15,130, 237 15,16,1,252,242,15,17,4,36,255,248,95,129,252,248,239,15,130,244,54,129,121,
238 244,54,129,121,253,4,239,15,135,244,54,221,1,221,28,36,255,137,76,36,16,137, 238 253,4,239,15,135,244,54,221,1,221,28,36,255,137,76,36,16,137,213,232,251,
239 213,232,251,1,15,139,76,36,16,137,252,234,252,233,244,63,255,248,96,129,252, 239 1,15,139,76,36,16,137,252,234,252,233,244,63,255,248,96,129,252,248,239,15,
240 248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,252, 240 130,244,54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,252,242,15,17,
241 242,15,17,4,36,255,248,96,129,252,248,239,15,130,244,54,129,121,253,4,239, 241 4,36,255,248,96,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,
242 15,135,244,54,221,1,221,28,36,255,137,76,36,16,137,213,232,251,1,16,139,76, 242 54,221,1,221,28,36,255,137,76,36,16,137,213,232,251,1,16,139,76,36,16,137,
243 36,16,137,252,234,252,233,244,63,248,97,255,248,98,129,252,248,239,15,130, 243 252,234,252,233,244,63,248,97,255,248,98,129,252,248,239,15,130,244,54,129,
244 244,54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,252,242,15,89,133, 244 121,253,4,239,15,135,244,54,252,242,15,16,1,252,242,15,89,133,233,252,233,
245 233,252,233,244,62,255,248,98,129,252,248,239,15,130,244,54,129,121,253,4, 245 244,62,255,248,98,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,
246 239,15,135,244,54,221,1,220,141,233,252,233,244,63,255,248,99,129,252,248, 246 244,54,221,1,220,141,233,252,233,244,63,255,248,99,129,252,248,239,15,130,
247 239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135, 247 244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,221,
248 244,54,221,1,221,65,8,217,252,243,252,233,244,63,248,100,129,252,248,239, 248 1,221,65,8,217,252,243,252,233,244,63,248,100,129,252,248,239,15,130,244,
249 15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,255,15,135, 249 54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,255,15,135,244,54,221,
250 244,54,221,65,8,221,1,217,252,253,221,217,252,233,244,63,248,101,129,252, 250 65,8,221,1,217,252,253,221,217,252,233,244,63,248,101,129,252,248,239,15,
251 248,239,15,130,244,54,139,105,4,129,252,253,239,15,135,244,54,139,1,137,105, 251 130,244,54,139,105,4,129,252,253,239,15,135,244,54,139,1,137,105,252,252,
252 252,252,137,65,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249, 252 137,65,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,
253 9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250, 253 132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,
254 248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,108,36,16,219,68, 254 252,237,21,41,197,255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,
255 36,16,255,139,105,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224, 255 139,105,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,105,
256 63,137,105,252,252,248,2,255,252,242,15,17,1,255,221,25,255,184,237,252,233, 256 252,252,248,2,255,252,242,15,17,1,255,221,25,255,184,237,252,233,244,68,248,
257 244,68,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255, 257 3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,252,242,15,
258 252,242,15,16,1,189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15, 258 16,1,189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,
259 89,193,252,242,15,17,65,252,248,255,221,1,199,68,36,16,0,0,128,90,216,76, 259 242,15,17,65,252,248,255,221,1,199,68,36,16,0,0,128,90,216,76,36,16,221,89,
260 36,16,221,89,252,248,255,139,105,252,252,184,52,4,0,0,209,229,252,233,244, 260 252,248,255,139,105,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,102,
261 1,255,248,102,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244, 261 129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242,15,
262 54,252,242,15,16,1,255,248,102,129,252,248,239,15,130,244,54,129,121,253, 262 16,1,255,248,102,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,
263 4,239,15,135,244,54,221,1,255,139,105,4,209,229,129,252,253,0,0,224,252,255, 263 54,221,1,255,139,105,4,209,229,129,252,253,0,0,224,252,255,15,132,244,250,
264 15,132,244,250,255,15,40,224,232,244,103,252,242,15,92,224,248,1,252,242, 264 255,15,40,224,232,244,103,252,242,15,92,224,248,1,252,242,15,17,65,252,248,
265 15,17,65,252,248,252,242,15,17,33,255,217,192,232,244,103,220,252,233,248, 265 252,242,15,17,33,255,217,192,232,244,103,220,252,233,248,1,221,89,252,248,
266 1,221,89,252,248,221,25,255,139,65,252,252,139,105,4,49,232,15,136,244,249, 266 221,25,255,139,65,252,252,139,105,4,49,232,15,136,244,249,248,2,184,237,252,
267 248,2,184,237,252,233,244,68,248,3,129,252,245,0,0,0,128,137,105,4,252,233, 267 233,244,68,248,3,129,252,245,0,0,0,128,137,105,4,252,233,244,2,248,4,255,
268 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, 268 15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,104,
269 1,255,248,104,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244, 269 129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,253,
270 54,129,121,253,12,239,15,135,244,54,221,65,8,221,1,248,1,217,252,248,223, 270 12,239,15,135,244,54,221,65,8,221,1,248,1,217,252,248,223,224,158,15,138,
271 224,158,15,138,244,1,221,217,252,233,244,63,255,248,105,129,252,248,239,15, 271 244,1,221,217,252,233,244,63,255,248,105,129,252,248,239,15,130,244,54,129,
272 130,244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244, 272 121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,252,242,15,16,
273 54,252,242,15,16,1,252,242,15,16,73,8,232,244,106,252,233,244,62,255,248, 273 1,252,242,15,16,73,8,232,244,106,252,233,244,62,255,248,105,129,252,248,239,
274 105,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121, 274 15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,
275 253,12,239,15,135,244,54,221,1,221,65,8,232,244,106,252,233,244,63,255,248, 275 54,221,1,221,65,8,232,244,106,252,233,244,63,255,248,107,129,252,248,239,
276 107,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242, 276 15,130,244,54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,189,2,0,0,0,
277 15,16,1,189,2,0,0,0,248,1,57,197,15,131,244,62,129,124,253,252,233,252,252, 277 248,1,57,197,15,131,244,62,129,124,253,252,233,252,252,239,15,135,244,54,
278 239,15,135,244,54,252,242,15,16,76,252,233,252,248,252,242,15,93,193,131, 278 252,242,15,16,76,252,233,252,248,252,242,15,93,193,131,197,1,252,233,244,
279 197,1,252,233,244,1,255,248,107,129,252,248,239,15,130,244,54,129,121,253, 279 1,255,248,107,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,
280 4,239,15,135,244,54,221,1,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124, 280 54,221,1,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252,233,252,252,
281 253,252,233,252,252,239,15,135,244,251,221,68,252,233,252,248,255,219,252, 281 239,15,135,244,251,221,68,252,233,252,248,255,219,252,233,219,209,221,217,
282 233,219,209,221,217,255,80,221,225,223,224,252,246,196,1,15,132,244,248,217, 282 255,80,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,
283 201,248,2,221,216,88,255,248,108,129,252,248,239,15,130,244,54,129,121,253, 283 88,255,248,108,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,
284 4,239,15,135,244,54,252,242,15,16,1,189,2,0,0,0,248,1,57,197,15,131,244,62, 284 54,252,242,15,16,1,189,2,0,0,0,248,1,57,197,15,131,244,62,129,124,253,252,
285 129,124,253,252,233,252,252,239,15,135,244,54,252,242,15,16,76,252,233,252, 285 233,252,252,239,15,135,244,54,252,242,15,16,76,252,233,252,248,252,242,15,
286 248,252,242,15,95,193,131,197,1,252,233,244,1,255,248,108,129,252,248,239, 286 95,193,131,197,1,252,233,244,1,255,248,108,129,252,248,239,15,130,244,54,
287 15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,189,2,0,0,0,248,1,57, 287 129,121,253,4,239,15,135,244,54,221,1,189,2,0,0,0,248,1,57,197,15,131,244,
288 197,15,131,244,63,129,124,253,252,233,252,252,239,15,135,244,251,221,68,252, 288 63,129,124,253,252,233,252,252,239,15,135,244,251,221,68,252,233,252,248,
289 233,252,248,255,219,252,233,218,209,221,217,255,80,221,225,223,224,252,246, 289 255,219,252,233,218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,
290 196,1,15,133,244,248,217,201,248,2,221,216,88,255,248,5,221,216,252,233,244, 290 244,248,217,201,248,2,221,216,88,255,248,5,221,216,252,233,244,54,255,248,
291 54,255,248,109,129,252,248,239,15,130,244,54,129,121,253,4,239,15,133,244, 291 109,129,252,248,239,15,130,244,54,129,121,253,4,239,15,133,244,54,139,41,
292 54,139,41,255,252,242,15,42,133,233,252,233,244,62,255,219,133,233,252,233, 292 255,252,242,15,42,133,233,252,233,244,62,255,219,133,233,252,233,244,63,255,
293 244,63,255,248,110,129,252,248,239,15,133,244,54,129,121,253,4,239,15,133, 293 248,110,129,252,248,239,15,133,244,54,129,121,253,4,239,15,133,244,54,139,
294 244,54,139,41,131,189,233,1,15,130,244,71,15,182,173,233,255,252,242,15,42, 294 41,131,189,233,1,15,130,244,71,15,182,173,233,255,252,242,15,42,197,252,233,
295 197,252,233,244,62,255,137,108,36,16,219,68,36,16,252,233,244,63,255,248, 295 244,62,255,137,108,36,16,219,68,36,16,252,233,244,63,255,248,111,139,171,
296 111,139,171,233,59,171,233,15,130,244,247,232,244,65,248,1,129,252,248,239, 296 233,59,171,233,15,130,244,247,232,244,65,248,1,129,252,248,239,15,133,244,
297 15,133,244,54,129,121,253,4,239,15,135,244,54,255,252,242,15,45,1,61,252, 297 54,129,121,253,4,239,15,135,244,54,255,252,242,15,45,1,61,252,255,0,0,0,15,
298 255,0,0,0,15,135,244,54,137,68,36,20,255,221,1,219,92,36,20,129,124,36,20, 298 135,244,54,137,68,36,20,255,221,1,219,92,36,20,129,124,36,20,252,255,0,0,
299 252,255,0,0,0,15,135,244,54,255,141,68,36,20,137,76,36,16,199,68,36,8,1,0, 299 0,15,135,244,54,255,141,68,36,20,137,76,36,16,199,68,36,8,1,0,0,0,137,68,
300 0,0,137,68,36,4,248,112,139,108,36,48,137,44,36,137,116,36,24,137,149,233, 300 36,4,248,112,139,108,36,48,137,44,36,137,116,36,24,137,149,233,232,251,1,
301 232,251,1,17,139,76,36,16,139,149,233,199,65,252,252,237,137,65,252,248,252, 301 17,139,76,36,16,139,149,233,199,65,252,252,237,137,65,252,248,252,233,244,
302 233,244,57,248,113,139,171,233,59,171,233,15,130,244,247,232,244,65,248,1, 302 57,248,113,139,171,233,59,171,233,15,130,244,247,232,244,65,248,1,137,76,
303 137,76,36,16,199,68,36,20,252,255,252,255,252,255,252,255,129,252,248,239, 303 36,16,199,68,36,20,252,255,252,255,252,255,252,255,129,252,248,239,15,130,
304 15,130,244,54,15,134,244,247,129,121,253,20,239,255,252,242,15,45,105,16, 304 244,54,15,134,244,247,129,121,253,20,239,255,252,242,15,45,105,16,137,108,
305 137,108,36,20,255,221,65,16,219,92,36,20,255,248,1,129,121,253,4,239,15,133, 305 36,20,255,221,65,16,219,92,36,20,255,248,1,129,121,253,4,239,15,133,244,54,
306 244,54,129,121,253,12,239,15,135,244,54,139,41,137,108,36,4,139,173,233,255, 306 129,121,253,12,239,15,135,244,54,139,41,137,108,36,4,139,173,233,255,252,
307 252,242,15,45,65,8,137,68,36,8,255,221,65,8,219,92,36,8,255,139,68,36,20, 307 242,15,45,65,8,137,68,36,8,255,221,65,8,219,92,36,8,255,139,68,36,20,57,197,
308 57,197,15,130,244,251,248,2,139,76,36,8,133,201,15,142,244,253,248,3,139, 308 15,130,244,251,248,2,139,76,36,8,133,201,15,142,244,253,248,3,139,108,36,
309 108,36,4,41,200,15,140,244,114,141,172,253,13,233,131,192,1,248,4,137,108, 309 4,41,200,15,140,244,114,141,172,253,13,233,131,192,1,248,4,137,108,36,4,137,
310 36,4,137,68,36,8,252,233,244,112,248,5,15,140,244,252,141,68,40,1,252,233, 310 68,36,8,252,233,244,112,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248,
311 244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131, 311 6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143,
312 193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,114,49,192,252,233, 312 244,3,248,8,185,1,0,0,0,252,233,244,3,248,114,49,192,252,233,244,4,248,115,
313 244,4,248,115,129,252,248,239,15,130,244,54,139,171,233,59,171,233,15,130, 313 129,252,248,239,15,130,244,54,139,171,233,59,171,233,15,130,244,247,232,244,
314 244,247,232,244,65,248,1,255,137,76,36,16,129,121,253,4,239,15,133,244,54, 314 65,248,1,255,137,76,36,16,129,121,253,4,239,15,133,244,54,129,121,253,12,
315 129,121,253,12,239,15,135,244,54,139,41,255,252,242,15,45,65,8,255,221,65, 315 239,15,135,244,54,139,41,255,252,242,15,45,65,8,255,221,65,8,219,92,36,20,
316 8,219,92,36,20,139,68,36,20,255,133,192,15,142,244,114,131,189,233,1,15,130, 316 139,68,36,20,255,133,192,15,142,244,114,131,189,233,1,15,130,244,114,15,133,
317 244,114,15,133,244,116,57,131,233,15,130,244,116,15,182,141,233,139,171,233, 317 244,116,57,131,233,15,130,244,116,15,182,141,233,139,171,233,137,68,36,8,
318 137,68,36,8,137,108,36,4,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1, 318 137,108,36,4,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,252,233,244,
319 252,233,244,112,248,117,129,252,248,239,15,130,244,54,255,139,171,233,59, 319 112,248,117,129,252,248,239,15,130,244,54,255,139,171,233,59,171,233,15,130,
320 171,233,15,130,244,247,232,244,65,248,1,137,76,36,16,129,121,253,4,239,15,
321 133,244,54,139,41,139,133,233,133,192,15,132,244,114,57,131,233,15,130,244,
322 118,129,197,239,137,116,36,20,137,68,36,8,139,179,233,137,116,36,4,248,1,
323 15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,255,139,116,36,20,252,
324 233,244,112,248,119,129,252,248,239,15,130,244,54,139,171,233,59,171,233,
325 15,130,244,247,232,244,65,248,1,137,76,36,16,129,121,253,4,239,15,133,244,
326 54,139,41,139,133,233,57,131,233,15,130,244,118,255,129,197,239,137,116,36,
327 20,137,68,36,8,139,179,233,137,116,36,4,252,233,244,249,248,1,15,182,76,5,
328 0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,
329 32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,139,116,36,20,252,233,244,
330 112,248,120,129,252,248,239,15,130,244,54,139,171,233,255,59,171,233,15,130,
331 244,247,232,244,65,248,1,137,76,36,16,129,121,253,4,239,15,133,244,54,139, 320 244,247,232,244,65,248,1,137,76,36,16,129,121,253,4,239,15,133,244,54,139,
332 41,139,133,233,57,131,233,15,130,244,118,129,197,239,137,116,36,20,137,68, 321 41,139,133,233,133,192,15,132,244,114,57,131,233,15,130,244,118,129,197,239,
333 36,8,139,179,233,137,116,36,4,252,233,244,249,248,1,15,182,76,5,0,131,252, 322 137,116,36,20,137,68,36,8,139,179,233,137,116,36,4,248,1,15,182,77,0,131,
334 249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248, 323 197,1,131,232,1,136,12,6,15,133,244,1,255,139,116,36,20,252,233,244,112,248,
335 2,136,12,6,248,3,131,232,1,15,137,244,1,139,116,36,20,252,233,244,112,248, 324 119,129,252,248,239,15,130,244,54,139,171,233,59,171,233,15,130,244,247,232,
336 121,129,252,248,239,15,130,244,54,129,121,253,4,239,15,133,244,54,137,84, 325 244,65,248,1,137,76,36,16,129,121,253,4,239,15,133,244,54,139,41,139,133,
337 36,16,137,205,139,9,232,251,1,18,137,252,233,139,84,36,16,255,252,242,15, 326 233,57,131,233,15,130,244,118,255,129,197,239,137,116,36,20,137,68,36,8,139,
338 42,192,252,233,244,62,255,137,4,36,219,4,36,252,233,244,63,255,248,122,129, 327 179,233,137,116,36,4,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,
339 252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242,15,16,1, 328 130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,
340 189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,102,15,126, 329 3,131,232,1,15,137,244,1,139,116,36,20,252,233,244,112,248,120,129,252,248,
341 197,252,242,15,42,197,252,233,244,62,255,248,122,129,252,248,239,15,130,244, 330 239,15,130,244,54,139,171,233,255,59,171,233,15,130,244,247,232,244,65,248,
342 54,129,121,253,4,239,15,135,244,54,221,1,199,68,36,16,0,0,192,89,216,68,36, 331 1,137,76,36,16,129,121,253,4,239,15,133,244,54,139,41,139,133,233,57,131,
343 16,221,28,36,219,4,36,252,233,244,63,255,248,123,129,252,248,239,15,130,244, 332 233,15,130,244,118,129,197,239,137,116,36,20,137,68,36,8,139,179,233,137,
333 116,36,4,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,
334 255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,
335 232,1,15,137,244,1,139,116,36,20,252,233,244,112,248,121,129,252,248,239,
336 15,130,244,54,129,121,253,4,239,15,133,244,54,137,84,36,16,137,205,139,9,
337 232,251,1,18,137,252,233,139,84,36,16,255,252,242,15,42,192,252,233,244,62,
338 255,137,4,36,219,4,36,252,233,244,63,255,248,122,129,252,248,239,15,130,244,
344 54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,189,0,0,56,67,102,15,110, 339 54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,189,0,0,56,67,102,15,110,
345 205,102,15,112,201,81,252,242,15,88,193,102,15,126,197,255,248,123,129,252, 340 205,102,15,112,201,81,252,242,15,88,193,102,15,126,197,252,242,15,42,197,
346 248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,199,68,36,16, 341 252,233,244,62,255,248,122,129,252,248,239,15,130,244,54,129,121,253,4,239,
347 0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,137,68,36,20,141,68,193,252, 342 15,135,244,54,221,1,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,219,4,
348 240,255,137,84,36,16,255,248,1,57,200,15,134,244,124,129,120,253,4,239,15, 343 36,252,233,244,63,255,248,123,129,252,248,239,15,130,244,54,129,121,253,4,
349 135,244,125,255,252,242,15,16,0,252,242,15,88,193,102,15,126,194,33,213,255, 344 239,15,135,244,54,252,242,15,16,1,189,0,0,56,67,102,15,110,205,102,15,112,
350 221,0,216,68,36,16,221,28,36,35,44,36,255,131,232,8,252,233,244,1,255,248, 345 201,81,252,242,15,88,193,102,15,126,197,255,248,123,129,252,248,239,15,130,
351 126,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242, 346 244,54,129,121,253,4,239,15,135,244,54,221,1,199,68,36,16,0,0,192,89,216,
352 15,16,1,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193, 347 68,36,16,221,28,36,139,44,36,255,137,68,36,20,141,68,193,252,240,255,137,
353 102,15,126,197,255,248,126,129,252,248,239,15,130,244,54,129,121,253,4,239, 348 84,36,16,255,248,1,57,200,15,134,244,124,129,120,253,4,239,15,135,244,125,
354 15,135,244,54,221,1,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,139,44, 349 255,252,242,15,16,0,252,242,15,88,193,102,15,126,194,33,213,255,221,0,216,
355 36,255,252,242,15,16,0,252,242,15,88,193,102,15,126,194,9,213,255,221,0,216, 350 68,36,16,221,28,36,35,44,36,255,131,232,8,252,233,244,1,255,248,126,129,252,
356 68,36,16,221,28,36,11,44,36,255,248,127,129,252,248,239,15,130,244,54,129, 351 248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,189,
357 121,253,4,239,15,135,244,54,252,242,15,16,1,189,0,0,56,67,102,15,110,205, 352 0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,102,15,126,197,
358 102,15,112,201,81,252,242,15,88,193,102,15,126,197,255,248,127,129,252,248, 353 255,248,126,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,
359 239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,199,68,36,16,0,0, 354 221,1,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,252,242,
360 192,89,216,68,36,16,221,28,36,139,44,36,255,252,242,15,16,0,252,242,15,88, 355 15,16,0,252,242,15,88,193,102,15,126,194,9,213,255,221,0,216,68,36,16,221,
361 193,102,15,126,194,49,213,255,221,0,216,68,36,16,221,28,36,51,44,36,255,248, 356 28,36,11,44,36,255,248,127,129,252,248,239,15,130,244,54,129,121,253,4,239,
362 128,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242, 357 15,135,244,54,252,242,15,16,1,189,0,0,56,67,102,15,110,205,102,15,112,201,
363 15,16,1,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193, 358 81,252,242,15,88,193,102,15,126,197,255,248,127,129,252,248,239,15,130,244,
364 102,15,126,197,255,248,128,129,252,248,239,15,130,244,54,129,121,253,4,239, 359 54,129,121,253,4,239,15,135,244,54,221,1,199,68,36,16,0,0,192,89,216,68,36,
365 15,135,244,54,221,1,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,139,44, 360 16,221,28,36,139,44,36,255,252,242,15,16,0,252,242,15,88,193,102,15,126,194,
366 36,255,15,205,252,233,244,129,255,248,130,129,252,248,239,15,130,244,54,129, 361 49,213,255,221,0,216,68,36,16,221,28,36,51,44,36,255,248,128,129,252,248,
367 121,253,4,239,15,135,244,54,252,242,15,16,1,189,0,0,56,67,102,15,110,205, 362 239,15,130,244,54,129,121,253,4,239,15,135,244,54,252,242,15,16,1,189,0,0,
368 102,15,112,201,81,252,242,15,88,193,102,15,126,197,255,248,130,129,252,248, 363 56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,102,15,126,197,255,
369 239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,1,199,68,36,16,0,0, 364 248,128,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,221,
370 192,89,216,68,36,16,221,28,36,139,44,36,255,252,247,213,255,248,129,252,242, 365 1,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,15,205,252,
371 15,42,197,252,233,244,62,248,124,252,242,15,42,197,139,84,36,16,252,233,244, 366 233,244,129,255,248,130,129,252,248,239,15,130,244,54,129,121,253,4,239,15,
372 62,255,248,129,248,124,137,44,36,219,4,36,252,233,244,63,255,248,125,255, 367 135,244,54,252,242,15,16,1,189,0,0,56,67,102,15,110,205,102,15,112,201,81,
373 139,68,36,20,252,233,244,54,255,248,131,129,252,248,239,15,130,244,54,129, 368 252,242,15,88,193,102,15,126,197,255,248,130,129,252,248,239,15,130,244,54,
374 121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,252,242,15,16, 369 129,121,253,4,239,15,135,244,54,221,1,199,68,36,16,0,0,192,89,216,68,36,16,
375 1,252,242,15,16,73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242, 370 221,28,36,139,44,36,255,252,247,213,255,248,129,252,242,15,42,197,252,233,
371 244,62,248,124,252,242,15,42,197,139,84,36,16,252,233,244,62,255,248,129,
372 248,124,137,44,36,219,4,36,252,233,244,63,255,248,125,255,139,68,36,20,252,
373 233,244,54,255,248,131,129,252,248,239,15,130,244,54,129,121,253,4,239,15,
374 135,244,54,129,121,253,12,239,15,135,244,54,252,242,15,16,1,252,242,15,16,
375 73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,
376 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248,131,129,252,248,
377 239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,
378 244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,
379 68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211,229,137,193,252,
380 233,244,129,255,248,132,129,252,248,239,15,130,244,54,129,121,253,4,239,15,
381 135,244,54,129,121,253,12,239,15,135,244,54,252,242,15,16,1,252,242,15,16,
382 73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,
383 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248,132,129,252,248,
384 239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,
385 244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,
386 68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211,252,237,137,193,
387 252,233,244,129,255,248,133,129,252,248,239,15,130,244,54,129,121,253,4,239,
388 15,135,244,54,129,121,253,12,239,15,135,244,54,252,242,15,16,1,252,242,15,
389 16,73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,
390 252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248,133,129,252,
391 248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,
392 15,135,244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,
393 36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211,252,253,
394 137,193,252,233,244,129,255,248,134,129,252,248,239,15,130,244,54,129,121,
395 253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,252,242,15,16,1,
396 252,242,15,16,73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,
376 15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248, 397 15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248,
377 131,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121, 398 134,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,
378 253,12,239,15,135,244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,216,68,36, 399 253,12,239,15,135,244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,216,68,36,
379 16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211, 400 16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211,
380 229,137,193,252,233,244,129,255,248,132,129,252,248,239,15,130,244,54,129, 401 197,137,193,252,233,244,129,255,248,135,129,252,248,239,15,130,244,54,129,
381 121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,252,242,15,16, 402 121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,252,242,15,16,
382 1,252,242,15,16,73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242, 403 1,252,242,15,16,73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,
383 15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248, 404 15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248,
384 132,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121, 405 135,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54,129,121,
385 253,12,239,15,135,244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,216,68,36, 406 253,12,239,15,135,244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,216,68,36,
386 16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211, 407 16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211,
387 252,237,137,193,252,233,244,129,255,248,133,129,252,248,239,15,130,244,54, 408 205,137,193,252,233,244,129,248,116,184,237,252,233,244,54,248,118,184,237,
388 129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,252,242, 409 248,54,139,108,36,48,41,202,137,113,252,252,137,116,36,24,137,84,36,16,137,
389 15,16,1,252,242,15,16,73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81, 410 141,233,141,68,193,252,248,141,144,233,137,133,233,139,65,252,248,59,149,
390 252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201, 411 233,15,135,244,251,137,44,36,252,255,144,233,133,192,15,133,244,249,248,1,
391 255,248,133,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,54, 412 139,141,233,255,139,133,233,41,200,193,232,3,131,192,1,139,105,252,248,139,
392 129,121,253,12,239,15,135,244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,216, 413 84,36,16,1,202,57,113,252,252,15,133,244,248,252,255,165,233,248,2,129,121,
393 68,36,16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36, 414 253,252,252,239,15,133,244,29,252,255,165,233,248,3,139,141,233,139,84,36,
394 255,211,252,253,137,193,252,233,244,129,255,248,134,129,252,248,239,15,130, 415 16,1,202,252,233,244,68,248,5,186,237,137,252,233,232,251,1,0,252,233,244,
395 244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,252, 416 1,248,65,93,137,108,36,16,139,108,36,48,41,202,137,84,36,20,137,113,252,252,
396 242,15,16,1,252,242,15,16,73,8,189,0,0,56,67,102,15,110,213,102,15,112,210, 417 137,116,36,24,137,141,233,141,68,193,252,248,137,252,233,137,133,233,255,
397 81,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126, 418 232,251,1,19,139,141,233,139,133,233,41,200,193,232,3,131,192,1,139,113,252,
398 201,255,248,134,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244, 419 252,139,84,36,20,1,202,139,108,36,16,85,139,105,252,248,195,248,136,255,15,
399 54,129,121,253,12,239,15,135,244,54,221,1,221,65,8,199,68,36,16,0,0,192,89, 420 182,131,233,168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,
400 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,
401 36,255,211,197,137,193,252,233,244,129,255,248,135,129,252,248,239,15,130,
402 244,54,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,252,
403 242,15,16,1,252,242,15,16,73,8,189,0,0,56,67,102,15,110,213,102,15,112,210,
404 81,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,
405 201,255,248,135,129,252,248,239,15,130,244,54,129,121,253,4,239,15,135,244,
406 54,129,121,253,12,239,15,135,244,54,221,1,221,65,8,199,68,36,16,0,0,192,89,
407 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,
408 36,255,211,205,137,193,252,233,244,129,248,116,184,237,252,233,244,54,248,
409 118,184,237,248,54,139,108,36,48,41,202,137,113,252,252,137,116,36,24,137,
410 84,36,16,137,141,233,141,68,193,252,248,137,44,36,141,144,233,137,133,233,
411 139,73,252,248,59,149,233,15,135,244,251,252,255,145,233,133,192,15,133,244,
412 249,248,1,139,141,233,255,139,133,233,41,200,193,232,3,131,192,1,139,105,
413 252,248,139,84,36,16,1,202,57,113,252,252,15,133,244,248,252,255,165,233,
414 248,2,129,121,253,252,252,239,15,133,244,29,252,255,165,233,248,3,139,141,
415 233,139,84,36,16,1,202,252,233,244,68,248,5,199,68,36,4,237,232,251,1,0,252,
416 233,244,1,248,65,93,137,108,36,16,139,108,36,48,41,202,137,84,36,20,137,113,
417 252,252,137,116,36,24,137,141,233,141,68,193,252,248,137,44,36,137,133,233,
418 255,232,251,1,19,139,141,233,139,133,233,41,200,193,232,3,131,192,1,139,113,
419 252,252,139,84,36,20,1,202,139,108,36,16,85,139,105,252,248,195,248,136,255,
420 15,182,131,233,168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,
421 244,247,252,255,139,233,252,233,244,247,255,248,137,15,182,131,233,168,235, 421 244,247,252,255,139,233,252,233,244,247,255,248,137,15,182,131,233,168,235,
422 15,133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,244,247,168, 422 15,133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,244,247,168,
423 235,15,132,244,251,248,1,139,108,36,48,139,68,36,20,137,68,36,8,137,149,233, 423 235,15,132,244,251,248,1,139,108,36,48,139,68,36,20,137,68,36,8,137,149,233,
424 137,116,36,4,137,44,36,232,251,1,20,248,4,139,149,233,15,182,78,252,253,248, 424 137,116,36,4,137,44,36,232,251,1,20,248,4,139,149,233,15,182,78,252,253,248,
425 5,15,182,110,252,252,15,183,70,252,254,252,255,164,253,171,233,248,138,255, 425 5,15,182,110,252,252,15,183,70,252,254,252,255,164,253,171,233,248,138,255,
426 139,108,36,48,137,149,233,141,139,233,137,116,36,4,137,12,36,137,171,233, 426 139,108,36,48,137,149,233,137,252,242,141,139,233,137,171,233,137,116,36,
427 137,116,36,24,232,251,1,21,252,233,244,4,255,248,139,255,139,108,36,48,137, 427 24,232,251,1,21,252,233,244,4,255,248,139,255,139,108,36,48,137,149,233,137,
428 149,233,141,139,233,137,116,36,4,137,12,36,137,171,233,137,116,36,24,232, 428 252,242,141,139,233,137,171,233,137,116,36,24,232,251,1,21,139,149,233,139,
429 251,1,21,139,149,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 429 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,140,255,
430 255,36,171,255,248,140,255,85,141,108,36,12,85,83,82,81,80,15,182,69,252, 430 85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252,248,137,125,
431 252,138,101,252,248,137,125,252,252,137,117,252,248,139,93,0,139,139,233, 431 252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237,137,131,233,
432 199,131,233,237,137,131,233,137,139,233,129,252,236,239,252,247,131,233,237, 432 137,139,233,129,252,236,239,252,247,131,233,237,15,132,244,247,252,242,15,
433 15,132,244,247,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17, 433 17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252,242,15,17,101,
434 109,200,252,242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252, 434 192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17,77,168,252,242,
435 242,15,17,77,168,252,242,15,17,69,160,248,1,139,171,233,139,147,233,137,171, 435 15,17,69,160,248,1,139,171,233,139,147,233,137,171,233,137,149,233,141,84,
436 233,141,68,36,16,137,149,233,141,139,233,137,68,36,4,137,12,36,232,251,1, 436 36,16,141,139,233,232,251,1,22,137,196,139,149,233,139,116,36,24,137,108,
437 22,137,196,139,149,233,139,116,36,24,137,108,36,48,255,248,141,255,139,122, 437 36,48,255,248,141,255,139,122,252,248,139,191,233,139,191,233,199,131,233,
438 252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6, 438 0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
439 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,81,255, 439 252,255,36,171,255,248,81,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,
440 217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247, 440 68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,
441 102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255, 441 108,36,4,139,68,36,8,195,255,248,142,102,15,252,239,210,102,15,118,210,102,
442 248,142,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67, 442 15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,
443 102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15, 443 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,
444 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, 444 242,15,92,203,102,15,86,202,184,0,0,252,240,63,102,15,110,208,102,15,112,
445 184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1, 445 210,81,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,
446 102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,83,255,217,124,36, 446 1,195,248,83,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,
447 4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68, 447 37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,
448 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,143,102, 448 139,68,36,8,195,255,248,143,102,15,252,239,210,102,15,118,210,102,15,115,
449 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216, 449 210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,
450 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, 450 202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,
451 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240, 451 15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112,210,
452 191,102,15,110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252, 452 81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,
453 242,15,92,200,15,40,193,248,1,195,248,103,255,217,124,36,4,137,68,36,8,102, 453 248,103,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,
454 184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 454 68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,144,
455 36,4,139,68,36,8,195,255,248,144,102,15,252,239,210,102,15,118,210,102,15, 455 102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,
456 115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15, 456 216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,
457 84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88, 457 102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0,0,252,240,
458 203,252,242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81, 458 63,102,15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15,84,195,252,
459 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40, 459 242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,145,255,15,40,232,252,
460 193,248,1,195,248,145,255,15,40,232,252,242,15,94,193,102,15,252,239,210, 460 242,15,94,193,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,
461 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219, 461 48,67,102,15,110,216,102,15,112,219,81,15,40,224,102,15,84,226,102,15,46,
462 81,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252, 462 220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,
463 242,15,88,227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110, 463 15,86,226,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,
464 208,102,15,112,210,81,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224, 464 194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,
465 15,40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200, 465 242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,
466 15,40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102, 466 255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,
467 184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36, 467 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,
468 6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,248,87,217,252,234, 468 222,252,233,195,255,248,87,217,252,234,222,201,248,146,217,84,36,4,129,124,
469 222,201,248,146,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124, 469 36,4,0,0,128,127,15,132,244,247,129,124,36,4,0,0,128,252,255,15,132,244,248,
470 36,4,0,0,128,252,255,15,132,244,248,248,147,217,192,217,252,252,220,252,233, 470 248,147,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,
471 217,201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221, 471 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,106,219,
472 216,217,252,238,195,255,248,106,219,84,36,4,219,68,36,4,255,223,252,233,255, 472 84,36,4,219,68,36,4,255,223,252,233,255,221,252,233,223,224,158,255,15,133,
473 221,252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68, 473 244,254,15,138,244,255,221,216,139,68,36,4,131,252,248,1,15,142,244,252,248,
474 36,4,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200, 474 1,169,1,0,0,0,15,133,244,248,216,200,209,232,252,233,244,1,248,2,209,232,
475 209,232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200, 475 15,132,244,251,217,192,248,3,216,200,209,232,15,132,244,250,15,131,244,3,
476 209,232,15,132,244,250,15,131,244,3,220,201,252,233,244,3,248,4,255,222,201, 476 220,201,252,233,244,3,248,4,255,222,201,248,5,195,248,6,15,132,244,5,15,130,
477 248,5,195,248,6,15,132,244,5,15,130,244,253,217,232,222,252,241,252,247,216, 477 244,253,217,232,222,252,241,252,247,216,131,252,248,1,15,132,244,5,252,233,
478 131,252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8, 478 244,1,248,7,221,216,217,232,195,248,8,217,84,36,4,217,201,217,84,36,8,139,
479 217,84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132, 479 68,36,4,209,224,61,0,0,0,252,255,15,132,244,248,139,68,36,8,209,224,15,132,
480 244,248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250, 480 244,250,61,0,0,0,252,255,15,132,244,250,217,252,241,252,233,244,147,248,9,
481 217,252,241,252,233,244,147,248,9,255,217,232,255,223,252,234,255,221,252, 481 255,217,232,255,223,252,234,255,221,252,234,223,224,158,255,15,132,244,247,
482 234,223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225, 482 217,201,248,1,221,216,195,248,2,217,225,217,232,255,15,132,244,249,221,216,
483 217,232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146, 483 217,225,217,252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4,15,137,244,
484 208,209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248, 484 249,217,201,248,3,221,217,217,225,195,248,4,131,124,36,4,0,15,141,244,3,221,
485 4,131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217, 485 216,221,216,133,192,15,132,244,251,217,252,238,195,248,5,199,68,36,4,0,0,
486 252,238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,106,255, 486 128,127,217,68,36,4,195,255,248,106,255,248,148,252,242,15,45,193,252,242,
487 248,148,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254, 487 15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,149,131,252,248,
488 15,138,244,255,248,149,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15, 488 1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,
489 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132, 489 252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,
490 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244, 490 192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,
491 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248, 491 3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,
492 6,15,132,244,5,15,130,244,253,80,184,0,0,252,240,63,102,15,110,200,102,15, 492 184,0,0,252,240,63,102,15,110,200,102,15,112,201,81,252,242,15,94,200,88,
493 112,201,81,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132, 493 15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,184,
494 244,5,252,233,244,1,248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192, 494 0,0,252,240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,
495 81,195,248,8,252,242,15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0, 495 36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,
496 15,133,244,247,139,68,36,16,209,224,61,0,0,224,252,255,15,132,244,248,248, 496 224,61,0,0,224,252,255,15,132,244,248,248,1,255,131,124,36,4,0,15,133,244,
497 1,255,131,124,36,4,0,15,133,244,247,139,68,36,8,209,224,15,132,244,250,61, 497 247,139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,
498 0,0,224,252,255,15,132,244,251,248,1,221,68,36,12,221,68,36,4,217,252,241, 498 248,1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,
499 217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252, 499 217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,
500 253,221,217,221,92,36,4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63, 500 15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,
501 102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,244,247,15,40,193,248, 501 81,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,
502 1,195,248,2,102,15,252,239,210,102,15,118,210,102,15,115,210,1,102,15,84, 502 210,102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,
503 194,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15,46,194,15, 503 15,110,208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,
504 132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1, 504 87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,
505 248,3,184,0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102, 505 15,110,192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,
506 15,80,193,133,192,15,133,244,3,255,15,87,192,195,248,5,102,15,80,193,133, 506 255,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,
507 192,15,132,244,3,15,87,192,195,248,150,255,139,68,36,12,252,242,15,16,68, 507 248,150,255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,
508 36,4,131,252,248,1,15,132,244,247,15,135,244,248,232,244,81,252,233,244,253, 508 15,135,244,248,232,244,81,252,233,244,253,248,1,232,244,83,252,233,244,253,
509 248,1,232,244,83,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135, 509 248,2,131,252,248,3,15,132,244,247,15,135,244,248,232,244,103,255,252,233,
510 244,248,232,244,103,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252, 510 244,253,248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,
511 242,15,17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130, 511 248,2,221,68,36,4,131,252,248,5,15,130,244,87,15,132,244,146,248,2,131,252,
512 244,87,15,132,244,146,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217, 512 248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,
513 252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248, 513 1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,
514 2,131,252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217, 514 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
515 252,241,195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15, 515 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
516 135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12, 516 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,
517 221,68,36,4,131,252,248,1,15,130,244,81,15,132,244,83,131,252,248,3,15,130, 517 81,15,132,244,83,131,252,248,3,15,130,244,103,15,135,244,248,217,252,250,
518 244,103,15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,87, 518 195,248,2,131,252,248,5,15,130,244,87,15,132,244,146,131,252,248,7,15,132,
519 15,132,244,146,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217, 519 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,
520 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248, 520 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,
521 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248, 521 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,
522 1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217, 522 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,
523 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,151,255,139,68, 523 216,195,255,248,9,204,248,151,255,139,68,36,20,252,242,15,16,68,36,4,252,
524 36,20,252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244, 524 242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,
525 247,15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36, 525 88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,193,
526 4,195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244, 526 252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,
527 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193, 527 89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,
528 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244, 528 248,5,15,132,244,247,255,15,135,244,248,232,244,145,252,233,244,7,248,1,90,
529 145,252,233,244,7,248,1,90,232,244,106,82,252,233,244,7,248,2,131,252,248, 529 232,244,106,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,
530 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201, 530 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,
531 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15, 531 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,
532 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248, 532 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,
533 221,68,36,4,221,68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217, 533 15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,
534 252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252, 534 2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,
535 242,15,93,193,252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204, 535 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,
536 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15, 536 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
537 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132, 537 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
538 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248, 538 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,145,15,132,
539 5,15,130,244,145,15,132,244,106,131,252,248,7,15,132,244,247,15,135,244,248, 539 244,106,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
540 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15, 540 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
541 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221, 541 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
542 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233, 542 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
543 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223, 543 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
544 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225, 544 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
545 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,152, 545 244,248,217,201,248,2,221,216,195,255,248,152,156,90,137,209,129,252,242,
546 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244, 546 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
547 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87, 547 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,255,249,
548 12,91,95,248,1,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124, 548 255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,
549 253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4, 549 41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,
550 202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252, 550 194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,
551 233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70, 551 134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,
552 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193, 552 233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
553 232,16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,15,135, 553 255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,
554 244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102, 554 4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,
555 15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255, 555 221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,
556 15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134, 556 247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,
557 233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5, 557 70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,
558 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, 558 129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,
559 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, 559 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,
560 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, 560 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,
561 0,0,255,252,233,244,45,255,252,247,208,131,198,4,129,124,253,202,4,239,15, 561 252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,
562 133,244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135, 562 12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,
563 244,248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255, 563 16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,247,208,131,198,
564 252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253, 564 4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,
565 239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137, 565 247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,
566 44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15, 566 70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,
567 182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137, 567 4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,108,202,4,137,
568 108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 568 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
569 255,36,171,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4, 569 49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,
570 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124, 570 15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,253,194,4,239,
571 253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15, 571 15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,
572 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217, 572 112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,
573 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15, 573 255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,
574 87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248, 574 15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,
575 1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 575 255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,
576 36,171,248,2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251, 576 129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,
577 1,18,255,252,242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36, 577 242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,255,15,182,78,
578 255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129, 578 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,
579 124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15, 579 4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,
580 88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135, 580 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,
581 244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220, 581 15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,
582 4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239, 582 253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252,
583 15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252, 583 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,
584 234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, 584 242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,
585 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, 585 252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,
586 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, 586 255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,
587 4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255, 587 194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,
588 221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234, 588 12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,
589 255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4, 589 12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,
590 194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94, 590 234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,
591 4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94, 591 252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,
592 4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242, 592 4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,
593 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, 593 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,
594 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, 594 255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,
595 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, 595 234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
596 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,153,232,244, 596 12,194,255,221,4,252,234,221,4,194,255,248,153,232,244,145,255,252,233,244,
597 145,255,252,233,244,153,255,232,244,106,255,15,182,252,236,15,182,192,141, 597 153,255,232,244,106,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,
598 12,194,41,232,137,76,36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137, 598 36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,116,36,24,137,149,233,
599 116,36,24,137,149,233,232,251,1,23,139,149,233,133,192,15,133,244,42,15,182, 599 232,251,1,23,139,149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,
600 110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202, 600 78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,
601 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,
602 139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,
603 4,193,232,16,252,255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17,
604 4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,
605 4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,
606 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,
607 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,
608 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,
609 106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,
601 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 610 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
602 171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204, 611 171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,
603 15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,252,242,15, 612 12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,
604 42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16, 613 15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
605 4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68, 614 255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,
606 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 615 235,15,132,244,1,135,213,141,139,233,255,232,251,1,24,137,252,234,252,233,
607 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8, 616 244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,
608 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 617 133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,
609 255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139, 618 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,
610 109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 619 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,
611 16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139, 620 232,251,1,24,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,
612 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246, 621 16,4,199,255,139,172,253,141,233,139,141,233,255,252,247,208,139,106,252,
613 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193, 622 248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,
614 232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252, 623 131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139,108,36,48,
615 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,24,137,252, 624 131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,
616 234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139, 625 25,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
617 12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248, 626 255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,48,137,76,
618 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 627 36,8,137,68,36,4,137,116,36,24,137,44,36,137,149,233,232,251,1,26,139,149,
619 2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137, 628 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
620 194,141,139,233,232,251,1,24,137,252,234,252,233,244,1,255,139,106,252,248, 629 232,131,198,4,193,232,16,252,255,36,171,255,137,197,37,252,255,7,0,0,193,
621 255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,247,208, 630 252,237,11,61,252,255,7,0,0,15,148,209,137,108,36,8,1,200,139,108,36,48,1,
622 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204, 631 200,137,68,36,4,137,116,36,24,139,139,233,137,44,36,59,139,233,137,149,233,
623 15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139, 632 15,131,244,248,248,1,232,251,1,27,139,149,233,15,182,78,252,253,137,4,202,
624 108,36,48,131,189,233,0,15,132,244,247,141,12,202,137,76,36,4,137,44,36,137, 633 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
625 149,233,232,251,1,25,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198, 634 36,171,248,2,137,252,233,232,251,1,28,252,233,244,1,255,252,247,208,139,108,
626 4,193,232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,4,135,139, 635 36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,
627 108,36,48,137,76,36,8,137,68,36,4,137,116,36,24,137,44,36,137,149,233,232, 636 2,139,20,135,137,252,233,232,251,1,29,139,149,233,15,182,78,252,253,137,4,
628 251,1,26,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15, 637 202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
629 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,197,37,252, 638 255,36,171,248,3,137,252,233,232,251,1,28,15,183,70,252,254,252,247,208,252,
630 255,7,0,0,193,252,237,11,61,252,255,7,0,0,15,148,209,137,108,36,8,1,200,139, 639 233,244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,
631 108,36,48,1,200,137,68,36,4,137,116,36,24,139,139,233,137,44,36,59,139,233, 640 154,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,155,
632 137,149,233,15,131,244,248,248,1,232,251,1,27,139,149,233,15,182,78,252,253, 641 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,
633 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232, 642 44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,
634 16,252,255,36,171,248,2,137,252,233,232,251,1,28,252,233,244,1,255,252,247, 643 242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,
635 208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,15,131, 644 4,36,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
636 244,249,248,2,139,20,135,137,252,233,232,251,1,29,139,149,233,15,182,78,252, 645 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,
637 253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193, 646 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,
638 232,16,252,255,36,171,248,3,137,252,233,232,251,1,28,15,183,70,252,254,252, 647 233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,
639 247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135, 648 252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,
640 252,233,244,154,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252, 649 194,252,233,244,154,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,
641 233,244,155,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133, 650 124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,154,139,141,233,35,
642 244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15, 651 136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,
643 16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194, 652 233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,
644 219,20,36,219,4,36,255,139,4,36,255,15,133,244,36,59,133,233,15,131,244,36, 653 41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,
645 193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64, 654 131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,185,237,252,233,
646 4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 655 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,
647 252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233, 656 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,
648 235,15,132,244,36,15,182,78,252,253,252,233,244,1,248,5,255,129,124,253,194, 657 236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,
649 4,239,15,133,244,36,139,4,194,252,233,244,154,255,15,182,252,236,15,182,192, 658 133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,
650 252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252, 659 248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,
651 234,248,154,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233, 660 131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,
652 239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244, 661 141,233,252,246,129,233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,
653 251,15,182,70,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139, 662 124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,
654 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182, 663 15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,
655 70,252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248, 664 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
656 5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233, 665 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,
657 244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244, 666 232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,
658 35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253, 667 139,141,233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,
659 4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6, 668 244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,155,
660 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,
661 0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,252,
662 236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,
663 124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,
664 39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,
665 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,
666 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,
667 233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244,39,15,182,
668 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,
669 194,252,233,244,155,248,7,128,165,233,235,139,139,233,137,171,233,137,141,
670 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,252,247,
671 208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,
672 155,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,
673 185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,
674 132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,70,
675 252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,
676 131,198,4,193,232,16,252,255,36,171,248,4,131,189,233,0,15,132,244,2,137,
677 76,36,16,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,16,252,233,
678 244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,
679 244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,
680 237,141,68,36,16,137,108,36,12,137,108,36,4,139,108,36,48,137,68,36,8,137,
681 44,36,137,116,36,24,137,149,233,232,251,1,30,139,149,233,139,108,36,12,137,
682 193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,
683 252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,
684 133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,
685 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,
686 2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,
687 198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,
688 141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,253,252,233,244,1,
689 248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253, 669 248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,
690 252,233,244,2,255,137,124,36,16,255,221,4,199,219,92,36,12,255,248,1,141, 670 252,233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,
691 12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36, 671 253,252,234,4,239,15,133,244,37,139,44,252,234,248,155,139,141,233,35,136,
692 20,255,252,242,15,45,252,248,255,139,124,36,12,255,131,232,1,15,132,244,250, 672 233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,
693 1,252,248,59,133,233,15,131,244,251,41,252,248,193,231,3,3,189,233,248,3, 673 251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,
694 139,41,137,47,139,105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244, 674 252,246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,
695 3,248,4,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 675 139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
696 255,36,171,248,5,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,116, 676 252,255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,
697 36,24,137,149,233,232,251,1,31,139,149,233,15,182,78,252,253,252,233,244, 677 252,246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137,
698 1,248,7,128,165,233,235,139,131,233,137,171,233,255,137,133,233,252,233,244, 678 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
699 2,255,3,68,36,20,255,141,76,202,8,139,105,252,248,129,121,253,252,252,239, 679 233,235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,141,68,36,16,137,
700 15,133,244,29,252,255,165,233,255,141,76,202,8,137,215,139,105,252,248,129, 680 108,36,12,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,116,36,24,
701 121,253,252,252,239,15,133,244,29,248,51,139,114,252,252,252,247,198,237, 681 137,149,233,232,251,1,30,139,149,233,139,108,36,12,137,193,252,233,244,2,
702 15,133,244,253,248,1,137,106,252,248,137,68,36,20,131,232,1,15,132,244,249, 682 248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,
703 248,2,139,41,137,47,139,105,4,137,111,4,131,199,8,131,193,8,131,232,1,15, 683 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,
704 133,244,2,139,106,252,248,248,3,137,209,128,189,233,1,15,135,244,251,248, 684 252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,
705 4,139,68,36,20,252,255,165,233,248,5,255,252,247,198,237,15,133,244,4,15, 685 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,
706 182,70,252,253,252,247,208,141,20,194,139,122,252,248,139,191,233,139,191, 686 139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,
707 233,252,233,244,4,248,7,15,139,244,1,131,230,252,248,41,252,242,137,215,139, 687 16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,
708 114,252,252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137, 688 129,233,235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,
709 41,137,65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224, 689 235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,
710 139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,3,0,0,0,15, 690 137,124,36,16,255,221,4,199,219,92,36,12,255,248,1,141,12,202,139,105,252,
711 133,244,29,252,255,165,233,255,15,182,252,236,139,66,252,248,141,12,202,139, 691 248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,20,255,252,242,15,
712 128,233,15,182,128,233,137,124,36,16,141,188,253,194,233,43,122,252,252,133, 692 45,252,248,255,139,124,36,12,255,131,232,1,15,132,244,250,1,252,248,59,133,
713 252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248, 693 233,15,131,244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,
714 1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,252, 694 105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,
715 233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252, 695 36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
716 233,15,130,244,2,248,3,139,124,36,16,139,6,15,182,204,15,182,232,131,198, 696 5,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,116,36,24,137,149,
717 4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248, 697 233,232,251,1,31,139,149,233,15,182,78,252,253,252,233,244,1,248,7,128,165,
718 15,134,244,3,255,137,197,193,252,237,3,137,108,36,4,131,197,1,137,108,36, 698 233,235,139,131,233,137,171,233,255,137,133,233,252,233,244,2,255,3,68,36,
719 20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,139,71,252,248,137, 699 20,255,141,76,202,8,139,105,252,248,129,121,253,252,252,239,15,133,244,29,
720 1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,252,233, 700 252,255,165,233,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,
721 244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,137,44,36,232,251, 701 252,239,15,133,244,29,248,51,139,114,252,252,252,247,198,237,15,133,244,253,
722 1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139, 702 248,1,137,106,252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,
703 137,47,139,105,4,137,111,4,131,199,8,131,193,8,131,232,1,15,133,244,2,139,
704 106,252,248,248,3,137,209,128,189,233,1,15,135,244,251,248,4,139,68,36,20,
705 252,255,165,233,248,5,255,252,247,198,237,15,133,244,4,15,182,70,252,253,
706 252,247,208,141,20,194,139,122,252,248,139,191,233,139,191,233,252,233,244,
707 4,248,7,15,139,244,1,131,230,252,248,41,252,242,137,215,139,114,252,252,252,
708 233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,
709 105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,137,
710 105,252,248,137,65,252,252,129,252,248,239,184,3,0,0,0,15,133,244,29,252,
711 255,165,233,255,15,182,252,236,139,66,252,248,141,12,202,139,128,233,15,182,
712 128,233,137,124,36,16,141,188,253,194,233,43,122,252,252,133,252,237,15,132,
713 244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,
714 137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,
715 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,
716 248,3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
717 255,36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,255,
718 137,197,193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,
719 233,15,135,244,253,248,6,139,71,252,248,137,1,139,71,252,252,131,199,8,137,
720 65,4,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,
721 233,137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,
722 0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,
723 114,252,252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,17,137,215, 723 114,252,252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,17,137,215,
724 131,232,1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137, 724 131,232,1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,
725 111,252,252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110, 725 111,252,252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,
@@ -1045,32 +1045,32 @@ static const char *const globnames[] = {
1045 (const char *)0 1045 (const char *)0
1046}; 1046};
1047static const char *const extnames[] = { 1047static const char *const extnames[] = {
1048 "lj_state_growstack", 1048 "lj_state_growstack@8",
1049 "lj_meta_tget", 1049 "lj_meta_tget",
1050 "lj_meta_tset", 1050 "lj_meta_tset",
1051 "lj_meta_comp", 1051 "lj_meta_comp",
1052 "lj_meta_equal", 1052 "lj_meta_equal",
1053 "lj_meta_arith", 1053 "lj_meta_arith",
1054 "lj_meta_len", 1054 "lj_meta_len@8",
1055 "lj_meta_call", 1055 "lj_meta_call",
1056 "lj_meta_for", 1056 "lj_meta_for@8",
1057 "lj_tab_get", 1057 "lj_tab_get",
1058 "lj_str_fromnum@8", 1058 "lj_str_fromnum@8",
1059 "lj_tab_next", 1059 "lj_tab_next",
1060 "lj_tab_getinth", 1060 "lj_tab_getinth@8",
1061 "lj_ffh_coroutine_wrap_err", 1061 "lj_ffh_coroutine_wrap_err@8",
1062 "lj_wrapper_sinh", 1062 "lj_wrapper_sinh",
1063 "lj_wrapper_cosh", 1063 "lj_wrapper_cosh",
1064 "lj_wrapper_tanh", 1064 "lj_wrapper_tanh",
1065 "lj_str_new", 1065 "lj_str_new",
1066 "lj_tab_len@4", 1066 "lj_tab_len@4",
1067 "lj_gc_step", 1067 "lj_gc_step@4",
1068 "lj_dispatch_ins", 1068 "lj_dispatch_ins",
1069 "lj_trace_hot", 1069 "lj_trace_hot@8",
1070 "lj_trace_exit", 1070 "lj_trace_exit@8",
1071 "lj_meta_cat", 1071 "lj_meta_cat",
1072 "lj_gc_barrieruv@8", 1072 "lj_gc_barrieruv@8",
1073 "lj_func_closeuv", 1073 "lj_func_closeuv@8",
1074 "lj_func_newL_gc", 1074 "lj_func_newL_gc",
1075 "lj_tab_new", 1075 "lj_tab_new",
1076 "lj_gc_step_fixtop@4", 1076 "lj_gc_step_fixtop@4",
@@ -1110,438 +1110,438 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1110 dasm_put(Dst, 362, FRAME_C, DISPATCH_GL(vmstate), ~LJ_VMST_C, Dt1(->base)); 1110 dasm_put(Dst, 362, FRAME_C, DISPATCH_GL(vmstate), ~LJ_VMST_C, Dt1(->base));
1111 dasm_put(Dst, 453, Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL, Dt1(->top)); 1111 dasm_put(Dst, 453, Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL, Dt1(->top));
1112 dasm_put(Dst, 532, Dt1(->top), CFRAME_RAWMASK, Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1112 dasm_put(Dst, 532, Dt1(->top), CFRAME_RAWMASK, Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1113 dasm_put(Dst, 639, FRAME_P, LJ_TTRUE, LUA_MINSTACK, Dt9(->bc), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->gate)); 1113 dasm_put(Dst, 637, FRAME_P, LJ_TTRUE, LUA_MINSTACK, Dt9(->bc), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->gate));
1114 dasm_put(Dst, 766, FRAME_C, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE, FRAME_CP); 1114 dasm_put(Dst, 759, FRAME_C, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE, FRAME_CP);
1115 dasm_put(Dst, 871, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), LJ_TFUNC, Dt7(->gate)); 1115 dasm_put(Dst, 864, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), LJ_TFUNC, Dt7(->gate));
1116 dasm_put(Dst, 964, Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pt), Dt9(->k), LJ_TSTR); 1116 dasm_put(Dst, 957, Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pt), Dt9(->k), LJ_TSTR);
1117 dasm_put(Dst, 1153, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1117 dasm_put(Dst, 1146, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1118 if (sse) { 1118 if (sse) {
1119 dasm_put(Dst, 1189); 1119 dasm_put(Dst, 1182);
1120 } else { 1120 } else {
1121 dasm_put(Dst, 1202); 1121 dasm_put(Dst, 1195);
1122 } 1122 }
1123 dasm_put(Dst, 1215, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, Dt7(->gate), LJ_TSTR, BC_GSET, DISPATCH_GL(tmptv)); 1123 dasm_put(Dst, 1208, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, Dt7(->gate), LJ_TSTR, BC_GSET, DISPATCH_GL(tmptv));
1124 dasm_put(Dst, 1373, LJ_TTAB); 1124 dasm_put(Dst, 1366, LJ_TTAB);
1125 if (sse) { 1125 if (sse) {
1126 dasm_put(Dst, 1189); 1126 dasm_put(Dst, 1182);
1127 } else { 1127 } else {
1128 dasm_put(Dst, 1202); 1128 dasm_put(Dst, 1195);
1129 } 1129 }
1130 dasm_put(Dst, 1393, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, Dt7(->gate), Dt1(->base), Dt1(->base)); 1130 dasm_put(Dst, 1386, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, Dt7(->gate), Dt1(->base), Dt1(->base));
1131 dasm_put(Dst, 1600, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1131 dasm_put(Dst, 1593, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1132 dasm_put(Dst, 1711, Dt1(->base), Dt1(->base), FRAME_CONT, LJ_TFUNC); 1132 dasm_put(Dst, 1704, Dt1(->base), Dt1(->base), FRAME_CONT, LJ_TFUNC);
1133 dasm_put(Dst, 1840, Dt7(->gate), Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->gate), Dt1(->base), Dt1(->base), GG_DISP_STATIC*4, 1+1); 1133 dasm_put(Dst, 1833, Dt7(->gate), Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->gate), Dt1(->base), Dt1(->base), GG_DISP_STATIC*4, 1+1);
1134 dasm_put(Dst, 2006, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX); 1134 dasm_put(Dst, 1993, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX);
1135 if (cmov) { 1135 if (cmov) {
1136 dasm_put(Dst, 2102); 1136 dasm_put(Dst, 2089);
1137 } else { 1137 } else {
1138 dasm_put(Dst, 2106); 1138 dasm_put(Dst, 2093);
1139 } 1139 }
1140 dasm_put(Dst, 2115, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask)); 1140 dasm_put(Dst, 2102, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask));
1141 dasm_put(Dst, 2203, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1141 dasm_put(Dst, 2190, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1142 dasm_put(Dst, 2258, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB); 1142 dasm_put(Dst, 2245, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB);
1143 dasm_put(Dst, 2330, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1143 dasm_put(Dst, 2317, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1144 dasm_put(Dst, 2395, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1144 dasm_put(Dst, 2382, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1145 if (sse) { 1145 if (sse) {
1146 dasm_put(Dst, 2486); 1146 dasm_put(Dst, 2473);
1147 } else { 1147 } else {
1148 dasm_put(Dst, 2496); 1148 dasm_put(Dst, 2483);
1149 } 1149 }
1150 dasm_put(Dst, 2503, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1150 dasm_put(Dst, 2490, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1151 dasm_put(Dst, 2565, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1151 dasm_put(Dst, 2552, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base));
1152 dasm_put(Dst, 2655, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1152 dasm_put(Dst, 2642, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1153 dasm_put(Dst, 2761, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1153 dasm_put(Dst, 2748, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1154 if (sse) { 1154 if (sse) {
1155 dasm_put(Dst, 2816); 1155 dasm_put(Dst, 2803);
1156 } else { 1156 } else {
1157 dasm_put(Dst, 2859); 1157 dasm_put(Dst, 2842);
1158 } 1158 }
1159 dasm_put(Dst, 2879, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1159 dasm_put(Dst, 2860, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1160 dasm_put(Dst, 2966, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); 1160 dasm_put(Dst, 2946, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC);
1161 if (sse) { 1161 if (sse) {
1162 dasm_put(Dst, 2996); 1162 dasm_put(Dst, 2976);
1163 } else { 1163 } else {
1164 dasm_put(Dst, 3006); 1164 dasm_put(Dst, 2986);
1165 } 1165 }
1166 dasm_put(Dst, 3013, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE, LJ_TFUNC, Dt7(->gate)); 1166 dasm_put(Dst, 2993, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE, LJ_TFUNC, Dt7(->gate));
1167 dasm_put(Dst, 3086, 2+1, LJ_TFUNC, LJ_TFUNC, 2*8+FRAME_PCALL, 2*8, 1+1, LJ_TTHREAD); 1167 dasm_put(Dst, 3066, 2+1, LJ_TFUNC, LJ_TFUNC, 2*8+FRAME_PCALL, 2*8, 1+1, LJ_TTHREAD);
1168 dasm_put(Dst, 3184, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1168 dasm_put(Dst, 3164, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1169 dasm_put(Dst, 3249, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top)); 1169 dasm_put(Dst, 3229, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top));
1170 dasm_put(Dst, 3353, Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2); 1170 dasm_put(Dst, 3333, Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2);
1171 dasm_put(Dst, 3472, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base)); 1171 dasm_put(Dst, 3452, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base));
1172 dasm_put(Dst, 3553, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1172 dasm_put(Dst, 3532, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1173 dasm_put(Dst, 3661, LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), FRAME_TYPE); 1173 dasm_put(Dst, 3640, LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), FRAME_TYPE);
1174 dasm_put(Dst, 3757, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_CANYIELD, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1174 dasm_put(Dst, 3736, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_CANYIELD, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1175 if (sse) { 1175 if (sse) {
1176 dasm_put(Dst, 3845, 1+1, LJ_TISNUM); 1176 dasm_put(Dst, 3822, 1+1, LJ_TISNUM);
1177 } else { 1177 } else {
1178 dasm_put(Dst, 3906, 1+1, LJ_TISNUM); 1178 dasm_put(Dst, 3883, 1+1, LJ_TISNUM);
1179 } 1179 }
1180 dasm_put(Dst, 3938, 1+1, FRAME_TYPE, LJ_TNIL); 1180 dasm_put(Dst, 3915, 1+1, FRAME_TYPE, LJ_TNIL);
1181 if (sse) { 1181 if (sse) {
1182 dasm_put(Dst, 4019, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1182 dasm_put(Dst, 3996, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1183 dasm_put(Dst, 4081, 1+1, LJ_TISNUM); 1183 dasm_put(Dst, 4058, 1+1, LJ_TISNUM);
1184 } else { 1184 } else {
1185 dasm_put(Dst, 4111, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1185 dasm_put(Dst, 4088, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1186 dasm_put(Dst, 4170, 1+1, LJ_TISNUM); 1186 dasm_put(Dst, 4147, 1+1, LJ_TISNUM);
1187 } 1187 }
1188 dasm_put(Dst, 4197, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1188 dasm_put(Dst, 4174, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1189 dasm_put(Dst, 4266, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1189 dasm_put(Dst, 4243, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1190 dasm_put(Dst, 4323, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1190 dasm_put(Dst, 4300, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1191 dasm_put(Dst, 4386, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1191 dasm_put(Dst, 4363, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1192 dasm_put(Dst, 4476); 1192 dasm_put(Dst, 4453);
1193 if (sse) { 1193 if (sse) {
1194 dasm_put(Dst, 4488, 1+1, LJ_TISNUM); 1194 dasm_put(Dst, 4465, 1+1, LJ_TISNUM);
1195 } else { 1195 } else {
1196 dasm_put(Dst, 4519, 1+1, LJ_TISNUM); 1196 dasm_put(Dst, 4496, 1+1, LJ_TISNUM);
1197 } 1197 }
1198 dasm_put(Dst, 4544); 1198 dasm_put(Dst, 4521);
1199 if (sse) { 1199 if (sse) {
1200 dasm_put(Dst, 4566, 1+1, LJ_TISNUM); 1200 dasm_put(Dst, 4543, 1+1, LJ_TISNUM);
1201 } else { 1201 } else {
1202 dasm_put(Dst, 4597, 1+1, LJ_TISNUM); 1202 dasm_put(Dst, 4574, 1+1, LJ_TISNUM);
1203 } 1203 }
1204 dasm_put(Dst, 4622); 1204 dasm_put(Dst, 4599);
1205 if (sse) { 1205 if (sse) {
1206 dasm_put(Dst, 4644, 1+1, LJ_TISNUM); 1206 dasm_put(Dst, 4621, 1+1, LJ_TISNUM);
1207 } else { 1207 } else {
1208 dasm_put(Dst, 4675, 1+1, LJ_TISNUM); 1208 dasm_put(Dst, 4652, 1+1, LJ_TISNUM);
1209 } 1209 }
1210 dasm_put(Dst, 4700); 1210 dasm_put(Dst, 4677);
1211 if (sse) { 1211 if (sse) {
1212 dasm_put(Dst, 4724, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1212 dasm_put(Dst, 4701, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1213 } else { 1213 } else {
1214 dasm_put(Dst, 4759, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1214 dasm_put(Dst, 4736, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1215 } 1215 }
1216 dasm_put(Dst, 4788, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1216 dasm_put(Dst, 4765, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1217 dasm_put(Dst, 4853, 1+1, LJ_TISNUM); 1217 dasm_put(Dst, 4830, 1+1, LJ_TISNUM);
1218 if (sse) { 1218 if (sse) {
1219 dasm_put(Dst, 4948); 1219 dasm_put(Dst, 4925);
1220 } else { 1220 } else {
1221 dasm_put(Dst, 4954); 1221 dasm_put(Dst, 4931);
1222 } 1222 }
1223 dasm_put(Dst, 4963); 1223 dasm_put(Dst, 4940);
1224 if (sse) { 1224 if (sse) {
1225 dasm_put(Dst, 4988); 1225 dasm_put(Dst, 4965);
1226 } else { 1226 } else {
1227 dasm_put(Dst, 4994); 1227 dasm_put(Dst, 4971);
1228 } 1228 }
1229 dasm_put(Dst, 4997, 1+2); 1229 dasm_put(Dst, 4974, 1+2);
1230 if (sse) { 1230 if (sse) {
1231 dasm_put(Dst, 5006); 1231 dasm_put(Dst, 4983);
1232 } else { 1232 } else {
1233 dasm_put(Dst, 5014); 1233 dasm_put(Dst, 4991);
1234 } 1234 }
1235 dasm_put(Dst, 1597); 1235 dasm_put(Dst, 1590);
1236 if (sse) { 1236 if (sse) {
1237 dasm_put(Dst, 5022); 1237 dasm_put(Dst, 4999);
1238 } else { 1238 } else {
1239 dasm_put(Dst, 5054); 1239 dasm_put(Dst, 5031);
1240 } 1240 }
1241 dasm_put(Dst, 5073); 1241 dasm_put(Dst, 5050);
1242 if (sse) { 1242 if (sse) {
1243 dasm_put(Dst, 5089, 1+1, LJ_TISNUM); 1243 dasm_put(Dst, 5066, 1+1, LJ_TISNUM);
1244 } else { 1244 } else {
1245 dasm_put(Dst, 5114, 1+1, LJ_TISNUM); 1245 dasm_put(Dst, 5091, 1+1, LJ_TISNUM);
1246 } 1246 }
1247 dasm_put(Dst, 5136); 1247 dasm_put(Dst, 5113);
1248 if (sse) { 1248 if (sse) {
1249 dasm_put(Dst, 5154); 1249 dasm_put(Dst, 5131);
1250 } else { 1250 } else {
1251 dasm_put(Dst, 5180); 1251 dasm_put(Dst, 5157);
1252 } 1252 }
1253 dasm_put(Dst, 5197, 1+2); 1253 dasm_put(Dst, 5174, 1+2);
1254 if (sse) { 1254 if (sse) {
1255 dasm_put(Dst, 5237); 1255 dasm_put(Dst, 5214);
1256 } else { 1256 } else {
1257 dasm_put(Dst, 5245); 1257 dasm_put(Dst, 5222);
1258 } 1258 }
1259 dasm_put(Dst, 5255, 2+1, LJ_TISNUM, LJ_TISNUM); 1259 dasm_put(Dst, 5232, 2+1, LJ_TISNUM, LJ_TISNUM);
1260 if (sse) { 1260 if (sse) {
1261 dasm_put(Dst, 5307, 1+1, LJ_TISNUM, LJ_TISNUM); 1261 dasm_put(Dst, 5284, 1+1, LJ_TISNUM, LJ_TISNUM);
1262 } else { 1262 } else {
1263 dasm_put(Dst, 5354, 2+1, LJ_TISNUM, LJ_TISNUM); 1263 dasm_put(Dst, 5331, 2+1, LJ_TISNUM, LJ_TISNUM);
1264 } 1264 }
1265 if (sse) { 1265 if (sse) {
1266 dasm_put(Dst, 5395, 1+1, LJ_TISNUM, LJ_TISNUM); 1266 dasm_put(Dst, 5372, 1+1, LJ_TISNUM, LJ_TISNUM);
1267 } else { 1267 } else {
1268 dasm_put(Dst, 5466, 1+1, LJ_TISNUM, LJ_TISNUM); 1268 dasm_put(Dst, 5443, 1+1, LJ_TISNUM, LJ_TISNUM);
1269 if (cmov) { 1269 if (cmov) {
1270 dasm_put(Dst, 5519); 1270 dasm_put(Dst, 5496);
1271 } else { 1271 } else {
1272 dasm_put(Dst, 5527); 1272 dasm_put(Dst, 5504);
1273 } 1273 }
1274 dasm_put(Dst, 5458); 1274 dasm_put(Dst, 5435);
1275 } 1275 }
1276 if (sse) { 1276 if (sse) {
1277 dasm_put(Dst, 5548, 1+1, LJ_TISNUM, LJ_TISNUM); 1277 dasm_put(Dst, 5525, 1+1, LJ_TISNUM, LJ_TISNUM);
1278 } else { 1278 } else {
1279 dasm_put(Dst, 5619, 1+1, LJ_TISNUM, LJ_TISNUM); 1279 dasm_put(Dst, 5596, 1+1, LJ_TISNUM, LJ_TISNUM);
1280 if (cmov) { 1280 if (cmov) {
1281 dasm_put(Dst, 5672); 1281 dasm_put(Dst, 5649);
1282 } else { 1282 } else {
1283 dasm_put(Dst, 5680); 1283 dasm_put(Dst, 5657);
1284 } 1284 }
1285 dasm_put(Dst, 5458); 1285 dasm_put(Dst, 5435);
1286 } 1286 }
1287 if (!sse) { 1287 if (!sse) {
1288 dasm_put(Dst, 5701); 1288 dasm_put(Dst, 5678);
1289 } 1289 }
1290 dasm_put(Dst, 5710, 1+1, LJ_TSTR); 1290 dasm_put(Dst, 5687, 1+1, LJ_TSTR);
1291 if (sse) { 1291 if (sse) {
1292 dasm_put(Dst, 5732, Dt5(->len)); 1292 dasm_put(Dst, 5709, Dt5(->len));
1293 } else { 1293 } else {
1294 dasm_put(Dst, 5743, Dt5(->len)); 1294 dasm_put(Dst, 5720, Dt5(->len));
1295 } 1295 }
1296 dasm_put(Dst, 5751, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1296 dasm_put(Dst, 5728, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1297 if (sse) { 1297 if (sse) {
1298 dasm_put(Dst, 5785); 1298 dasm_put(Dst, 5762);
1299 } else { 1299 } else {
1300 dasm_put(Dst, 5795); 1300 dasm_put(Dst, 5772);
1301 } 1301 }
1302 dasm_put(Dst, 5808, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1302 dasm_put(Dst, 5785, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1303 if (sse) { 1303 if (sse) {
1304 dasm_put(Dst, 5843); 1304 dasm_put(Dst, 5820);
1305 } else { 1305 } else {
1306 dasm_put(Dst, 5863); 1306 dasm_put(Dst, 5840);
1307 } 1307 }
1308 dasm_put(Dst, 5883, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1308 dasm_put(Dst, 5860, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1309 dasm_put(Dst, 2481); 1309 dasm_put(Dst, 2468);
1310 if (sse) { 1310 if (sse) {
1311 dasm_put(Dst, 5994); 1311 dasm_put(Dst, 5971);
1312 } else { 1312 } else {
1313 dasm_put(Dst, 6005); 1313 dasm_put(Dst, 5982);
1314 } 1314 }
1315 dasm_put(Dst, 6013, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1315 dasm_put(Dst, 5990, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1316 if (sse) { 1316 if (sse) {
1317 dasm_put(Dst, 6043); 1317 dasm_put(Dst, 6020);
1318 } else { 1318 } else {
1319 dasm_put(Dst, 6054); 1319 dasm_put(Dst, 6031);
1320 } 1320 }
1321 dasm_put(Dst, 6062, sizeof(GCstr)-1); 1321 dasm_put(Dst, 6039, sizeof(GCstr)-1);
1322 dasm_put(Dst, 6143, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1322 dasm_put(Dst, 6120, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1323 dasm_put(Dst, 6202, LJ_TSTR, LJ_TISNUM); 1323 dasm_put(Dst, 6179, LJ_TSTR, LJ_TISNUM);
1324 if (sse) { 1324 if (sse) {
1325 dasm_put(Dst, 6227); 1325 dasm_put(Dst, 6204);
1326 } else { 1326 } else {
1327 dasm_put(Dst, 6234); 1327 dasm_put(Dst, 6211);
1328 } 1328 }
1329 dasm_put(Dst, 6246, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), 1+1); 1329 dasm_put(Dst, 6223, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), 1+1);
1330 dasm_put(Dst, 6316, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1330 dasm_put(Dst, 6293, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1331 dasm_put(Dst, 6400, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1331 dasm_put(Dst, 6377, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1332 dasm_put(Dst, 6459, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1, DISPATCH_GL(gc.total)); 1332 dasm_put(Dst, 6436, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1, DISPATCH_GL(gc.total));
1333 dasm_put(Dst, 6544, DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1333 dasm_put(Dst, 6521, DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1334 dasm_put(Dst, 6619, 1+1, LJ_TTAB); 1334 dasm_put(Dst, 6596, 1+1, LJ_TTAB);
1335 if (sse) { 1335 if (sse) {
1336 dasm_put(Dst, 6692); 1336 dasm_put(Dst, 6669);
1337 } else { 1337 } else {
1338 dasm_put(Dst, 6702); 1338 dasm_put(Dst, 6679);
1339 } 1339 }
1340 if (sse) { 1340 if (sse) {
1341 dasm_put(Dst, 6713, 1+1, LJ_TISNUM); 1341 dasm_put(Dst, 6690, 1+1, LJ_TISNUM);
1342 } else { 1342 } else {
1343 dasm_put(Dst, 6770, 1+1, LJ_TISNUM); 1343 dasm_put(Dst, 6747, 1+1, LJ_TISNUM);
1344 } 1344 }
1345 if (sse) { 1345 if (sse) {
1346 dasm_put(Dst, 6814, 1+1, LJ_TISNUM); 1346 dasm_put(Dst, 6791, 1+1, LJ_TISNUM);
1347 } else { 1347 } else {
1348 dasm_put(Dst, 6862, 1+1, LJ_TISNUM); 1348 dasm_put(Dst, 6839, 1+1, LJ_TISNUM);
1349 } 1349 }
1350 dasm_put(Dst, 6902); 1350 dasm_put(Dst, 6879);
1351 if (sse) { 1351 if (sse) {
1352 dasm_put(Dst, 6912); 1352 dasm_put(Dst, 6889);
1353 } 1353 }
1354 dasm_put(Dst, 6917, LJ_TISNUM); 1354 dasm_put(Dst, 6894, LJ_TISNUM);
1355 if (sse) { 1355 if (sse) {
1356 dasm_put(Dst, 6935); 1356 dasm_put(Dst, 6912);
1357 } else { 1357 } else {
1358 dasm_put(Dst, 6952); 1358 dasm_put(Dst, 6929);
1359 } 1359 }
1360 dasm_put(Dst, 6965); 1360 dasm_put(Dst, 6942);
1361 if (sse) { 1361 if (sse) {
1362 dasm_put(Dst, 6973, 1+1, LJ_TISNUM); 1362 dasm_put(Dst, 6950, 1+1, LJ_TISNUM);
1363 } else { 1363 } else {
1364 dasm_put(Dst, 7021, 1+1, LJ_TISNUM); 1364 dasm_put(Dst, 6998, 1+1, LJ_TISNUM);
1365 } 1365 }
1366 dasm_put(Dst, 6902); 1366 dasm_put(Dst, 6879);
1367 if (sse) { 1367 if (sse) {
1368 dasm_put(Dst, 6912); 1368 dasm_put(Dst, 6889);
1369 } 1369 }
1370 dasm_put(Dst, 6917, LJ_TISNUM); 1370 dasm_put(Dst, 6894, LJ_TISNUM);
1371 if (sse) { 1371 if (sse) {
1372 dasm_put(Dst, 7061); 1372 dasm_put(Dst, 7038);
1373 } else { 1373 } else {
1374 dasm_put(Dst, 7078); 1374 dasm_put(Dst, 7055);
1375 } 1375 }
1376 dasm_put(Dst, 6965); 1376 dasm_put(Dst, 6942);
1377 if (sse) { 1377 if (sse) {
1378 dasm_put(Dst, 7091, 1+1, LJ_TISNUM); 1378 dasm_put(Dst, 7068, 1+1, LJ_TISNUM);
1379 } else { 1379 } else {
1380 dasm_put(Dst, 7139, 1+1, LJ_TISNUM); 1380 dasm_put(Dst, 7116, 1+1, LJ_TISNUM);
1381 } 1381 }
1382 dasm_put(Dst, 6902); 1382 dasm_put(Dst, 6879);
1383 if (sse) { 1383 if (sse) {
1384 dasm_put(Dst, 6912); 1384 dasm_put(Dst, 6889);
1385 } 1385 }
1386 dasm_put(Dst, 6917, LJ_TISNUM); 1386 dasm_put(Dst, 6894, LJ_TISNUM);
1387 if (sse) { 1387 if (sse) {
1388 dasm_put(Dst, 7179); 1388 dasm_put(Dst, 7156);
1389 } else { 1389 } else {
1390 dasm_put(Dst, 7196); 1390 dasm_put(Dst, 7173);
1391 } 1391 }
1392 dasm_put(Dst, 6965); 1392 dasm_put(Dst, 6942);
1393 if (sse) { 1393 if (sse) {
1394 dasm_put(Dst, 7209, 1+1, LJ_TISNUM); 1394 dasm_put(Dst, 7186, 1+1, LJ_TISNUM);
1395 } else { 1395 } else {
1396 dasm_put(Dst, 7257, 1+1, LJ_TISNUM); 1396 dasm_put(Dst, 7234, 1+1, LJ_TISNUM);
1397 } 1397 }
1398 dasm_put(Dst, 7297); 1398 dasm_put(Dst, 7274);
1399 if (sse) { 1399 if (sse) {
1400 dasm_put(Dst, 7304, 1+1, LJ_TISNUM); 1400 dasm_put(Dst, 7281, 1+1, LJ_TISNUM);
1401 } else { 1401 } else {
1402 dasm_put(Dst, 7352, 1+1, LJ_TISNUM); 1402 dasm_put(Dst, 7329, 1+1, LJ_TISNUM);
1403 } 1403 }
1404 dasm_put(Dst, 7392); 1404 dasm_put(Dst, 7369);
1405 if (sse) { 1405 if (sse) {
1406 dasm_put(Dst, 7396); 1406 dasm_put(Dst, 7373);
1407 } else { 1407 } else {
1408 dasm_put(Dst, 7423); 1408 dasm_put(Dst, 7400);
1409 } 1409 }
1410 dasm_put(Dst, 7438); 1410 dasm_put(Dst, 7415);
1411 if (sse) { 1411 if (sse) {
1412 dasm_put(Dst, 6687); 1412 dasm_put(Dst, 6664);
1413 } 1413 }
1414 dasm_put(Dst, 7441); 1414 dasm_put(Dst, 7418);
1415 if (sse) { 1415 if (sse) {
1416 dasm_put(Dst, 7450, 1+1, LJ_TISNUM, LJ_TISNUM); 1416 dasm_put(Dst, 7427, 1+1, LJ_TISNUM, LJ_TISNUM);
1417 } else { 1417 } else {
1418 dasm_put(Dst, 7524, 2+1, LJ_TISNUM, LJ_TISNUM); 1418 dasm_put(Dst, 7501, 2+1, LJ_TISNUM, LJ_TISNUM);
1419 } 1419 }
1420 dasm_put(Dst, 7590); 1420 dasm_put(Dst, 7567);
1421 if (sse) { 1421 if (sse) {
1422 dasm_put(Dst, 7599, 1+1, LJ_TISNUM, LJ_TISNUM); 1422 dasm_put(Dst, 7576, 1+1, LJ_TISNUM, LJ_TISNUM);
1423 } else { 1423 } else {
1424 dasm_put(Dst, 7673, 2+1, LJ_TISNUM, LJ_TISNUM); 1424 dasm_put(Dst, 7650, 2+1, LJ_TISNUM, LJ_TISNUM);
1425 } 1425 }
1426 dasm_put(Dst, 7739); 1426 dasm_put(Dst, 7716);
1427 if (sse) { 1427 if (sse) {
1428 dasm_put(Dst, 7749, 1+1, LJ_TISNUM, LJ_TISNUM); 1428 dasm_put(Dst, 7726, 1+1, LJ_TISNUM, LJ_TISNUM);
1429 } else { 1429 } else {
1430 dasm_put(Dst, 7823, 2+1, LJ_TISNUM, LJ_TISNUM); 1430 dasm_put(Dst, 7800, 2+1, LJ_TISNUM, LJ_TISNUM);
1431 } 1431 }
1432 dasm_put(Dst, 7889); 1432 dasm_put(Dst, 7866);
1433 if (sse) { 1433 if (sse) {
1434 dasm_put(Dst, 7899, 1+1, LJ_TISNUM, LJ_TISNUM); 1434 dasm_put(Dst, 7876, 1+1, LJ_TISNUM, LJ_TISNUM);
1435 } else { 1435 } else {
1436 dasm_put(Dst, 7973, 2+1, LJ_TISNUM, LJ_TISNUM); 1436 dasm_put(Dst, 7950, 2+1, LJ_TISNUM, LJ_TISNUM);
1437 } 1437 }
1438 dasm_put(Dst, 8039); 1438 dasm_put(Dst, 8016);
1439 if (sse) { 1439 if (sse) {
1440 dasm_put(Dst, 8048, 1+1, LJ_TISNUM, LJ_TISNUM); 1440 dasm_put(Dst, 8025, 1+1, LJ_TISNUM, LJ_TISNUM);
1441 } else { 1441 } else {
1442 dasm_put(Dst, 8122, 2+1, LJ_TISNUM, LJ_TISNUM); 1442 dasm_put(Dst, 8099, 2+1, LJ_TISNUM, LJ_TISNUM);
1443 } 1443 }
1444 dasm_put(Dst, 8188, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1444 dasm_put(Dst, 8165, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1445 dasm_put(Dst, 8272, Dt1(->top), Dt7(->gate), LJ_TFUNC, Dt7(->gate), Dt1(->base), LUA_MINSTACK, Dt1(->base), Dt1(->top)); 1445 dasm_put(Dst, 8249, Dt1(->top), Dt7(->gate), LJ_TFUNC, Dt7(->gate), Dt1(->base), LUA_MINSTACK, Dt1(->base), Dt1(->top));
1446 dasm_put(Dst, 8391, Dt1(->base), Dt1(->top)); 1446 dasm_put(Dst, 8368, Dt1(->base), Dt1(->top));
1447#if LJ_HASJIT 1447#if LJ_HASJIT
1448 dasm_put(Dst, 8432, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1448 dasm_put(Dst, 8409, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1449#endif 1449#endif
1450 dasm_put(Dst, 8463, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base), GG_DISP_STATIC*4); 1450 dasm_put(Dst, 8440, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base), GG_DISP_STATIC*4);
1451#if LJ_HASJIT 1451#if LJ_HASJIT
1452 dasm_put(Dst, 8554, Dt1(->base), GG_DISP2J, DISPATCH_J(L)); 1452 dasm_put(Dst, 8531, Dt1(->base), GG_DISP2J, DISPATCH_J(L));
1453#endif 1453#endif
1454 dasm_put(Dst, 8587); 1454 dasm_put(Dst, 8560);
1455#if LJ_HASJIT 1455#if LJ_HASJIT
1456 dasm_put(Dst, 8590, Dt1(->base), GG_DISP2J, DISPATCH_J(L), Dt1(->base)); 1456 dasm_put(Dst, 8563, Dt1(->base), GG_DISP2J, DISPATCH_J(L), Dt1(->base));
1457#endif 1457#endif
1458 dasm_put(Dst, 8640); 1458 dasm_put(Dst, 8609);
1459#if LJ_HASJIT 1459#if LJ_HASJIT
1460 dasm_put(Dst, 8643, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_J(flags), JIT_F_SSE2, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), GG_DISP2J, Dt1(->base)); 1460 dasm_put(Dst, 8612, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_J(flags), JIT_F_SSE2, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), GG_DISP2J, Dt1(->base));
1461#endif 1461#endif
1462 dasm_put(Dst, 8793); 1462 dasm_put(Dst, 8755);
1463#if LJ_HASJIT 1463#if LJ_HASJIT
1464 dasm_put(Dst, 8796, Dt7(->pt), Dt9(->k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1464 dasm_put(Dst, 8758, Dt7(->pt), Dt9(->k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1465#endif 1465#endif
1466 dasm_put(Dst, 8836); 1466 dasm_put(Dst, 8798);
1467 if (!sse) { 1467 if (!sse) {
1468 dasm_put(Dst, 8839); 1468 dasm_put(Dst, 8801);
1469 } 1469 }
1470 dasm_put(Dst, 8884); 1470 dasm_put(Dst, 8846);
1471 if (!sse) { 1471 if (!sse) {
1472 dasm_put(Dst, 8986); 1472 dasm_put(Dst, 8948);
1473 } 1473 }
1474 dasm_put(Dst, 9031); 1474 dasm_put(Dst, 8993);
1475 if (!sse) { 1475 if (!sse) {
1476 dasm_put(Dst, 9133); 1476 dasm_put(Dst, 9095);
1477 } 1477 }
1478 dasm_put(Dst, 9172); 1478 dasm_put(Dst, 9134);
1479 if (sse) { 1479 if (sse) {
1480 dasm_put(Dst, 9277); 1480 dasm_put(Dst, 9239);
1481 } else { 1481 } else {
1482 dasm_put(Dst, 9407); 1482 dasm_put(Dst, 9369);
1483 } 1483 }
1484 dasm_put(Dst, 9454); 1484 dasm_put(Dst, 9416);
1485 if (!sse) { 1485 if (!sse) {
1486 dasm_put(Dst, 9528); 1486 dasm_put(Dst, 9490);
1487 if (cmov) { 1487 if (cmov) {
1488 dasm_put(Dst, 9539); 1488 dasm_put(Dst, 9501);
1489 } else { 1489 } else {
1490 dasm_put(Dst, 9543); 1490 dasm_put(Dst, 9505);
1491 } 1491 }
1492 dasm_put(Dst, 9550); 1492 dasm_put(Dst, 9512);
1493 dasm_put(Dst, 9624); 1493 dasm_put(Dst, 9586);
1494 dasm_put(Dst, 9724); 1494 dasm_put(Dst, 9686);
1495 if (cmov) { 1495 if (cmov) {
1496 dasm_put(Dst, 9727); 1496 dasm_put(Dst, 9689);
1497 } else { 1497 } else {
1498 dasm_put(Dst, 9731); 1498 dasm_put(Dst, 9693);
1499 } 1499 }
1500 dasm_put(Dst, 9738); 1500 dasm_put(Dst, 9700);
1501 if (cmov) { 1501 if (cmov) {
1502 dasm_put(Dst, 9539); 1502 dasm_put(Dst, 9501);
1503 } else { 1503 } else {
1504 dasm_put(Dst, 9543); 1504 dasm_put(Dst, 9505);
1505 } 1505 }
1506 dasm_put(Dst, 9756); 1506 dasm_put(Dst, 9718);
1507 } else { 1507 } else {
1508 dasm_put(Dst, 9835); 1508 dasm_put(Dst, 9797);
1509 } 1509 }
1510 dasm_put(Dst, 9838); 1510 dasm_put(Dst, 9800);
1511 dasm_put(Dst, 9923); 1511 dasm_put(Dst, 9885);
1512 dasm_put(Dst, 10054); 1512 dasm_put(Dst, 10016);
1513 dasm_put(Dst, 10253); 1513 dasm_put(Dst, 10215);
1514 if (sse) { 1514 if (sse) {
1515 dasm_put(Dst, 10276); 1515 dasm_put(Dst, 10238);
1516 dasm_put(Dst, 10333); 1516 dasm_put(Dst, 10295);
1517 dasm_put(Dst, 10424); 1517 dasm_put(Dst, 10386);
1518 } else { 1518 } else {
1519 dasm_put(Dst, 10466); 1519 dasm_put(Dst, 10428);
1520 dasm_put(Dst, 10558); 1520 dasm_put(Dst, 10520);
1521 } 1521 }
1522 dasm_put(Dst, 10604); 1522 dasm_put(Dst, 10566);
1523 if (sse) { 1523 if (sse) {
1524 dasm_put(Dst, 10610); 1524 dasm_put(Dst, 10572);
1525 dasm_put(Dst, 10715); 1525 dasm_put(Dst, 10677);
1526 dasm_put(Dst, 10798); 1526 dasm_put(Dst, 10760);
1527 } else { 1527 } else {
1528 dasm_put(Dst, 10870); 1528 dasm_put(Dst, 10832);
1529 dasm_put(Dst, 10953); 1529 dasm_put(Dst, 10915);
1530 if (cmov) { 1530 if (cmov) {
1531 dasm_put(Dst, 11008); 1531 dasm_put(Dst, 10970);
1532 } else { 1532 } else {
1533 dasm_put(Dst, 11027); 1533 dasm_put(Dst, 10989);
1534 } 1534 }
1535 dasm_put(Dst, 10866); 1535 dasm_put(Dst, 10828);
1536 } 1536 }
1537 dasm_put(Dst, 11068); 1537 dasm_put(Dst, 11030);
1538} 1538}
1539 1539
1540/* Generate the code for a single instruction. */ 1540/* Generate the code for a single instruction. */
1541static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1541static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1542{ 1542{
1543 int vk = 0; 1543 int vk = 0;
1544 dasm_put(Dst, 11122, defop); 1544 dasm_put(Dst, 11084, defop);
1545 1545
1546 switch (op) { 1546 switch (op) {
1547 1547
@@ -1550,619 +1550,619 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1550 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1550 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1551 1551
1552 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1552 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1553 dasm_put(Dst, 11124, LJ_TISNUM, LJ_TISNUM); 1553 dasm_put(Dst, 11086, LJ_TISNUM, LJ_TISNUM);
1554 if (sse) { 1554 if (sse) {
1555 dasm_put(Dst, 11145); 1555 dasm_put(Dst, 11107);
1556 } else { 1556 } else {
1557 dasm_put(Dst, 11160); 1557 dasm_put(Dst, 11122);
1558 if (cmov) { 1558 if (cmov) {
1559 dasm_put(Dst, 11170); 1559 dasm_put(Dst, 11132);
1560 } else { 1560 } else {
1561 dasm_put(Dst, 11176); 1561 dasm_put(Dst, 11138);
1562 } 1562 }
1563 } 1563 }
1564 switch (op) { 1564 switch (op) {
1565 case BC_ISLT: 1565 case BC_ISLT:
1566 dasm_put(Dst, 11183); 1566 dasm_put(Dst, 11145);
1567 break; 1567 break;
1568 case BC_ISGE: 1568 case BC_ISGE:
1569 dasm_put(Dst, 10419); 1569 dasm_put(Dst, 10381);
1570 break; 1570 break;
1571 case BC_ISLE: 1571 case BC_ISLE:
1572 dasm_put(Dst, 6614); 1572 dasm_put(Dst, 6591);
1573 break; 1573 break;
1574 case BC_ISGT: 1574 case BC_ISGT:
1575 dasm_put(Dst, 11188); 1575 dasm_put(Dst, 11150);
1576 break; 1576 break;
1577 default: break; /* Shut up GCC. */ 1577 default: break; /* Shut up GCC. */
1578 } 1578 }
1579 dasm_put(Dst, 11193, -BCBIAS_J*4); 1579 dasm_put(Dst, 11155, -BCBIAS_J*4);
1580 break; 1580 break;
1581 1581
1582 case BC_ISEQV: case BC_ISNEV: 1582 case BC_ISEQV: case BC_ISNEV:
1583 vk = op == BC_ISEQV; 1583 vk = op == BC_ISEQV;
1584 dasm_put(Dst, 11226, LJ_TISNUM, LJ_TISNUM); 1584 dasm_put(Dst, 11188, LJ_TISNUM, LJ_TISNUM);
1585 if (sse) { 1585 if (sse) {
1586 dasm_put(Dst, 11252); 1586 dasm_put(Dst, 11214);
1587 } else { 1587 } else {
1588 dasm_put(Dst, 11264); 1588 dasm_put(Dst, 11226);
1589 if (cmov) { 1589 if (cmov) {
1590 dasm_put(Dst, 11170); 1590 dasm_put(Dst, 11132);
1591 } else { 1591 } else {
1592 dasm_put(Dst, 11176); 1592 dasm_put(Dst, 11138);
1593 } 1593 }
1594 } 1594 }
1595 iseqne_fp: 1595 iseqne_fp:
1596 if (vk) { 1596 if (vk) {
1597 dasm_put(Dst, 11271); 1597 dasm_put(Dst, 11233);
1598 } else { 1598 } else {
1599 dasm_put(Dst, 11280); 1599 dasm_put(Dst, 11242);
1600 } 1600 }
1601 iseqne_end: 1601 iseqne_end:
1602 if (vk) { 1602 if (vk) {
1603 dasm_put(Dst, 11289, -BCBIAS_J*4); 1603 dasm_put(Dst, 11251, -BCBIAS_J*4);
1604 } else { 1604 } else {
1605 dasm_put(Dst, 11304, -BCBIAS_J*4); 1605 dasm_put(Dst, 11266, -BCBIAS_J*4);
1606 } 1606 }
1607 dasm_put(Dst, 8621); 1607 dasm_put(Dst, 8590);
1608 if (op == BC_ISEQV || op == BC_ISNEV) { 1608 if (op == BC_ISEQV || op == BC_ISNEV) {
1609 dasm_put(Dst, 11319, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1609 dasm_put(Dst, 11281, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1610 if (vk) { 1610 if (vk) {
1611 dasm_put(Dst, 11377); 1611 dasm_put(Dst, 11339);
1612 } else { 1612 } else {
1613 dasm_put(Dst, 11381); 1613 dasm_put(Dst, 11343);
1614 } 1614 }
1615 dasm_put(Dst, 11387); 1615 dasm_put(Dst, 11349);
1616 } 1616 }
1617 break; 1617 break;
1618 case BC_ISEQS: case BC_ISNES: 1618 case BC_ISEQS: case BC_ISNES:
1619 vk = op == BC_ISEQS; 1619 vk = op == BC_ISEQS;
1620 dasm_put(Dst, 11392, LJ_TSTR); 1620 dasm_put(Dst, 11354, LJ_TSTR);
1621 iseqne_test: 1621 iseqne_test:
1622 if (vk) { 1622 if (vk) {
1623 dasm_put(Dst, 11275); 1623 dasm_put(Dst, 11237);
1624 } else { 1624 } else {
1625 dasm_put(Dst, 10553); 1625 dasm_put(Dst, 10515);
1626 } 1626 }
1627 goto iseqne_end; 1627 goto iseqne_end;
1628 case BC_ISEQN: case BC_ISNEN: 1628 case BC_ISEQN: case BC_ISNEN:
1629 vk = op == BC_ISEQN; 1629 vk = op == BC_ISEQN;
1630 dasm_put(Dst, 11415, LJ_TISNUM); 1630 dasm_put(Dst, 11377, LJ_TISNUM);
1631 if (sse) { 1631 if (sse) {
1632 dasm_put(Dst, 11429); 1632 dasm_put(Dst, 11391);
1633 } else { 1633 } else {
1634 dasm_put(Dst, 11441); 1634 dasm_put(Dst, 11403);
1635 if (cmov) { 1635 if (cmov) {
1636 dasm_put(Dst, 11170); 1636 dasm_put(Dst, 11132);
1637 } else { 1637 } else {
1638 dasm_put(Dst, 11176); 1638 dasm_put(Dst, 11138);
1639 } 1639 }
1640 } 1640 }
1641 goto iseqne_fp; 1641 goto iseqne_fp;
1642 case BC_ISEQP: case BC_ISNEP: 1642 case BC_ISEQP: case BC_ISNEP:
1643 vk = op == BC_ISEQP; 1643 vk = op == BC_ISEQP;
1644 dasm_put(Dst, 11448); 1644 dasm_put(Dst, 11410);
1645 goto iseqne_test; 1645 goto iseqne_test;
1646 1646
1647 /* -- Unary test and copy ops ------------------------------------------- */ 1647 /* -- Unary test and copy ops ------------------------------------------- */
1648 1648
1649 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1649 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1650 dasm_put(Dst, 11459, LJ_TISTRUECOND); 1650 dasm_put(Dst, 11421, LJ_TISTRUECOND);
1651 if (op == BC_IST || op == BC_ISTC) { 1651 if (op == BC_IST || op == BC_ISTC) {
1652 dasm_put(Dst, 11471); 1652 dasm_put(Dst, 11433);
1653 } else { 1653 } else {
1654 dasm_put(Dst, 11476); 1654 dasm_put(Dst, 11438);
1655 } 1655 }
1656 if (op == BC_ISTC || op == BC_ISFC) { 1656 if (op == BC_ISTC || op == BC_ISFC) {
1657 dasm_put(Dst, 11481); 1657 dasm_put(Dst, 11443);
1658 } 1658 }
1659 dasm_put(Dst, 11492, -BCBIAS_J*4); 1659 dasm_put(Dst, 11454, -BCBIAS_J*4);
1660 break; 1660 break;
1661 1661
1662 /* -- Unary ops --------------------------------------------------------- */ 1662 /* -- Unary ops --------------------------------------------------------- */
1663 1663
1664 case BC_MOV: 1664 case BC_MOV:
1665 dasm_put(Dst, 11523); 1665 dasm_put(Dst, 11485);
1666 break; 1666 break;
1667 case BC_NOT: 1667 case BC_NOT:
1668 dasm_put(Dst, 11556, LJ_TISTRUECOND, LJ_TTRUE); 1668 dasm_put(Dst, 11518, LJ_TISTRUECOND, LJ_TTRUE);
1669 break; 1669 break;
1670 case BC_UNM: 1670 case BC_UNM:
1671 dasm_put(Dst, 11591, LJ_TISNUM); 1671 dasm_put(Dst, 11553, LJ_TISNUM);
1672 if (sse) { 1672 if (sse) {
1673 dasm_put(Dst, 11602); 1673 dasm_put(Dst, 11564);
1674 } else { 1674 } else {
1675 dasm_put(Dst, 11632); 1675 dasm_put(Dst, 11594);
1676 } 1676 }
1677 dasm_put(Dst, 8621); 1677 dasm_put(Dst, 8590);
1678 break; 1678 break;
1679 case BC_LEN: 1679 case BC_LEN:
1680 dasm_put(Dst, 11641, LJ_TSTR); 1680 dasm_put(Dst, 11603, LJ_TSTR);
1681 if (sse) { 1681 if (sse) {
1682 dasm_put(Dst, 11655, Dt5(->len)); 1682 dasm_put(Dst, 11617, Dt5(->len));
1683 } else { 1683 } else {
1684 dasm_put(Dst, 11673, Dt5(->len)); 1684 dasm_put(Dst, 11635, Dt5(->len));
1685 } 1685 }
1686 dasm_put(Dst, 11682, LJ_TTAB); 1686 dasm_put(Dst, 11644, LJ_TTAB);
1687 if (sse) { 1687 if (sse) {
1688 dasm_put(Dst, 11722); 1688 dasm_put(Dst, 11684);
1689 } else { 1689 } else {
1690 dasm_put(Dst, 11731); 1690 dasm_put(Dst, 11693);
1691 } 1691 }
1692 dasm_put(Dst, 11741); 1692 dasm_put(Dst, 11703);
1693 break; 1693 break;
1694 1694
1695 /* -- Binary ops -------------------------------------------------------- */ 1695 /* -- Binary ops -------------------------------------------------------- */
1696 1696
1697 1697
1698 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1698 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1699 dasm_put(Dst, 11751); 1699 dasm_put(Dst, 11713);
1700 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1700 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1701 switch (vk) { 1701 switch (vk) {
1702 case 0: 1702 case 0:
1703 dasm_put(Dst, 11759, LJ_TISNUM); 1703 dasm_put(Dst, 11721, LJ_TISNUM);
1704 if (sse) { 1704 if (sse) {
1705 dasm_put(Dst, 11771); 1705 dasm_put(Dst, 11733);
1706 } else { 1706 } else {
1707 dasm_put(Dst, 11785); 1707 dasm_put(Dst, 11747);
1708 } 1708 }
1709 break; 1709 break;
1710 case 1: 1710 case 1:
1711 dasm_put(Dst, 11793, LJ_TISNUM); 1711 dasm_put(Dst, 11755, LJ_TISNUM);
1712 if (sse) { 1712 if (sse) {
1713 dasm_put(Dst, 11805); 1713 dasm_put(Dst, 11767);
1714 } else { 1714 } else {
1715 dasm_put(Dst, 11819); 1715 dasm_put(Dst, 11781);
1716 } 1716 }
1717 break; 1717 break;
1718 default: 1718 default:
1719 dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM); 1719 dasm_put(Dst, 11789, LJ_TISNUM, LJ_TISNUM);
1720 if (sse) { 1720 if (sse) {
1721 dasm_put(Dst, 11849); 1721 dasm_put(Dst, 11811);
1722 } else { 1722 } else {
1723 dasm_put(Dst, 11863); 1723 dasm_put(Dst, 11825);
1724 } 1724 }
1725 break; 1725 break;
1726 } 1726 }
1727 if (sse) { 1727 if (sse) {
1728 dasm_put(Dst, 11625); 1728 dasm_put(Dst, 11587);
1729 } else { 1729 } else {
1730 dasm_put(Dst, 11637); 1730 dasm_put(Dst, 11599);
1731 } 1731 }
1732 dasm_put(Dst, 8621); 1732 dasm_put(Dst, 8590);
1733 break; 1733 break;
1734 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1734 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1735 dasm_put(Dst, 11751); 1735 dasm_put(Dst, 11713);
1736 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1736 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1737 switch (vk) { 1737 switch (vk) {
1738 case 0: 1738 case 0:
1739 dasm_put(Dst, 11759, LJ_TISNUM); 1739 dasm_put(Dst, 11721, LJ_TISNUM);
1740 if (sse) { 1740 if (sse) {
1741 dasm_put(Dst, 11871); 1741 dasm_put(Dst, 11833);
1742 } else { 1742 } else {
1743 dasm_put(Dst, 11885); 1743 dasm_put(Dst, 11847);
1744 } 1744 }
1745 break; 1745 break;
1746 case 1: 1746 case 1:
1747 dasm_put(Dst, 11793, LJ_TISNUM); 1747 dasm_put(Dst, 11755, LJ_TISNUM);
1748 if (sse) { 1748 if (sse) {
1749 dasm_put(Dst, 11893); 1749 dasm_put(Dst, 11855);
1750 } else { 1750 } else {
1751 dasm_put(Dst, 11907); 1751 dasm_put(Dst, 11869);
1752 } 1752 }
1753 break; 1753 break;
1754 default: 1754 default:
1755 dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM); 1755 dasm_put(Dst, 11789, LJ_TISNUM, LJ_TISNUM);
1756 if (sse) { 1756 if (sse) {
1757 dasm_put(Dst, 11915); 1757 dasm_put(Dst, 11877);
1758 } else { 1758 } else {
1759 dasm_put(Dst, 11929); 1759 dasm_put(Dst, 11891);
1760 } 1760 }
1761 break; 1761 break;
1762 } 1762 }
1763 if (sse) { 1763 if (sse) {
1764 dasm_put(Dst, 11625); 1764 dasm_put(Dst, 11587);
1765 } else { 1765 } else {
1766 dasm_put(Dst, 11637); 1766 dasm_put(Dst, 11599);
1767 } 1767 }
1768 dasm_put(Dst, 8621); 1768 dasm_put(Dst, 8590);
1769 break; 1769 break;
1770 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1770 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1771 dasm_put(Dst, 11751); 1771 dasm_put(Dst, 11713);
1772 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1772 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1773 switch (vk) { 1773 switch (vk) {
1774 case 0: 1774 case 0:
1775 dasm_put(Dst, 11759, LJ_TISNUM); 1775 dasm_put(Dst, 11721, LJ_TISNUM);
1776 if (sse) { 1776 if (sse) {
1777 dasm_put(Dst, 11937); 1777 dasm_put(Dst, 11899);
1778 } else { 1778 } else {
1779 dasm_put(Dst, 11951); 1779 dasm_put(Dst, 11913);
1780 } 1780 }
1781 break; 1781 break;
1782 case 1: 1782 case 1:
1783 dasm_put(Dst, 11793, LJ_TISNUM); 1783 dasm_put(Dst, 11755, LJ_TISNUM);
1784 if (sse) { 1784 if (sse) {
1785 dasm_put(Dst, 11959); 1785 dasm_put(Dst, 11921);
1786 } else { 1786 } else {
1787 dasm_put(Dst, 11973); 1787 dasm_put(Dst, 11935);
1788 } 1788 }
1789 break; 1789 break;
1790 default: 1790 default:
1791 dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM); 1791 dasm_put(Dst, 11789, LJ_TISNUM, LJ_TISNUM);
1792 if (sse) { 1792 if (sse) {
1793 dasm_put(Dst, 11981); 1793 dasm_put(Dst, 11943);
1794 } else { 1794 } else {
1795 dasm_put(Dst, 11995); 1795 dasm_put(Dst, 11957);
1796 } 1796 }
1797 break; 1797 break;
1798 } 1798 }
1799 if (sse) { 1799 if (sse) {
1800 dasm_put(Dst, 11625); 1800 dasm_put(Dst, 11587);
1801 } else { 1801 } else {
1802 dasm_put(Dst, 11637); 1802 dasm_put(Dst, 11599);
1803 } 1803 }
1804 dasm_put(Dst, 8621); 1804 dasm_put(Dst, 8590);
1805 break; 1805 break;
1806 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1806 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1807 dasm_put(Dst, 11751); 1807 dasm_put(Dst, 11713);
1808 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1808 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1809 switch (vk) { 1809 switch (vk) {
1810 case 0: 1810 case 0:
1811 dasm_put(Dst, 11759, LJ_TISNUM); 1811 dasm_put(Dst, 11721, LJ_TISNUM);
1812 if (sse) { 1812 if (sse) {
1813 dasm_put(Dst, 12003); 1813 dasm_put(Dst, 11965);
1814 } else { 1814 } else {
1815 dasm_put(Dst, 12017); 1815 dasm_put(Dst, 11979);
1816 } 1816 }
1817 break; 1817 break;
1818 case 1: 1818 case 1:
1819 dasm_put(Dst, 11793, LJ_TISNUM); 1819 dasm_put(Dst, 11755, LJ_TISNUM);
1820 if (sse) { 1820 if (sse) {
1821 dasm_put(Dst, 12025); 1821 dasm_put(Dst, 11987);
1822 } else { 1822 } else {
1823 dasm_put(Dst, 12039); 1823 dasm_put(Dst, 12001);
1824 } 1824 }
1825 break; 1825 break;
1826 default: 1826 default:
1827 dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM); 1827 dasm_put(Dst, 11789, LJ_TISNUM, LJ_TISNUM);
1828 if (sse) { 1828 if (sse) {
1829 dasm_put(Dst, 12047); 1829 dasm_put(Dst, 12009);
1830 } else { 1830 } else {
1831 dasm_put(Dst, 12061); 1831 dasm_put(Dst, 12023);
1832 } 1832 }
1833 break; 1833 break;
1834 } 1834 }
1835 if (sse) { 1835 if (sse) {
1836 dasm_put(Dst, 11625); 1836 dasm_put(Dst, 11587);
1837 } else { 1837 } else {
1838 dasm_put(Dst, 11637); 1838 dasm_put(Dst, 11599);
1839 } 1839 }
1840 dasm_put(Dst, 8621); 1840 dasm_put(Dst, 8590);
1841 break; 1841 break;
1842 case BC_MODVN: 1842 case BC_MODVN:
1843 dasm_put(Dst, 11751); 1843 dasm_put(Dst, 11713);
1844 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1844 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1845 switch (vk) { 1845 switch (vk) {
1846 case 0: 1846 case 0:
1847 dasm_put(Dst, 11759, LJ_TISNUM); 1847 dasm_put(Dst, 11721, LJ_TISNUM);
1848 if (sse) { 1848 if (sse) {
1849 dasm_put(Dst, 12069); 1849 dasm_put(Dst, 12031);
1850 } else { 1850 } else {
1851 dasm_put(Dst, 12083); 1851 dasm_put(Dst, 12045);
1852 } 1852 }
1853 break; 1853 break;
1854 case 1: 1854 case 1:
1855 dasm_put(Dst, 11793, LJ_TISNUM); 1855 dasm_put(Dst, 11755, LJ_TISNUM);
1856 if (sse) { 1856 if (sse) {
1857 dasm_put(Dst, 12091); 1857 dasm_put(Dst, 12053);
1858 } else { 1858 } else {
1859 dasm_put(Dst, 12105); 1859 dasm_put(Dst, 12067);
1860 } 1860 }
1861 break; 1861 break;
1862 default: 1862 default:
1863 dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM); 1863 dasm_put(Dst, 11789, LJ_TISNUM, LJ_TISNUM);
1864 if (sse) { 1864 if (sse) {
1865 dasm_put(Dst, 12113); 1865 dasm_put(Dst, 12075);
1866 } else { 1866 } else {
1867 dasm_put(Dst, 12127); 1867 dasm_put(Dst, 12089);
1868 } 1868 }
1869 break; 1869 break;
1870 } 1870 }
1871 dasm_put(Dst, 12135); 1871 dasm_put(Dst, 12097);
1872 if (sse) { 1872 if (sse) {
1873 dasm_put(Dst, 11625); 1873 dasm_put(Dst, 11587);
1874 } else { 1874 } else {
1875 dasm_put(Dst, 11637); 1875 dasm_put(Dst, 11599);
1876 } 1876 }
1877 dasm_put(Dst, 8621); 1877 dasm_put(Dst, 8590);
1878 break; 1878 break;
1879 case BC_MODNV: case BC_MODVV: 1879 case BC_MODNV: case BC_MODVV:
1880 dasm_put(Dst, 11751); 1880 dasm_put(Dst, 11713);
1881 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1881 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1882 switch (vk) { 1882 switch (vk) {
1883 case 0: 1883 case 0:
1884 dasm_put(Dst, 11759, LJ_TISNUM); 1884 dasm_put(Dst, 11721, LJ_TISNUM);
1885 if (sse) { 1885 if (sse) {
1886 dasm_put(Dst, 12069); 1886 dasm_put(Dst, 12031);
1887 } else { 1887 } else {
1888 dasm_put(Dst, 12083); 1888 dasm_put(Dst, 12045);
1889 } 1889 }
1890 break; 1890 break;
1891 case 1: 1891 case 1:
1892 dasm_put(Dst, 11793, LJ_TISNUM); 1892 dasm_put(Dst, 11755, LJ_TISNUM);
1893 if (sse) { 1893 if (sse) {
1894 dasm_put(Dst, 12091); 1894 dasm_put(Dst, 12053);
1895 } else { 1895 } else {
1896 dasm_put(Dst, 12105); 1896 dasm_put(Dst, 12067);
1897 } 1897 }
1898 break; 1898 break;
1899 default: 1899 default:
1900 dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM); 1900 dasm_put(Dst, 11789, LJ_TISNUM, LJ_TISNUM);
1901 if (sse) { 1901 if (sse) {
1902 dasm_put(Dst, 12113); 1902 dasm_put(Dst, 12075);
1903 } else { 1903 } else {
1904 dasm_put(Dst, 12127); 1904 dasm_put(Dst, 12089);
1905 } 1905 }
1906 break; 1906 break;
1907 } 1907 }
1908 dasm_put(Dst, 12141); 1908 dasm_put(Dst, 12103);
1909 break; 1909 break;
1910 case BC_POW: 1910 case BC_POW:
1911 dasm_put(Dst, 11751); 1911 dasm_put(Dst, 11713);
1912 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1912 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1913 switch (vk) { 1913 switch (vk) {
1914 case 0: 1914 case 0:
1915 dasm_put(Dst, 11759, LJ_TISNUM); 1915 dasm_put(Dst, 11721, LJ_TISNUM);
1916 if (sse) { 1916 if (sse) {
1917 dasm_put(Dst, 12069); 1917 dasm_put(Dst, 12031);
1918 } else { 1918 } else {
1919 dasm_put(Dst, 12083); 1919 dasm_put(Dst, 12045);
1920 } 1920 }
1921 break; 1921 break;
1922 case 1: 1922 case 1:
1923 dasm_put(Dst, 11793, LJ_TISNUM); 1923 dasm_put(Dst, 11755, LJ_TISNUM);
1924 if (sse) { 1924 if (sse) {
1925 dasm_put(Dst, 12091); 1925 dasm_put(Dst, 12053);
1926 } else { 1926 } else {
1927 dasm_put(Dst, 12105); 1927 dasm_put(Dst, 12067);
1928 } 1928 }
1929 break; 1929 break;
1930 default: 1930 default:
1931 dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM); 1931 dasm_put(Dst, 11789, LJ_TISNUM, LJ_TISNUM);
1932 if (sse) { 1932 if (sse) {
1933 dasm_put(Dst, 12113); 1933 dasm_put(Dst, 12075);
1934 } else { 1934 } else {
1935 dasm_put(Dst, 12127); 1935 dasm_put(Dst, 12089);
1936 } 1936 }
1937 break; 1937 break;
1938 } 1938 }
1939 dasm_put(Dst, 12146); 1939 dasm_put(Dst, 12108);
1940 if (sse) { 1940 if (sse) {
1941 dasm_put(Dst, 11625); 1941 dasm_put(Dst, 11587);
1942 } else { 1942 } else {
1943 dasm_put(Dst, 11637); 1943 dasm_put(Dst, 11599);
1944 } 1944 }
1945 dasm_put(Dst, 8621); 1945 dasm_put(Dst, 8590);
1946 break; 1946 break;
1947 1947
1948 case BC_CAT: 1948 case BC_CAT:
1949 dasm_put(Dst, 12150, Dt1(->base), Dt1(->base)); 1949 dasm_put(Dst, 12112, Dt1(->base), Dt1(->base));
1950 break; 1950 break;
1951 1951
1952 /* -- Constant ops ------------------------------------------------------ */ 1952 /* -- Constant ops ------------------------------------------------------ */
1953 1953
1954 case BC_KSTR: 1954 case BC_KSTR:
1955 dasm_put(Dst, 12244, LJ_TSTR); 1955 dasm_put(Dst, 12206, LJ_TSTR);
1956 break; 1956 break;
1957 case BC_KSHORT: 1957 case BC_KSHORT:
1958 if (sse) { 1958 if (sse) {
1959 dasm_put(Dst, 12277); 1959 dasm_put(Dst, 12239);
1960 } else { 1960 } else {
1961 dasm_put(Dst, 12292); 1961 dasm_put(Dst, 12254);
1962 } 1962 }
1963 dasm_put(Dst, 8621); 1963 dasm_put(Dst, 8590);
1964 break; 1964 break;
1965 case BC_KNUM: 1965 case BC_KNUM:
1966 if (sse) { 1966 if (sse) {
1967 dasm_put(Dst, 12300); 1967 dasm_put(Dst, 12262);
1968 } else { 1968 } else {
1969 dasm_put(Dst, 12313); 1969 dasm_put(Dst, 12275);
1970 } 1970 }
1971 dasm_put(Dst, 8621); 1971 dasm_put(Dst, 8590);
1972 break; 1972 break;
1973 case BC_KPRI: 1973 case BC_KPRI:
1974 dasm_put(Dst, 12320); 1974 dasm_put(Dst, 12282);
1975 break; 1975 break;
1976 case BC_KNIL: 1976 case BC_KNIL:
1977 dasm_put(Dst, 12346, LJ_TNIL); 1977 dasm_put(Dst, 12308, LJ_TNIL);
1978 break; 1978 break;
1979 1979
1980 /* -- Upvalue and function ops ------------------------------------------ */ 1980 /* -- Upvalue and function ops ------------------------------------------ */
1981 1981
1982 case BC_UGET: 1982 case BC_UGET:
1983 dasm_put(Dst, 12392, offsetof(GCfuncL, uvptr), DtA(->v)); 1983 dasm_put(Dst, 12354, offsetof(GCfuncL, uvptr), DtA(->v));
1984 break; 1984 break;
1985 case BC_USETV: 1985 case BC_USETV:
1986#define TV2MARKOFS \ 1986#define TV2MARKOFS \
1987 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1987 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1988 dasm_put(Dst, 12436, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); 1988 dasm_put(Dst, 12398, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
1989 dasm_put(Dst, 12526); 1989 dasm_put(Dst, 12488);
1990 break; 1990 break;
1991#undef TV2MARKOFS 1991#undef TV2MARKOFS
1992 case BC_USETS: 1992 case BC_USETS:
1993 dasm_put(Dst, 12538, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1993 dasm_put(Dst, 12500, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1994 break; 1994 break;
1995 case BC_USETN: 1995 case BC_USETN:
1996 dasm_put(Dst, 12629); 1996 dasm_put(Dst, 12591);
1997 if (sse) { 1997 if (sse) {
1998 dasm_put(Dst, 12634); 1998 dasm_put(Dst, 12596);
1999 } else { 1999 } else {
2000 dasm_put(Dst, 11444); 2000 dasm_put(Dst, 11406);
2001 } 2001 }
2002 dasm_put(Dst, 12641, offsetof(GCfuncL, uvptr), DtA(->v)); 2002 dasm_put(Dst, 12603, offsetof(GCfuncL, uvptr), DtA(->v));
2003 if (sse) { 2003 if (sse) {
2004 dasm_put(Dst, 4988); 2004 dasm_put(Dst, 4965);
2005 } else { 2005 } else {
2006 dasm_put(Dst, 4994); 2006 dasm_put(Dst, 4971);
2007 } 2007 }
2008 dasm_put(Dst, 8621); 2008 dasm_put(Dst, 8590);
2009 break; 2009 break;
2010 case BC_USETP: 2010 case BC_USETP:
2011 dasm_put(Dst, 12650, offsetof(GCfuncL, uvptr), DtA(->v)); 2011 dasm_put(Dst, 12612, offsetof(GCfuncL, uvptr), DtA(->v));
2012 break; 2012 break;
2013 case BC_UCLO: 2013 case BC_UCLO:
2014 dasm_put(Dst, 12687, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2014 dasm_put(Dst, 12649, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2015 break; 2015 break;
2016 2016
2017 case BC_FNEW: 2017 case BC_FNEW:
2018 dasm_put(Dst, 12745, Dt1(->base), Dt1(->base), LJ_TFUNC); 2018 dasm_put(Dst, 12703, Dt1(->base), Dt1(->base), LJ_TFUNC);
2019 break; 2019 break;
2020 2020
2021 /* -- Table ops --------------------------------------------------------- */ 2021 /* -- Table ops --------------------------------------------------------- */
2022 2022
2023 case BC_TNEW: 2023 case BC_TNEW:
2024 dasm_put(Dst, 12816, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2024 dasm_put(Dst, 12774, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2025 break; 2025 break;
2026 case BC_TDUP: 2026 case BC_TDUP:
2027 dasm_put(Dst, 12927, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2027 dasm_put(Dst, 12885, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2028 break; 2028 break;
2029 2029
2030 case BC_GGET: 2030 case BC_GGET:
2031 dasm_put(Dst, 13019, Dt7(->env)); 2031 dasm_put(Dst, 12977, Dt7(->env));
2032 break; 2032 break;
2033 case BC_GSET: 2033 case BC_GSET:
2034 dasm_put(Dst, 13037, Dt7(->env)); 2034 dasm_put(Dst, 12995, Dt7(->env));
2035 break; 2035 break;
2036 2036
2037 case BC_TGETV: 2037 case BC_TGETV:
2038 dasm_put(Dst, 13055, LJ_TTAB, LJ_TISNUM); 2038 dasm_put(Dst, 13013, LJ_TTAB, LJ_TISNUM);
2039 if (sse) { 2039 if (sse) {
2040 dasm_put(Dst, 13088); 2040 dasm_put(Dst, 13046);
2041 } else { 2041 } else {
2042 dasm_put(Dst, 13109); 2042 dasm_put(Dst, 13067);
2043 if (cmov) { 2043 if (cmov) {
2044 dasm_put(Dst, 11170); 2044 dasm_put(Dst, 11132);
2045 } else { 2045 } else {
2046 dasm_put(Dst, 11176); 2046 dasm_put(Dst, 11138);
2047 } 2047 }
2048 dasm_put(Dst, 13119); 2048 dasm_put(Dst, 2856);
2049 } 2049 }
2050 dasm_put(Dst, 13123, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2050 dasm_put(Dst, 13077, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2051 dasm_put(Dst, 13215, LJ_TSTR); 2051 dasm_put(Dst, 13169, LJ_TSTR);
2052 break; 2052 break;
2053 case BC_TGETS: 2053 case BC_TGETS:
2054 dasm_put(Dst, 13233, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2054 dasm_put(Dst, 13187, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2055 dasm_put(Dst, 13317, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2055 dasm_put(Dst, 13271, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2056 break; 2056 break;
2057 case BC_TGETB: 2057 case BC_TGETB:
2058 dasm_put(Dst, 13388, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2058 dasm_put(Dst, 13342, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2059 dasm_put(Dst, 11741); 2059 dasm_put(Dst, 11703);
2060 break; 2060 break;
2061 2061
2062 case BC_TSETV: 2062 case BC_TSETV:
2063 dasm_put(Dst, 13487, LJ_TTAB, LJ_TISNUM); 2063 dasm_put(Dst, 13441, LJ_TTAB, LJ_TISNUM);
2064 if (sse) { 2064 if (sse) {
2065 dasm_put(Dst, 13088); 2065 dasm_put(Dst, 13046);
2066 } else { 2066 } else {
2067 dasm_put(Dst, 13109); 2067 dasm_put(Dst, 13067);
2068 if (cmov) { 2068 if (cmov) {
2069 dasm_put(Dst, 11170); 2069 dasm_put(Dst, 11132);
2070 } else { 2070 } else {
2071 dasm_put(Dst, 11176); 2071 dasm_put(Dst, 11138);
2072 } 2072 }
2073 dasm_put(Dst, 13119); 2073 dasm_put(Dst, 2856);
2074 } 2074 }
2075 dasm_put(Dst, 13520, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2075 dasm_put(Dst, 13474, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2076 dasm_put(Dst, 13603, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2076 dasm_put(Dst, 13557, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2077 break; 2077 break;
2078 case BC_TSETS: 2078 case BC_TSETS:
2079 dasm_put(Dst, 13665, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2079 dasm_put(Dst, 13619, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2080 dasm_put(Dst, 13740, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2080 dasm_put(Dst, 13694, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2081 dasm_put(Dst, 13832, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2081 dasm_put(Dst, 13786, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2082 break; 2082 break;
2083 case BC_TSETB: 2083 case BC_TSETB:
2084 dasm_put(Dst, 13928, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2084 dasm_put(Dst, 13882, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2085 dasm_put(Dst, 14026, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2085 dasm_put(Dst, 13980, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2086 break; 2086 break;
2087 2087
2088 case BC_TSETM: 2088 case BC_TSETM:
2089 dasm_put(Dst, 14072); 2089 dasm_put(Dst, 14026);
2090 if (sse) { 2090 if (sse) {
2091 dasm_put(Dst, 12634); 2091 dasm_put(Dst, 12596);
2092 } else { 2092 } else {
2093 dasm_put(Dst, 14077); 2093 dasm_put(Dst, 14031);
2094 } 2094 }
2095 dasm_put(Dst, 14085, Dt6(->marked), LJ_GC_BLACK); 2095 dasm_put(Dst, 14039, Dt6(->marked), LJ_GC_BLACK);
2096 if (sse) { 2096 if (sse) {
2097 dasm_put(Dst, 14110); 2097 dasm_put(Dst, 14064);
2098 } else { 2098 } else {
2099 dasm_put(Dst, 14117); 2099 dasm_put(Dst, 14071);
2100 } 2100 }
2101 dasm_put(Dst, 14122, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 2101 dasm_put(Dst, 14076, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
2102 dasm_put(Dst, 14250, Dt6(->gclist)); 2102 dasm_put(Dst, 14204, Dt6(->gclist));
2103 break; 2103 break;
2104 2104
2105 /* -- Calls and vararg handling ----------------------------------------- */ 2105 /* -- Calls and vararg handling ----------------------------------------- */
2106 2106
2107 case BC_CALL: case BC_CALLM: 2107 case BC_CALL: case BC_CALLM:
2108 dasm_put(Dst, 11755); 2108 dasm_put(Dst, 11717);
2109 if (op == BC_CALLM) { 2109 if (op == BC_CALLM) {
2110 dasm_put(Dst, 14258); 2110 dasm_put(Dst, 14212);
2111 } 2111 }
2112 dasm_put(Dst, 14263, LJ_TFUNC, Dt7(->gate)); 2112 dasm_put(Dst, 14217, LJ_TFUNC, Dt7(->gate));
2113 break; 2113 break;
2114 2114
2115 case BC_CALLMT: 2115 case BC_CALLMT:
2116 dasm_put(Dst, 14258); 2116 dasm_put(Dst, 14212);
2117 break; 2117 break;
2118 case BC_CALLT: 2118 case BC_CALLT:
2119 dasm_put(Dst, 14286, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->gate)); 2119 dasm_put(Dst, 14240, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->gate));
2120 dasm_put(Dst, 14391, FRAME_TYPE, Dt7(->pt), Dt9(->k)); 2120 dasm_put(Dst, 14345, FRAME_TYPE, Dt7(->pt), Dt9(->k));
2121 break; 2121 break;
2122 2122
2123 case BC_ITERC: 2123 case BC_ITERC:
2124 dasm_put(Dst, 14448, LJ_TFUNC, Dt7(->gate)); 2124 dasm_put(Dst, 14402, LJ_TFUNC, Dt7(->gate));
2125 break; 2125 break;
2126 2126
2127 case BC_VARG: 2127 case BC_VARG:
2128 dasm_put(Dst, 14510, Dt7(->pt), Dt9(->numparams), (8+FRAME_VARG), LJ_TNIL); 2128 dasm_put(Dst, 14464, Dt7(->pt), Dt9(->numparams), (8+FRAME_VARG), LJ_TNIL);
2129 dasm_put(Dst, 14654, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2129 dasm_put(Dst, 14608, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2130 break; 2130 break;
2131 2131
2132 /* -- Returns ----------------------------------------------------------- */ 2132 /* -- Returns ----------------------------------------------------------- */
2133 2133
2134 case BC_RETM: 2134 case BC_RETM:
2135 dasm_put(Dst, 14258); 2135 dasm_put(Dst, 14212);
2136 break; 2136 break;
2137 2137
2138 case BC_RET: case BC_RET0: case BC_RET1: 2138 case BC_RET: case BC_RET0: case BC_RET1:
2139 if (op != BC_RET0) { 2139 if (op != BC_RET0) {
2140 dasm_put(Dst, 14749); 2140 dasm_put(Dst, 14707);
2141 } 2141 }
2142 dasm_put(Dst, 14753, FRAME_TYPE); 2142 dasm_put(Dst, 14711, FRAME_TYPE);
2143 switch (op) { 2143 switch (op) {
2144 case BC_RET: 2144 case BC_RET:
2145 dasm_put(Dst, 14772); 2145 dasm_put(Dst, 14730);
2146 break; 2146 break;
2147 case BC_RET1: 2147 case BC_RET1:
2148 dasm_put(Dst, 14830); 2148 dasm_put(Dst, 14788);
2149 /* fallthrough */ 2149 /* fallthrough */
2150 case BC_RET0: 2150 case BC_RET0:
2151 dasm_put(Dst, 14846); 2151 dasm_put(Dst, 14804);
2152 default: 2152 default:
2153 break; 2153 break;
2154 } 2154 }
2155 dasm_put(Dst, 14857, Dt7(->pt), Dt9(->k)); 2155 dasm_put(Dst, 14815, Dt7(->pt), Dt9(->k));
2156 if (op == BC_RET) { 2156 if (op == BC_RET) {
2157 dasm_put(Dst, 14899, LJ_TNIL); 2157 dasm_put(Dst, 14857, LJ_TNIL);
2158 } else { 2158 } else {
2159 dasm_put(Dst, 14908, LJ_TNIL); 2159 dasm_put(Dst, 14866, LJ_TNIL);
2160 } 2160 }
2161 dasm_put(Dst, 14915); 2161 dasm_put(Dst, 14873);
2162 if (op != BC_RET0) { 2162 if (op != BC_RET0) {
2163 dasm_put(Dst, 14936); 2163 dasm_put(Dst, 14894);
2164 } 2164 }
2165 dasm_put(Dst, 5084); 2165 dasm_put(Dst, 5061);
2166 break; 2166 break;
2167 2167
2168 /* -- Loops and branches ------------------------------------------------ */ 2168 /* -- Loops and branches ------------------------------------------------ */
@@ -2170,7 +2170,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2170 2170
2171 case BC_FORL: 2171 case BC_FORL:
2172#if LJ_HASJIT 2172#if LJ_HASJIT
2173 dasm_put(Dst, 14940, HOTCOUNT_PCMASK, GG_DISP2HOT); 2173 dasm_put(Dst, 14898, HOTCOUNT_PCMASK, GG_DISP2HOT);
2174#endif 2174#endif
2175 break; 2175 break;
2176 2176
@@ -2182,57 +2182,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2182 case BC_FORI: 2182 case BC_FORI:
2183 case BC_IFORL: 2183 case BC_IFORL:
2184 vk = (op == BC_IFORL || op == BC_JFORL); 2184 vk = (op == BC_IFORL || op == BC_JFORL);
2185 dasm_put(Dst, 14961); 2185 dasm_put(Dst, 14919);
2186 if (!vk) { 2186 if (!vk) {
2187 dasm_put(Dst, 14965, LJ_TISNUM, LJ_TISNUM); 2187 dasm_put(Dst, 14923, LJ_TISNUM, LJ_TISNUM);
2188 } 2188 }
2189 dasm_put(Dst, 14984); 2189 dasm_put(Dst, 14942);
2190 if (!vk) { 2190 if (!vk) {
2191 dasm_put(Dst, 14988, LJ_TISNUM); 2191 dasm_put(Dst, 14946, LJ_TISNUM);
2192 } 2192 }
2193 if (sse) { 2193 if (sse) {
2194 dasm_put(Dst, 14997); 2194 dasm_put(Dst, 14955);
2195 if (vk) { 2195 if (vk) {
2196 dasm_put(Dst, 15009); 2196 dasm_put(Dst, 14967);
2197 } else { 2197 } else {
2198 dasm_put(Dst, 15028); 2198 dasm_put(Dst, 14986);
2199 } 2199 }
2200 dasm_put(Dst, 15033); 2200 dasm_put(Dst, 14991);
2201 } else { 2201 } else {
2202 dasm_put(Dst, 15046); 2202 dasm_put(Dst, 15004);
2203 if (vk) { 2203 if (vk) {
2204 dasm_put(Dst, 15052); 2204 dasm_put(Dst, 15010);
2205 } else { 2205 } else {
2206 dasm_put(Dst, 15068); 2206 dasm_put(Dst, 15026);
2207 } 2207 }
2208 dasm_put(Dst, 15076); 2208 dasm_put(Dst, 15034);
2209 if (cmov) { 2209 if (cmov) {
2210 dasm_put(Dst, 11170); 2210 dasm_put(Dst, 11132);
2211 } else { 2211 } else {
2212 dasm_put(Dst, 11176); 2212 dasm_put(Dst, 11138);
2213 } 2213 }
2214 if (!cmov) { 2214 if (!cmov) {
2215 dasm_put(Dst, 15081); 2215 dasm_put(Dst, 15039);
2216 } 2216 }
2217 } 2217 }
2218 if (op == BC_FORI) { 2218 if (op == BC_FORI) {
2219 dasm_put(Dst, 15087, -BCBIAS_J*4); 2219 dasm_put(Dst, 15045, -BCBIAS_J*4);
2220 } else if (op == BC_JFORI) { 2220 } else if (op == BC_JFORI) {
2221 dasm_put(Dst, 15097, -BCBIAS_J*4, BC_JLOOP); 2221 dasm_put(Dst, 15055, -BCBIAS_J*4, BC_JLOOP);
2222 } else if (op == BC_IFORL) { 2222 } else if (op == BC_IFORL) {
2223 dasm_put(Dst, 15111, -BCBIAS_J*4); 2223 dasm_put(Dst, 15069, -BCBIAS_J*4);
2224 } else { 2224 } else {
2225 dasm_put(Dst, 15107, BC_JLOOP); 2225 dasm_put(Dst, 15065, BC_JLOOP);
2226 } 2226 }
2227 dasm_put(Dst, 11205); 2227 dasm_put(Dst, 11167);
2228 if (sse) { 2228 if (sse) {
2229 dasm_put(Dst, 15121); 2229 dasm_put(Dst, 15079);
2230 } 2230 }
2231 break; 2231 break;
2232 2232
2233 case BC_ITERL: 2233 case BC_ITERL:
2234#if LJ_HASJIT 2234#if LJ_HASJIT
2235 dasm_put(Dst, 14940, HOTCOUNT_PCMASK, GG_DISP2HOT); 2235 dasm_put(Dst, 14898, HOTCOUNT_PCMASK, GG_DISP2HOT);
2236#endif 2236#endif
2237 break; 2237 break;
2238 2238
@@ -2241,33 +2241,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2241 break; 2241 break;
2242#endif 2242#endif
2243 case BC_IITERL: 2243 case BC_IITERL:
2244 dasm_put(Dst, 15132, LJ_TNIL); 2244 dasm_put(Dst, 15090, LJ_TNIL);
2245 if (op == BC_JITERL) { 2245 if (op == BC_JITERL) {
2246 dasm_put(Dst, 15147, BC_JLOOP); 2246 dasm_put(Dst, 15105, BC_JLOOP);
2247 } else { 2247 } else {
2248 dasm_put(Dst, 15161, -BCBIAS_J*4); 2248 dasm_put(Dst, 15119, -BCBIAS_J*4);
2249 } 2249 }
2250 dasm_put(Dst, 11502); 2250 dasm_put(Dst, 11464);
2251 break; 2251 break;
2252 2252
2253 case BC_LOOP: 2253 case BC_LOOP:
2254#if LJ_HASJIT 2254#if LJ_HASJIT
2255 dasm_put(Dst, 14940, HOTCOUNT_PCMASK, GG_DISP2HOT); 2255 dasm_put(Dst, 14898, HOTCOUNT_PCMASK, GG_DISP2HOT);
2256#endif 2256#endif
2257 break; 2257 break;
2258 2258
2259 case BC_ILOOP: 2259 case BC_ILOOP:
2260 dasm_put(Dst, 8621); 2260 dasm_put(Dst, 8590);
2261 break; 2261 break;
2262 2262
2263 case BC_JLOOP: 2263 case BC_JLOOP:
2264#if LJ_HASJIT 2264#if LJ_HASJIT
2265 dasm_put(Dst, 15177, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2265 dasm_put(Dst, 15135, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2266#endif 2266#endif
2267 break; 2267 break;
2268 2268
2269 case BC_JMP: 2269 case BC_JMP:
2270 dasm_put(Dst, 15200, -BCBIAS_J*4); 2270 dasm_put(Dst, 15158, -BCBIAS_J*4);
2271 break; 2271 break;
2272 2272
2273 /* ---------------------------------------------------------------------- */ 2273 /* ---------------------------------------------------------------------- */
@@ -2295,7 +2295,7 @@ static int build_backend(BuildCtx *ctx)
2295 2295
2296 build_subroutines(ctx, cmov, sse); 2296 build_subroutines(ctx, cmov, sse);
2297 2297
2298 dasm_put(Dst, 15224); 2298 dasm_put(Dst, 15182);
2299 for (op = 0; op < BC__MAX; op++) 2299 for (op = 0; op < BC__MAX; op++)
2300 build_ins(ctx, (BCOp)op, op, cmov, sse); 2300 build_ins(ctx, (BCOp)op, op, cmov, sse);
2301 2301
diff --git a/src/lib_base.c b/src/lib_base.c
index 821c81b4..3762879a 100644
--- a/src/lib_base.c
+++ b/src/lib_base.c
@@ -507,10 +507,11 @@ LJLIB_NOREG LJLIB_ASM(coroutine_wrap_aux)
507 507
508/* Inline declarations. */ 508/* Inline declarations. */
509LJ_ASMF void lj_ff_coroutine_wrap_aux(void); 509LJ_ASMF void lj_ff_coroutine_wrap_aux(void);
510LJ_FUNCA_NORET void lj_ffh_coroutine_wrap_err(lua_State *L, lua_State *co); 510LJ_FUNCA_NORET void LJ_FASTCALL lj_ffh_coroutine_wrap_err(lua_State *L,
511 lua_State *co);
511 512
512/* Error handler, called from assembler VM. */ 513/* Error handler, called from assembler VM. */
513void lj_ffh_coroutine_wrap_err(lua_State *L, lua_State *co) 514void LJ_FASTCALL lj_ffh_coroutine_wrap_err(lua_State *L, lua_State *co)
514{ 515{
515 co->top--; copyTV(L, L->top, co->top); L->top++; 516 co->top--; copyTV(L, L->top, co->top); L->top++;
516 if (tvisstr(L->top-1)) 517 if (tvisstr(L->top-1))
diff --git a/src/lj_func.c b/src/lj_func.c
index 6616eff6..af4f424e 100644
--- a/src/lj_func.c
+++ b/src/lj_func.c
@@ -103,7 +103,7 @@ static GCupval *func_finduv(lua_State *L, TValue *slot)
103} 103}
104 104
105/* Close all open upvalues pointing to some stack level or above. */ 105/* Close all open upvalues pointing to some stack level or above. */
106void lj_func_closeuv(lua_State *L, TValue *level) 106void LJ_FASTCALL lj_func_closeuv(lua_State *L, TValue *level)
107{ 107{
108 GCupval *uv; 108 GCupval *uv;
109 global_State *g = G(L); 109 global_State *g = G(L);
diff --git a/src/lj_func.h b/src/lj_func.h
index ee7942ea..85a14e7b 100644
--- a/src/lj_func.h
+++ b/src/lj_func.h
@@ -13,7 +13,7 @@ LJ_FUNC GCproto *lj_func_newproto(lua_State *L);
13LJ_FUNC void LJ_FASTCALL lj_func_freeproto(global_State *g, GCproto *pt); 13LJ_FUNC void LJ_FASTCALL lj_func_freeproto(global_State *g, GCproto *pt);
14 14
15/* Upvalues. */ 15/* Upvalues. */
16LJ_FUNCA void lj_func_closeuv(lua_State *L, TValue *level); 16LJ_FUNCA void LJ_FASTCALL lj_func_closeuv(lua_State *L, TValue *level);
17LJ_FUNC void LJ_FASTCALL lj_func_freeuv(global_State *g, GCupval *uv); 17LJ_FUNC void LJ_FASTCALL lj_func_freeuv(global_State *g, GCupval *uv);
18 18
19/* Functions (closures). */ 19/* Functions (closures). */
diff --git a/src/lj_gc.c b/src/lj_gc.c
index 5c9d2bcb..55640521 100644
--- a/src/lj_gc.c
+++ b/src/lj_gc.c
@@ -613,7 +613,7 @@ static size_t gc_onestep(lua_State *L)
613} 613}
614 614
615/* Perform a limited amount of incremental GC steps. */ 615/* Perform a limited amount of incremental GC steps. */
616int lj_gc_step(lua_State *L) 616int LJ_FASTCALL lj_gc_step(lua_State *L)
617{ 617{
618 global_State *g = G(L); 618 global_State *g = G(L);
619 MSize lim; 619 MSize lim;
diff --git a/src/lj_gc.h b/src/lj_gc.h
index 0dbb9b82..63d6ec6c 100644
--- a/src/lj_gc.h
+++ b/src/lj_gc.h
@@ -42,7 +42,7 @@ enum { GCSpause, GCSpropagate, GCSsweepstring, GCSsweep, GCSfinalize };
42LJ_FUNC size_t lj_gc_separateudata(global_State *g, int all); 42LJ_FUNC size_t lj_gc_separateudata(global_State *g, int all);
43LJ_FUNC void lj_gc_finalizeudata(lua_State *L); 43LJ_FUNC void lj_gc_finalizeudata(lua_State *L);
44LJ_FUNC void lj_gc_freeall(global_State *g); 44LJ_FUNC void lj_gc_freeall(global_State *g);
45LJ_FUNCA int lj_gc_step(lua_State *L); 45LJ_FUNCA int LJ_FASTCALL lj_gc_step(lua_State *L);
46LJ_FUNCA void LJ_FASTCALL lj_gc_step_fixtop(lua_State *L); 46LJ_FUNCA void LJ_FASTCALL lj_gc_step_fixtop(lua_State *L);
47LJ_FUNC void LJ_FASTCALL lj_gc_step_jit(lua_State *L, MSize steps); 47LJ_FUNC void LJ_FASTCALL lj_gc_step_jit(lua_State *L, MSize steps);
48LJ_FUNC void lj_gc_fullgc(lua_State *L); 48LJ_FUNC void lj_gc_fullgc(lua_State *L);
diff --git a/src/lj_meta.c b/src/lj_meta.c
index 1182d908..da661d54 100644
--- a/src/lj_meta.c
+++ b/src/lj_meta.c
@@ -269,7 +269,7 @@ TValue *lj_meta_cat(lua_State *L, TValue *top, int left)
269} 269}
270 270
271/* Helper for LEN. __len metamethod. */ 271/* Helper for LEN. __len metamethod. */
272TValue *lj_meta_len(lua_State *L, cTValue *o) 272TValue * LJ_FASTCALL lj_meta_len(lua_State *L, cTValue *o)
273{ 273{
274 cTValue *mo = lj_meta_lookup(L, o, MM_len); 274 cTValue *mo = lj_meta_lookup(L, o, MM_len);
275 if (tvisnil(mo)) { 275 if (tvisnil(mo)) {
@@ -349,7 +349,7 @@ void lj_meta_call(lua_State *L, TValue *func, TValue *top)
349} 349}
350 350
351/* Helper for FORI. Coercion. */ 351/* Helper for FORI. Coercion. */
352void lj_meta_for(lua_State *L, TValue *base) 352void LJ_FASTCALL lj_meta_for(lua_State *L, TValue *base)
353{ 353{
354 if (!str2num(base, base)) lj_err_msg(L, LJ_ERR_FORINIT); 354 if (!str2num(base, base)) lj_err_msg(L, LJ_ERR_FORINIT);
355 if (!str2num(base+1, base+1)) lj_err_msg(L, LJ_ERR_FORLIM); 355 if (!str2num(base+1, base+1)) lj_err_msg(L, LJ_ERR_FORLIM);
diff --git a/src/lj_meta.h b/src/lj_meta.h
index 60d1e79e..ddd49bff 100644
--- a/src/lj_meta.h
+++ b/src/lj_meta.h
@@ -24,10 +24,10 @@ LJ_FUNCA TValue *lj_meta_tset(lua_State *L, cTValue *o, cTValue *k);
24LJ_FUNCA TValue *lj_meta_arith(lua_State *L, TValue *ra, cTValue *rb, 24LJ_FUNCA TValue *lj_meta_arith(lua_State *L, TValue *ra, cTValue *rb,
25 cTValue *rc, BCReg op); 25 cTValue *rc, BCReg op);
26LJ_FUNCA TValue *lj_meta_cat(lua_State *L, TValue *top, int left); 26LJ_FUNCA TValue *lj_meta_cat(lua_State *L, TValue *top, int left);
27LJ_FUNCA TValue *lj_meta_len(lua_State *L, cTValue *o); 27LJ_FUNCA TValue * LJ_FASTCALL lj_meta_len(lua_State *L, cTValue *o);
28LJ_FUNCA TValue *lj_meta_equal(lua_State *L, GCobj *o1, GCobj *o2, int ne); 28LJ_FUNCA TValue *lj_meta_equal(lua_State *L, GCobj *o1, GCobj *o2, int ne);
29LJ_FUNCA TValue *lj_meta_comp(lua_State *L, cTValue *o1, cTValue *o2, int op); 29LJ_FUNCA TValue *lj_meta_comp(lua_State *L, cTValue *o1, cTValue *o2, int op);
30LJ_FUNCA void lj_meta_call(lua_State *L, TValue *func, TValue *top); 30LJ_FUNCA void lj_meta_call(lua_State *L, TValue *func, TValue *top);
31LJ_FUNCA void lj_meta_for(lua_State *L, TValue *base); 31LJ_FUNCA void LJ_FASTCALL lj_meta_for(lua_State *L, TValue *base);
32 32
33#endif 33#endif
diff --git a/src/lj_state.c b/src/lj_state.c
index aa22ac34..57c3dded 100644
--- a/src/lj_state.c
+++ b/src/lj_state.c
@@ -85,7 +85,7 @@ void lj_state_shrinkstack(lua_State *L, MSize used)
85} 85}
86 86
87/* Try to grow stack. */ 87/* Try to grow stack. */
88void lj_state_growstack(lua_State *L, MSize need) 88void LJ_FASTCALL lj_state_growstack(lua_State *L, MSize need)
89{ 89{
90 if (L->stacksize > LJ_STACK_MAXEX) /* overflow while handling overflow? */ 90 if (L->stacksize > LJ_STACK_MAXEX) /* overflow while handling overflow? */
91 lj_err_throw(L, LUA_ERRERR); 91 lj_err_throw(L, LUA_ERRERR);
@@ -99,7 +99,7 @@ void lj_state_growstack(lua_State *L, MSize need)
99 } 99 }
100} 100}
101 101
102void lj_state_growstack1(lua_State *L) 102void LJ_FASTCALL lj_state_growstack1(lua_State *L)
103{ 103{
104 lj_state_growstack(L, 1); 104 lj_state_growstack(L, 1);
105} 105}
diff --git a/src/lj_state.h b/src/lj_state.h
index 4e4185c0..5a34e067 100644
--- a/src/lj_state.h
+++ b/src/lj_state.h
@@ -16,8 +16,8 @@
16 16
17LJ_FUNC void lj_state_relimitstack(lua_State *L); 17LJ_FUNC void lj_state_relimitstack(lua_State *L);
18LJ_FUNC void lj_state_shrinkstack(lua_State *L, MSize used); 18LJ_FUNC void lj_state_shrinkstack(lua_State *L, MSize used);
19LJ_FUNCA void lj_state_growstack(lua_State *L, MSize need); 19LJ_FUNCA void LJ_FASTCALL lj_state_growstack(lua_State *L, MSize need);
20LJ_FUNC void lj_state_growstack1(lua_State *L); 20LJ_FUNC void LJ_FASTCALL lj_state_growstack1(lua_State *L);
21 21
22static LJ_AINLINE void lj_state_checkstack(lua_State *L, MSize need) 22static LJ_AINLINE void lj_state_checkstack(lua_State *L, MSize need)
23{ 23{
diff --git a/src/lj_tab.c b/src/lj_tab.c
index ceafb770..2f18d18f 100644
--- a/src/lj_tab.c
+++ b/src/lj_tab.c
@@ -371,7 +371,7 @@ void lj_tab_reasize(lua_State *L, GCtab *t, uint32_t nasize)
371 371
372/* -- Table getters ------------------------------------------------------- */ 372/* -- Table getters ------------------------------------------------------- */
373 373
374cTValue *lj_tab_getinth(GCtab *t, int32_t key) 374cTValue * LJ_FASTCALL lj_tab_getinth(GCtab *t, int32_t key)
375{ 375{
376 TValue k; 376 TValue k;
377 Node *n; 377 Node *n;
diff --git a/src/lj_tab.h b/src/lj_tab.h
index b2a8c3aa..6f9e941b 100644
--- a/src/lj_tab.h
+++ b/src/lj_tab.h
@@ -18,7 +18,7 @@ LJ_FUNCA void lj_tab_reasize(lua_State *L, GCtab *t, uint32_t nasize);
18 18
19/* Caveat: all getters except lj_tab_get() can return NULL! */ 19/* Caveat: all getters except lj_tab_get() can return NULL! */
20 20
21LJ_FUNCA cTValue *lj_tab_getinth(GCtab *t, int32_t key); 21LJ_FUNCA cTValue * LJ_FASTCALL lj_tab_getinth(GCtab *t, int32_t key);
22LJ_FUNC cTValue *lj_tab_getstr(GCtab *t, GCstr *key); 22LJ_FUNC cTValue *lj_tab_getstr(GCtab *t, GCstr *key);
23LJ_FUNCA cTValue *lj_tab_get(lua_State *L, GCtab *t, cTValue *key); 23LJ_FUNCA cTValue *lj_tab_get(lua_State *L, GCtab *t, cTValue *key);
24 24
diff --git a/src/lj_trace.c b/src/lj_trace.c
index 54f23cb2..37d20328 100644
--- a/src/lj_trace.c
+++ b/src/lj_trace.c
@@ -552,7 +552,7 @@ static void trace_new(jit_State *J)
552} 552}
553 553
554/* A hotcount triggered. Start recording a root trace. */ 554/* A hotcount triggered. Start recording a root trace. */
555void lj_trace_hot(jit_State *J, const BCIns *pc) 555void LJ_FASTCALL lj_trace_hot(jit_State *J, const BCIns *pc)
556{ 556{
557 lua_State *L = J->L; 557 lua_State *L = J->L;
558 L->top = curr_topL(L); /* Only called from Lua and NRESULTS is not used. */ 558 L->top = curr_topL(L); /* Only called from Lua and NRESULTS is not used. */
@@ -564,7 +564,7 @@ void lj_trace_hot(jit_State *J, const BCIns *pc)
564} 564}
565 565
566/* A trace exited. Restore interpreter state and check for hot exits. */ 566/* A trace exited. Restore interpreter state and check for hot exits. */
567void *lj_trace_exit(jit_State *J, void *exptr) 567void * LJ_FASTCALL lj_trace_exit(jit_State *J, void *exptr)
568{ 568{
569 lua_State *L = J->L; 569 lua_State *L = J->L;
570 void *cf; 570 void *cf;
diff --git a/src/lj_trace.h b/src/lj_trace.h
index 466ecc00..6a417e15 100644
--- a/src/lj_trace.h
+++ b/src/lj_trace.h
@@ -32,8 +32,8 @@ LJ_FUNC void lj_trace_freestate(global_State *g);
32 32
33/* Event handling. */ 33/* Event handling. */
34LJ_FUNC void lj_trace_ins(jit_State *J); 34LJ_FUNC void lj_trace_ins(jit_State *J);
35LJ_FUNCA void lj_trace_hot(jit_State *J, const BCIns *pc); 35LJ_FUNCA void LJ_FASTCALL lj_trace_hot(jit_State *J, const BCIns *pc);
36LJ_FUNCA void *lj_trace_exit(jit_State *J, void *exptr); 36LJ_FUNCA void * LJ_FASTCALL lj_trace_exit(jit_State *J, void *exptr);
37 37
38/* Signal asynchronous abort of trace or end of trace. */ 38/* Signal asynchronous abort of trace or end of trace. */
39#define lj_trace_abort(g) (G2J(g)->state &= ~LJ_TRACE_ACTIVE) 39#define lj_trace_abort(g) (G2J(g)->state &= ~LJ_TRACE_ACTIVE)