summaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h2289
1 files changed, 1159 insertions, 1130 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 94d0641f..8784aecf 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,687 +12,680 @@
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[13496] = { 15static const unsigned char build_actionlist[13390] = {
16 254,1,248,10,137,202,137,114,252,252,139,181,233,15,182,142,233,139,190,233, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 139,108,36,96,141,12,202,59,141,233,15,135,244,11,15,182,142,233,57,200,15, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 134,244,249,248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 18 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,
19 255,36,252,235,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3, 19 199,131,233,237,131,230,252,248,41,214,252,247,222,131,232,1,15,132,244,248,
20 252,233,244,2,248,12,137,113,252,252,141,52,197,237,141,148,253,49,233,137, 20 248,1,139,44,10,137,106,252,248,139,108,10,4,137,106,252,252,131,194,8,131,
21 106,252,248,137,114,252,252,139,181,233,15,182,174,233,141,60,252,234,139, 21 232,1,15,133,244,1,248,2,255,139,108,36,96,137,181,233,248,3,139,68,36,84,
22 108,36,96,59,189,233,15,135,244,13,137,208,15,182,174,233,133,252,237,15, 22 139,76,36,88,248,4,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,
23 132,244,248,248,1,131,193,8,57,209,15,131,244,249,255,139,121,252,248,137, 23 248,15,72,139,76,36,104,72,137,141,233,49,192,248,16,72,131,196,40,91,94,
24 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15, 24 95,93,195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237,
25 133,244,1,248,2,139,190,233,255,139,6,15,182,204,15,182,232,131,198,4,193, 25 131,194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,
26 232,16,252,255,36,252,235,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133, 26 20,202,252,233,244,5,248,8,137,149,233,137,68,36,84,137,202,137,252,233,232,
27 244,3,252,233,244,2,248,14,137,113,252,252,72,139,189,233,139,108,36,96,141, 27 251,1,0,139,149,233,252,233,244,3,248,17,137,208,72,137,204,248,18,139,108,
28 68,193,252,248,137,141,233,141,136,233,137,133,233,59,141,233,72,137,252, 28 36,96,139,173,233,199,133,233,237,252,233,244,16,248,19,72,129,225,239,72,
29 250,137,252,233,15,135,244,15,199,131,233,237,252,255,147,233,199,131,233, 29 137,204,248,20,139,108,36,96,72,199,193,252,248,252,255,252,255,252,255,184,
30 237,139,149,233,255,141,12,194,252,247,217,3,141,233,248,16,131,192,1,137, 30 237,255,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,252,252,
31 68,36,84,252,247,198,237,15,132,244,17,252,233,244,18,248,19,137,113,252, 31 237,199,131,233,237,252,233,244,12,248,21,186,237,252,233,244,248,248,22,
32 252,72,139,189,233,139,108,36,96,141,68,193,252,248,137,141,233,141,136,233, 32 131,232,8,252,233,244,247,248,23,141,68,194,252,248,248,1,15,182,142,233,
33 137,133,233,59,141,233,137,252,233,15,135,244,15,199,131,233,237,252,255, 33 131,198,4,137,149,233,137,133,233,255,137,116,36,100,137,202,248,2,137,252,
34 215,199,131,233,237,139,149,233,255,141,12,194,252,247,217,3,141,233,248, 34 233,232,251,1,0,139,149,233,139,133,233,139,106,252,248,139,114,252,252,41,
35 16,131,192,1,137,68,36,84,252,247,198,237,15,132,244,17,248,18,252,247,198, 35 208,193,232,3,131,192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,
36 237,15,132,244,20,199,131,233,237,131,230,252,248,41,214,252,247,222,131, 36 198,4,252,255,36,252,235,248,24,85,87,86,83,72,131,252,236,40,137,205,137,
37 232,1,15,132,244,248,248,1,139,44,10,137,106,252,248,139,108,10,4,137,106, 37 76,36,96,137,209,190,237,49,192,72,141,188,253,36,233,139,157,233,129,195,
38 252,252,131,194,8,131,232,1,15,133,244,1,248,2,139,108,36,96,137,181,233, 38 239,72,137,189,233,137,68,36,100,72,137,68,36,104,137,68,36,88,137,68,36,
39 248,3,139,68,36,84,139,76,36,88,248,4,255,57,193,15,133,244,252,248,5,131, 39 92,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149,233,139,
40 252,234,8,137,149,233,248,21,72,139,76,36,104,72,137,141,233,49,192,248,22,
41 72,131,196,40,91,94,95,93,195,248,6,15,130,244,253,59,149,233,15,135,244,
42 254,199,66,252,252,237,131,194,8,131,192,1,252,233,244,4,248,7,133,201,15,
43 132,244,5,41,193,141,20,202,252,233,244,5,248,8,255,137,149,233,137,68,36,
44 84,137,202,137,252,233,232,251,1,0,139,149,233,252,233,244,3,248,23,137,208,
45 72,137,204,248,24,139,108,36,96,139,173,233,199,133,233,237,252,233,244,22,
46 248,25,72,129,225,239,72,137,204,248,26,139,108,36,96,72,199,193,252,248,
47 252,255,252,255,252,255,184,237,139,149,233,139,157,233,129,195,239,139,114,
48 252,252,199,66,252,252,237,199,131,233,237,255,252,233,244,16,248,20,252,
49 247,198,237,15,132,244,27,131,230,252,248,41,252,242,72,141,76,49,252,248,
50 139,114,252,252,199,68,10,4,237,252,233,244,16,248,15,186,237,252,233,244,
51 247,248,13,137,202,248,11,141,68,194,252,248,15,182,142,233,131,198,4,137,
52 149,233,137,133,233,137,116,36,100,137,202,248,1,137,252,233,232,251,1,0,
53 139,141,233,255,139,133,233,139,105,252,248,139,113,252,252,41,200,193,232,
54 3,131,192,1,252,255,165,233,248,28,85,87,86,83,72,131,252,236,40,137,205,
55 137,76,36,96,137,209,190,237,49,192,72,141,188,253,36,233,139,157,233,129,
56 195,239,72,137,189,233,137,68,36,100,72,137,68,36,104,137,68,36,88,137,68,
57 36,92,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149,233,139,
58 133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68,36,84,252, 40 133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68,36,84,252,
59 247,198,237,15,132,244,17,252,233,244,18,248,29,255,85,87,86,83,72,131,252, 41 247,198,237,15,132,244,13,255,252,233,244,14,248,25,85,87,86,83,72,131,252,
60 236,40,190,237,68,137,76,36,92,252,233,244,247,248,30,85,87,86,83,72,131, 42 236,40,190,237,68,137,76,36,92,252,233,244,247,248,26,85,87,86,83,72,131,
61 252,236,40,190,237,248,1,68,137,68,36,88,137,205,137,76,36,96,137,209,248, 43 252,236,40,190,237,248,1,68,137,68,36,88,137,205,137,76,36,96,137,209,248,
62 2,72,139,189,233,72,137,124,36,104,137,108,36,100,72,137,165,233,139,157, 44 2,72,139,189,233,72,137,124,36,104,137,108,36,100,72,137,165,233,139,157,
63 233,129,195,239,248,3,199,131,233,237,139,149,233,1,206,41,214,139,133,233, 45 233,129,195,239,248,3,199,131,233,237,139,149,233,1,206,41,214,139,133,233,
64 41,200,193,232,3,131,192,1,139,105,252,248,129,121,253,252,252,239,15,133, 46 41,200,193,232,3,131,192,1,248,27,255,139,105,252,248,129,121,253,252,252,
65 244,31,252,255,165,233,248,32,255,85,87,86,83,72,131,252,236,40,137,205,137, 47 239,15,133,244,28,248,29,137,202,137,114,252,252,139,181,233,139,14,15,182,
66 76,36,96,137,108,36,100,139,189,233,43,189,233,199,68,36,92,0,0,0,0,137,124, 48 252,233,15,182,205,131,198,4,252,255,36,252,235,248,30,85,87,86,83,72,131,
67 36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209,133, 49 252,236,40,137,205,137,76,36,96,137,108,36,100,139,189,233,43,189,233,199,
68 192,15,132,244,21,137,193,190,237,252,233,244,2,248,27,1,209,131,230,252, 50 68,36,92,0,0,0,0,137,124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,
69 248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244,72, 51 233,65,252,255,209,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,
70 99,77,252,240,72,141,61,245,72,1,252,249,139,122,252,248,139,191,233,139, 52 11,1,209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,
71 191,233,252,255,225,248,33,15,182,78,252,255,131,252,237,16,141,12,202,41, 53 139,117,252,244,72,99,77,252,240,72,141,61,245,72,1,252,249,139,122,252,248,
72 252,233,15,132,244,34,252,247,217,193,252,233,3,65,137,200,139,76,36,96,137, 54 139,191,233,255,139,191,233,252,255,225,248,31,15,182,78,252,255,131,252,
73 145,233,139,80,4,139,0,137,85,4,137,69,0,137,252,234,252,233,244,35,248,36, 55 237,16,141,12,202,41,252,233,15,132,244,32,252,247,217,193,252,233,3,65,137,
74 255,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15, 56 200,139,76,36,96,137,145,233,139,80,4,139,0,137,85,4,137,69,0,137,252,234,
75 133,244,247,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,37, 57 252,233,244,33,248,34,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,
76 15,182,70,252,254,255,252,242,15,42,192,252,242,15,17,68,36,80,255,72,141, 58 252,252,235,15,133,244,247,141,139,233,137,41,199,65,4,237,137,205,252,233,
77 68,36,80,252,233,244,247,248,38,15,182,70,252,254,141,4,194,248,1,15,182, 59 244,248,248,35,15,182,70,252,254,255,252,242,15,42,192,252,242,15,17,68,36,
78 110,252,255,141,44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73, 60 80,255,72,141,68,36,80,252,233,244,247,248,36,15,182,70,252,254,141,4,194,
79 137,192,137,205,137,116,36,100,232,251,1,1,139,149,233,133,192,15,132,244, 61 248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,145,233,137,
80 249,248,34,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,4,202,139, 62 252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149,233,133,192,
81 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,139, 63 15,132,244,249,248,32,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,
82 141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,3,0,0,0,252, 64 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
83 255,165,233,248,39,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126, 65 248,3,139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,
84 252,252,235,15,133,244,247,141,139,233,255,137,41,199,65,4,237,137,205,252, 66 237,252,233,244,29,248,37,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,
85 233,244,248,248,40,15,182,70,252,254,255,72,141,68,36,80,252,233,244,247, 67 126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,
86 248,41,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234, 68 252,233,244,248,248,38,15,182,70,252,254,255,72,141,68,36,80,252,233,244,
87 248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36, 69 247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,
88 100,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139, 70 234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,
89 108,202,4,139,12,202,137,104,4,137,8,248,42,139,6,15,182,204,15,182,232,131, 71 36,100,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139,
72 108,202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204,15,182,232,131,
90 198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,15, 73 198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,15,
91 182,70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41, 74 182,70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,
92 214,139,105,252,248,184,4,0,0,0,252,255,165,233,248,43,139,108,36,96,137, 75 214,139,105,252,248,184,237,252,233,244,29,248,41,139,108,36,96,137,149,233,
93 149,233,68,141,4,194,141,20,202,137,252,233,68,15,182,78,252,252,137,116, 76 68,141,4,194,141,20,202,137,252,233,68,15,182,78,252,252,137,116,36,100,232,
94 36,100,232,251,1,3,248,3,139,149,233,131,252,248,1,15,135,244,44,248,4,255, 77 251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,42,248,4,141,118,4,
95 141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248, 78 15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248,6,139,6,15,
96 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, 79 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,43,131,198,
97 45,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,46,129,120, 80 4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44,129,120,253,4,239,252,
98 253,4,239,252,233,244,4,248,47,131,252,238,4,65,137,192,65,137,252,233,139, 81 233,244,4,248,45,131,252,238,4,65,137,192,65,137,252,233,139,108,36,96,137,
99 108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,1,4,252, 82 149,233,255,137,202,137,252,233,137,116,36,100,232,251,1,4,252,233,244,3,
100 233,244,3,248,48,255,141,4,199,252,233,244,247,248,49,141,4,199,141,44,252, 83 248,46,141,4,199,252,233,244,247,248,47,141,4,199,141,44,252,234,149,252,
101 234,149,252,233,244,248,248,50,141,4,194,137,197,252,233,244,248,248,51,141, 84 233,244,248,248,48,141,4,194,137,197,252,233,244,248,248,49,141,4,194,248,
102 4,194,248,1,141,44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182, 85 1,141,44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,
103 70,252,252,137,68,36,32,139,108,36,96,137,149,233,137,202,137,252,233,137, 86 137,68,36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,
104 116,36,100,232,251,1,5,139,149,233,133,192,15,132,244,42,248,44,137,193,41, 87 232,251,1,5,139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,
105 208,137,113,252,244,141,176,233,139,105,252,248,184,3,0,0,0,129,121,253,252, 88 252,244,141,176,233,255,184,237,252,233,244,27,248,50,139,108,36,96,137,149,
106 252,239,15,133,244,31,255,252,255,165,233,248,52,139,108,36,96,137,149,233, 89 233,141,20,194,137,252,233,137,116,36,100,232,251,1,6,139,149,233,252,233,
107 141,20,194,137,252,233,137,116,36,100,232,251,1,6,139,149,233,252,233,244, 90 244,42,248,51,141,76,202,8,248,28,137,76,36,84,137,68,36,80,131,252,233,8,
108 44,248,31,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36,96,137,149,233, 91 139,108,36,96,137,149,233,137,202,68,141,4,193,137,252,233,137,116,36,100,
109 137,202,68,141,4,193,137,252,233,137,116,36,100,232,251,1,7,139,149,233,139, 92 232,251,1,7,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,
110 76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215,15,132,244,53,252, 93 1,57,215,15,132,244,52,137,202,137,114,252,252,139,181,233,139,14,15,182,
111 255,165,233,248,54,139,108,36,96,137,149,233,137,202,137,252,233,137,116, 94 252,233,15,182,205,131,198,4,252,255,36,252,235,248,53,139,108,36,96,137,
112 36,100,232,251,1,8,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232, 95 149,233,137,202,137,252,233,137,116,36,100,232,251,1,8,139,149,233,139,70,
113 16,252,255,164,253,252,235,233,248,55,129,252,248,239,15,130,244,56,255,139, 96 252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,
114 105,4,129,252,253,239,15,131,244,56,137,68,36,84,137,105,252,252,139,41,137, 97 54,255,129,252,248,239,15,130,244,55,139,106,4,129,252,253,239,15,131,244,
115 105,252,248,131,232,2,15,132,244,248,137,76,36,80,248,1,131,193,8,139,105, 98 55,139,114,252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,
116 4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,139,76,36, 99 232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,
117 80,248,2,139,68,36,84,252,233,244,57,248,58,129,252,248,239,15,130,244,56, 100 41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,84,252,233,244,
118 139,105,4,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137, 101 56,248,57,129,252,248,239,15,130,244,55,139,106,4,184,237,252,247,213,57,
119 232,248,1,255,139,105,252,248,139,132,253,197,233,199,65,252,252,237,137, 102 232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,139,106,252,248,139,
120 65,252,248,252,233,244,59,248,60,129,252,248,239,15,130,244,56,139,105,4, 103 132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252,233,
121 129,252,253,239,15,133,244,252,248,1,139,41,139,173,233,248,2,133,252,237, 104 244,58,248,59,129,252,248,239,15,130,244,55,139,106,4,139,114,252,252,129,
122 199,65,252,252,237,15,132,244,59,139,65,252,248,139,131,233,199,65,252,252, 105 252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,
123 237,137,105,252,248,137,76,36,80,139,141,233,255,35,136,233,105,201,239,3, 106 66,252,252,237,15,132,244,58,139,131,233,199,66,252,252,237,137,106,252,248,
124 141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248, 107 139,141,233,255,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,
125 4,139,137,233,133,201,15,133,244,3,252,233,244,59,248,5,139,105,4,129,252, 108 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,
126 253,239,15,132,244,59,255,139,1,139,76,36,80,137,105,252,252,137,65,252,248, 109 3,252,233,244,58,248,5,139,105,4,129,252,253,239,15,132,244,58,255,139,1,
127 252,233,244,59,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135, 110 137,106,252,252,137,66,252,248,252,233,244,58,248,6,129,252,253,239,15,132,
128 244,253,189,237,248,7,252,247,213,139,172,253,171,233,252,233,244,2,248,61, 111 244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,
129 129,252,248,239,15,130,244,56,129,121,253,4,239,15,133,244,56,255,139,41, 112 171,233,252,233,244,2,248,60,129,252,248,239,15,130,244,55,129,122,253,4,
130 131,189,233,0,15,133,244,56,129,121,253,12,239,15,133,244,56,139,65,8,137, 113 239,15,133,244,55,255,139,42,131,189,233,0,15,133,244,55,129,122,253,12,239,
131 133,233,199,65,252,252,237,137,105,252,248,252,246,133,233,235,15,132,244, 114 15,133,244,55,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,
132 247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,252,233,244, 115 106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131,233,
133 59,248,62,255,129,252,248,239,15,130,244,56,129,121,253,4,239,15,133,244, 116 137,171,233,137,133,233,248,1,252,233,244,58,248,61,255,129,252,248,239,15,
134 56,137,84,36,80,137,205,139,17,68,141,65,8,139,76,36,96,232,251,1,9,137,252, 117 130,244,55,129,122,253,4,239,15,133,244,55,137,213,68,141,66,8,139,18,139,
135 233,139,84,36,80,139,40,139,64,4,137,105,252,248,137,65,252,252,252,233,244, 118 76,36,96,232,251,1,9,137,252,234,139,40,139,64,4,139,114,252,252,137,106,
136 59,248,63,129,252,248,239,15,133,244,56,129,121,253,4,239,15,135,244,56,255, 119 252,248,137,66,252,252,252,233,244,58,248,62,129,252,248,239,15,133,244,55,
137 252,242,15,16,1,252,233,244,64,255,221,1,252,233,244,65,255,248,66,129,252, 120 129,122,253,4,239,15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,
138 248,239,15,130,244,56,129,121,253,4,239,15,133,244,249,139,1,248,2,199,65, 121 2,252,233,244,64,255,248,65,129,252,248,239,15,130,244,55,139,114,252,252,
139 252,252,237,137,65,252,248,252,233,244,59,248,3,129,121,253,4,239,15,135, 122 129,122,253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,
140 244,56,131,187,233,0,15,133,244,56,139,171,233,59,171,233,255,15,130,244, 123 248,252,233,244,58,248,3,129,122,253,4,239,15,135,244,55,131,187,233,0,15,
141 247,232,244,67,248,1,139,108,36,96,137,141,233,137,113,252,252,137,116,36, 124 133,244,55,139,171,233,59,171,233,255,15,130,244,247,232,244,66,248,1,139,
142 100,137,84,36,80,137,202,137,252,233,232,251,1,10,139,141,233,139,84,36,80, 125 108,36,96,137,149,233,137,116,36,100,137,252,233,232,251,1,10,139,149,233,
143 252,233,244,2,248,68,129,252,248,239,15,130,244,56,15,132,244,248,248,1,129, 126 252,233,244,2,248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129,
144 121,253,4,239,15,133,244,56,137,84,36,80,139,17,139,108,36,96,137,141,233, 127 122,253,4,239,15,133,244,55,139,108,36,96,137,149,233,255,139,114,252,252,
145 255,137,113,252,252,68,141,65,8,137,252,233,137,116,36,100,232,251,1,11,139, 128 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,11,139,149,233,133,
146 141,233,139,84,36,80,133,192,15,132,244,249,139,105,8,139,65,12,137,105,252, 129 192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,139,
147 248,137,65,252,252,139,105,16,139,65,20,137,41,137,65,4,248,69,184,237,252, 130 106,16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2,199,
148 233,244,70,248,2,199,65,12,237,252,233,244,1,248,3,199,65,252,252,237,252, 131 66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70,129,
149 233,244,59,248,71,129,252,248,239,15,130,244,56,129,121,253,4,239,255,15, 132 252,248,239,15,130,244,55,139,106,252,248,129,122,253,4,239,255,15,133,244,
150 133,244,56,139,133,233,199,65,252,252,237,137,65,252,248,199,65,12,237,184, 133 55,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,
151 237,252,233,244,70,248,72,129,252,248,239,15,130,244,56,129,121,253,4,239, 134 237,184,237,252,233,244,69,248,71,129,252,248,239,15,130,244,55,129,122,253,
152 15,133,244,56,129,121,253,12,239,15,135,244,56,255,252,242,15,16,65,8,72, 135 4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,114,252,252,255,
153 189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242, 136 252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,
154 15,17,65,252,248,255,139,41,59,133,233,15,131,244,248,193,224,3,3,133,233, 137 242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,
155 248,1,129,120,253,4,239,15,132,244,73,139,40,139,64,4,137,41,137,65,4,252, 138 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,72,139,40,139,64,4,
156 233,244,69,248,2,131,189,233,0,15,132,244,73,137,84,36,80,135,205,137,194, 139 137,42,137,66,4,252,233,244,68,248,2,131,189,233,0,15,132,244,72,137,252,
157 232,251,1,12,137,252,233,139,84,36,80,133,192,15,133,244,1,248,73,184,237, 140 233,137,213,137,194,232,251,1,12,137,252,234,133,192,15,133,244,1,248,72,
158 252,233,244,70,248,74,255,129,252,248,239,15,130,244,56,129,121,253,4,239, 141 184,237,252,233,244,69,248,73,255,129,252,248,239,15,130,244,55,139,106,252,
159 15,133,244,56,139,133,233,199,65,252,252,237,137,65,252,248,255,15,87,192, 142 248,129,122,253,4,239,15,133,244,55,139,133,233,139,114,252,252,199,66,252,
160 252,242,15,17,65,8,255,217,252,238,221,89,8,255,184,237,252,233,244,70,248, 143 252,237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,
161 75,129,252,248,239,15,130,244,56,137,113,252,252,190,237,137,202,131,193, 144 90,8,255,184,237,252,233,244,69,248,74,129,252,248,239,15,130,244,55,141,
162 8,131,232,1,139,105,252,248,248,1,252,246,131,233,235,15,133,244,249,248, 145 74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,1,252,
163 2,129,121,253,252,252,239,15,133,244,31,252,255,165,233,248,3,131,198,1,252, 146 238,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253,12,239,
164 233,244,2,248,76,255,129,252,248,239,15,130,244,56,129,121,253,12,239,15, 147 15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,8,137,
165 133,244,56,137,113,252,252,139,105,4,137,105,12,199,65,4,237,139,41,139,113, 148 106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,76,129,252,248,
166 8,137,105,8,137,49,190,237,137,202,129,193,239,131,232,2,252,233,244,1,248, 149 239,15,130,244,55,139,42,139,114,252,252,137,116,36,100,137,108,36,80,129,
167 9,139,116,36,100,252,233,244,56,248,77,129,252,248,239,15,130,244,56,139, 150 122,253,4,239,15,133,244,55,72,131,189,233,0,15,133,244,55,128,189,233,235,
168 41,137,113,252,252,137,116,36,100,137,108,36,80,129,121,253,4,239,15,133, 151 15,135,244,55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55,248,
169 244,9,255,72,131,189,233,0,15,133,244,9,128,189,233,235,15,135,244,9,139, 152 1,141,116,193,252,240,59,181,233,15,135,244,55,137,181,233,139,108,36,96,
170 181,233,137,116,36,84,15,132,244,247,59,181,233,15,132,244,9,248,1,141,116, 153 137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,15,
171 198,252,240,59,181,233,15,135,244,9,137,181,233,139,108,36,96,137,141,233, 154 132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,
172 131,193,8,137,141,233,255,139,108,36,84,141,76,193,232,72,41,252,241,57,252, 155 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131,
173 238,15,132,244,249,248,2,139,68,14,4,137,70,252,252,139,4,14,137,70,252,248, 156 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,
174 131,252,238,8,57,252,238,15,133,244,2,248,3,139,76,36,80,139,84,36,84,232, 157 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,
175 244,28,199,131,233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248, 158 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205,
176 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254, 159 248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,
177 41,206,15,132,244,252,255,141,4,50,193,252,238,3,59,133,233,15,135,244,255, 160 5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,100,137,68,36,84,72,
178 137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57, 161 199,193,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,
179 252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,100, 162 252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,
180 137,68,36,84,72,199,193,252,248,252,255,252,255,252,255,252,247,198,237,15, 163 233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,76,36,80,
181 132,244,17,252,233,244,18,248,8,199,66,252,252,237,139,142,233,131,252,233, 164 137,185,233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,
182 8,137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,255, 165 248,77,139,106,252,248,139,173,233,139,114,252,252,137,116,36,100,137,108,
183 139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,149,233, 166 36,80,72,131,189,233,0,15,133,244,55,255,128,189,233,235,15,135,244,55,139,
184 252,233,244,4,248,9,139,116,36,100,252,233,244,56,248,78,139,173,233,137, 167 141,233,15,132,244,247,59,141,233,15,132,244,55,248,1,141,116,193,252,248,
185 113,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133,244,9,128, 168 59,181,233,15,135,244,55,137,181,233,139,108,36,96,137,149,233,137,149,233,
186 189,233,235,15,135,244,9,139,181,233,137,116,36,84,15,132,244,247,59,181, 169 141,108,194,252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,139,68,
187 233,255,15,132,244,9,248,1,141,116,198,252,248,59,181,233,15,135,244,9,137, 170 46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,
188 181,233,139,108,36,96,137,141,233,137,141,233,139,108,36,84,141,76,193,252, 171 2,248,3,137,202,139,76,36,80,232,244,24,199,131,233,237,139,108,36,96,139,
189 240,72,41,252,241,57,252,238,15,132,244,249,248,2,139,68,14,4,137,70,252, 172 116,36,80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,
190 252,139,4,14,137,70,252,248,131,252,238,8,57,252,238,15,133,244,2,248,3,139, 173 190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,
191 76,36,80,139,84,36,84,232,244,28,199,131,233,237,139,108,36,96,139,116,36, 174 3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,5,139,1,137,4,41,139,
192 80,139,149,233,255,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190, 175 65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,
193 233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3, 176 116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233,244,
194 59,133,233,15,135,244,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4, 177 14,248,8,137,252,242,137,252,233,232,251,1,13,248,9,139,76,36,80,137,185,
195 137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116, 178 233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,248,78,
196 36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,17,255,252,233,244, 179 139,108,36,96,72,252,247,133,233,237,15,132,244,55,255,137,149,233,141,68,
197 18,248,8,137,252,242,137,252,233,232,251,1,13,248,9,139,76,36,80,137,185, 180 194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,252,233,
198 233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,248,79, 181 244,16,255,248,64,139,114,252,252,221,90,252,248,252,233,244,58,248,79,129,
199 139,108,36,96,137,113,252,252,72,252,247,133,233,237,15,132,244,56,137,141, 182 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,
200 233,141,68,193,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133, 183 72,184,237,237,102,72,15,110,200,15,84,193,248,63,139,114,252,252,252,242,
201 233,252,233,244,22,255,248,65,221,89,252,248,252,233,244,59,248,80,129,252, 184 15,17,66,252,248,255,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239,
202 248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,242,15,16,1,72, 185 15,135,244,55,221,2,217,225,248,63,248,64,139,114,252,252,221,90,252,248,
203 184,237,237,102,72,15,110,200,15,84,193,248,64,252,242,15,17,65,252,248,255, 186 255,248,58,184,237,248,69,137,68,36,84,248,56,252,247,198,237,15,133,244,
204 248,80,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,221, 187 253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,72,252,247,209,141,
205 1,217,225,248,64,248,65,221,89,252,248,255,248,59,184,237,248,70,137,68,36, 188 20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
206 84,248,57,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252, 189 248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,
207 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6, 190 248,252,255,252,255,252,255,252,233,244,14,255,248,80,129,252,248,239,15,
208 199,68,193,252,244,237,131,192,1,252,233,244,5,248,7,137,202,72,199,193,252, 191 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,81,2,252,233,244,63,
209 248,252,255,252,255,252,255,252,233,244,18,255,248,81,129,252,248,239,15, 192 248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,
210 130,244,56,129,121,253,4,239,15,135,244,56,252,242,15,81,1,252,233,244,64, 193 242,15,16,2,232,244,82,252,233,244,63,248,83,255,129,252,248,239,15,130,244,
211 248,82,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252, 194 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,84,252,233,244,
212 242,15,16,1,232,244,83,252,233,244,64,248,84,255,129,252,248,239,15,130,244, 195 63,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
213 56,129,121,253,4,239,15,135,244,56,252,242,15,16,1,232,244,85,252,233,244, 196 55,221,2,217,252,250,252,233,244,64,248,81,129,252,248,239,15,130,244,55,
214 64,255,248,81,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244, 197 129,122,253,4,239,15,135,244,55,221,2,232,244,82,252,233,244,64,248,83,255,
215 56,221,1,217,252,250,252,233,244,65,248,82,129,252,248,239,15,130,244,56, 198 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,
216 129,121,253,4,239,15,135,244,56,221,1,232,244,83,252,233,244,65,248,84,255, 199 84,252,233,244,64,255,248,85,129,252,248,239,15,130,244,55,129,122,253,4,
217 129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,221,1,232,244, 200 239,15,135,244,55,217,252,237,221,2,217,252,241,252,233,244,64,248,86,129,
218 85,252,233,244,65,255,248,86,129,252,248,239,15,130,244,56,129,121,253,4, 201 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,236,221,
219 239,15,135,244,56,217,252,237,221,1,217,252,241,252,233,244,65,248,87,129, 202 2,217,252,241,252,233,244,64,248,87,129,252,248,239,255,15,130,244,55,129,
220 252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,217,252,236,221, 203 122,253,4,239,15,135,244,55,221,2,232,244,88,252,233,244,64,248,89,129,252,
221 1,217,252,241,252,233,244,65,248,88,129,252,248,239,255,15,130,244,56,129, 204 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,254,252,
222 121,253,4,239,15,135,244,56,221,1,232,244,89,252,233,244,65,248,90,129,252, 205 233,244,64,248,90,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15,
223 248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,221,1,217,252,254,252, 206 135,244,55,221,2,217,252,255,252,233,244,64,248,91,129,252,248,239,15,130,
224 233,244,65,248,91,129,252,248,239,255,15,130,244,56,129,121,253,4,239,15, 207 244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,242,221,216,252,233,
225 135,244,56,221,1,217,252,255,252,233,244,65,248,92,129,252,248,239,15,130, 208 244,64,248,92,129,252,248,239,15,130,244,55,255,129,122,253,4,239,15,135,
226 244,56,129,121,253,4,239,15,135,244,56,221,1,217,252,242,221,216,252,233, 209 244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
227 244,65,248,93,129,252,248,239,15,130,244,56,255,129,121,253,4,239,15,135, 210 233,244,64,248,93,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
228 244,56,221,1,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, 211 244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
229 233,244,65,248,94,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135, 212 243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129,122,253,4,239,
230 244,56,221,1,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, 213 15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64,255,248,95,129,
231 243,252,233,244,65,248,95,129,252,248,239,15,130,244,56,129,121,253,4,239, 214 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,
232 15,135,244,56,255,221,1,217,232,217,252,243,252,233,244,65,255,248,96,129, 215 255,137,213,232,251,1,14,137,252,234,252,233,244,63,255,248,96,129,252,248,
233 252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,242,15,16,1, 216 239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,137,
234 255,137,76,36,80,137,213,232,251,1,14,139,76,36,80,137,252,234,252,233,244, 217 213,232,251,1,15,137,252,234,252,233,244,63,255,248,97,129,252,248,239,15,
235 64,255,248,97,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244, 218 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,137,213,232,
236 56,252,242,15,16,1,255,137,76,36,80,137,213,232,251,1,15,139,76,36,80,137, 219 251,1,16,137,252,234,252,233,244,63,248,98,255,248,99,129,252,248,239,15,
237 252,234,252,233,244,64,255,248,98,129,252,248,239,15,130,244,56,129,121,253, 220 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,139,106,252,248,
238 4,239,15,135,244,56,252,242,15,16,1,255,137,76,36,80,137,213,232,251,1,16, 221 252,242,15,89,133,233,252,233,244,63,255,248,99,129,252,248,239,15,130,244,
239 139,76,36,80,137,252,234,252,233,244,64,248,99,255,248,100,129,252,248,239, 222 55,129,122,253,4,239,15,135,244,55,221,2,139,106,252,248,220,141,233,252,
240 15,130,244,56,129,121,253,4,239,15,135,244,56,252,242,15,16,1,252,242,15, 223 233,244,64,255,248,100,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
241 89,133,233,252,233,244,64,255,248,100,129,252,248,239,15,130,244,56,129,121, 224 135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,217,252,243,252,
242 253,4,239,15,135,244,56,221,1,220,141,233,252,233,244,65,255,248,101,129, 225 233,244,64,248,101,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
243 252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,129,121,253,12, 226 244,55,129,122,253,12,239,255,15,135,244,55,221,66,8,221,2,217,252,253,221,
244 239,15,135,244,56,221,1,221,65,8,217,252,243,252,233,244,65,248,102,129,252, 227 217,252,233,244,64,248,102,129,252,248,239,15,130,244,55,139,106,4,129,252,
245 248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,129,121,253,12,239, 228 253,239,15,135,244,55,139,114,252,252,139,2,137,106,252,252,137,66,252,248,
246 255,15,135,244,56,221,65,8,221,1,217,252,253,221,217,252,233,244,65,248,103, 229 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,
247 129,252,248,239,15,130,244,56,139,105,4,129,252,253,239,15,135,244,56,139, 230 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,
248 1,137,105,252,252,137,65,252,248,209,229,129,252,253,0,0,224,252,255,15,131, 231 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252,
249 244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130, 232 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,
250 244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,108,36, 233 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,69,248,3,255,15,
251 80,219,68,36,80,255,139,105,252,252,129,229,252,255,252,255,15,128,129,205, 234 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,
252 0,0,224,63,137,105,252,252,248,2,255,252,242,15,17,1,255,221,25,255,184,237, 235 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,
253 252,233,244,70,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,233, 236 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
254 244,2,255,252,242,15,16,1,72,189,237,237,102,72,15,110,205,252,242,15,89, 237 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252,
255 193,252,242,15,17,65,252,248,255,221,1,199,68,36,80,0,0,128,90,216,76,36, 238 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,
256 80,221,89,252,248,255,139,105,252,252,184,52,4,0,0,209,229,252,233,244,1, 239 248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
257 255,248,104,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56, 240 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,
258 252,242,15,16,1,255,248,104,129,252,248,239,15,130,244,56,129,121,253,4,239, 241 244,250,255,15,40,224,232,244,104,252,242,15,92,224,248,1,252,242,15,17,66,
259 15,135,244,56,221,1,255,139,105,4,209,229,129,252,253,0,0,224,252,255,15, 242 252,248,252,242,15,17,34,255,217,192,232,244,104,220,252,233,248,1,221,90,
260 132,244,250,255,15,40,224,232,244,105,252,242,15,92,224,248,1,252,242,15, 243 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,
261 17,65,252,248,252,242,15,17,33,255,217,192,232,244,105,220,252,233,248,1, 244 237,252,233,244,69,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,
262 221,89,252,248,221,25,255,139,65,252,252,139,105,4,49,232,15,136,244,249, 245 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,
263 248,2,184,237,252,233,244,70,248,3,129,252,245,0,0,0,128,137,105,4,252,233, 246 105,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,
264 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, 247 253,12,239,15,135,244,55,221,66,8,221,2,248,1,217,252,248,223,224,158,15,
265 1,255,248,106,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244, 248 138,244,1,221,217,252,233,244,64,255,248,106,129,252,248,239,15,130,244,55,
266 56,129,121,253,12,239,15,135,244,56,221,65,8,221,1,248,1,217,252,248,223, 249 129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,
267 224,158,15,138,244,1,221,217,252,233,244,65,255,248,107,129,252,248,239,15, 250 15,16,2,252,242,15,16,74,8,232,244,107,252,233,244,63,255,248,106,129,252,
268 130,244,56,129,121,253,4,239,15,135,244,56,129,121,253,12,239,15,135,244, 251 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,
269 56,252,242,15,16,1,252,242,15,16,73,8,232,244,108,252,233,244,64,255,248, 252 15,135,244,55,221,2,221,66,8,232,244,107,252,233,244,64,255,248,108,129,252,
270 107,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,129,121, 253 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,
271 253,12,239,15,135,244,56,221,1,221,65,8,232,244,108,252,233,244,65,255,248, 254 2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,15,135,
272 109,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,242, 255 244,55,252,242,15,16,76,252,234,252,248,252,242,15,93,193,131,197,1,252,233,
273 15,16,1,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,233,252,252, 256 244,1,255,248,109,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
274 239,15,135,244,56,252,242,15,16,76,252,233,252,248,252,242,15,93,193,131, 257 244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,
275 197,1,252,233,244,1,255,248,110,129,252,248,239,15,130,244,56,129,121,253, 258 252,234,252,252,239,15,135,244,55,252,242,15,16,76,252,234,252,248,252,242,
276 4,239,15,135,244,56,252,242,15,16,1,189,2,0,0,0,248,1,57,197,15,131,244,64, 259 15,95,193,131,197,1,252,233,244,1,255,248,5,221,216,252,233,244,55,255,248,
277 129,124,253,252,233,252,252,239,15,135,244,56,252,242,15,16,76,252,233,252, 260 110,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,139,42,
278 248,252,242,15,95,193,131,197,1,252,233,244,1,255,248,5,221,216,252,233,244, 261 255,252,242,15,42,133,233,252,233,244,63,255,219,133,233,252,233,244,64,255,
279 56,255,248,111,129,252,248,239,15,130,244,56,129,121,253,4,239,15,133,244, 262 248,111,129,252,248,239,15,133,244,55,129,122,253,4,239,15,133,244,55,139,
280 56,139,41,255,252,242,15,42,133,233,252,233,244,64,255,219,133,233,252,233, 263 42,139,114,252,252,131,189,233,1,15,130,244,72,15,182,173,233,255,252,242,
281 244,65,255,248,112,129,252,248,239,15,133,244,56,129,121,253,4,239,15,133, 264 15,42,197,252,233,244,63,255,137,108,36,80,219,68,36,80,252,233,244,64,255,
282 244,56,139,41,131,189,233,1,15,130,244,73,15,182,173,233,255,252,242,15,42, 265 248,112,139,171,233,59,171,233,15,130,244,247,232,244,66,248,1,129,252,248,
283 197,252,233,244,64,255,137,108,36,80,219,68,36,80,252,233,244,65,255,248, 266 239,15,133,244,55,129,122,253,4,239,15,135,244,55,255,252,242,15,45,2,61,
284 113,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,129,252,248,239, 267 252,255,0,0,0,15,135,244,55,137,68,36,84,255,221,2,219,92,36,84,129,124,36,
285 15,133,244,56,129,121,253,4,239,15,135,244,56,255,252,242,15,45,1,61,252, 268 84,252,255,0,0,0,15,135,244,55,255,199,68,36,32,1,0,0,0,72,141,68,36,84,248,
286 255,0,0,0,15,135,244,56,137,68,36,84,255,221,1,219,92,36,84,129,124,36,84, 269 113,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233,137,
287 252,255,0,0,0,15,135,244,56,255,199,68,36,32,1,0,0,0,72,141,68,36,84,137, 270 116,36,100,232,251,1,17,139,149,233,139,114,252,252,199,66,252,252,237,137,
288 76,36,80,248,114,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137, 271 66,252,248,252,233,244,58,248,114,139,171,233,59,171,233,15,130,244,247,232,
289 252,233,137,116,36,100,232,251,1,17,139,76,36,80,139,149,233,199,65,252,252, 272 244,66,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248,239,
290 237,137,65,252,248,252,233,244,59,248,115,139,171,233,59,171,233,15,130,244, 273 15,130,244,55,15,134,244,247,129,122,253,20,239,255,252,242,15,45,106,16,
291 247,232,244,67,248,1,137,76,36,80,199,68,36,84,252,255,252,255,252,255,252, 274 137,108,36,84,255,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133,
292 255,129,252,248,239,15,130,244,56,15,134,244,247,129,121,253,20,239,255,252, 275 244,55,129,122,253,12,239,15,135,244,55,139,42,137,108,36,32,139,173,233,
293 242,15,45,105,16,137,108,36,84,255,221,65,16,219,92,36,84,255,248,1,129,121, 276 255,252,242,15,45,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133,201,
294 253,4,239,15,133,244,56,129,121,253,12,239,15,135,244,56,139,41,137,108,36, 277 15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,115,141,172,253,13,233,
295 32,139,173,233,255,252,242,15,45,73,8,255,139,68,36,84,57,197,15,130,244, 278 131,192,1,248,4,137,68,36,32,137,232,252,233,244,113,248,5,15,140,244,252,
296 251,248,2,133,201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,116, 279 141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,
297 141,172,253,13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,114,248, 280 254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,
298 5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248, 281 115,49,192,252,233,244,4,248,116,129,252,248,239,15,130,244,55,139,171,233,
299 7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252, 282 59,171,233,15,130,244,247,232,244,66,248,1,255,129,122,253,4,239,15,133,244,
300 233,244,3,248,116,49,192,252,233,244,4,248,117,129,252,248,239,15,130,244, 283 55,129,122,253,12,239,15,135,244,55,139,42,255,252,242,15,45,66,8,255,221,
301 56,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,255,137,76,36,80, 284 66,8,219,92,36,84,139,68,36,84,255,133,192,15,142,244,115,131,189,233,1,15,
302 129,121,253,4,239,15,133,244,56,129,121,253,12,239,15,135,244,56,139,41,255, 285 130,244,115,15,133,244,117,57,131,233,15,130,244,117,15,182,141,233,139,171,
303 252,242,15,45,65,8,255,221,65,8,219,92,36,84,139,68,36,84,255,133,192,15, 286 233,137,68,36,32,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,
304 142,244,116,131,189,233,1,15,130,244,116,15,133,244,118,57,131,233,15,130, 287 233,252,233,244,113,248,118,129,252,248,239,255,15,130,244,55,139,171,233,
305 244,118,15,182,141,233,139,171,233,137,68,36,32,248,1,136,77,0,131,197,1, 288 59,171,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,
306 131,232,1,15,133,244,1,139,131,233,252,233,244,114,248,119,129,252,248,239, 289 139,42,139,133,233,133,192,15,132,244,115,57,131,233,15,130,244,119,129,197,
307 255,15,130,244,56,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1, 290 239,137,116,36,84,137,68,36,32,139,179,233,248,1,255,15,182,77,0,131,197,
308 137,76,36,80,129,121,253,4,239,15,133,244,56,139,41,139,133,233,133,192,15, 291 1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116,36,84,252,233,244,113,
309 132,244,116,57,131,233,15,130,244,120,129,197,239,137,116,36,84,137,68,36, 292 248,120,129,252,248,239,15,130,244,55,139,171,233,59,171,233,15,130,244,247,
310 32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133, 293 232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,57,131,
311 244,1,137,252,240,139,116,36,84,252,233,244,114,248,121,129,252,248,239,15, 294 233,255,15,130,244,119,129,197,239,137,116,36,84,137,68,36,32,139,179,233,
312 130,244,56,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,137,76, 295 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,
313 36,80,129,121,253,4,239,15,133,244,56,139,41,139,133,233,57,131,233,255,15, 296 249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,
314 130,244,120,129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244, 297 244,1,137,252,240,139,116,36,84,252,233,244,113,248,121,129,252,248,239,15,
315 249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135, 298 130,244,55,255,139,171,233,59,171,233,15,130,244,247,232,244,66,248,1,129,
316 244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252, 299 122,253,4,239,15,133,244,55,139,42,139,133,233,57,131,233,15,130,244,119,
317 240,139,116,36,84,252,233,244,114,248,122,129,252,248,239,15,130,244,56,255, 300 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,
318 139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,137,76,36,80,129,121, 301 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,
319 253,4,239,15,133,244,56,139,41,139,133,233,57,131,233,15,130,244,120,129, 302 248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,
320 197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,15,182, 303 139,116,36,84,252,233,244,113,248,122,129,252,248,239,15,130,244,55,129,122,
321 76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131, 304 253,4,239,15,133,244,55,137,213,139,10,232,251,1,18,137,252,234,255,252,242,
322 252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116, 305 15,42,192,252,233,244,63,255,248,123,129,252,248,239,15,130,244,55,129,122,
323 36,84,252,233,244,114,248,123,129,252,248,239,15,130,244,56,129,121,253,4, 306 253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
324 239,15,133,244,56,137,84,36,80,137,205,139,9,232,251,1,18,137,252,233,139, 307 252,242,15,88,193,102,15,126,197,252,242,15,42,197,252,233,244,63,255,248,
325 84,36,80,255,252,242,15,42,192,252,233,244,64,255,248,124,129,252,248,239, 308 124,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,
326 15,130,244,56,129,121,253,4,239,15,135,244,56,252,242,15,16,1,72,189,237, 309 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,
327 237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,252,242,15,42,197, 310 255,137,68,36,84,141,68,194,252,240,248,1,57,208,15,134,244,125,129,120,253,
328 252,233,244,64,255,248,125,129,252,248,239,15,130,244,56,129,121,253,4,239, 311 4,239,15,135,244,126,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,
329 15,135,244,56,252,242,15,16,1,72,189,237,237,102,72,15,110,205,252,242,15, 312 33,205,255,131,232,8,252,233,244,1,255,248,127,129,252,248,239,15,130,244,
330 88,193,102,15,126,197,255,137,68,36,84,141,68,193,252,240,255,137,84,36,80, 313 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,
331 255,248,1,57,200,15,134,244,126,129,120,253,4,239,15,135,244,127,255,252, 314 15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15,16,0,252,242,15,
332 242,15,16,0,252,242,15,88,193,102,15,126,194,33,213,255,131,232,8,252,233, 315 88,193,102,15,126,193,9,205,255,248,128,129,252,248,239,15,130,244,55,129,
333 244,1,255,248,128,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135, 316 122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,
334 244,56,252,242,15,16,1,72,189,237,237,102,72,15,110,205,252,242,15,88,193, 317 205,252,242,15,88,193,102,15,126,197,255,252,242,15,16,0,252,242,15,88,193,
335 102,15,126,197,255,252,242,15,16,0,252,242,15,88,193,102,15,126,194,9,213, 318 102,15,126,193,49,205,255,248,129,129,252,248,239,15,130,244,55,129,122,253,
336 255,248,129,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56, 319 4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,
337 252,242,15,16,1,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15, 320 242,15,88,193,102,15,126,197,255,15,205,252,233,244,125,255,248,130,129,252,
338 126,197,255,252,242,15,16,0,252,242,15,88,193,102,15,126,194,49,213,255,248, 321 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,
339 130,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,242, 322 189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,247,
340 15,16,1,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197, 323 213,255,248,125,252,242,15,42,197,252,233,244,63,255,248,126,139,68,36,84,
341 255,15,205,252,233,244,131,255,248,132,129,252,248,239,15,130,244,56,129, 324 252,233,244,55,255,248,131,129,252,248,239,15,130,244,55,129,122,253,4,239,
342 121,253,4,239,15,135,244,56,252,242,15,16,1,72,189,237,237,102,72,15,110, 325 15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,
343 205,252,242,15,88,193,102,15,126,197,255,252,247,213,255,248,131,252,242, 326 16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,
344 15,42,197,252,233,244,64,248,126,252,242,15,42,197,139,84,36,80,252,233,244, 327 202,137,200,102,15,126,197,102,15,126,201,255,211,229,137,193,252,233,244,
345 64,255,248,127,255,139,68,36,84,252,233,244,56,255,248,133,129,252,248,239, 328 125,255,248,132,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
346 15,130,244,56,129,121,253,4,239,15,135,244,56,129,121,253,12,239,15,135,244, 329 55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,
347 56,252,242,15,16,1,252,242,15,16,73,8,72,189,237,237,102,72,15,110,213,252,
348 242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,
349 211,229,137,193,252,233,244,131,255,248,134,129,252,248,239,15,130,244,56,
350 129,121,253,4,239,15,135,244,56,129,121,253,12,239,15,135,244,56,252,242,
351 15,16,1,252,242,15,16,73,8,72,189,237,237,102,72,15,110,213,252,242,15,88,
352 194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,237,
353 137,193,252,233,244,131,255,248,135,129,252,248,239,15,130,244,56,129,121,
354 253,4,239,15,135,244,56,129,121,253,12,239,15,135,244,56,252,242,15,16,1,
355 252,242,15,16,73,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
356 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,253,137,193,
357 252,233,244,131,255,248,136,129,252,248,239,15,130,244,56,129,121,253,4,239,
358 15,135,244,56,129,121,253,12,239,15,135,244,56,252,242,15,16,1,252,242,15,
359 16,73,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,
360 202,137,200,102,15,126,197,102,15,126,201,255,211,197,137,193,252,233,244,
361 131,255,248,137,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,
362 56,129,121,253,12,239,15,135,244,56,252,242,15,16,1,252,242,15,16,73,8,72,
363 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200, 330 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,
364 102,15,126,197,102,15,126,201,255,211,205,137,193,252,233,244,131,248,118, 331 102,15,126,197,102,15,126,201,255,211,252,237,137,193,252,233,244,125,255,
365 184,237,252,233,244,56,248,120,184,237,248,56,139,108,36,96,41,202,137,113, 332 248,133,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,
366 252,252,137,116,36,100,137,84,36,80,137,141,233,141,68,193,252,248,141,144, 333 122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,
367 233,137,133,233,139,65,252,248,59,149,233,15,135,244,251,137,252,233,252, 334 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,
368 255,144,233,133,192,15,133,244,249,248,1,139,141,233,255,139,133,233,41,200, 335 126,197,102,15,126,201,255,211,252,253,137,193,252,233,244,125,255,248,134,
369 193,232,3,131,192,1,139,105,252,248,139,84,36,80,1,202,57,113,252,252,15, 336 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,
370 133,244,248,252,255,165,233,248,2,129,121,253,252,252,239,15,133,244,31,252, 337 12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,
371 255,165,233,248,3,139,141,233,139,84,36,80,1,202,252,233,244,70,248,5,186, 338 72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,
372 237,137,252,233,232,251,1,0,252,233,244,1,248,67,93,72,137,108,36,32,139, 339 102,15,126,201,255,211,197,137,193,252,233,244,125,255,248,135,129,252,248,
373 108,36,96,41,202,137,84,36,84,137,113,252,252,137,116,36,100,137,141,233, 340 239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,
374 141,68,193,252,248,137,252,233,137,133,233,255,232,251,1,19,139,141,233,139, 341 244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,
375 133,233,41,200,193,232,3,131,192,1,139,113,252,252,139,84,36,84,1,202,72, 342 252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,
376 139,108,36,32,85,139,105,252,248,195,248,138,255,15,182,131,233,168,235,15, 343 255,211,205,137,193,252,233,244,125,248,117,184,237,252,233,244,55,248,119,
377 133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233, 344 184,237,248,55,139,108,36,96,139,114,252,252,137,116,36,100,137,149,233,141,
378 252,233,244,247,255,248,139,15,182,131,233,168,235,15,133,244,251,168,235, 345 68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,
379 15,132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248, 346 251,137,252,233,252,255,144,233,139,149,233,133,192,15,133,244,69,248,1,255,
380 1,139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,20,248,3,139, 347 139,133,233,41,208,193,232,3,131,192,1,139,106,252,248,57,114,252,252,15,
381 149,233,248,4,15,182,78,252,253,248,5,255,15,182,110,252,252,15,183,70,252, 348 133,244,248,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,
382 254,252,255,164,253,252,235,233,248,140,131,198,4,139,77,232,137,76,36,84, 349 36,252,235,248,2,137,209,252,247,198,237,15,133,244,249,15,182,110,252,253,
383 252,233,244,4,248,141,255,204,255,248,142,255,248,143,255,248,144,255,139, 350 72,252,247,213,141,20,252,234,252,233,244,27,248,3,137,252,245,131,229,252,
384 122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139, 351 248,41,252,234,252,233,244,27,248,5,186,237,137,252,233,232,251,1,0,139,149,
385 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,83, 352 233,252,233,244,1,248,66,93,72,137,108,36,32,139,108,36,96,137,116,36,100,
386 255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252, 353 137,149,233,255,141,68,194,252,248,137,252,233,137,133,233,232,251,1,19,139,
387 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, 354 149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,32,85,195,248,
388 255,248,145,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, 355 136,255,15,182,131,233,168,235,15,133,244,251,168,235,15,133,244,247,168,
389 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252, 356 235,15,132,244,247,252,255,139,233,252,233,244,247,255,248,137,15,182,131,
390 242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110, 357 233,168,235,15,133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,
391 208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1, 358 244,247,168,235,15,132,244,251,248,1,139,108,36,96,137,149,233,137,252,242,
392 195,248,85,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37, 359 137,252,233,232,251,1,20,248,3,139,149,233,248,4,15,182,78,252,253,248,5,
393 252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, 360 255,15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235,233,248,
394 68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,184,237,237,102, 361 138,131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,139,255,204,255,248,
395 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 362 140,255,248,141,255,248,142,255,139,122,252,248,139,191,233,139,191,233,199,
396 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, 363 131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,
397 72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40, 364 232,16,252,255,36,252,235,255,248,82,255,217,124,36,4,137,68,36,8,102,184,
398 193,248,1,195,248,105,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68, 365 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
399 36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, 366 252,252,217,108,36,4,139,68,36,8,195,255,248,143,72,184,237,237,102,72,15,
400 255,248,147,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, 367 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,
401 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15, 368 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,
402 40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216, 369 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,
403 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40, 370 194,252,242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137,68,
404 193,248,1,195,248,148,255,15,40,232,252,242,15,94,193,72,184,237,237,102, 371 36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,
405 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102, 372 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,144,72,184,237,
406 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227, 373 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,
407 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15, 374 202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,
408 84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195, 375 15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,
409 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252, 376 6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,104,255,217,124,
410 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137, 377 36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,
411 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255, 378 217,252,252,217,108,36,4,139,68,36,8,195,255,248,145,72,184,237,237,102,72,
412 248,89,217,252,234,222,201,248,149,217,84,36,8,129,124,36,8,0,0,128,127,15, 379 15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,
413 132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,248,150,217,192,217, 380 46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,
414 252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217, 381 92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,
415 248,1,195,248,2,221,216,217,252,238,195,255,248,108,255,248,151,252,242,15, 382 252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,146,255,15,40,232,
416 45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248, 383 252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,
417 152,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242, 384 15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,
418 15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248, 385 208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,
419 3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89, 386 72,15,110,208,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,
420 200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15, 387 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,
421 130,244,253,80,72,184,237,237,102,72,15,110,200,252,242,15,94,200,88,15,40, 388 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,
422 193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,72,184,237, 389 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
423 237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12, 390 252,252,217,108,36,4,222,201,222,252,233,195,255,248,88,217,252,234,222,201,
424 72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192,72,209,224,15,132, 391 248,147,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8,
425 244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76, 392 0,0,128,252,255,15,132,244,248,248,148,217,192,217,252,252,220,252,233,217,
426 36,16,252,242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192, 393 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
427 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 394 217,252,238,195,255,248,107,255,248,149,252,242,15,45,193,252,242,15,42,208,
428 217,221,92,36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15, 395 102,15,46,202,15,133,244,254,15,138,244,255,248,150,131,252,248,1,15,142,
429 110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237, 396 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
430 237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102, 397 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
431 15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224, 398 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
432 15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15, 399 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,
433 80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15, 400 237,102,72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,
434 132,244,3,15,87,192,195,248,153,255,131,252,250,1,15,130,244,83,15,132,244, 401 248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,
435 85,131,252,250,3,15,130,244,105,15,135,244,248,252,242,15,81,192,195,248, 402 248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,
436 2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132, 403 132,244,248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,
437 244,247,232,244,89,80,252,233,244,253,248,1,232,244,149,255,80,252,233,244, 404 72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242,15,17,
438 253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201, 405 68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,220,252,
439 217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,252,233,244, 406 233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,8,252,
440 253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252,236,217,201, 407 242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,
441 217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,253,248,2,131, 408 15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,
442 252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233,244,253,248, 409 102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,
443 1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139, 410 102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,
444 84,36,12,221,68,36,4,131,252,250,1,15,130,244,83,15,132,244,85,131,252,250, 411 237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,
445 3,15,130,244,105,15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130, 412 3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,
446 244,89,15,132,244,149,131,252,250,7,15,132,244,247,15,135,244,248,217,252, 413 151,255,131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,
447 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131, 414 104,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,8,221,
448 252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241, 415 68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,88,80,252,
449 195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244, 416 233,244,253,248,1,232,244,147,255,80,252,233,244,253,248,2,131,252,250,7,
450 255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255, 417 15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,
451 65,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248, 418 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,
452 1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244, 419 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,
453 248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248, 420 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,
454 5,15,130,244,148,15,132,244,108,65,131,252,248,7,15,132,244,247,15,135,244, 421 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,
455 248,72,184,237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237, 422 248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,
456 102,72,15,110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252, 423 131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15,
457 242,15,17,68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132, 424 135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,88,15,132,244,
458 244,247,217,252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217, 425 147,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
459 201,217,252,253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244, 426 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,
460 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248, 427 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
461 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 428 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,
462 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 429 195,248,1,217,252,242,221,216,195,255,248,9,204,248,152,255,65,131,252,248,
463 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 430 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,
464 252,248,5,15,130,244,148,15,132,244,108,131,252,248,7,15,132,244,247,15,135, 431 193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,
465 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 432 193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,146,
466 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 433 15,132,244,107,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,
467 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 434 237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,
468 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 435 200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,
469 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 436 36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,
470 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 437 243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253,
471 155,137,200,86,72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91, 438 221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255,
472 94,195,255,129,124,253,202,4,239,15,135,244,43,129,124,253,194,4,239,15,135, 439 252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,
473 244,43,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221, 440 20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,
474 4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15, 441 193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,
475 134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180,253,134, 442 248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,146,
476 233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 443 15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,
477 235,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124,253, 444 224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,
478 202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221, 445 244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,
479 4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132, 446 248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,
480 244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255,248,2,15, 447 248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,
481 183,70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244, 448 132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,
482 2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129, 449 15,133,244,248,217,201,248,2,221,216,195,255,248,153,137,200,86,72,137,214,
483 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133, 450 83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,255,249,255,129,124,
484 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,47,255, 451 253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,
485 72,252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202, 452 15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,
486 59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255,252,242, 453 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,
487 15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,72,252,247,208,131, 454 131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,
488 198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15,131, 455 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,
489 244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,15, 456 4,131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,
490 183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131, 457 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,
491 198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,139,4,194,137,108,202, 458 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,
492 4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 459 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,
493 235,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6, 460 180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,
494 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124, 461 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,
495 253,194,4,239,15,135,244,50,255,252,242,15,16,4,194,72,184,237,237,102,72, 462 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,
496 15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202, 463 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,
497 255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242, 464 131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,
498 15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202, 465 198,4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,
499 255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, 466 46,4,202,255,221,4,202,221,4,199,255,72,252,247,208,131,198,4,57,68,202,4,
500 2,129,124,253,194,4,239,15,133,244,52,139,12,194,137,213,232,251,1,18,255, 467 255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,
501 252,242,15,42,192,137,252,234,255,15,182,78,252,253,252,233,244,1,255,15, 468 244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,
502 182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,48,255,252, 469 180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
503 242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129, 470 255,36,252,235,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,
504 124,253,252,234,4,239,15,135,244,49,255,252,242,15,16,4,199,252,242,15,88, 471 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,
505 4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135, 472 237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,
506 244,51,129,124,253,194,4,239,15,135,244,51,255,252,242,15,16,4,252,234,252, 473 232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,
507 242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252, 474 135,244,48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,
508 242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252, 475 193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,
509 242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252, 476 194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,
510 234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4, 477 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,
511 252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16, 478 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,
512 4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15, 479 4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192,
513 16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242, 480 137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,
514 15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252, 481 192,255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,
515 242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255, 482 252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,
516 252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194, 483 239,15,135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,
517 255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4, 484 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,
518 199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4, 485 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
519 252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234, 486 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,
520 221,4,194,255,248,156,232,244,148,255,252,233,244,156,255,232,244,108,255, 487 221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,
521 15,182,252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137,192, 488 255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,
522 65,41,232,248,35,137,205,137,116,36,100,232,251,1,21,139,149,233,133,192, 489 194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,
523 15,133,244,44,15,182,110,252,255,15,182,78,252,253,139,68,252,234,4,139,44, 490 4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,
524 252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193, 491 4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,
525 232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199,68,202,4,237,137, 492 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,
526 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 493 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,
527 255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221, 494 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,
528 28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202, 495 234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,
529 255,72,252,247,208,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193, 496 252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,
530 232,16,252,255,36,252,235,255,141,76,202,12,141,68,194,4,189,237,137,105, 497 4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,
531 252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182, 498 16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,154,
532 232,131,198,4,193,232,16,252,255,36,252,235,255,139,106,252,248,139,172,253, 499 232,244,146,255,252,233,244,154,255,232,244,107,255,15,182,252,236,15,182,
533 133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182, 500 192,139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,
534 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,106,252,248, 501 137,116,36,100,232,251,1,21,139,149,233,133,192,15,133,244,42,15,182,110,
535 139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137, 502 252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,
536 77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139, 503 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
537 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129, 504 255,72,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,
538 232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135, 505 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,252,242,
539 213,141,139,233,255,232,251,1,22,137,252,234,252,233,244,1,255,72,252,247, 506 15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,
540 208,139,106,252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199, 507 16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,
541 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,
542 232,131,198,4,193,232,16,252,255,36,252,235,248,2,252,246,129,233,235,15,
543 132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,
544 1,22,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,
545 255,139,172,253,141,233,139,141,233,255,72,252,247,208,139,106,252,248,139,
546 172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,
547 4,193,232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,
548 189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,23,
549 139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
550 36,252,235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,
551 139,20,135,137,252,233,137,116,36,100,232,251,1,24,139,149,233,15,182,78,
552 252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,
553 193,232,16,252,255,36,252,235,255,139,76,36,96,137,145,233,248,1,65,137,192,
554 37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244,249,248,2,137,
555 194,139,131,233,137,205,59,131,233,137,116,36,100,15,131,244,251,232,251,
556 1,25,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,
557 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,
558 252,233,244,2,248,5,232,251,1,26,15,183,70,252,254,137,252,233,252,233,244,
559 1,255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,
560 137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,27,139,
561 149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,
562 182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,
563 1,26,15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,
564 106,252,248,139,173,233,139,4,135,252,233,244,157,255,72,252,247,208,139,
565 106,252,248,139,173,233,139,4,135,252,233,244,158,255,15,182,252,236,15,182,
566 192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,129,124,253,194,
567 4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,
568 42,200,102,15,46,193,255,15,133,244,38,59,133,233,15,131,244,38,193,224,3,
569 3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,
570 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 508 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
571 252,235,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235, 509 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,
572 15,132,244,38,15,182,78,252,253,252,233,244,1,248,5,255,129,124,253,194,4, 510 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,
573 239,15,133,244,38,139,4,194,252,233,244,157,255,15,182,252,236,15,182,192, 511 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,
574 72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,36,139,44,252, 512 233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,
575 234,248,157,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233, 513 131,198,4,193,232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,
576 239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244, 514 233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,
577 251,15,182,70,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139, 515 132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,
578 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,15, 516 182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,
579 182,70,252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244, 517 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,
580 1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3, 518 255,232,251,1,22,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,
581 252,233,244,36,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15, 519 248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,
582 133,244,37,139,44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129, 520 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
583 120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202, 521 232,16,252,255,36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,
584 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, 522 233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,22,137,252,234,252,
585 2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,37, 523 233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,
586 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139, 524 233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,
587 44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,41,59,133, 525 252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,
588 233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, 526 232,131,198,4,193,232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,
589 1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104, 527 36,96,131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,
590 4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 528 251,1,23,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
591 248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132, 529 16,252,255,36,252,235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,
592 244,41,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133, 530 66,252,248,139,20,135,137,252,233,137,116,36,100,232,251,1,24,139,149,233,
593 244,41,139,4,194,252,233,244,158,248,7,128,165,233,235,139,139,233,137,171, 531 15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,
594 233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182, 532 131,198,4,193,232,16,252,255,36,252,235,255,139,76,36,96,137,145,233,248,
595 192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,39,139, 533 1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244,249,
596 44,252,234,248,158,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141, 534 248,2,137,194,139,131,233,137,205,59,131,233,137,116,36,100,15,131,244,251,
597 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121, 535 232,251,1,25,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,
598 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248, 536 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,
599 3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,6,15,182, 537 1,8,0,0,252,233,244,2,248,5,232,251,1,26,15,183,70,252,254,137,252,233,252,
600 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233, 538 233,244,1,255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,
601 0,15,132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,39, 539 139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,
602 139,76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139, 540 27,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,
603 141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,39,248,6,137, 541 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,
604 68,36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68, 542 232,251,1,26,15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,
605 36,80,137,252,234,137,205,137,116,36,100,232,251,1,28,139,149,233,139,108, 543 208,139,106,252,248,139,173,233,139,4,135,252,233,244,155,255,72,252,247,
606 36,32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233, 544 208,139,106,252,248,139,173,233,139,4,135,252,233,244,156,255,15,182,252,
607 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234, 545 236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,
608 4,239,15,133,244,40,139,44,252,234,59,133,233,15,131,244,40,193,224,3,3,133, 546 124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,
609 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, 547 252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233,15,131,244,36,
610 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182, 548 193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,
611 232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244, 549 4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
612 1,255,139,141,233,252,246,129,233,235,15,132,244,40,15,182,78,252,253,252, 550 252,255,36,252,235,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,
613 233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182, 551 233,235,15,132,244,36,15,182,78,252,253,252,233,244,1,248,5,255,129,124,253,
614 78,252,253,252,233,244,2,255,137,124,36,80,255,248,1,141,12,202,139,105,252, 552 194,4,239,15,133,244,36,139,4,194,252,233,244,155,255,15,182,252,236,15,182,
615 248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,84,255,252,242,15, 553 192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,
616 45,252,248,255,131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,244,251, 554 44,252,234,248,155,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,
617 41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137, 555 185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,
618 111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182,204, 556 132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,
619 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96,137, 557 194,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
620 145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,29,139,149, 558 248,3,15,182,70,252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,
621 233,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,131,233,137, 559 133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,
622 171,233,255,137,133,233,252,233,244,2,255,3,68,36,84,255,141,76,202,8,139, 560 244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
623 105,252,248,129,121,253,252,252,239,15,133,244,31,252,255,165,233,255,141, 561 239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,
624 76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,31,248, 562 233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,
625 53,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, 563 68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
626 68,36,84,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,4, 564 235,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,
627 131,199,8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,137,209, 565 244,35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
628 128,189,233,1,15,135,244,251,248,4,139,68,36,84,252,255,165,233,248,5,255, 566 39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,
629 252,247,198,237,15,133,244,4,15,182,70,252,253,72,252,247,208,141,20,194, 567 59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,
630 139,122,252,248,139,191,233,139,191,233,252,233,244,4,248,7,15,139,244,1, 568 249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,
631 131,230,252,248,41,252,242,137,215,139,114,252,252,252,233,244,1,255,141, 569 137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
632 76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65, 570 36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,
633 252,244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65, 571 235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,
634 252,252,129,252,248,239,184,3,0,0,0,15,133,244,31,252,255,165,233,255,15, 572 239,15,133,244,39,139,4,194,252,233,244,156,248,7,128,165,233,235,139,139,
635 182,252,236,139,66,252,248,141,12,202,139,128,233,15,182,128,233,137,124, 573 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,
636 36,80,141,188,253,194,233,43,122,252,252,133,252,237,15,132,244,251,141,108, 574 236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
637 252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252, 575 244,37,139,44,252,234,248,156,139,141,233,35,136,233,105,201,239,198,133,
638 252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130, 576 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
639 244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124, 577 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
640 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 578 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,
641 248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,255,137,197,193, 579 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,
642 252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133,233,15,135,244, 580 189,233,0,15,132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,
643 253,248,6,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193, 581 244,37,139,76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,
644 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116, 582 255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,
645 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149, 583 248,6,137,68,36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,
646 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252, 584 76,141,68,36,80,137,252,234,137,205,137,116,36,100,232,251,1,28,139,149,233,
647 137,68,36,84,252,247,198,237,15,133,244,253,255,248,17,137,215,131,232,1, 585 139,108,36,32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,
648 15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,252, 586 171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,
649 131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248, 587 252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,
650 5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,106, 588 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,
651 252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252, 589 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,
652 247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204, 590 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,233,0,15,
653 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252, 591 132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,
654 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, 592 253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,
655 7,15,139,244,18,131,230,252,248,41,252,242,255,1,252,241,255,137,252,245, 593 15,182,78,252,253,252,233,244,2,255,137,124,36,80,255,248,1,141,12,202,139,
656 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,141,255,141,12, 594 105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,84,255,252,
657 202,255,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54, 595 242,15,45,252,248,255,131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,
658 255,139,105,20,255,129,252,253,239,15,135,244,54,255,252,242,15,16,1,252, 596 244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,
659 242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136, 597 193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,
660 244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255, 598 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,
661 221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247, 599 76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,
662 255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254,255, 600 1,29,139,149,233,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
663 15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252, 601 131,233,137,171,233,255,137,133,233,252,233,244,2,255,3,68,36,84,255,129,
664 254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,46, 602 124,253,202,4,239,139,44,202,15,133,244,51,141,84,202,8,137,114,252,252,139,
665 193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247, 603 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,
666 255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253,134, 604 141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,
667 233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,139, 605 248,52,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,
668 128,233,139,108,36,96,137,147,233,137,171,233,252,255,224,255,141,180,253, 606 137,68,36,84,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,
669 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 607 4,131,199,8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,
670 255,254,0 608 36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,
609 15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,
610 244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139,191,
611 233,139,191,233,252,233,244,4,248,7,15,139,244,1,131,230,252,248,41,252,242,
612 137,215,139,114,252,252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,
613 252,236,137,41,137,65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,
614 139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,
615 237,15,133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,
616 15,182,205,131,198,4,252,255,36,252,235,255,15,182,252,236,139,66,252,248,
617 141,12,202,139,128,233,15,182,128,233,137,124,36,80,141,188,253,194,233,43,
618 122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,
619 131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,
620 131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,
621 131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,
622 182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,
623 0,137,208,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131,197,1,137,
624 108,36,84,139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,139,71,252,
625 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,
626 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,100,41,215,139,84,
627 36,84,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,
628 252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,84,252,247,
629 198,237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,
630 139,44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,
631 1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,
632 244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,
633 5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,209,141,20,
634 202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,
635 198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,237,131,199,
636 8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,
637 14,131,230,252,248,41,252,242,255,1,252,241,255,137,252,245,209,252,237,129,
638 229,239,102,131,172,253,43,233,1,15,132,244,139,255,141,12,202,255,129,121,
639 253,4,239,15,135,244,53,129,121,253,12,239,15,135,244,53,255,139,105,20,255,
640 129,252,253,239,15,135,244,53,255,252,242,15,16,1,252,242,15,16,73,8,255,
641 252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,
642 244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,
643 220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,
644 244,247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,248,141,180,
645 253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,
646 244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,
647 12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,
648 137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,
649 137,65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36,96,137,
650 147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204,
651 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,190,233,139,108,
652 36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134,244,
653 249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,252,
654 237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,
655 194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141,12,
656 200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15,
657 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,
658 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,
659 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,
660 16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,
661 244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,96,141,
662 68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,252,
663 233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,237,255,
664 252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,
665 252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
671}; 666};
672 667
673enum { 668enum {
674 GLOB_gate_lf, 669 GLOB_vm_returnp,
675 GLOB_gate_lf_growstack, 670 GLOB_cont_dispatch,
676 GLOB_gate_lv,
677 GLOB_gate_lv_growstack,
678 GLOB_gate_cwrap,
679 GLOB_gate_c_growstack,
680 GLOB_vm_returnc, 671 GLOB_vm_returnc,
681 GLOB_BC_RET_Z, 672 GLOB_BC_RET_Z,
682 GLOB_vm_return, 673 GLOB_vm_return,
683 GLOB_gate_c,
684 GLOB_vm_returnp,
685 GLOB_vm_leave_cp, 674 GLOB_vm_leave_cp,
686 GLOB_vm_leave_unw, 675 GLOB_vm_leave_unw,
687 GLOB_vm_unwind_c, 676 GLOB_vm_unwind_c,
688 GLOB_vm_unwind_c_eh, 677 GLOB_vm_unwind_c_eh,
689 GLOB_vm_unwind_ff, 678 GLOB_vm_unwind_ff,
690 GLOB_vm_unwind_ff_eh, 679 GLOB_vm_unwind_ff_eh,
691 GLOB_cont_dispatch, 680 GLOB_vm_growstack_c,
681 GLOB_vm_growstack_v,
682 GLOB_vm_growstack_f,
692 GLOB_vm_resume, 683 GLOB_vm_resume,
693 GLOB_vm_pcall, 684 GLOB_vm_pcall,
694 GLOB_vm_call, 685 GLOB_vm_call,
686 GLOB_vm_call_dispatch,
695 GLOB_vmeta_call, 687 GLOB_vmeta_call,
688 GLOB_vm_call_dispatch_f,
696 GLOB_vm_cpcall, 689 GLOB_vm_cpcall,
697 GLOB_cont_cat, 690 GLOB_cont_cat,
698 GLOB_cont_ra, 691 GLOB_cont_ra,
@@ -714,6 +707,7 @@ enum {
714 GLOB_vmeta_unm, 707 GLOB_vmeta_unm,
715 GLOB_vmeta_arith_vv, 708 GLOB_vmeta_arith_vv,
716 GLOB_vmeta_len, 709 GLOB_vmeta_len,
710 GLOB_vmeta_call_ra,
717 GLOB_BC_CALLT_Z, 711 GLOB_BC_CALLT_Z,
718 GLOB_vmeta_for, 712 GLOB_vmeta_for,
719 GLOB_ff_assert, 713 GLOB_ff_assert,
@@ -787,12 +781,11 @@ enum {
787 GLOB_ff_table_getn, 781 GLOB_ff_table_getn,
788 GLOB_ff_bit_tobit, 782 GLOB_ff_bit_tobit,
789 GLOB_ff_bit_band, 783 GLOB_ff_bit_band,
790 GLOB_fff_resbit_op, 784 GLOB_fff_resbit,
791 GLOB_fff_fallback_bit_op, 785 GLOB_fff_fallback_bit_op,
792 GLOB_ff_bit_bor, 786 GLOB_ff_bit_bor,
793 GLOB_ff_bit_bxor, 787 GLOB_ff_bit_bxor,
794 GLOB_ff_bit_bswap, 788 GLOB_ff_bit_bswap,
795 GLOB_fff_resbit,
796 GLOB_ff_bit_bnot, 789 GLOB_ff_bit_bnot,
797 GLOB_ff_bit_lshift, 790 GLOB_ff_bit_lshift,
798 GLOB_ff_bit_rshift, 791 GLOB_ff_bit_rshift,
@@ -823,28 +816,26 @@ enum {
823 GLOB__MAX 816 GLOB__MAX
824}; 817};
825static const char *const globnames[] = { 818static const char *const globnames[] = {
826 "gate_lf", 819 "vm_returnp",
827 "gate_lf_growstack", 820 "cont_dispatch",
828 "gate_lv",
829 "gate_lv_growstack",
830 "gate_cwrap",
831 "gate_c_growstack",
832 "vm_returnc", 821 "vm_returnc",
833 "BC_RET_Z", 822 "BC_RET_Z",
834 "vm_return", 823 "vm_return",
835 "gate_c",
836 "vm_returnp",
837 "vm_leave_cp", 824 "vm_leave_cp",
838 "vm_leave_unw", 825 "vm_leave_unw",
839 "vm_unwind_c@8", 826 "vm_unwind_c@8",
840 "vm_unwind_c_eh", 827 "vm_unwind_c_eh",
841 "vm_unwind_ff@4", 828 "vm_unwind_ff@4",
842 "vm_unwind_ff_eh", 829 "vm_unwind_ff_eh",
843 "cont_dispatch", 830 "vm_growstack_c",
831 "vm_growstack_v",
832 "vm_growstack_f",
844 "vm_resume", 833 "vm_resume",
845 "vm_pcall", 834 "vm_pcall",
846 "vm_call", 835 "vm_call",
836 "vm_call_dispatch",
847 "vmeta_call", 837 "vmeta_call",
838 "vm_call_dispatch_f",
848 "vm_cpcall", 839 "vm_cpcall",
849 "cont_cat", 840 "cont_cat",
850 "cont_ra", 841 "cont_ra",
@@ -866,6 +857,7 @@ static const char *const globnames[] = {
866 "vmeta_unm", 857 "vmeta_unm",
867 "vmeta_arith_vv", 858 "vmeta_arith_vv",
868 "vmeta_len", 859 "vmeta_len",
860 "vmeta_call_ra",
869 "BC_CALLT_Z", 861 "BC_CALLT_Z",
870 "vmeta_for", 862 "vmeta_for",
871 "ff_assert", 863 "ff_assert",
@@ -939,12 +931,11 @@ static const char *const globnames[] = {
939 "ff_table_getn", 931 "ff_table_getn",
940 "ff_bit_tobit", 932 "ff_bit_tobit",
941 "ff_bit_band", 933 "ff_bit_band",
942 "fff_resbit_op", 934 "fff_resbit",
943 "fff_fallback_bit_op", 935 "fff_fallback_bit_op",
944 "ff_bit_bor", 936 "ff_bit_bor",
945 "ff_bit_bxor", 937 "ff_bit_bxor",
946 "ff_bit_bswap", 938 "ff_bit_bswap",
947 "fff_resbit",
948 "ff_bit_bnot", 939 "ff_bit_bnot",
949 "ff_bit_lshift", 940 "ff_bit_lshift",
950 "ff_bit_rshift", 941 "ff_bit_rshift",
@@ -1030,392 +1021,367 @@ static const char *const extnames[] = {
1030static void build_subroutines(BuildCtx *ctx, int cmov, int sse) 1021static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1031{ 1022{
1032 dasm_put(Dst, 0); 1023 dasm_put(Dst, 0);
1033 dasm_put(Dst, 2, Dt7(->pc), PC2PROTO(framesize), PC2PROTO(k), Dt1(->maxstack), PC2PROTO(numparams)); 1024 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1034#if LJ_HASJIT 1025 dasm_put(Dst, 111, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1035#endif 1026 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1);
1036 dasm_put(Dst, 47, LJ_TNIL, FRAME_VARG, -FRAME_VARG, Dt7(->pc), PC2PROTO(framesize), Dt1(->maxstack), PC2PROTO(numparams)); 1027 dasm_put(Dst, 293, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top));
1037 dasm_put(Dst, 157, LJ_TNIL, PC2PROTO(k)); 1028 dasm_put(Dst, 359, Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1038#if LJ_HASJIT 1029 dasm_put(Dst, 519, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
1039#endif 1030 dasm_put(Dst, 625, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc));
1040 dasm_put(Dst, 192, LJ_TNIL, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), DISPATCH_GL(vmstate), ~LJ_VMST_C, DISPATCH_GL(wrapf), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1031 dasm_put(Dst, 783, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1041 dasm_put(Dst, 290, Dt1(->top), FRAME_TYPE, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), DISPATCH_GL(vmstate), ~LJ_VMST_C, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1042 dasm_put(Dst, 373, Dt1(->top), FRAME_TYPE, FRAME_C, DISPATCH_GL(vmstate), ~LJ_VMST_C, Dt1(->base));
1043 dasm_put(Dst, 478, Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1044 dasm_put(Dst, 565, Dt1(->top), Dt1(->top), 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);
1045 dasm_put(Dst, 663, FRAME_P, LJ_TTRUE, LUA_MINSTACK, PC2PROTO(framesize), Dt1(->base), Dt1(->top), Dt1(->base));
1046 dasm_put(Dst, 754, Dt1(->top), Dt7(->gate), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1047 dasm_put(Dst, 886, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), LJ_TFUNC, Dt7(->gate));
1048 dasm_put(Dst, 1004, Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc), PC2PROTO(k), Dt1(->base));
1049 dasm_put(Dst, 1182, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1050 if (sse) { 1032 if (sse) {
1051 dasm_put(Dst, 1228); 1033 dasm_put(Dst, 893);
1052 } else { 1034 } else {
1053 } 1035 }
1054 dasm_put(Dst, 1241, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, Dt7(->gate), LJ_TSTR, BC_GSET, DISPATCH_GL(tmptv)); 1036 dasm_put(Dst, 906, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1055 dasm_put(Dst, 1399, LJ_TTAB); 1037 dasm_put(Dst, 1058, DISPATCH_GL(tmptv), LJ_TTAB);
1056 if (sse) { 1038 if (sse) {
1057 dasm_put(Dst, 1228); 1039 dasm_put(Dst, 893);
1058 } else { 1040 } else {
1059 } 1041 }
1060 dasm_put(Dst, 1419, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, Dt7(->gate), Dt1(->base), Dt1(->base)); 1042 dasm_put(Dst, 1081, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1061 dasm_put(Dst, 1615, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1043 dasm_put(Dst, 1264, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1062 dasm_put(Dst, 1724, Dt1(->base), Dt1(->base), FRAME_CONT, LJ_TFUNC); 1044 dasm_put(Dst, 1364, Dt1(->base), Dt1(->base), FRAME_CONT);
1063 dasm_put(Dst, 1849, Dt7(->gate), Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->gate), Dt1(->base), Dt1(->base), BC__MAX*8, 1+1); 1045 dasm_put(Dst, 1489, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1064 dasm_put(Dst, 2005, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX); 1046 dasm_put(Dst, 1667, 1+1, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX);
1065 if (cmov) { 1047 if (cmov) {
1066 dasm_put(Dst, 2101); 1048 dasm_put(Dst, 1769);
1067 } else { 1049 } else {
1068 dasm_put(Dst, 2105); 1050 dasm_put(Dst, 1773);
1069 } 1051 }
1070 dasm_put(Dst, 2114, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask)); 1052 dasm_put(Dst, 1782, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask));
1071 dasm_put(Dst, 2202, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1053 dasm_put(Dst, 1870, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1072 dasm_put(Dst, 2257, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB); 1054 dasm_put(Dst, 1925, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB);
1073 dasm_put(Dst, 2329, 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)); 1055 dasm_put(Dst, 1993, 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));
1074 dasm_put(Dst, 2394, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1056 dasm_put(Dst, 2062, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1075 if (sse) { 1057 if (sse) {
1076 dasm_put(Dst, 2475); 1058 dasm_put(Dst, 2139);
1077 } else { 1059 } else {
1078 dasm_put(Dst, 2485); 1060 dasm_put(Dst, 2149);
1079 } 1061 }
1080 dasm_put(Dst, 2492, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1062 dasm_put(Dst, 2156, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1081 dasm_put(Dst, 2554, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1063 dasm_put(Dst, 2222, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base));
1082 dasm_put(Dst, 2641, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1064 dasm_put(Dst, 2289, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1083 dasm_put(Dst, 2743, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1065 dasm_put(Dst, 2393, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1084 if (sse) { 1066 if (sse) {
1085 dasm_put(Dst, 2798, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1067 dasm_put(Dst, 2456, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1086 } else { 1068 } else {
1087 } 1069 }
1088 dasm_put(Dst, 2831, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1070 dasm_put(Dst, 2489, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1089 dasm_put(Dst, 2917, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); 1071 dasm_put(Dst, 2570, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC);
1090 if (sse) { 1072 if (sse) {
1091 dasm_put(Dst, 2947); 1073 dasm_put(Dst, 2608);
1092 } else { 1074 } else {
1093 dasm_put(Dst, 2957); 1075 dasm_put(Dst, 2618);
1094 } 1076 }
1095 dasm_put(Dst, 2964, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE, LJ_TFUNC, Dt7(->gate)); 1077 dasm_put(Dst, 2625, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1096 dasm_put(Dst, 3037, 2+1, LJ_TFUNC, LJ_TFUNC, 2*8+FRAME_PCALL, 2*8, 1+1, LJ_TTHREAD); 1078 dasm_put(Dst, 2689, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1097 dasm_put(Dst, 3136, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1079 dasm_put(Dst, 2779, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1098 dasm_put(Dst, 3202, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top)); 1080 dasm_put(Dst, 2873, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1099 dasm_put(Dst, 3306, Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2); 1081 dasm_put(Dst, 2991, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1100 dasm_put(Dst, 3428, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base)); 1082 dasm_put(Dst, 3089, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1101 dasm_put(Dst, 3511, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1083 dasm_put(Dst, 3156, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1102 dasm_put(Dst, 3619, LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), FRAME_TYPE); 1084 dasm_put(Dst, 3250, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1103 dasm_put(Dst, 3716, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1085 dasm_put(Dst, 3363, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1104 if (sse) { 1086 if (sse) {
1105 dasm_put(Dst, 3805, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1087 dasm_put(Dst, 3390, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1106 } else { 1088 } else {
1107 dasm_put(Dst, 3861, 1+1, LJ_TISNUM); 1089 dasm_put(Dst, 3454, 1+1, LJ_TISNUM);
1108 } 1090 }
1109 dasm_put(Dst, 3893, 1+1, FRAME_TYPE, LJ_TNIL); 1091 dasm_put(Dst, 3490, 1+1, FRAME_TYPE, LJ_TNIL);
1110 if (sse) { 1092 if (sse) {
1111 dasm_put(Dst, 3977, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1093 dasm_put(Dst, 3584, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1112 dasm_put(Dst, 4039, 1+1, LJ_TISNUM); 1094 dasm_put(Dst, 3646, 1+1, LJ_TISNUM);
1113 } else { 1095 } else {
1114 dasm_put(Dst, 4069, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1096 dasm_put(Dst, 3676, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1115 dasm_put(Dst, 4128, 1+1, LJ_TISNUM); 1097 dasm_put(Dst, 3735, 1+1, LJ_TISNUM);
1116 } 1098 }
1117 dasm_put(Dst, 4155, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1099 dasm_put(Dst, 3762, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1118 dasm_put(Dst, 4224, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1100 dasm_put(Dst, 3831, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1119 dasm_put(Dst, 4281, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1101 dasm_put(Dst, 3888, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1120 dasm_put(Dst, 4344, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1102 dasm_put(Dst, 3951, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1121 dasm_put(Dst, 4434); 1103 dasm_put(Dst, 4041);
1122 if (sse) { 1104 if (sse) {
1123 dasm_put(Dst, 4446, 1+1, LJ_TISNUM); 1105 dasm_put(Dst, 4053, 1+1, LJ_TISNUM);
1124 } else { 1106 } else {
1125 } 1107 }
1126 dasm_put(Dst, 4471); 1108 dasm_put(Dst, 4078);
1127 if (sse) { 1109 if (sse) {
1128 dasm_put(Dst, 4493, 1+1, LJ_TISNUM); 1110 dasm_put(Dst, 4092, 1+1, LJ_TISNUM);
1129 } else { 1111 } else {
1130 } 1112 }
1131 dasm_put(Dst, 4518); 1113 dasm_put(Dst, 4117);
1132 if (sse) { 1114 if (sse) {
1133 dasm_put(Dst, 4540, 1+1, LJ_TISNUM); 1115 dasm_put(Dst, 4131, 1+1, LJ_TISNUM);
1134 } else { 1116 } else {
1135 } 1117 }
1136 dasm_put(Dst, 4565); 1118 dasm_put(Dst, 4156);
1137 if (sse) { 1119 if (sse) {
1138 dasm_put(Dst, 4589, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1120 dasm_put(Dst, 4172, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1139 } else { 1121 } else {
1140 dasm_put(Dst, 4624, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1122 dasm_put(Dst, 4211, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1141 } 1123 }
1142 dasm_put(Dst, 4653, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1124 dasm_put(Dst, 4244, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1143 dasm_put(Dst, 4718, 1+1, LJ_TISNUM); 1125 dasm_put(Dst, 4309, 1+1, LJ_TISNUM);
1144 if (sse) { 1126 if (sse) {
1145 dasm_put(Dst, 4813); 1127 dasm_put(Dst, 4408);
1146 } else { 1128 } else {
1147 dasm_put(Dst, 4819); 1129 dasm_put(Dst, 4414);
1148 } 1130 }
1149 dasm_put(Dst, 4828); 1131 dasm_put(Dst, 4423);
1150 if (sse) { 1132 if (sse) {
1151 dasm_put(Dst, 4853); 1133 dasm_put(Dst, 4448);
1152 } else { 1134 } else {
1153 dasm_put(Dst, 4859); 1135 dasm_put(Dst, 4454);
1154 } 1136 }
1155 dasm_put(Dst, 4862, 1+2); 1137 dasm_put(Dst, 4457, 1+2);
1156 if (sse) { 1138 if (sse) {
1157 dasm_put(Dst, 4871); 1139 dasm_put(Dst, 4466);
1158 } else { 1140 } else {
1159 dasm_put(Dst, 4879); 1141 dasm_put(Dst, 4474);
1160 } 1142 }
1161 dasm_put(Dst, 475); 1143 dasm_put(Dst, 4482);
1162 if (sse) { 1144 if (sse) {
1163 dasm_put(Dst, 4887, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1145 dasm_put(Dst, 4485, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1164 } else { 1146 } else {
1165 dasm_put(Dst, 4914); 1147 dasm_put(Dst, 4512);
1166 } 1148 }
1167 dasm_put(Dst, 4933); 1149 dasm_put(Dst, 4531);
1168 if (sse) { 1150 if (sse) {
1169 dasm_put(Dst, 4949, 1+1, LJ_TISNUM); 1151 dasm_put(Dst, 4547, 1+1, LJ_TISNUM);
1170 } else { 1152 } else {
1171 dasm_put(Dst, 4974, 1+1, LJ_TISNUM); 1153 dasm_put(Dst, 4572, 1+1, LJ_TISNUM);
1172 } 1154 }
1173 dasm_put(Dst, 4996); 1155 dasm_put(Dst, 4594);
1174 if (sse) { 1156 if (sse) {
1175 dasm_put(Dst, 5014); 1157 dasm_put(Dst, 4616);
1176 } else { 1158 } else {
1177 dasm_put(Dst, 5040); 1159 dasm_put(Dst, 4642);
1178 } 1160 }
1179 dasm_put(Dst, 5057, 1+2); 1161 dasm_put(Dst, 4659, 1+2);
1180 if (sse) { 1162 if (sse) {
1181 dasm_put(Dst, 5097); 1163 dasm_put(Dst, 4699);
1182 } else { 1164 } else {
1183 dasm_put(Dst, 5105); 1165 dasm_put(Dst, 4707);
1184 } 1166 }
1185 dasm_put(Dst, 5115, 2+1, LJ_TISNUM, LJ_TISNUM); 1167 dasm_put(Dst, 4717, 2+1, LJ_TISNUM, LJ_TISNUM);
1186 if (sse) { 1168 if (sse) {
1187 dasm_put(Dst, 5167, 1+1, LJ_TISNUM, LJ_TISNUM); 1169 dasm_put(Dst, 4769, 1+1, LJ_TISNUM, LJ_TISNUM);
1188 } else { 1170 } else {
1189 dasm_put(Dst, 5214, 2+1, LJ_TISNUM, LJ_TISNUM); 1171 dasm_put(Dst, 4816, 2+1, LJ_TISNUM, LJ_TISNUM);
1190 } 1172 }
1191 if (sse) { 1173 if (sse) {
1192 dasm_put(Dst, 5255, 1+1, LJ_TISNUM, LJ_TISNUM); 1174 dasm_put(Dst, 4857, 1+1, LJ_TISNUM, LJ_TISNUM);
1193 } else { 1175 } else {
1194 } 1176 }
1195 if (sse) { 1177 if (sse) {
1196 dasm_put(Dst, 5326, 1+1, LJ_TISNUM, LJ_TISNUM); 1178 dasm_put(Dst, 4928, 1+1, LJ_TISNUM, LJ_TISNUM);
1197 } else { 1179 } else {
1198 } 1180 }
1199 if (!sse) { 1181 if (!sse) {
1200 dasm_put(Dst, 5397); 1182 dasm_put(Dst, 4999);
1201 } 1183 }
1202 dasm_put(Dst, 5406, 1+1, LJ_TSTR); 1184 dasm_put(Dst, 5008, 1+1, LJ_TSTR);
1203 if (sse) { 1185 if (sse) {
1204 dasm_put(Dst, 5428, Dt5(->len)); 1186 dasm_put(Dst, 5030, Dt5(->len));
1205 } else { 1187 } else {
1206 dasm_put(Dst, 5439, Dt5(->len)); 1188 dasm_put(Dst, 5041, Dt5(->len));
1207 } 1189 }
1208 dasm_put(Dst, 5447, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1190 dasm_put(Dst, 5049, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1209 if (sse) { 1191 if (sse) {
1210 dasm_put(Dst, 5481); 1192 dasm_put(Dst, 5087);
1211 } else { 1193 } else {
1212 dasm_put(Dst, 5491); 1194 dasm_put(Dst, 5097);
1213 } 1195 }
1214 dasm_put(Dst, 5504, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1196 dasm_put(Dst, 5110, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1215 if (sse) { 1197 if (sse) {
1216 dasm_put(Dst, 5539); 1198 dasm_put(Dst, 5145);
1217 } else { 1199 } else {
1218 dasm_put(Dst, 5559); 1200 dasm_put(Dst, 5165);
1219 } 1201 }
1220 dasm_put(Dst, 5579, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1202 dasm_put(Dst, 5185, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1221 dasm_put(Dst, 2470); 1203 dasm_put(Dst, 2134);
1222 if (sse) { 1204 if (sse) {
1223 dasm_put(Dst, 5695); 1205 dasm_put(Dst, 5293);
1224 } else { 1206 } else {
1225 dasm_put(Dst, 5706); 1207 dasm_put(Dst, 5304);
1226 } 1208 }
1227 dasm_put(Dst, 5714, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1209 dasm_put(Dst, 5312, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1228 if (sse) { 1210 if (sse) {
1229 dasm_put(Dst, 5744); 1211 dasm_put(Dst, 5342);
1230 } else { 1212 } else {
1231 } 1213 }
1232 dasm_put(Dst, 5751, sizeof(GCstr)-1); 1214 dasm_put(Dst, 5349, sizeof(GCstr)-1);
1233 dasm_put(Dst, 5826, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1215 dasm_put(Dst, 5424, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1234 dasm_put(Dst, 5885, LJ_TSTR, LJ_TISNUM); 1216 dasm_put(Dst, 5483, LJ_TSTR, LJ_TISNUM);
1235 if (sse) { 1217 if (sse) {
1236 dasm_put(Dst, 5910); 1218 dasm_put(Dst, 5504);
1237 } else { 1219 } else {
1238 dasm_put(Dst, 5917); 1220 dasm_put(Dst, 5511);
1239 } 1221 }
1240 dasm_put(Dst, 5929, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1222 dasm_put(Dst, 5523, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1241 dasm_put(Dst, 5994, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1223 dasm_put(Dst, 5588, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1242 dasm_put(Dst, 6061, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1224 dasm_put(Dst, 5651, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1243 dasm_put(Dst, 6136, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1225 dasm_put(Dst, 5722, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1244 dasm_put(Dst, 6221, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1226 dasm_put(Dst, 5807, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1245 dasm_put(Dst, 6295, 1+1, LJ_TTAB); 1227 dasm_put(Dst, 5877, 1+1, LJ_TTAB);
1246 if (sse) { 1228 if (sse) {
1247 dasm_put(Dst, 6371); 1229 dasm_put(Dst, 5945);
1248 } else { 1230 } else {
1249 } 1231 }
1250 if (sse) { 1232 if (sse) {
1251 dasm_put(Dst, 6381, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1233 dasm_put(Dst, 5955, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1252 } else { 1234 } else {
1253 } 1235 }
1254 if (sse) { 1236 if (sse) {
1255 dasm_put(Dst, 6433, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1237 dasm_put(Dst, 6007, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1256 } else { 1238 } else {
1257 } 1239 }
1258 dasm_put(Dst, 6476); 1240 dasm_put(Dst, 6050, LJ_TISNUM);
1259 if (sse) {
1260 dasm_put(Dst, 6486);
1261 }
1262 dasm_put(Dst, 6491, LJ_TISNUM);
1263 if (sse) { 1241 if (sse) {
1264 dasm_put(Dst, 6509); 1242 dasm_put(Dst, 6077);
1265 } else { 1243 } else {
1266 } 1244 }
1267 dasm_put(Dst, 6526); 1245 dasm_put(Dst, 6094);
1268 if (sse) { 1246 if (sse) {
1269 dasm_put(Dst, 6534, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1247 dasm_put(Dst, 6102, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1270 } else { 1248 } else {
1271 } 1249 }
1272 dasm_put(Dst, 6476); 1250 dasm_put(Dst, 6050, LJ_TISNUM);
1273 if (sse) {
1274 dasm_put(Dst, 6486);
1275 }
1276 dasm_put(Dst, 6491, LJ_TISNUM);
1277 if (sse) { 1251 if (sse) {
1278 dasm_put(Dst, 6577); 1252 dasm_put(Dst, 6145);
1279 } else { 1253 } else {
1280 } 1254 }
1281 dasm_put(Dst, 6526); 1255 dasm_put(Dst, 6094);
1282 if (sse) { 1256 if (sse) {
1283 dasm_put(Dst, 6594, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1257 dasm_put(Dst, 6162, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1284 } else { 1258 } else {
1285 } 1259 }
1286 dasm_put(Dst, 6476); 1260 dasm_put(Dst, 6050, LJ_TISNUM);
1287 if (sse) {
1288 dasm_put(Dst, 6486);
1289 }
1290 dasm_put(Dst, 6491, LJ_TISNUM);
1291 if (sse) { 1261 if (sse) {
1292 dasm_put(Dst, 6637); 1262 dasm_put(Dst, 6205);
1293 } else { 1263 } else {
1294 } 1264 }
1295 dasm_put(Dst, 6526); 1265 dasm_put(Dst, 6094);
1296 if (sse) { 1266 if (sse) {
1297 dasm_put(Dst, 6654, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1267 dasm_put(Dst, 6222, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1298 } else { 1268 } else {
1299 } 1269 }
1300 dasm_put(Dst, 6697); 1270 dasm_put(Dst, 6265);
1301 if (sse) { 1271 if (sse) {
1302 dasm_put(Dst, 6704, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1272 dasm_put(Dst, 6272, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1303 } else { 1273 } else {
1304 } 1274 }
1305 dasm_put(Dst, 6747); 1275 dasm_put(Dst, 6315);
1306 if (sse) { 1276 if (sse) {
1307 dasm_put(Dst, 6751); 1277 dasm_put(Dst, 6319);
1308 } else { 1278 } else {
1309 } 1279 }
1310 dasm_put(Dst, 6778); 1280 dasm_put(Dst, 6331);
1311 if (sse) {
1312 dasm_put(Dst, 6366);
1313 }
1314 dasm_put(Dst, 6781);
1315 if (sse) { 1281 if (sse) {
1316 dasm_put(Dst, 6790, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1282 dasm_put(Dst, 6342, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1317 } else { 1283 } else {
1318 } 1284 }
1319 dasm_put(Dst, 6859); 1285 dasm_put(Dst, 6411);
1320 if (sse) { 1286 if (sse) {
1321 dasm_put(Dst, 6868, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1287 dasm_put(Dst, 6420, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1322 } else { 1288 } else {
1323 } 1289 }
1324 dasm_put(Dst, 6937); 1290 dasm_put(Dst, 6489);
1325 if (sse) { 1291 if (sse) {
1326 dasm_put(Dst, 6947, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1292 dasm_put(Dst, 6499, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1327 } else { 1293 } else {
1328 } 1294 }
1329 dasm_put(Dst, 7016); 1295 dasm_put(Dst, 6568);
1330 if (sse) { 1296 if (sse) {
1331 dasm_put(Dst, 7026, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1297 dasm_put(Dst, 6578, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1332 } else { 1298 } else {
1333 } 1299 }
1334 dasm_put(Dst, 7095); 1300 dasm_put(Dst, 6647);
1335 if (sse) { 1301 if (sse) {
1336 dasm_put(Dst, 7104, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1302 dasm_put(Dst, 6656, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1337 } else { 1303 } else {
1338 } 1304 }
1339 dasm_put(Dst, 7173, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1305 dasm_put(Dst, 6725, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1340 dasm_put(Dst, 7257, Dt1(->top), Dt7(->gate), LJ_TFUNC, Dt7(->gate), Dt1(->base), LUA_MINSTACK, Dt1(->base), Dt1(->top)); 1306 dasm_put(Dst, 6803, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1341 dasm_put(Dst, 7377, Dt1(->base), Dt1(->top)); 1307 dasm_put(Dst, 6929, Dt1(->top), Dt1(->base), Dt1(->top));
1342#if LJ_HASJIT 1308#if LJ_HASJIT
1343 dasm_put(Dst, 7419, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1309 dasm_put(Dst, 6968, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1344#endif 1310#endif
1345 dasm_put(Dst, 7450, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base)); 1311 dasm_put(Dst, 6999, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base));
1346 dasm_put(Dst, 7516, BC__MAX*8); 1312 dasm_put(Dst, 7065, GG_DISP2STATIC);
1347#if LJ_HASJIT 1313#if LJ_HASJIT
1348 dasm_put(Dst, 7552); 1314 dasm_put(Dst, 7101);
1349#endif 1315#endif
1350 dasm_put(Dst, 7554); 1316 dasm_put(Dst, 7103);
1351#if LJ_HASJIT 1317#if LJ_HASJIT
1352 dasm_put(Dst, 7552); 1318 dasm_put(Dst, 7101);
1353#endif 1319#endif
1354 dasm_put(Dst, 7557); 1320 dasm_put(Dst, 7106);
1355#if LJ_HASJIT 1321#if LJ_HASJIT
1356 dasm_put(Dst, 7552); 1322 dasm_put(Dst, 7101);
1357#endif 1323#endif
1358 dasm_put(Dst, 7560); 1324 dasm_put(Dst, 7109);
1359#if LJ_HASJIT 1325#if LJ_HASJIT
1360 dasm_put(Dst, 7563, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1326 dasm_put(Dst, 7112, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1361#endif 1327#endif
1362 dasm_put(Dst, 7604); 1328 dasm_put(Dst, 7153);
1363 if (!sse) { 1329 if (!sse) {
1364 dasm_put(Dst, 7607); 1330 dasm_put(Dst, 7156);
1365 } 1331 }
1366 dasm_put(Dst, 7652, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1332 dasm_put(Dst, 7201, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1367 if (!sse) { 1333 if (!sse) {
1368 dasm_put(Dst, 7738); 1334 dasm_put(Dst, 7287);
1369 } 1335 }
1370 dasm_put(Dst, 7783, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1336 dasm_put(Dst, 7332, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1371 if (!sse) { 1337 if (!sse) {
1372 dasm_put(Dst, 7869); 1338 dasm_put(Dst, 7418);
1373 } 1339 }
1374 dasm_put(Dst, 7908, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1340 dasm_put(Dst, 7457, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1375 if (sse) { 1341 if (sse) {
1376 dasm_put(Dst, 7997, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1342 dasm_put(Dst, 7546, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1377 } else { 1343 } else {
1378 dasm_put(Dst, 8111); 1344 dasm_put(Dst, 7660);
1379 } 1345 }
1380 dasm_put(Dst, 8158); 1346 dasm_put(Dst, 7707);
1381 if (!sse) { 1347 if (!sse) {
1382 } else { 1348 } else {
1383 dasm_put(Dst, 8232); 1349 dasm_put(Dst, 7781);
1384 } 1350 }
1385 dasm_put(Dst, 8235); 1351 dasm_put(Dst, 7784);
1386 dasm_put(Dst, 8320, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1352 dasm_put(Dst, 7869, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1387 dasm_put(Dst, 8421, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1353 dasm_put(Dst, 7970, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1388 dasm_put(Dst, 8589); 1354 dasm_put(Dst, 8138);
1389 if (sse) { 1355 if (sse) {
1390 dasm_put(Dst, 8630); 1356 dasm_put(Dst, 8179);
1391 dasm_put(Dst, 8700); 1357 dasm_put(Dst, 8249);
1392 dasm_put(Dst, 8773); 1358 dasm_put(Dst, 8322);
1393 } else { 1359 } else {
1394 dasm_put(Dst, 8823); 1360 dasm_put(Dst, 8372);
1395 dasm_put(Dst, 8915); 1361 dasm_put(Dst, 8464);
1396 } 1362 }
1397 dasm_put(Dst, 8961); 1363 dasm_put(Dst, 8510);
1398 if (sse) { 1364 if (sse) {
1399 dasm_put(Dst, 8967, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1365 dasm_put(Dst, 8516, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1400 dasm_put(Dst, 9056, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1366 dasm_put(Dst, 8605, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1401 } else { 1367 } else {
1402 dasm_put(Dst, 9180); 1368 dasm_put(Dst, 8729);
1403 dasm_put(Dst, 9263); 1369 dasm_put(Dst, 8812);
1404 if (cmov) { 1370 if (cmov) {
1405 dasm_put(Dst, 9318); 1371 dasm_put(Dst, 8867);
1406 } else { 1372 } else {
1407 dasm_put(Dst, 9337); 1373 dasm_put(Dst, 8886);
1408 } 1374 }
1409 dasm_put(Dst, 9176); 1375 dasm_put(Dst, 8725);
1410 } 1376 }
1411 dasm_put(Dst, 9378); 1377 dasm_put(Dst, 8927);
1412} 1378}
1413 1379
1414/* Generate the code for a single instruction. */ 1380/* Generate the code for a single instruction. */
1415static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1381static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1416{ 1382{
1417 int vk = 0; 1383 int vk = 0;
1418 dasm_put(Dst, 155, defop); 1384 dasm_put(Dst, 8953, defop);
1419 1385
1420 switch (op) { 1386 switch (op) {
1421 1387
@@ -1424,602 +1390,602 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1424 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1390 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1425 1391
1426 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1392 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1427 dasm_put(Dst, 9404, LJ_TISNUM, LJ_TISNUM); 1393 dasm_put(Dst, 8955, LJ_TISNUM, LJ_TISNUM);
1428 if (sse) { 1394 if (sse) {
1429 dasm_put(Dst, 9425); 1395 dasm_put(Dst, 8976);
1430 } else { 1396 } else {
1431 dasm_put(Dst, 9440); 1397 dasm_put(Dst, 8991);
1432 if (cmov) { 1398 if (cmov) {
1433 dasm_put(Dst, 9450); 1399 dasm_put(Dst, 9001);
1434 } else { 1400 } else {
1435 dasm_put(Dst, 9456); 1401 dasm_put(Dst, 9007);
1436 } 1402 }
1437 } 1403 }
1438 switch (op) { 1404 switch (op) {
1439 case BC_ISLT: 1405 case BC_ISLT:
1440 dasm_put(Dst, 9463); 1406 dasm_put(Dst, 9014);
1441 break; 1407 break;
1442 case BC_ISGE: 1408 case BC_ISGE:
1443 dasm_put(Dst, 9258); 1409 dasm_put(Dst, 8807);
1444 break; 1410 break;
1445 case BC_ISLE: 1411 case BC_ISLE:
1446 dasm_put(Dst, 6290); 1412 dasm_put(Dst, 5872);
1447 break; 1413 break;
1448 case BC_ISGT: 1414 case BC_ISGT:
1449 dasm_put(Dst, 9468); 1415 dasm_put(Dst, 9019);
1450 break; 1416 break;
1451 default: break; /* Shut up GCC. */ 1417 default: break; /* Shut up GCC. */
1452 } 1418 }
1453 dasm_put(Dst, 9473, -BCBIAS_J*4); 1419 dasm_put(Dst, 9024, -BCBIAS_J*4);
1454 break; 1420 break;
1455 1421
1456 case BC_ISEQV: case BC_ISNEV: 1422 case BC_ISEQV: case BC_ISNEV:
1457 vk = op == BC_ISEQV; 1423 vk = op == BC_ISEQV;
1458 dasm_put(Dst, 9507, LJ_TISNUM, LJ_TISNUM); 1424 dasm_put(Dst, 9058, LJ_TISNUM, LJ_TISNUM);
1459 if (sse) { 1425 if (sse) {
1460 dasm_put(Dst, 9533); 1426 dasm_put(Dst, 9084);
1461 } else { 1427 } else {
1462 dasm_put(Dst, 9545); 1428 dasm_put(Dst, 9096);
1463 if (cmov) { 1429 if (cmov) {
1464 dasm_put(Dst, 9450); 1430 dasm_put(Dst, 9001);
1465 } else { 1431 } else {
1466 dasm_put(Dst, 9456); 1432 dasm_put(Dst, 9007);
1467 } 1433 }
1468 } 1434 }
1469 iseqne_fp: 1435 iseqne_fp:
1470 if (vk) { 1436 if (vk) {
1471 dasm_put(Dst, 9552); 1437 dasm_put(Dst, 9103);
1472 } else { 1438 } else {
1473 dasm_put(Dst, 9561); 1439 dasm_put(Dst, 9112);
1474 } 1440 }
1475 iseqne_end: 1441 iseqne_end:
1476 if (vk) { 1442 if (vk) {
1477 dasm_put(Dst, 9570, -BCBIAS_J*4); 1443 dasm_put(Dst, 9121, -BCBIAS_J*4);
1478 } else { 1444 } else {
1479 dasm_put(Dst, 9585, -BCBIAS_J*4); 1445 dasm_put(Dst, 9136, -BCBIAS_J*4);
1480 } 1446 }
1481 dasm_put(Dst, 7584); 1447 dasm_put(Dst, 7133);
1482 if (op == BC_ISEQV || op == BC_ISNEV) { 1448 if (op == BC_ISEQV || op == BC_ISNEV) {
1483 dasm_put(Dst, 9600, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1449 dasm_put(Dst, 9151, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1484 if (vk) { 1450 if (vk) {
1485 dasm_put(Dst, 9658); 1451 dasm_put(Dst, 9209);
1486 } else { 1452 } else {
1487 dasm_put(Dst, 9662); 1453 dasm_put(Dst, 9213);
1488 } 1454 }
1489 dasm_put(Dst, 9668); 1455 dasm_put(Dst, 9219);
1490 } 1456 }
1491 break; 1457 break;
1492 case BC_ISEQS: case BC_ISNES: 1458 case BC_ISEQS: case BC_ISNES:
1493 vk = op == BC_ISEQS; 1459 vk = op == BC_ISEQS;
1494 dasm_put(Dst, 9673, LJ_TSTR); 1460 dasm_put(Dst, 9224, LJ_TSTR);
1495 iseqne_test: 1461 iseqne_test:
1496 if (vk) { 1462 if (vk) {
1497 dasm_put(Dst, 9556); 1463 dasm_put(Dst, 9107);
1498 } else { 1464 } else {
1499 dasm_put(Dst, 8910); 1465 dasm_put(Dst, 2774);
1500 } 1466 }
1501 goto iseqne_end; 1467 goto iseqne_end;
1502 case BC_ISEQN: case BC_ISNEN: 1468 case BC_ISEQN: case BC_ISNEN:
1503 vk = op == BC_ISEQN; 1469 vk = op == BC_ISEQN;
1504 dasm_put(Dst, 9697, LJ_TISNUM); 1470 dasm_put(Dst, 9248, LJ_TISNUM);
1505 if (sse) { 1471 if (sse) {
1506 dasm_put(Dst, 9711); 1472 dasm_put(Dst, 9262);
1507 } else { 1473 } else {
1508 dasm_put(Dst, 9723); 1474 dasm_put(Dst, 9274);
1509 if (cmov) { 1475 if (cmov) {
1510 dasm_put(Dst, 9450); 1476 dasm_put(Dst, 9001);
1511 } else { 1477 } else {
1512 dasm_put(Dst, 9456); 1478 dasm_put(Dst, 9007);
1513 } 1479 }
1514 } 1480 }
1515 goto iseqne_fp; 1481 goto iseqne_fp;
1516 case BC_ISEQP: case BC_ISNEP: 1482 case BC_ISEQP: case BC_ISNEP:
1517 vk = op == BC_ISEQP; 1483 vk = op == BC_ISEQP;
1518 dasm_put(Dst, 9730); 1484 dasm_put(Dst, 9281);
1519 goto iseqne_test; 1485 goto iseqne_test;
1520 1486
1521 /* -- Unary test and copy ops ------------------------------------------- */ 1487 /* -- Unary test and copy ops ------------------------------------------- */
1522 1488
1523 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1489 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1524 dasm_put(Dst, 9742, LJ_TISTRUECOND); 1490 dasm_put(Dst, 9293, LJ_TISTRUECOND);
1525 if (op == BC_IST || op == BC_ISTC) { 1491 if (op == BC_IST || op == BC_ISTC) {
1526 dasm_put(Dst, 9754); 1492 dasm_put(Dst, 9305);
1527 } else { 1493 } else {
1528 dasm_put(Dst, 9759); 1494 dasm_put(Dst, 9310);
1529 } 1495 }
1530 if (op == BC_ISTC || op == BC_ISFC) { 1496 if (op == BC_ISTC || op == BC_ISFC) {
1531 dasm_put(Dst, 9764); 1497 dasm_put(Dst, 9315);
1532 } 1498 }
1533 dasm_put(Dst, 9775, -BCBIAS_J*4); 1499 dasm_put(Dst, 9326, -BCBIAS_J*4);
1534 break; 1500 break;
1535 1501
1536 /* -- Unary ops --------------------------------------------------------- */ 1502 /* -- Unary ops --------------------------------------------------------- */
1537 1503
1538 case BC_MOV: 1504 case BC_MOV:
1539 dasm_put(Dst, 9807); 1505 dasm_put(Dst, 9358);
1540 break; 1506 break;
1541 case BC_NOT: 1507 case BC_NOT:
1542 dasm_put(Dst, 9841, LJ_TISTRUECOND, LJ_TTRUE); 1508 dasm_put(Dst, 9392, LJ_TISTRUECOND, LJ_TTRUE);
1543 break; 1509 break;
1544 case BC_UNM: 1510 case BC_UNM:
1545 dasm_put(Dst, 9877, LJ_TISNUM); 1511 dasm_put(Dst, 9428, LJ_TISNUM);
1546 if (sse) { 1512 if (sse) {
1547 dasm_put(Dst, 9888, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1513 dasm_put(Dst, 9439, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1548 } else { 1514 } else {
1549 dasm_put(Dst, 9913); 1515 dasm_put(Dst, 9464);
1550 } 1516 }
1551 dasm_put(Dst, 7584); 1517 dasm_put(Dst, 7133);
1552 break; 1518 break;
1553 case BC_LEN: 1519 case BC_LEN:
1554 dasm_put(Dst, 9922, LJ_TSTR); 1520 dasm_put(Dst, 9473, LJ_TSTR);
1555 if (sse) { 1521 if (sse) {
1556 dasm_put(Dst, 9936, Dt5(->len)); 1522 dasm_put(Dst, 9487, Dt5(->len));
1557 } else { 1523 } else {
1558 dasm_put(Dst, 9954, Dt5(->len)); 1524 dasm_put(Dst, 9505, Dt5(->len));
1559 } 1525 }
1560 dasm_put(Dst, 9963, LJ_TTAB); 1526 dasm_put(Dst, 9514, LJ_TTAB);
1561 if (sse) { 1527 if (sse) {
1562 dasm_put(Dst, 10004); 1528 dasm_put(Dst, 9555);
1563 } else { 1529 } else {
1564 } 1530 }
1565 dasm_put(Dst, 10013); 1531 dasm_put(Dst, 9564);
1566 break; 1532 break;
1567 1533
1568 /* -- Binary ops -------------------------------------------------------- */ 1534 /* -- Binary ops -------------------------------------------------------- */
1569 1535
1570 1536
1571 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1537 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1572 dasm_put(Dst, 10023); 1538 dasm_put(Dst, 9574);
1573 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1539 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1574 switch (vk) { 1540 switch (vk) {
1575 case 0: 1541 case 0:
1576 dasm_put(Dst, 10031, LJ_TISNUM); 1542 dasm_put(Dst, 9582, LJ_TISNUM);
1577 if (sse) { 1543 if (sse) {
1578 dasm_put(Dst, 10043); 1544 dasm_put(Dst, 9594);
1579 } else { 1545 } else {
1580 dasm_put(Dst, 10057); 1546 dasm_put(Dst, 9608);
1581 } 1547 }
1582 break; 1548 break;
1583 case 1: 1549 case 1:
1584 dasm_put(Dst, 10065, LJ_TISNUM); 1550 dasm_put(Dst, 9616, LJ_TISNUM);
1585 if (sse) { 1551 if (sse) {
1586 dasm_put(Dst, 10077); 1552 dasm_put(Dst, 9628);
1587 } else { 1553 } else {
1588 dasm_put(Dst, 10091); 1554 dasm_put(Dst, 9642);
1589 } 1555 }
1590 break; 1556 break;
1591 default: 1557 default:
1592 dasm_put(Dst, 10099, LJ_TISNUM, LJ_TISNUM); 1558 dasm_put(Dst, 9650, LJ_TISNUM, LJ_TISNUM);
1593 if (sse) { 1559 if (sse) {
1594 dasm_put(Dst, 10121); 1560 dasm_put(Dst, 9672);
1595 } else { 1561 } else {
1596 dasm_put(Dst, 10135); 1562 dasm_put(Dst, 9686);
1597 } 1563 }
1598 break; 1564 break;
1599 } 1565 }
1600 if (sse) { 1566 if (sse) {
1601 dasm_put(Dst, 9906); 1567 dasm_put(Dst, 9457);
1602 } else { 1568 } else {
1603 dasm_put(Dst, 9918); 1569 dasm_put(Dst, 9469);
1604 } 1570 }
1605 dasm_put(Dst, 7584); 1571 dasm_put(Dst, 7133);
1606 break; 1572 break;
1607 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1573 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1608 dasm_put(Dst, 10023); 1574 dasm_put(Dst, 9574);
1609 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1575 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1610 switch (vk) { 1576 switch (vk) {
1611 case 0: 1577 case 0:
1612 dasm_put(Dst, 10031, LJ_TISNUM); 1578 dasm_put(Dst, 9582, LJ_TISNUM);
1613 if (sse) { 1579 if (sse) {
1614 dasm_put(Dst, 10143); 1580 dasm_put(Dst, 9694);
1615 } else { 1581 } else {
1616 dasm_put(Dst, 10157); 1582 dasm_put(Dst, 9708);
1617 } 1583 }
1618 break; 1584 break;
1619 case 1: 1585 case 1:
1620 dasm_put(Dst, 10065, LJ_TISNUM); 1586 dasm_put(Dst, 9616, LJ_TISNUM);
1621 if (sse) { 1587 if (sse) {
1622 dasm_put(Dst, 10165); 1588 dasm_put(Dst, 9716);
1623 } else { 1589 } else {
1624 dasm_put(Dst, 10179); 1590 dasm_put(Dst, 9730);
1625 } 1591 }
1626 break; 1592 break;
1627 default: 1593 default:
1628 dasm_put(Dst, 10099, LJ_TISNUM, LJ_TISNUM); 1594 dasm_put(Dst, 9650, LJ_TISNUM, LJ_TISNUM);
1629 if (sse) { 1595 if (sse) {
1630 dasm_put(Dst, 10187); 1596 dasm_put(Dst, 9738);
1631 } else { 1597 } else {
1632 dasm_put(Dst, 10201); 1598 dasm_put(Dst, 9752);
1633 } 1599 }
1634 break; 1600 break;
1635 } 1601 }
1636 if (sse) { 1602 if (sse) {
1637 dasm_put(Dst, 9906); 1603 dasm_put(Dst, 9457);
1638 } else { 1604 } else {
1639 dasm_put(Dst, 9918); 1605 dasm_put(Dst, 9469);
1640 } 1606 }
1641 dasm_put(Dst, 7584); 1607 dasm_put(Dst, 7133);
1642 break; 1608 break;
1643 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1609 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1644 dasm_put(Dst, 10023); 1610 dasm_put(Dst, 9574);
1645 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1611 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1646 switch (vk) { 1612 switch (vk) {
1647 case 0: 1613 case 0:
1648 dasm_put(Dst, 10031, LJ_TISNUM); 1614 dasm_put(Dst, 9582, LJ_TISNUM);
1649 if (sse) { 1615 if (sse) {
1650 dasm_put(Dst, 10209); 1616 dasm_put(Dst, 9760);
1651 } else { 1617 } else {
1652 dasm_put(Dst, 10223); 1618 dasm_put(Dst, 9774);
1653 } 1619 }
1654 break; 1620 break;
1655 case 1: 1621 case 1:
1656 dasm_put(Dst, 10065, LJ_TISNUM); 1622 dasm_put(Dst, 9616, LJ_TISNUM);
1657 if (sse) { 1623 if (sse) {
1658 dasm_put(Dst, 10231); 1624 dasm_put(Dst, 9782);
1659 } else { 1625 } else {
1660 dasm_put(Dst, 10245); 1626 dasm_put(Dst, 9796);
1661 } 1627 }
1662 break; 1628 break;
1663 default: 1629 default:
1664 dasm_put(Dst, 10099, LJ_TISNUM, LJ_TISNUM); 1630 dasm_put(Dst, 9650, LJ_TISNUM, LJ_TISNUM);
1665 if (sse) { 1631 if (sse) {
1666 dasm_put(Dst, 10253); 1632 dasm_put(Dst, 9804);
1667 } else { 1633 } else {
1668 dasm_put(Dst, 10267); 1634 dasm_put(Dst, 9818);
1669 } 1635 }
1670 break; 1636 break;
1671 } 1637 }
1672 if (sse) { 1638 if (sse) {
1673 dasm_put(Dst, 9906); 1639 dasm_put(Dst, 9457);
1674 } else { 1640 } else {
1675 dasm_put(Dst, 9918); 1641 dasm_put(Dst, 9469);
1676 } 1642 }
1677 dasm_put(Dst, 7584); 1643 dasm_put(Dst, 7133);
1678 break; 1644 break;
1679 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1645 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1680 dasm_put(Dst, 10023); 1646 dasm_put(Dst, 9574);
1681 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1647 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1682 switch (vk) { 1648 switch (vk) {
1683 case 0: 1649 case 0:
1684 dasm_put(Dst, 10031, LJ_TISNUM); 1650 dasm_put(Dst, 9582, LJ_TISNUM);
1685 if (sse) { 1651 if (sse) {
1686 dasm_put(Dst, 10275); 1652 dasm_put(Dst, 9826);
1687 } else { 1653 } else {
1688 dasm_put(Dst, 10289); 1654 dasm_put(Dst, 9840);
1689 } 1655 }
1690 break; 1656 break;
1691 case 1: 1657 case 1:
1692 dasm_put(Dst, 10065, LJ_TISNUM); 1658 dasm_put(Dst, 9616, LJ_TISNUM);
1693 if (sse) { 1659 if (sse) {
1694 dasm_put(Dst, 10297); 1660 dasm_put(Dst, 9848);
1695 } else { 1661 } else {
1696 dasm_put(Dst, 10311); 1662 dasm_put(Dst, 9862);
1697 } 1663 }
1698 break; 1664 break;
1699 default: 1665 default:
1700 dasm_put(Dst, 10099, LJ_TISNUM, LJ_TISNUM); 1666 dasm_put(Dst, 9650, LJ_TISNUM, LJ_TISNUM);
1701 if (sse) { 1667 if (sse) {
1702 dasm_put(Dst, 10319); 1668 dasm_put(Dst, 9870);
1703 } else { 1669 } else {
1704 dasm_put(Dst, 10333); 1670 dasm_put(Dst, 9884);
1705 } 1671 }
1706 break; 1672 break;
1707 } 1673 }
1708 if (sse) { 1674 if (sse) {
1709 dasm_put(Dst, 9906); 1675 dasm_put(Dst, 9457);
1710 } else { 1676 } else {
1711 dasm_put(Dst, 9918); 1677 dasm_put(Dst, 9469);
1712 } 1678 }
1713 dasm_put(Dst, 7584); 1679 dasm_put(Dst, 7133);
1714 break; 1680 break;
1715 case BC_MODVN: 1681 case BC_MODVN:
1716 dasm_put(Dst, 10023); 1682 dasm_put(Dst, 9574);
1717 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1683 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1718 switch (vk) { 1684 switch (vk) {
1719 case 0: 1685 case 0:
1720 dasm_put(Dst, 10031, LJ_TISNUM); 1686 dasm_put(Dst, 9582, LJ_TISNUM);
1721 if (sse) { 1687 if (sse) {
1722 dasm_put(Dst, 10341); 1688 dasm_put(Dst, 9892);
1723 } else { 1689 } else {
1724 dasm_put(Dst, 10355); 1690 dasm_put(Dst, 9906);
1725 } 1691 }
1726 break; 1692 break;
1727 case 1: 1693 case 1:
1728 dasm_put(Dst, 10065, LJ_TISNUM); 1694 dasm_put(Dst, 9616, LJ_TISNUM);
1729 if (sse) { 1695 if (sse) {
1730 dasm_put(Dst, 10363); 1696 dasm_put(Dst, 9914);
1731 } else { 1697 } else {
1732 dasm_put(Dst, 10377); 1698 dasm_put(Dst, 9928);
1733 } 1699 }
1734 break; 1700 break;
1735 default: 1701 default:
1736 dasm_put(Dst, 10099, LJ_TISNUM, LJ_TISNUM); 1702 dasm_put(Dst, 9650, LJ_TISNUM, LJ_TISNUM);
1737 if (sse) { 1703 if (sse) {
1738 dasm_put(Dst, 10385); 1704 dasm_put(Dst, 9936);
1739 } else { 1705 } else {
1740 dasm_put(Dst, 10399); 1706 dasm_put(Dst, 9950);
1741 } 1707 }
1742 break; 1708 break;
1743 } 1709 }
1744 dasm_put(Dst, 10407); 1710 dasm_put(Dst, 9958);
1745 if (sse) { 1711 if (sse) {
1746 dasm_put(Dst, 9906); 1712 dasm_put(Dst, 9457);
1747 } else { 1713 } else {
1748 dasm_put(Dst, 9918); 1714 dasm_put(Dst, 9469);
1749 } 1715 }
1750 dasm_put(Dst, 7584); 1716 dasm_put(Dst, 7133);
1751 break; 1717 break;
1752 case BC_MODNV: case BC_MODVV: 1718 case BC_MODNV: case BC_MODVV:
1753 dasm_put(Dst, 10023); 1719 dasm_put(Dst, 9574);
1754 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1720 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1755 switch (vk) { 1721 switch (vk) {
1756 case 0: 1722 case 0:
1757 dasm_put(Dst, 10031, LJ_TISNUM); 1723 dasm_put(Dst, 9582, LJ_TISNUM);
1758 if (sse) { 1724 if (sse) {
1759 dasm_put(Dst, 10341); 1725 dasm_put(Dst, 9892);
1760 } else { 1726 } else {
1761 dasm_put(Dst, 10355); 1727 dasm_put(Dst, 9906);
1762 } 1728 }
1763 break; 1729 break;
1764 case 1: 1730 case 1:
1765 dasm_put(Dst, 10065, LJ_TISNUM); 1731 dasm_put(Dst, 9616, LJ_TISNUM);
1766 if (sse) { 1732 if (sse) {
1767 dasm_put(Dst, 10363); 1733 dasm_put(Dst, 9914);
1768 } else { 1734 } else {
1769 dasm_put(Dst, 10377); 1735 dasm_put(Dst, 9928);
1770 } 1736 }
1771 break; 1737 break;
1772 default: 1738 default:
1773 dasm_put(Dst, 10099, LJ_TISNUM, LJ_TISNUM); 1739 dasm_put(Dst, 9650, LJ_TISNUM, LJ_TISNUM);
1774 if (sse) { 1740 if (sse) {
1775 dasm_put(Dst, 10385); 1741 dasm_put(Dst, 9936);
1776 } else { 1742 } else {
1777 dasm_put(Dst, 10399); 1743 dasm_put(Dst, 9950);
1778 } 1744 }
1779 break; 1745 break;
1780 } 1746 }
1781 dasm_put(Dst, 10413); 1747 dasm_put(Dst, 9964);
1782 break; 1748 break;
1783 case BC_POW: 1749 case BC_POW:
1784 dasm_put(Dst, 10023); 1750 dasm_put(Dst, 9574);
1785 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1751 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1786 switch (vk) { 1752 switch (vk) {
1787 case 0: 1753 case 0:
1788 dasm_put(Dst, 10031, LJ_TISNUM); 1754 dasm_put(Dst, 9582, LJ_TISNUM);
1789 if (sse) { 1755 if (sse) {
1790 dasm_put(Dst, 10341); 1756 dasm_put(Dst, 9892);
1791 } else { 1757 } else {
1792 dasm_put(Dst, 10355); 1758 dasm_put(Dst, 9906);
1793 } 1759 }
1794 break; 1760 break;
1795 case 1: 1761 case 1:
1796 dasm_put(Dst, 10065, LJ_TISNUM); 1762 dasm_put(Dst, 9616, LJ_TISNUM);
1797 if (sse) { 1763 if (sse) {
1798 dasm_put(Dst, 10363); 1764 dasm_put(Dst, 9914);
1799 } else { 1765 } else {
1800 dasm_put(Dst, 10377); 1766 dasm_put(Dst, 9928);
1801 } 1767 }
1802 break; 1768 break;
1803 default: 1769 default:
1804 dasm_put(Dst, 10099, LJ_TISNUM, LJ_TISNUM); 1770 dasm_put(Dst, 9650, LJ_TISNUM, LJ_TISNUM);
1805 if (sse) { 1771 if (sse) {
1806 dasm_put(Dst, 10385); 1772 dasm_put(Dst, 9936);
1807 } else { 1773 } else {
1808 dasm_put(Dst, 10399); 1774 dasm_put(Dst, 9950);
1809 } 1775 }
1810 break; 1776 break;
1811 } 1777 }
1812 dasm_put(Dst, 10418); 1778 dasm_put(Dst, 9969);
1813 if (sse) { 1779 if (sse) {
1814 dasm_put(Dst, 9906); 1780 dasm_put(Dst, 9457);
1815 } else { 1781 } else {
1816 dasm_put(Dst, 9918); 1782 dasm_put(Dst, 9469);
1817 } 1783 }
1818 dasm_put(Dst, 7584); 1784 dasm_put(Dst, 7133);
1819 break; 1785 break;
1820 1786
1821 case BC_CAT: 1787 case BC_CAT:
1822 dasm_put(Dst, 10422, Dt1(->base), Dt1(->base)); 1788 dasm_put(Dst, 9973, Dt1(->base), Dt1(->base));
1823 break; 1789 break;
1824 1790
1825 /* -- Constant ops ------------------------------------------------------ */ 1791 /* -- Constant ops ------------------------------------------------------ */
1826 1792
1827 case BC_KSTR: 1793 case BC_KSTR:
1828 dasm_put(Dst, 10512, LJ_TSTR); 1794 dasm_put(Dst, 10063, LJ_TSTR);
1829 break; 1795 break;
1830 case BC_KSHORT: 1796 case BC_KSHORT:
1831 if (sse) { 1797 if (sse) {
1832 dasm_put(Dst, 10547); 1798 dasm_put(Dst, 10098);
1833 } else { 1799 } else {
1834 dasm_put(Dst, 10562); 1800 dasm_put(Dst, 10113);
1835 } 1801 }
1836 dasm_put(Dst, 7584); 1802 dasm_put(Dst, 7133);
1837 break; 1803 break;
1838 case BC_KNUM: 1804 case BC_KNUM:
1839 if (sse) { 1805 if (sse) {
1840 dasm_put(Dst, 10570); 1806 dasm_put(Dst, 10121);
1841 } else { 1807 } else {
1842 dasm_put(Dst, 10583); 1808 dasm_put(Dst, 10134);
1843 } 1809 }
1844 dasm_put(Dst, 7584); 1810 dasm_put(Dst, 7133);
1845 break; 1811 break;
1846 case BC_KPRI: 1812 case BC_KPRI:
1847 dasm_put(Dst, 10590); 1813 dasm_put(Dst, 10141);
1848 break; 1814 break;
1849 case BC_KNIL: 1815 case BC_KNIL:
1850 dasm_put(Dst, 10618, LJ_TNIL); 1816 dasm_put(Dst, 10169, LJ_TNIL);
1851 break; 1817 break;
1852 1818
1853 /* -- Upvalue and function ops ------------------------------------------ */ 1819 /* -- Upvalue and function ops ------------------------------------------ */
1854 1820
1855 case BC_UGET: 1821 case BC_UGET:
1856 dasm_put(Dst, 10665, offsetof(GCfuncL, uvptr), DtA(->v)); 1822 dasm_put(Dst, 10216, offsetof(GCfuncL, uvptr), DtA(->v));
1857 break; 1823 break;
1858 case BC_USETV: 1824 case BC_USETV:
1859#define TV2MARKOFS \ 1825#define TV2MARKOFS \
1860 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1826 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1861 dasm_put(Dst, 10710, 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); 1827 dasm_put(Dst, 10261, 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);
1862 dasm_put(Dst, 10801); 1828 dasm_put(Dst, 10352);
1863 break; 1829 break;
1864#undef TV2MARKOFS 1830#undef TV2MARKOFS
1865 case BC_USETS: 1831 case BC_USETS:
1866 dasm_put(Dst, 10813, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1832 dasm_put(Dst, 10364, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1867 break; 1833 break;
1868 case BC_USETN: 1834 case BC_USETN:
1869 dasm_put(Dst, 10906); 1835 dasm_put(Dst, 10457);
1870 if (sse) { 1836 if (sse) {
1871 dasm_put(Dst, 10911); 1837 dasm_put(Dst, 10462);
1872 } else { 1838 } else {
1873 dasm_put(Dst, 9726); 1839 dasm_put(Dst, 9277);
1874 } 1840 }
1875 dasm_put(Dst, 10918, offsetof(GCfuncL, uvptr), DtA(->v)); 1841 dasm_put(Dst, 10469, offsetof(GCfuncL, uvptr), DtA(->v));
1876 if (sse) { 1842 if (sse) {
1877 dasm_put(Dst, 4853); 1843 dasm_put(Dst, 10478);
1878 } else { 1844 } else {
1879 dasm_put(Dst, 4859); 1845 dasm_put(Dst, 10484);
1880 } 1846 }
1881 dasm_put(Dst, 7584); 1847 dasm_put(Dst, 7133);
1882 break; 1848 break;
1883 case BC_USETP: 1849 case BC_USETP:
1884 dasm_put(Dst, 10927, offsetof(GCfuncL, uvptr), DtA(->v)); 1850 dasm_put(Dst, 10487, offsetof(GCfuncL, uvptr), DtA(->v));
1885 break; 1851 break;
1886 case BC_UCLO: 1852 case BC_UCLO:
1887 dasm_put(Dst, 10966, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1853 dasm_put(Dst, 10526, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1888 break; 1854 break;
1889 1855
1890 case BC_FNEW: 1856 case BC_FNEW:
1891 dasm_put(Dst, 11021, Dt1(->base), Dt1(->base), LJ_TFUNC); 1857 dasm_put(Dst, 10581, Dt1(->base), Dt1(->base), LJ_TFUNC);
1892 break; 1858 break;
1893 1859
1894 /* -- Table ops --------------------------------------------------------- */ 1860 /* -- Table ops --------------------------------------------------------- */
1895 1861
1896 case BC_TNEW: 1862 case BC_TNEW:
1897 dasm_put(Dst, 11087, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1863 dasm_put(Dst, 10647, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1898 break; 1864 break;
1899 case BC_TDUP: 1865 case BC_TDUP:
1900 dasm_put(Dst, 11208, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1866 dasm_put(Dst, 10768, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1901 break; 1867 break;
1902 1868
1903 case BC_GGET: 1869 case BC_GGET:
1904 dasm_put(Dst, 11303, Dt7(->env)); 1870 dasm_put(Dst, 10863, Dt7(->env));
1905 break; 1871 break;
1906 case BC_GSET: 1872 case BC_GSET:
1907 dasm_put(Dst, 11322, Dt7(->env)); 1873 dasm_put(Dst, 10882, Dt7(->env));
1908 break; 1874 break;
1909 1875
1910 case BC_TGETV: 1876 case BC_TGETV:
1911 dasm_put(Dst, 11341, LJ_TTAB, LJ_TISNUM); 1877 dasm_put(Dst, 10901, LJ_TTAB, LJ_TISNUM);
1912 if (sse) { 1878 if (sse) {
1913 dasm_put(Dst, 11374); 1879 dasm_put(Dst, 10934);
1914 } else { 1880 } else {
1915 } 1881 }
1916 dasm_put(Dst, 11395, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1882 dasm_put(Dst, 10955, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1917 dasm_put(Dst, 11488, LJ_TSTR); 1883 dasm_put(Dst, 11048, LJ_TSTR);
1918 break; 1884 break;
1919 case BC_TGETS: 1885 case BC_TGETS:
1920 dasm_put(Dst, 11506, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1886 dasm_put(Dst, 11066, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1921 dasm_put(Dst, 11591, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1887 dasm_put(Dst, 11151, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1922 break; 1888 break;
1923 case BC_TGETB: 1889 case BC_TGETB:
1924 dasm_put(Dst, 11663, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1890 dasm_put(Dst, 11223, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1925 dasm_put(Dst, 10013); 1891 dasm_put(Dst, 9564);
1926 break; 1892 break;
1927 1893
1928 case BC_TSETV: 1894 case BC_TSETV:
1929 dasm_put(Dst, 11763, LJ_TTAB, LJ_TISNUM); 1895 dasm_put(Dst, 11323, LJ_TTAB, LJ_TISNUM);
1930 if (sse) { 1896 if (sse) {
1931 dasm_put(Dst, 11374); 1897 dasm_put(Dst, 10934);
1932 } else { 1898 } else {
1933 } 1899 }
1934 dasm_put(Dst, 11796, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1900 dasm_put(Dst, 11356, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1935 dasm_put(Dst, 11880, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1901 dasm_put(Dst, 11440, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1936 break; 1902 break;
1937 case BC_TSETS: 1903 case BC_TSETS:
1938 dasm_put(Dst, 11942, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1904 dasm_put(Dst, 11502, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1939 dasm_put(Dst, 12018, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1905 dasm_put(Dst, 11578, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1940 dasm_put(Dst, 12111, 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)); 1906 dasm_put(Dst, 11671, 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));
1941 break; 1907 break;
1942 case BC_TSETB: 1908 case BC_TSETB:
1943 dasm_put(Dst, 12202, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1909 dasm_put(Dst, 11762, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1944 dasm_put(Dst, 12301, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1910 dasm_put(Dst, 11861, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1945 break; 1911 break;
1946 1912
1947 case BC_TSETM: 1913 case BC_TSETM:
1948 dasm_put(Dst, 12347); 1914 dasm_put(Dst, 11907);
1949 if (sse) { 1915 if (sse) {
1950 dasm_put(Dst, 10911); 1916 dasm_put(Dst, 10462);
1951 } else { 1917 } else {
1952 } 1918 }
1953 dasm_put(Dst, 12352, Dt6(->marked), LJ_GC_BLACK); 1919 dasm_put(Dst, 11912, Dt6(->marked), LJ_GC_BLACK);
1954 if (sse) { 1920 if (sse) {
1955 dasm_put(Dst, 12377); 1921 dasm_put(Dst, 11937);
1956 } else { 1922 } else {
1957 } 1923 }
1958 dasm_put(Dst, 12384, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 1924 dasm_put(Dst, 11944, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
1959 dasm_put(Dst, 12510, Dt6(->gclist)); 1925 dasm_put(Dst, 12070, Dt6(->gclist));
1960 break; 1926 break;
1961 1927
1962 /* -- Calls and vararg handling ----------------------------------------- */ 1928 /* -- Calls and vararg handling ----------------------------------------- */
1963 1929
1964 case BC_CALL: case BC_CALLM: 1930 case BC_CALL: case BC_CALLM:
1965 dasm_put(Dst, 10027); 1931 dasm_put(Dst, 9578);
1966 if (op == BC_CALLM) { 1932 if (op == BC_CALLM) {
1967 dasm_put(Dst, 12518); 1933 dasm_put(Dst, 12078);
1968 } 1934 }
1969 dasm_put(Dst, 12523, LJ_TFUNC, Dt7(->gate)); 1935 dasm_put(Dst, 12083, LJ_TFUNC, Dt7(->pc));
1970 break; 1936 break;
1971 1937
1972 case BC_CALLMT: 1938 case BC_CALLMT:
1973 dasm_put(Dst, 12518); 1939 dasm_put(Dst, 12078);
1974 break; 1940 break;
1975 case BC_CALLT: 1941 case BC_CALLT:
1976 dasm_put(Dst, 12546, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->gate)); 1942 dasm_put(Dst, 12125, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1977 dasm_put(Dst, 12651, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 1943 dasm_put(Dst, 12244, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
1978 break; 1944 break;
1979 1945
1980 case BC_ITERC: 1946 case BC_ITERC:
1981 dasm_put(Dst, 12709, LJ_TFUNC, Dt7(->gate)); 1947 dasm_put(Dst, 12302, LJ_TFUNC, 2+1, Dt7(->pc));
1982 break; 1948 break;
1983 1949
1984 case BC_VARG: 1950 case BC_VARG:
1985 dasm_put(Dst, 12771, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1951 dasm_put(Dst, 12383, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1986 dasm_put(Dst, 12916, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1952 dasm_put(Dst, 12528, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1987 break; 1953 break;
1988 1954
1989 /* -- Returns ----------------------------------------------------------- */ 1955 /* -- Returns ----------------------------------------------------------- */
1990 1956
1991 case BC_RETM: 1957 case BC_RETM:
1992 dasm_put(Dst, 12518); 1958 dasm_put(Dst, 12078);
1993 break; 1959 break;
1994 1960
1995 case BC_RET: case BC_RET0: case BC_RET1: 1961 case BC_RET: case BC_RET0: case BC_RET1:
1996 if (op != BC_RET0) { 1962 if (op != BC_RET0) {
1997 dasm_put(Dst, 13015); 1963 dasm_put(Dst, 12627);
1998 } 1964 }
1999 dasm_put(Dst, 13019, FRAME_TYPE); 1965 dasm_put(Dst, 12631, FRAME_TYPE);
2000 switch (op) { 1966 switch (op) {
2001 case BC_RET: 1967 case BC_RET:
2002 dasm_put(Dst, 13038); 1968 dasm_put(Dst, 12650);
2003 break; 1969 break;
2004 case BC_RET1: 1970 case BC_RET1:
2005 dasm_put(Dst, 13096); 1971 dasm_put(Dst, 12708);
2006 /* fallthrough */ 1972 /* fallthrough */
2007 case BC_RET0: 1973 case BC_RET0:
2008 dasm_put(Dst, 13112); 1974 dasm_put(Dst, 12724);
2009 default: 1975 default:
2010 break; 1976 break;
2011 } 1977 }
2012 dasm_put(Dst, 13123, Dt7(->pc), PC2PROTO(k)); 1978 dasm_put(Dst, 12735, Dt7(->pc), PC2PROTO(k));
2013 if (op == BC_RET) { 1979 if (op == BC_RET) {
2014 dasm_put(Dst, 13167, LJ_TNIL); 1980 dasm_put(Dst, 12779, LJ_TNIL);
2015 } else { 1981 } else {
2016 dasm_put(Dst, 13176, LJ_TNIL); 1982 dasm_put(Dst, 12788, LJ_TNIL);
2017 } 1983 }
2018 dasm_put(Dst, 13183); 1984 dasm_put(Dst, 12795);
2019 if (op != BC_RET0) { 1985 if (op != BC_RET0) {
2020 dasm_put(Dst, 13204); 1986 dasm_put(Dst, 12816);
2021 } 1987 }
2022 dasm_put(Dst, 4944); 1988 dasm_put(Dst, 4542);
2023 break; 1989 break;
2024 1990
2025 /* -- Loops and branches ------------------------------------------------ */ 1991 /* -- Loops and branches ------------------------------------------------ */
@@ -2027,7 +1993,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2027 1993
2028 case BC_FORL: 1994 case BC_FORL:
2029#if LJ_HASJIT 1995#if LJ_HASJIT
2030 dasm_put(Dst, 13208, HOTCOUNT_PCMASK, GG_DISP2HOT); 1996 dasm_put(Dst, 12820, HOTCOUNT_PCMASK, GG_DISP2HOT);
2031#endif 1997#endif
2032 break; 1998 break;
2033 1999
@@ -2039,57 +2005,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2039 case BC_FORI: 2005 case BC_FORI:
2040 case BC_IFORL: 2006 case BC_IFORL:
2041 vk = (op == BC_IFORL || op == BC_JFORL); 2007 vk = (op == BC_IFORL || op == BC_JFORL);
2042 dasm_put(Dst, 13229); 2008 dasm_put(Dst, 12841);
2043 if (!vk) { 2009 if (!vk) {
2044 dasm_put(Dst, 13233, LJ_TISNUM, LJ_TISNUM); 2010 dasm_put(Dst, 12845, LJ_TISNUM, LJ_TISNUM);
2045 } 2011 }
2046 dasm_put(Dst, 13252); 2012 dasm_put(Dst, 12864);
2047 if (!vk) { 2013 if (!vk) {
2048 dasm_put(Dst, 13256, LJ_TISNUM); 2014 dasm_put(Dst, 12868, LJ_TISNUM);
2049 } 2015 }
2050 if (sse) { 2016 if (sse) {
2051 dasm_put(Dst, 13265); 2017 dasm_put(Dst, 12877);
2052 if (vk) { 2018 if (vk) {
2053 dasm_put(Dst, 13277); 2019 dasm_put(Dst, 12889);
2054 } else { 2020 } else {
2055 dasm_put(Dst, 13296); 2021 dasm_put(Dst, 12908);
2056 } 2022 }
2057 dasm_put(Dst, 13301); 2023 dasm_put(Dst, 12913);
2058 } else { 2024 } else {
2059 dasm_put(Dst, 13314); 2025 dasm_put(Dst, 12926);
2060 if (vk) { 2026 if (vk) {
2061 dasm_put(Dst, 13320); 2027 dasm_put(Dst, 12932);
2062 } else { 2028 } else {
2063 dasm_put(Dst, 13336); 2029 dasm_put(Dst, 12948);
2064 } 2030 }
2065 dasm_put(Dst, 13344); 2031 dasm_put(Dst, 12956);
2066 if (cmov) { 2032 if (cmov) {
2067 dasm_put(Dst, 9450); 2033 dasm_put(Dst, 9001);
2068 } else { 2034 } else {
2069 dasm_put(Dst, 9456); 2035 dasm_put(Dst, 9007);
2070 } 2036 }
2071 if (!cmov) { 2037 if (!cmov) {
2072 dasm_put(Dst, 13349); 2038 dasm_put(Dst, 12961);
2073 } 2039 }
2074 } 2040 }
2075 if (op == BC_FORI) { 2041 if (op == BC_FORI) {
2076 dasm_put(Dst, 13355, -BCBIAS_J*4); 2042 dasm_put(Dst, 12967, -BCBIAS_J*4);
2077 } else if (op == BC_JFORI) { 2043 } else if (op == BC_JFORI) {
2078 dasm_put(Dst, 13365, -BCBIAS_J*4, BC_JLOOP); 2044 dasm_put(Dst, 12977, -BCBIAS_J*4, BC_JLOOP);
2079 } else if (op == BC_IFORL) { 2045 } else if (op == BC_IFORL) {
2080 dasm_put(Dst, 13379, -BCBIAS_J*4); 2046 dasm_put(Dst, 12991, -BCBIAS_J*4);
2081 } else { 2047 } else {
2082 dasm_put(Dst, 13375, BC_JLOOP); 2048 dasm_put(Dst, 12987, BC_JLOOP);
2083 } 2049 }
2084 dasm_put(Dst, 9485); 2050 dasm_put(Dst, 9036);
2085 if (sse) { 2051 if (sse) {
2086 dasm_put(Dst, 13389); 2052 dasm_put(Dst, 13001);
2087 } 2053 }
2088 break; 2054 break;
2089 2055
2090 case BC_ITERL: 2056 case BC_ITERL:
2091#if LJ_HASJIT 2057#if LJ_HASJIT
2092 dasm_put(Dst, 13208, HOTCOUNT_PCMASK, GG_DISP2HOT); 2058 dasm_put(Dst, 12820, HOTCOUNT_PCMASK, GG_DISP2HOT);
2093#endif 2059#endif
2094 break; 2060 break;
2095 2061
@@ -2098,33 +2064,96 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2098 break; 2064 break;
2099#endif 2065#endif
2100 case BC_IITERL: 2066 case BC_IITERL:
2101 dasm_put(Dst, 13400, LJ_TNIL); 2067 dasm_put(Dst, 13012, LJ_TNIL);
2102 if (op == BC_JITERL) { 2068 if (op == BC_JITERL) {
2103 dasm_put(Dst, 13415, BC_JLOOP); 2069 dasm_put(Dst, 13027, BC_JLOOP);
2104 } else { 2070 } else {
2105 dasm_put(Dst, 13429, -BCBIAS_J*4); 2071 dasm_put(Dst, 13041, -BCBIAS_J*4);
2106 } 2072 }
2107 dasm_put(Dst, 9785); 2073 dasm_put(Dst, 9336);
2108 break; 2074 break;
2109 2075
2110 case BC_LOOP: 2076 case BC_LOOP:
2111#if LJ_HASJIT 2077#if LJ_HASJIT
2112 dasm_put(Dst, 13208, HOTCOUNT_PCMASK, GG_DISP2HOT); 2078 dasm_put(Dst, 12820, HOTCOUNT_PCMASK, GG_DISP2HOT);
2113#endif 2079#endif
2114 break; 2080 break;
2115 2081
2116 case BC_ILOOP: 2082 case BC_ILOOP:
2117 dasm_put(Dst, 7584); 2083 dasm_put(Dst, 7133);
2118 break; 2084 break;
2119 2085
2120 case BC_JLOOP: 2086 case BC_JLOOP:
2121#if LJ_HASJIT 2087#if LJ_HASJIT
2122 dasm_put(Dst, 13445, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2088 dasm_put(Dst, 13057, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2123#endif 2089#endif
2124 break; 2090 break;
2125 2091
2126 case BC_JMP: 2092 case BC_JMP:
2127 dasm_put(Dst, 13469, -BCBIAS_J*4); 2093 dasm_put(Dst, 13081, -BCBIAS_J*4);
2094 break;
2095
2096 /* -- Function headers -------------------------------------------------- */
2097
2098 /*
2099 ** Reminder: A function may be called with func/args above L->maxstack,
2100 ** i.e. occupying EXTRA_STACK slots. And vmeta_call may add one extra slot,
2101 ** too. This means all FUNC* ops (including fast functions) must check
2102 ** for stack overflow _before_ adding more slots!
2103 */
2104
2105 case BC_FUNCF:
2106#if LJ_HASJIT
2107#endif
2108 case BC_FUNCV: /* NYI: compiled vararg functions. */
2109 break;
2110
2111 case BC_JFUNCF:
2112#if !LJ_HASJIT
2113 break;
2114#endif
2115 case BC_IFUNCF:
2116 dasm_put(Dst, 13106, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2117 if (op == BC_JFUNCF) {
2118 dasm_put(Dst, 13136, BC_JLOOP);
2119 } else {
2120 dasm_put(Dst, 7133);
2121 }
2122 dasm_put(Dst, 13145, LJ_TNIL);
2123 break;
2124
2125 case BC_JFUNCV:
2126#if !LJ_HASJIT
2127 break;
2128#endif
2129 dasm_put(Dst, 7101);
2130 break; /* NYI: compiled vararg functions. */
2131
2132 case BC_IFUNCV:
2133 dasm_put(Dst, 13167, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2134 if (op == BC_JFUNCV) {
2135 dasm_put(Dst, 13136, BC_JLOOP);
2136 } else {
2137 dasm_put(Dst, 13258, -4+PC2PROTO(k));
2138 }
2139 dasm_put(Dst, 13281, LJ_TNIL);
2140 break;
2141
2142 case BC_FUNCC:
2143 case BC_FUNCCW:
2144 dasm_put(Dst, 13303, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2145 if (op == BC_FUNCC) {
2146 dasm_put(Dst, 13333);
2147 } else {
2148 dasm_put(Dst, 13337);
2149 }
2150 dasm_put(Dst, 13345, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2151 if (op == BC_FUNCC) {
2152 dasm_put(Dst, 13354);
2153 } else {
2154 dasm_put(Dst, 13358, DISPATCH_GL(wrapf));
2155 }
2156 dasm_put(Dst, 13363, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2128 break; 2157 break;
2129 2158
2130 /* ---------------------------------------------------------------------- */ 2159 /* ---------------------------------------------------------------------- */
@@ -2152,7 +2181,7 @@ static int build_backend(BuildCtx *ctx)
2152 2181
2153 build_subroutines(ctx, cmov, sse); 2182 build_subroutines(ctx, cmov, sse);
2154 2183
2155 dasm_put(Dst, 13494); 2184 dasm_put(Dst, 13388);
2156 for (op = 0; op < BC__MAX; op++) 2185 for (op = 0; op < BC__MAX; op++)
2157 build_ins(ctx, (BCOp)op, op, cmov, sse); 2186 build_ins(ctx, (BCOp)op, op, cmov, sse);
2158 2187