aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-02-24 01:32:44 +0100
committerMike Pall <mike>2010-02-24 01:32:44 +0100
commit13a9d7e135b9f4aecac8a09abdd25c942be1db2b (patch)
tree18be559a73422f59cb0d455cafdcb579c8274391 /src
parent2f3a917f2f3f5e9efc710f6dcc8ea0b9540fc898 (diff)
downloadluajit-13a9d7e135b9f4aecac8a09abdd25c942be1db2b.tar.gz
luajit-13a9d7e135b9f4aecac8a09abdd25c942be1db2b.tar.bz2
luajit-13a9d7e135b9f4aecac8a09abdd25c942be1db2b.zip
Add trace exit helper for x64. Fix trace entry for x64.
Diffstat (limited to 'src')
-rw-r--r--src/buildvm_x64.h2027
-rw-r--r--src/buildvm_x64win.h1774
-rw-r--r--src/buildvm_x86.dasc50
-rw-r--r--src/buildvm_x86.h1918
4 files changed, 2916 insertions, 2853 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index bdf85282..485613e0 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[13689] = { 15static const unsigned char build_actionlist[13995] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,252,247,195,237,15,132,244,10,65,199, 18 252,247,195,237,15,132,244,13,248,14,252,247,195,237,15,132,244,10,65,199,
@@ -98,583 +98,598 @@ static const unsigned char build_actionlist[13689] = {
98 252,253,239,15,131,244,55,139,90,252,252,137,68,36,4,137,106,252,252,139, 98 252,253,239,15,131,244,55,139,90,252,252,137,68,36,4,137,106,252,252,139,
99 42,137,106,252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,139,105, 99 42,137,106,252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,
100 4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139, 100 4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,
101 68,36,4,252,233,244,56,248,57,129,252,248,239,15,130,244,55,139,106,4,184, 101 68,36,4,252,233,244,56,248,57,129,252,248,239,15,130,244,55,139,106,4,137,
102 237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255, 102 252,233,193,252,249,15,131,252,249,252,254,15,132,244,249,255,184,237,252,
103 139,106,252,248,139,132,253,197,233,139,90,252,252,199,66,252,252,237,137, 103 247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,
104 66,252,248,252,233,244,58,248,59,129,252,248,239,15,130,244,55,139,106,4, 104 106,252,248,139,132,253,197,233,139,90,252,252,199,66,252,252,237,137,66,
105 139,90,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248, 105 252,248,252,233,244,58,248,3,184,237,252,233,244,2,248,59,129,252,248,239,
106 2,133,252,237,199,66,252,252,237,15,132,244,58,65,139,134,233,199,66,252, 106 15,130,244,55,139,106,4,139,90,252,252,129,252,253,239,15,133,244,252,248,
107 252,237,137,106,252,248,139,141,233,255,35,136,233,105,201,239,3,141,233, 107 1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,255,15,132,244,
108 248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139, 108 58,65,139,134,233,199,66,252,252,237,137,106,252,248,139,141,233,35,136,233,
109 137,233,133,201,15,133,244,3,252,233,244,58,248,5,139,105,4,129,252,253,239, 109 105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,
110 15,132,244,58,255,139,1,137,106,252,252,137,66,252,248,252,233,244,58,248, 110 132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,252,233,244,58,248,
111 6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248, 111 5,139,105,4,129,252,253,239,15,132,244,58,139,1,137,106,252,252,137,66,252,
112 7,252,247,213,65,139,172,253,174,233,252,233,244,2,248,60,129,252,248,239, 112 248,252,233,244,58,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,
113 15,130,244,55,129,122,253,4,239,15,133,244,55,255,139,42,131,189,233,0,15, 113 135,244,253,189,237,248,7,252,247,213,65,139,172,253,174,233,252,233,244,
114 133,244,55,129,122,253,12,239,15,133,244,55,139,66,8,137,133,233,139,90,252, 114 2,248,60,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,
115 252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247, 115 139,42,131,189,233,0,15,133,244,55,129,122,253,12,239,15,133,244,55,139,66,
116 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,248,1,252,233,244, 116 8,137,133,233,139,90,252,252,199,66,252,252,237,137,106,252,248,252,246,133,
117 58,248,61,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244, 117 233,235,15,132,244,247,128,165,233,235,255,65,139,134,233,65,137,174,233,
118 55,137,213,139,50,141,82,8,139,124,36,16,232,251,1,9,137,252,234,139,40,139, 118 137,133,233,248,1,252,233,244,58,248,61,129,252,248,239,15,130,244,55,129,
119 64,4,139,90,252,252,137,106,252,248,137,66,252,252,252,233,244,58,248,62, 119 122,253,4,239,15,133,244,55,137,213,139,50,141,82,8,139,124,36,16,232,251,
120 129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244,55,255,252,242, 120 1,9,137,252,234,139,40,139,64,4,139,90,252,252,137,106,252,248,137,66,252,
121 15,16,2,252,233,244,63,255,221,2,252,233,244,64,255,248,65,129,252,248,239, 121 252,252,233,244,58,248,62,129,252,248,239,15,133,244,55,129,122,253,4,239,
122 15,130,244,55,139,90,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2, 122 255,15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,2,252,233,244,
123 199,66,252,252,237,137,66,252,248,252,233,244,58,248,3,129,122,253,4,239, 123 64,255,248,65,129,252,248,239,15,130,244,55,139,90,252,252,129,122,253,4,
124 15,135,244,55,65,131,190,233,0,15,133,244,55,65,139,174,233,65,59,174,233, 124 239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,
125 255,15,130,244,247,232,244,66,248,1,139,108,36,16,137,149,233,137,92,36,20, 125 244,58,248,3,129,122,253,4,239,15,135,244,55,65,131,190,233,0,15,133,244,
126 137,214,137,252,239,232,251,1,10,139,149,233,252,233,244,2,248,67,129,252, 126 55,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,66,248,1,139,108,
127 248,239,15,130,244,55,15,132,244,248,248,1,129,122,253,4,239,15,133,244,55, 127 36,16,137,149,233,137,92,36,20,137,214,137,252,239,232,251,1,10,139,149,233,
128 139,108,36,16,137,149,233,255,139,90,252,252,139,50,141,82,8,137,252,239, 128 252,233,244,2,248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129,
129 137,92,36,20,232,251,1,11,139,149,233,133,192,15,132,244,249,139,106,8,139, 129 122,253,4,239,15,133,244,55,139,108,36,16,137,149,233,255,139,90,252,252,
130 66,12,137,106,252,248,137,66,252,252,139,106,16,139,66,20,137,42,137,66,4, 130 139,50,141,82,8,137,252,239,137,92,36,20,232,251,1,11,139,149,233,133,192,
131 248,68,184,237,252,233,244,69,248,2,199,66,12,237,252,233,244,1,248,3,199, 131 15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,139,106,
132 66,252,252,237,252,233,244,58,248,70,129,252,248,239,15,130,244,55,139,106, 132 16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2,199,66,12,
133 252,248,129,122,253,4,239,255,15,133,244,55,139,133,233,139,90,252,252,199, 133 237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70,129,252,
134 66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,69,248,71, 134 248,239,15,130,244,55,139,106,252,248,129,122,253,4,239,255,15,133,244,55,
135 129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,129,122,253, 135 139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,
136 12,239,15,135,244,55,139,90,252,252,255,252,242,15,16,66,8,72,189,237,237, 136 184,237,252,233,244,69,248,71,129,252,248,239,15,130,244,55,129,122,253,4,
137 102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252, 137 239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,90,252,252,255,252,
138 248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120, 138 242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,
139 253,4,239,15,132,244,72,139,40,139,64,4,137,42,137,66,4,252,233,244,68,248, 139 15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193,
140 2,131,189,233,0,15,132,244,72,137,252,239,137,213,137,198,232,251,1,12,137, 140 224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,72,139,40,139,64,4,137,
141 252,234,133,192,15,133,244,1,248,72,184,237,252,233,244,69,248,73,255,129, 141 42,137,66,4,252,233,244,68,248,2,131,189,233,0,15,132,244,72,137,252,239,
142 252,248,239,15,130,244,55,139,106,252,248,129,122,253,4,239,15,133,244,55, 142 137,213,137,198,232,251,1,12,137,252,234,133,192,15,133,244,1,248,72,184,
143 139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,255,15,87,192, 143 237,252,233,244,69,248,73,255,129,252,248,239,15,130,244,55,139,106,252,248,
144 252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,69,248, 144 129,122,253,4,239,15,133,244,55,139,133,233,139,90,252,252,199,66,252,252,
145 74,129,252,248,239,15,130,244,55,141,74,8,131,232,1,187,237,248,1,65,15,182, 145 237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,
146 174,233,193,252,237,235,131,229,1,1,252,235,252,233,244,27,248,75,129,252, 146 8,255,184,237,252,233,244,69,248,74,129,252,248,239,15,130,244,55,141,74,
147 248,239,15,130,244,55,129,122,253,12,239,15,133,244,55,255,139,106,4,137, 147 8,131,232,1,187,237,248,1,65,15,182,174,233,193,252,237,235,131,229,1,1,252,
148 106,12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2, 148 235,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253,12,239,
149 187,237,252,233,244,1,248,76,129,252,248,239,15,130,244,55,139,42,139,90, 149 15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,90,8,137,106,
150 252,252,137,92,36,20,137,44,36,129,122,253,4,239,15,133,244,55,72,131,189, 150 8,137,26,141,74,16,131,232,2,187,237,252,233,244,1,248,76,129,252,248,239,
151 233,0,15,133,244,55,128,189,233,235,15,135,244,55,139,141,233,15,132,244, 151 15,130,244,55,139,42,139,90,252,252,137,92,36,20,137,44,36,129,122,253,4,
152 247,255,59,141,233,15,132,244,55,248,1,141,92,193,252,240,59,157,233,15,135, 152 239,15,133,244,55,72,131,189,233,0,15,133,244,55,128,189,233,235,15,135,244,
153 244,55,137,157,233,139,108,36,16,137,149,233,131,194,8,137,149,233,141,108, 153 55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55,248,1,141,92,193,
154 194,232,72,41,221,57,203,15,132,244,249,248,2,139,68,43,4,137,67,252,252, 154 252,240,59,157,233,15,135,244,55,137,157,233,139,108,36,16,137,149,233,131,
155 139,4,43,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139, 155 194,8,137,149,233,141,108,194,232,72,41,221,57,203,15,132,244,249,248,2,139,
156 60,36,232,244,24,65,199,134,233,237,255,139,108,36,16,139,28,36,139,149,233, 156 68,43,4,137,67,252,252,139,4,43,137,67,252,248,131,252,235,8,57,203,15,133,
157 129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233, 157 244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237,255,139,108,36,
158 68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15, 158 16,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139,233,
159 135,244,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131, 159 68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4,26,
160 193,8,68,57,252,249,15,133,244,5,248,6,141,67,2,199,66,252,252,237,248,7, 160 193,252,235,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,139,1,137,
161 139,92,36,20,137,68,36,4,72,199,193,252,248,252,255,252,255,252,255,252,247, 161 4,41,139,65,4,137,68,41,4,131,193,8,68,57,252,249,15,133,244,5,248,6,141,
162 195,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,139, 162 67,2,199,66,252,252,237,248,7,139,92,36,20,137,68,36,4,72,199,193,252,248,
163 233,131,252,233,8,137,139,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233, 163 252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244,14,
164 244,7,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139, 164 248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,139,1,137,
165 149,233,252,233,244,4,248,77,139,106,252,248,139,173,233,139,90,252,252,137, 165 2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,
166 92,36,20,137,44,36,72,131,189,233,0,15,133,244,55,255,128,189,233,235,15, 166 137,222,137,252,239,232,251,1,0,139,149,233,252,233,244,4,248,77,139,106,
167 135,244,55,139,141,233,15,132,244,247,59,141,233,15,132,244,55,248,1,141, 167 252,248,139,173,233,139,90,252,252,137,92,36,20,137,44,36,72,131,189,233,
168 92,193,252,248,59,157,233,15,135,244,55,137,157,233,139,108,36,16,137,149, 168 0,15,133,244,55,255,128,189,233,235,15,135,244,55,139,141,233,15,132,244,
169 233,137,149,233,141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2, 169 247,59,141,233,15,132,244,55,248,1,141,92,193,252,248,59,157,233,15,135,244,
170 255,139,68,43,4,137,67,252,252,139,4,43,137,67,252,248,131,252,235,8,57,203, 170 55,137,157,233,139,108,36,16,137,149,233,137,149,233,141,108,194,252,240,
171 15,133,244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237,139,108, 171 72,41,221,57,203,15,132,244,249,248,2,255,139,68,43,4,137,67,252,252,139,
172 36,16,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139, 172 4,43,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,
173 233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4, 173 36,232,244,24,65,199,134,233,237,139,108,36,16,139,28,36,139,149,233,129,
174 26,193,252,235,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,5,139, 174 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68,
175 1,137,4,41,139,65,4,137,68,41,4,131,193,8,68,57,252,249,15,133,244,5,248, 175 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135,
176 6,141,67,1,248,7,139,92,36,20,137,68,36,4,49,201,252,247,195,237,15,132,244, 176 244,255,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,
177 13,252,233,244,14,248,8,137,222,137,252,239,232,251,1,13,248,9,139,12,36, 177 193,8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,20,137,68,
178 68,137,185,233,137,222,137,252,239,232,251,1,0,139,149,233,252,233,244,4, 178 36,4,49,201,252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,
179 248,78,139,108,36,16,72,252,247,133,233,237,15,132,244,55,255,137,149,233, 179 252,239,232,251,1,13,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,
180 141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233, 180 251,1,0,139,149,233,252,233,244,4,248,78,139,108,36,16,72,252,247,133,233,
181 252,233,244,16,255,248,64,139,90,252,252,221,90,252,248,252,233,244,58,248, 181 237,15,132,244,55,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,
182 79,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242, 182 137,133,233,176,235,136,133,233,252,233,244,16,255,248,64,139,90,252,252,
183 15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,63,139,90,252,252, 183 221,90,252,248,252,233,244,58,248,79,129,252,248,239,15,130,244,55,129,122,
184 252,242,15,17,66,252,248,255,248,79,129,252,248,239,15,130,244,55,129,122, 184 253,4,239,15,135,244,55,252,242,15,16,2,72,184,237,237,102,72,15,110,200,
185 253,4,239,15,135,244,55,221,2,217,225,248,63,248,64,139,90,252,252,221,90, 185 15,84,193,248,63,139,90,252,252,252,242,15,17,66,252,248,255,248,79,129,252,
186 252,248,255,248,58,184,237,248,69,137,68,36,4,248,56,252,247,195,237,15,133, 186 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,225,248,63,
187 244,253,248,5,56,67,252,255,15,135,244,252,15,182,75,252,253,72,252,247,209, 187 248,64,139,90,252,252,221,90,252,248,255,248,58,184,237,248,69,137,68,36,
188 141,20,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 188 4,248,56,252,247,195,237,15,133,244,253,248,5,56,67,252,255,15,135,244,252,
189 252,238,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199, 189 15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,204,15,182,232,131,
190 193,252,248,252,255,252,255,252,255,252,233,244,14,255,248,80,129,252,248, 190 195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,252,244,237,131,192,
191 239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,81,2,252,233, 191 1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233,
192 244,63,248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 192 244,14,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
193 55,252,242,15,16,2,232,244,82,252,233,244,63,248,83,255,129,252,248,239,15, 193 244,55,252,242,15,81,2,252,233,244,63,248,81,129,252,248,239,15,130,244,55,
194 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,84,252, 194 129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,82,252,233,244,63,
195 233,244,63,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 195 248,83,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,
196 135,244,55,221,2,217,252,250,252,233,244,64,248,81,129,252,248,239,15,130, 196 252,242,15,16,2,232,244,84,252,233,244,63,255,248,80,129,252,248,239,15,130,
197 244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,82,252,233,244,64,248, 197 244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,250,252,233,244,64,248,
198 83,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221, 198 81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,
199 2,232,244,84,252,233,244,64,255,248,85,129,252,248,239,15,130,244,55,129, 199 244,82,252,233,244,64,248,83,255,129,252,248,239,15,130,244,55,129,122,253,
200 122,253,4,239,15,135,244,55,217,252,237,221,2,217,252,241,252,233,244,64, 200 4,239,15,135,244,55,221,2,232,244,84,252,233,244,64,255,248,85,129,252,248,
201 248,86,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217, 201 239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,237,221,2,217,252,
202 252,236,221,2,217,252,241,252,233,244,64,248,87,129,252,248,239,255,15,130, 202 241,252,233,244,64,248,86,129,252,248,239,15,130,244,55,129,122,253,4,239,
203 244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,88,252,233,244,64,248, 203 15,135,244,55,217,252,236,221,2,217,252,241,252,233,244,64,248,87,129,252,
204 89,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217, 204 248,239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,88,
205 252,254,252,233,244,64,248,90,129,252,248,239,255,15,130,244,55,129,122,253, 205 252,233,244,64,248,89,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
206 4,239,15,135,244,55,221,2,217,252,255,252,233,244,64,248,91,129,252,248,239, 206 135,244,55,221,2,217,252,254,252,233,244,64,248,90,129,252,248,239,255,15,
207 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,242,221,216,252, 207 130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,255,252,233,244,
208 233,244,64,248,92,129,252,248,239,15,130,244,55,255,129,122,253,4,239,15, 208 64,248,91,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
209 135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243, 209 2,217,252,242,221,216,252,233,244,64,248,92,129,252,248,239,15,130,244,55,
210 252,233,244,64,248,93,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 210 255,129,122,253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,
211 135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217, 211 217,252,250,217,252,243,252,233,244,64,248,93,129,252,248,239,15,130,244,
212 252,243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129,122,253,4, 212 55,129,122,253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,
213 239,15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64,255,248,95, 213 217,252,250,217,201,217,252,243,252,233,244,64,248,94,129,252,248,239,15,
214 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15, 214 130,244,55,129,122,253,4,239,15,135,244,55,255,221,2,217,232,217,252,243,
215 16,2,255,137,213,232,251,1,14,137,252,234,252,233,244,63,255,248,96,129,252, 215 252,233,244,64,255,248,95,129,252,248,239,15,130,244,55,129,122,253,4,239,
216 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255, 216 15,135,244,55,252,242,15,16,2,255,137,213,232,251,1,14,137,252,234,252,233,
217 137,213,232,251,1,15,137,252,234,252,233,244,63,255,248,97,129,252,248,239, 217 244,63,255,248,96,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
218 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,137,213, 218 244,55,252,242,15,16,2,255,137,213,232,251,1,15,137,252,234,252,233,244,63,
219 232,251,1,16,137,252,234,252,233,244,63,248,98,255,248,99,129,252,248,239, 219 255,248,97,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,
220 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,139,106,252, 220 252,242,15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244,63,248,98,
221 248,252,242,15,89,133,233,252,233,244,63,255,248,99,129,252,248,239,15,130, 221 255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,
222 244,55,129,122,253,4,239,15,135,244,55,221,2,139,106,252,248,220,141,233, 222 252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,63,255,
223 252,233,244,64,255,248,100,129,252,248,239,15,130,244,55,129,122,253,4,239, 223 248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
224 15,135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,217,252,243, 224 2,139,106,252,248,220,141,233,252,233,244,64,255,248,100,129,252,248,239,
225 252,233,244,64,248,101,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 225 15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,
226 135,244,55,129,122,253,12,239,255,15,135,244,55,221,66,8,221,2,217,252,253, 226 55,221,2,221,66,8,217,252,243,252,233,244,64,248,101,129,252,248,239,15,130,
227 221,217,252,233,244,64,248,102,129,252,248,239,15,130,244,55,139,106,4,129, 227 244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,255,15,135,244,
228 252,253,239,15,135,244,55,139,90,252,252,139,2,137,106,252,252,137,66,252, 228 55,221,66,8,221,2,217,252,253,221,217,252,233,244,64,248,102,129,252,248,
229 248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249, 229 239,15,130,244,55,139,106,4,129,252,253,239,15,135,244,55,139,90,252,252,
230 184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21, 230 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,
231 41,197,255,252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129, 231 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,
232 229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252, 232 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,
233 242,15,17,2,255,221,26,255,184,237,252,233,244,69,248,3,255,15,87,192,252, 233 44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,129,205,
234 233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72, 234 0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,
235 189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248, 235 252,233,244,69,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,
236 255,221,2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252, 236 244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,
237 184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252,248,239,15,130,244, 237 242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90,216,
238 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,248,103,129,252,248, 238 12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,
239 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,255,139,106,4,139, 239 1,255,248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
240 90,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224, 240 55,252,242,15,16,2,255,248,103,129,252,248,239,15,130,244,55,129,122,253,
241 232,244,104,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17, 241 4,239,15,135,244,55,221,2,255,139,106,4,139,90,252,252,209,229,129,252,253,
242 34,255,217,192,232,244,104,220,252,233,248,1,221,90,252,248,221,26,255,139, 242 0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,104,252,242,15,92,224,
243 66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,69,248, 243 248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,104,220,
244 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233, 244 252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,
245 244,1,255,217,252,238,217,201,252,233,244,1,255,248,105,129,252,248,239,15, 245 136,244,249,248,2,184,237,252,233,244,69,248,3,129,252,245,0,0,0,128,137,
246 130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244, 246 106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,
247 55,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252, 247 201,252,233,244,1,255,248,105,129,252,248,239,15,130,244,55,129,122,253,4,
248 233,244,64,255,248,106,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 248 239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,66,8,221,2,248,1,217,
249 135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16, 249 252,248,223,224,158,15,138,244,1,221,217,252,233,244,64,255,248,106,129,252,
250 74,8,232,244,107,252,233,244,63,255,248,106,129,252,248,239,15,130,244,55, 250 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,
251 129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,2,221, 251 15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,232,244,107,252,233,244,
252 66,8,232,244,107,252,233,244,64,255,248,108,129,252,248,239,15,130,244,55, 252 63,255,248,106,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
253 55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,232,244,107,252,233,244,
254 64,255,248,108,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
255 55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252,
256 234,252,252,239,15,135,244,55,252,242,15,16,76,252,234,252,248,252,242,15,
257 93,193,131,197,1,252,233,244,1,255,248,109,129,252,248,239,15,130,244,55,
253 129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197, 258 129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,
254 15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,252,242,15,16, 259 15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,252,242,15,16,
255 76,252,234,252,248,252,242,15,93,193,131,197,1,252,233,244,1,255,248,109, 260 76,252,234,252,248,252,242,15,95,193,131,197,1,252,233,244,1,255,248,5,221,
256 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15, 261 216,252,233,244,55,255,248,110,129,252,248,239,15,130,244,55,129,122,253,
257 16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239, 262 4,239,15,133,244,55,139,42,255,252,242,15,42,133,233,252,233,244,63,255,219,
258 15,135,244,55,252,242,15,16,76,252,234,252,248,252,242,15,95,193,131,197, 263 133,233,252,233,244,64,255,248,111,129,252,248,239,15,133,244,55,129,122,
259 1,252,233,244,1,255,248,5,221,216,252,233,244,55,255,248,110,129,252,248, 264 253,4,239,15,133,244,55,139,42,139,90,252,252,131,189,233,1,15,130,244,72,
260 239,15,130,244,55,129,122,253,4,239,15,133,244,55,139,42,255,252,242,15,42, 265 15,182,173,233,255,252,242,15,42,197,252,233,244,63,255,137,44,36,219,4,36,
261 133,233,252,233,244,63,255,219,133,233,252,233,244,64,255,248,111,129,252, 266 252,233,244,64,255,248,112,65,139,174,233,65,59,174,233,15,130,244,247,232,
262 248,239,15,133,244,55,129,122,253,4,239,15,133,244,55,139,42,139,90,252,252, 267 244,66,248,1,129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244,55,
263 131,189,233,1,15,130,244,72,15,182,173,233,255,252,242,15,42,197,252,233, 268 255,252,242,15,45,2,61,252,255,0,0,0,15,135,244,55,137,68,36,4,255,221,2,
264 244,63,255,137,44,36,219,4,36,252,233,244,64,255,248,112,65,139,174,233,65, 269 219,92,36,4,129,124,36,4,252,255,0,0,0,15,135,244,55,255,199,68,36,24,1,0,
265 59,174,233,15,130,244,247,232,244,66,248,1,129,252,248,239,15,133,244,55, 270 0,0,72,141,68,36,4,248,113,139,108,36,16,137,149,233,139,84,36,24,72,137,
266 129,122,253,4,239,15,135,244,55,255,252,242,15,45,2,61,252,255,0,0,0,15,135, 271 198,137,252,239,137,92,36,20,232,251,1,17,139,149,233,139,90,252,252,199,
267 244,55,137,68,36,4,255,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135, 272 66,252,252,237,137,66,252,248,252,233,244,58,248,114,65,139,174,233,65,59,
268 244,55,255,199,68,36,24,1,0,0,0,72,141,68,36,4,248,113,139,108,36,16,137, 273 174,233,15,130,244,247,232,244,66,248,1,199,68,36,4,252,255,252,255,252,255,
269 149,233,139,84,36,24,72,137,198,137,252,239,137,92,36,20,232,251,1,17,139, 274 252,255,129,252,248,239,15,130,244,55,15,134,244,247,129,122,253,20,239,255,
270 149,233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,58,248, 275 252,242,15,45,106,16,137,108,36,4,255,221,66,16,219,92,36,4,255,248,1,129,
271 114,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,199,68,36, 276 122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,137,108,
272 4,252,255,252,255,252,255,252,255,129,252,248,239,15,130,244,55,15,134,244, 277 36,24,139,173,233,255,252,242,15,45,74,8,255,139,68,36,4,57,197,15,130,244,
273 247,129,122,253,20,239,255,252,242,15,45,106,16,137,108,36,4,255,221,66,16, 278 251,248,2,133,201,15,142,244,253,248,3,139,108,36,24,41,200,15,140,244,115,
274 219,92,36,4,255,248,1,129,122,253,4,239,15,133,244,55,129,122,253,12,239, 279 141,172,253,13,233,131,192,1,248,4,137,68,36,24,137,232,252,233,244,113,248,
275 15,135,244,55,139,42,137,108,36,24,139,173,233,255,252,242,15,45,74,8,255, 280 5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,
276 139,68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139, 281 7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,
277 108,36,24,41,200,15,140,244,115,141,172,253,13,233,131,192,1,248,4,137,68, 282 233,244,3,248,115,49,192,252,233,244,4,248,116,129,252,248,239,15,130,244,
278 36,24,137,232,252,233,244,113,248,5,15,140,244,252,141,68,40,1,252,233,244, 283 55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,255,129,122,
279 2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193, 284 253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,255,252,242,
280 1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,115,49,192,252,233,244, 285 15,45,66,8,255,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,115,
281 4,248,116,129,252,248,239,15,130,244,55,65,139,174,233,65,59,174,233,15,130, 286 131,189,233,1,15,130,244,115,15,133,244,117,65,57,134,233,15,130,244,117,
282 244,247,232,244,66,248,1,255,129,122,253,4,239,15,133,244,55,129,122,253, 287 15,182,141,233,65,139,174,233,137,68,36,24,248,1,136,77,0,131,197,1,131,232,
283 12,239,15,135,244,55,139,42,255,252,242,15,45,66,8,255,221,66,8,219,92,36, 288 1,15,133,244,1,65,139,134,233,252,233,244,113,248,118,129,252,248,239,255,
284 4,139,68,36,4,255,133,192,15,142,244,115,131,189,233,1,15,130,244,115,15, 289 15,130,244,55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,
285 133,244,117,65,57,134,233,15,130,244,117,15,182,141,233,65,139,174,233,137, 290 1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,133,192,15,132,244,115,
286 68,36,24,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252, 291 65,57,134,233,15,130,244,119,129,197,239,137,92,36,4,137,68,36,24,65,139,
287 233,244,113,248,118,129,252,248,239,255,15,130,244,55,65,139,174,233,65,59, 292 158,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,
293 216,139,92,36,4,252,233,244,113,248,120,129,252,248,239,15,130,244,55,65,
294 139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,
295 15,133,244,55,139,42,139,133,233,65,57,134,233,255,15,130,244,119,129,197,
296 239,137,92,36,4,137,68,36,24,65,139,158,233,252,233,244,249,248,1,15,182,
297 76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,
298 241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,
299 233,244,113,248,121,129,252,248,239,15,130,244,55,255,65,139,174,233,65,59,
288 174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139, 300 174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,
289 42,139,133,233,133,192,15,132,244,115,65,57,134,233,15,130,244,119,129,197, 301 42,139,133,233,65,57,134,233,15,130,244,119,129,197,239,137,92,36,4,137,68,
290 239,137,92,36,4,137,68,36,24,65,139,158,233,248,1,255,15,182,77,0,131,197, 302 36,24,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,
291 1,131,232,1,136,12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,113,248, 303 130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,
292 120,129,252,248,239,15,130,244,55,65,139,174,233,65,59,174,233,15,130,244, 304 3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,113,248,122,
293 247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,65, 305 129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,137,213,139,
294 57,134,233,255,15,130,244,119,129,197,239,137,92,36,4,137,68,36,24,65,139, 306 58,232,251,1,18,137,252,234,255,252,242,15,42,192,252,233,244,63,255,248,
295 158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248, 307 123,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,
296 131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232, 308 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,
297 1,15,137,244,1,137,216,139,92,36,4,252,233,244,113,248,121,129,252,248,239, 309 252,242,15,42,197,252,233,244,63,255,248,124,129,252,248,239,15,130,244,55,
298 15,130,244,55,255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,
299 248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,65,57,134,233,15,
300 130,244,119,129,197,239,137,92,36,4,137,68,36,24,65,139,158,233,252,233,244,
301 249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,
302 15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,
303 137,216,139,92,36,4,252,233,244,113,248,122,129,252,248,239,15,130,244,55,
304 129,122,253,4,239,15,133,244,55,137,213,139,58,232,251,1,18,137,252,234,255,
305 252,242,15,42,192,252,233,244,63,255,248,123,129,252,248,239,15,130,244,55,
306 129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15, 310 129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,
307 110,205,252,242,15,88,193,102,15,126,197,252,242,15,42,197,252,233,244,63, 311 110,205,252,242,15,88,193,102,15,126,197,255,137,68,36,4,141,68,194,252,240,
308 255,248,124,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, 312 248,1,57,208,15,134,244,125,129,120,253,4,239,15,135,244,126,255,252,242,
309 252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15, 313 15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,
310 126,197,255,137,68,36,4,141,68,194,252,240,248,1,57,208,15,134,244,125,129, 314 1,255,248,127,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
311 120,253,4,239,15,135,244,126,255,252,242,15,16,0,252,242,15,88,193,102,15, 315 55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,
312 126,193,33,205,255,131,232,8,252,233,244,1,255,248,127,129,252,248,239,15, 316 15,126,197,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,
313 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237, 317 248,128,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,
314 102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15,16,0,252, 318 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,
315 242,15,88,193,102,15,126,193,9,205,255,248,128,129,252,248,239,15,130,244, 319 197,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,248,129,
316 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,
317 15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15,16,0,252,242,15,
318 88,193,102,15,126,193,49,205,255,248,129,129,252,248,239,15,130,244,55,129,
319 122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,
320 205,252,242,15,88,193,102,15,126,197,255,15,205,252,233,244,125,255,248,130,
321 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15, 320 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,
322 16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255, 321 16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,
323 252,247,213,255,248,125,252,242,15,42,197,252,233,244,63,255,248,126,139, 322 15,205,252,233,244,125,255,248,130,129,252,248,239,15,130,244,55,129,122,
324 68,36,4,252,233,244,55,255,248,131,129,252,248,239,15,130,244,55,129,122, 323 253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
324 252,242,15,88,193,102,15,126,197,255,252,247,213,255,248,125,252,242,15,42,
325 197,252,233,244,63,255,248,126,139,68,36,4,252,233,244,55,255,248,131,129,
326 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,
327 239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,
328 15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,
329 15,126,201,255,211,229,137,193,252,233,244,125,255,248,132,129,252,248,239,
330 15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,
331 55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,
332 242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,
333 211,252,237,137,193,252,233,244,125,255,248,133,129,252,248,239,15,130,244,
334 55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,
335 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,
336 194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,253,
337 137,193,252,233,244,125,255,248,134,129,252,248,239,15,130,244,55,129,122,
325 253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2, 338 253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,
326 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 339 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
327 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,229,137,193,252, 340 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,197,137,193,252,
328 233,244,125,255,248,132,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 341 233,244,125,255,248,135,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
329 135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16, 342 135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,
330 74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202, 343 74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,
331 137,200,102,15,126,197,102,15,126,201,255,211,252,237,137,193,252,233,244, 344 137,200,102,15,126,197,102,15,126,201,255,211,205,137,193,252,233,244,125,
332 125,255,248,133,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 345 248,117,184,237,252,233,244,55,248,119,184,237,248,55,139,108,36,16,139,90,
333 55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72, 346 252,252,137,92,36,20,137,149,233,141,68,194,252,248,141,136,233,137,133,233,
334 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200, 347 139,66,252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,
335 102,15,126,197,102,15,126,201,255,211,252,253,137,193,252,233,244,125,255, 348 149,233,133,192,15,133,244,69,248,1,255,139,133,233,41,208,193,232,3,131,
336 248,134,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129, 349 192,1,139,106,252,248,57,90,252,252,15,133,244,248,139,157,233,139,11,15,
337 122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237, 350 182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,2,137,209,252,
338 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15, 351 247,195,237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234,
339 126,197,102,15,126,201,255,211,197,137,193,252,233,244,125,255,248,135,129, 352 252,233,244,27,248,3,137,221,131,229,252,248,41,252,234,252,233,244,27,248,
340 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12, 353 5,190,237,137,252,239,232,251,1,0,139,149,233,252,233,244,1,248,66,93,72,
341 239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72, 354 137,108,36,24,139,108,36,16,137,92,36,20,137,149,233,255,141,68,194,252,248,
342 15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102, 355 137,252,239,137,133,233,232,251,1,19,139,149,233,139,133,233,41,208,193,232,
343 15,126,201,255,211,205,137,193,252,233,244,125,248,117,184,237,252,233,244, 356 3,131,192,1,72,139,108,36,24,85,195,248,136,255,65,15,182,134,233,168,235,
344 55,248,119,184,237,248,55,139,108,36,16,139,90,252,252,137,92,36,20,137,149, 357 15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142,
345 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233, 358 233,252,233,244,247,255,248,137,65,15,182,134,233,168,235,15,133,244,251,
346 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,133,244, 359 252,233,244,247,248,138,65,15,182,134,233,168,235,15,133,244,251,168,235,
347 69,248,1,255,139,133,233,41,208,193,232,3,131,192,1,139,106,252,248,57,90, 360 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248,
348 252,252,15,133,244,248,139,157,233,139,11,15,182,252,233,15,182,205,131,195, 361 1,255,139,108,36,16,137,149,233,137,222,137,252,239,232,251,1,20,248,3,139,
349 4,65,252,255,36,252,238,248,2,137,209,252,247,195,237,15,133,244,249,15,182, 362 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254,
350 107,252,253,72,252,247,213,141,20,252,234,252,233,244,27,248,3,137,221,131, 363 65,252,255,164,253,252,238,233,248,139,131,195,4,139,77,232,137,76,36,4,252,
351 229,252,248,41,252,234,252,233,244,27,248,5,190,237,137,252,239,232,251,1, 364 233,244,4,248,140,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,
352 0,139,149,233,252,233,244,1,248,66,93,72,137,108,36,24,139,108,36,16,137, 365 139,108,36,16,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233,
353 92,36,20,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232,251, 366 137,92,36,20,232,251,1,21,252,233,244,3,255,248,141,137,92,36,20,255,248,
354 1,19,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,24, 367 142,255,137,92,36,20,131,203,1,248,1,255,141,68,194,252,248,139,108,36,16,
355 85,195,248,136,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15,133, 368 137,149,233,137,133,233,137,222,137,252,239,232,251,1,22,199,68,36,20,0,0,
356 244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255,248, 369 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,
357 137,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,138,65,15, 370 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,143,255,65,
358 182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255,142, 371 85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,
359 233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,16,137,149, 372 15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68,
360 233,137,222,137,252,239,232,251,1,20,248,3,139,149,233,248,4,15,182,75,252, 373 139,117,0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233,
361 253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252,238, 374 72,129,252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,
362 233,248,139,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,140,255,204, 375 15,17,117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242,
363 255,248,141,137,92,36,20,255,248,142,255,137,92,36,20,131,203,1,248,1,255, 376 68,15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,
364 141,68,194,252,248,139,108,36,16,137,149,233,137,133,233,137,222,137,252, 377 15,17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109,
365 239,232,251,1,21,199,68,36,20,0,0,0,0,255,131,227,252,254,255,139,149,233, 378 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,
366 72,137,193,139,133,233,41,208,72,137,205,15,182,75,252,253,193,232,3,131, 379 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,
367 192,1,252,255,229,248,143,255,248,144,255,68,139,122,252,248,69,139,191,233, 380 233,137,149,233,72,137,230,65,141,190,233,232,251,1,23,72,139,141,233,72,
368 69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204, 381 129,225,239,72,137,204,137,108,36,16,133,192,15,133,244,247,139,149,233,139,
369 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,1,137,252,239,137, 382 92,36,20,255,248,144,255,68,139,122,252,248,69,139,191,233,69,139,191,233,
370 198,232,251,1,22,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102, 383 65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232,131,
371 11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252, 384 195,4,193,232,16,65,252,255,36,252,238,248,1,137,252,239,137,198,232,251,
372 217,108,36,4,139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110,208, 385 1,24,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,
373 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, 386 37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,
374 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, 387 139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110,208,72,184,237,237,
375 72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242, 388 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
376 15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184, 389 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,
377 0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217, 390 102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,
378 252,252,217,108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15, 391 40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,
379 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46, 392 36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,
380 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, 393 108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,
381 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84, 394 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,
382 194,252,242,15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68, 395 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,
383 36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252, 396 184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,
384 217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,208, 397 15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,
385 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, 398 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,
386 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72, 399 139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,208,72,184,237,237,
387 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242, 400 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
388 15,92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242, 401 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,
389 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, 402 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,
390 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242, 403 86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242,15,94,193,72,184,
391 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208, 404 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,
392 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15, 405 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,
393 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15, 406 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,
394 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36, 407 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,
395 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 408 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,
396 36,4,222,201,222,252,233,195,255,248,88,217,252,234,222,201,248,149,217,84, 409 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,
397 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248, 410 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,
398 0,0,128,252,255,15,132,244,248,248,150,217,192,217,252,252,220,252,233,217, 411 252,233,195,255,248,88,217,252,234,222,201,248,149,217,84,36,252,248,129,
399 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 412 124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,
400 217,252,238,195,255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208, 413 255,15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,201,217,252,
401 102,15,46,202,15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142, 414 240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,
402 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, 415 195,255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,102,15,46,
403 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, 416 202,15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,244,252,248,
404 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, 417 1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,
405 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237, 418 2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,
406 237,102,72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252, 419 244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,
407 248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195, 420 89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,
408 248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15, 421 72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,
409 132,244,248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12, 422 132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,
410 72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,252,240,252,242,15, 423 102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,
411 17,68,36,252,248,221,68,36,252,240,221,68,36,252,248,217,252,241,217,192, 424 248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,72,61,252,
412 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 425 254,15,0,0,15,132,244,251,252,242,15,17,76,36,252,240,252,242,15,17,68,36,
413 217,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,9,72,184,237,237, 426 252,248,221,68,36,252,240,221,68,36,252,248,217,252,241,217,192,217,252,252,
414 102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2, 427 220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,
415 72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110, 428 36,252,248,252,242,15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,
416 208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208, 429 110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,
417 48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4, 430 237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,
418 102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133, 431 15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,
419 192,15,132,244,3,15,87,192,195,248,153,255,131,252,255,1,15,130,244,82,15, 432 15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,
420 132,244,84,131,252,255,3,15,130,244,104,15,135,244,248,252,242,15,81,192, 433 80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,
421 195,248,2,252,242,15,17,68,36,252,248,221,68,36,252,248,131,252,255,5,15, 434 132,244,3,15,87,192,195,248,153,255,131,252,255,1,15,130,244,82,15,132,244,
422 135,244,248,15,132,244,247,232,244,88,252,233,244,253,248,1,232,244,149,255, 435 84,131,252,255,3,15,130,244,104,15,135,244,248,252,242,15,81,192,195,248,
423 252,233,244,253,248,2,131,252,255,7,15,132,244,247,15,135,244,248,217,252, 436 2,252,242,15,17,68,36,252,248,221,68,36,252,248,131,252,255,5,15,135,244,
424 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, 437 248,15,132,244,247,232,244,88,252,233,244,253,248,1,232,244,149,255,252,233,
425 252,233,244,253,248,2,131,252,255,9,15,132,244,247,15,135,244,248,217,252, 438 244,253,248,2,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,
426 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, 439 201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,252,233,
427 253,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,252,233, 440 244,253,248,2,131,252,255,9,15,132,244,247,15,135,244,248,217,252,236,217,
428 244,253,248,1,217,252,242,221,216,248,7,221,92,36,252,248,252,242,15,16,68, 441 201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,253,248,
429 36,252,248,195,255,139,124,36,12,221,68,36,4,131,252,255,1,15,130,244,82, 442 2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,252,233,244,253,
430 15,132,244,84,131,252,255,3,15,130,244,104,15,135,244,248,217,252,250,195, 443 248,1,217,252,242,221,216,248,7,221,92,36,252,248,252,242,15,16,68,36,252,
431 248,2,131,252,255,5,15,130,244,88,15,132,244,149,131,252,255,7,15,132,244, 444 248,195,255,139,124,36,12,221,68,36,4,131,252,255,1,15,130,244,82,15,132,
432 247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,217, 445 244,84,131,252,255,3,15,130,244,104,15,135,244,248,217,252,250,195,248,2,
433 201,217,252,241,195,248,2,131,252,255,9,15,132,244,247,255,15,135,244,248, 446 131,252,255,5,15,130,244,88,15,132,244,149,131,252,255,7,15,132,244,247,15,
434 217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,255, 447 135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,
435 11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216, 448 252,241,195,248,2,131,252,255,9,15,132,244,247,255,15,135,244,248,217,252,
436 195,255,248,9,204,248,154,255,131,252,255,1,15,132,244,247,15,135,244,248, 449 236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,255,11,15,
437 252,242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,131,252,255,3,15, 450 132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,
438 132,244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193, 451 255,248,9,204,248,154,255,131,252,255,1,15,132,244,247,15,135,244,248,252,
439 195,248,2,131,252,255,5,15,130,244,148,15,132,244,107,131,252,255,7,15,132, 452 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,131,252,255,3,15,132,
440 244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,195, 453 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,
441 248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,131,252,255,9, 454 248,2,131,252,255,5,15,130,244,148,15,132,244,107,131,252,255,7,15,132,244,
442 15,135,244,248,252,242,15,17,68,36,252,248,252,242,15,17,76,36,252,240,221, 455 247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,195,248,
443 68,36,252,248,221,68,36,252,240,15,132,244,247,217,252,243,248,7,221,92,36, 456 1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,131,252,255,9,15,135,
444 252,248,252,242,15,16,68,36,252,248,195,248,1,217,201,217,252,253,221,217, 457 244,248,252,242,15,17,68,36,252,248,252,242,15,17,76,36,252,240,221,68,36,
445 252,233,244,7,248,2,131,252,255,11,15,132,244,247,15,135,244,255,252,242, 458 252,248,221,68,36,252,240,15,132,244,247,217,252,243,248,7,221,92,36,252,
446 15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221, 459 248,252,242,15,16,68,36,252,248,195,248,1,217,201,217,252,253,221,217,252,
447 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, 460 233,244,7,248,2,131,252,255,11,15,132,244,247,15,135,244,255,252,242,15,93,
448 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 461 193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,
449 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132, 462 4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,
450 244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, 463 1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,
451 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, 464 195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,244,107,
452 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, 465 131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,
453 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, 466 221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,
467 252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,
468 132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
454 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, 469 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
455 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 470 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
456 244,248,217,201,248,2,221,216,195,255,248,155,137,252,248,83,15,162,137,6, 471 244,248,217,201,248,2,221,216,195,255,248,155,137,252,248,83,15,162,137,6,
457 137,94,4,137,78,8,137,86,12,91,195,255,249,255,129,124,253,202,4,239,15,135, 472 137,94,4,137,78,8,137,86,12,91,195,255,129,124,253,202,4,239,15,135,244,41,
458 244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,195, 473 129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,195,4,102,
459 4,102,15,46,4,202,255,221,4,202,221,4,194,131,195,4,255,223,252,233,221,216, 474 15,46,4,202,255,221,4,202,221,4,194,131,195,4,255,223,252,233,221,216,255,
460 255,218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248, 475 218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,
461 1,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232, 476 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,
462 131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129, 477 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,
463 252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242, 478 253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,
464 15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15, 479 16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,
465 133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254, 480 244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254,141,
466 141,156,253,131,233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233, 481 156,253,131,233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233,248,
467 248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139, 482 1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,
468 12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169, 483 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,
469 233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252, 484 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,
470 237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,195,4,129,124, 485 255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,195,4,129,124,253,
471 253,202,4,239,15,133,244,248,139,12,202,65,59,12,135,255,131,195,4,129,124, 486 202,4,239,15,133,244,248,139,12,202,65,59,12,135,255,131,195,4,129,124,253,
472 253,202,4,239,15,135,244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255, 487 202,4,239,15,135,244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,
473 221,4,202,65,221,4,199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108, 488 4,202,65,221,4,199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194,
474 194,4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255, 489 4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,
475 137,108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,253,131, 490 108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,253,131,233,
476 233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 491 248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
477 252,238,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,3,15,182, 492 238,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,3,15,182,204,
478 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237, 493 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,
479 129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232, 494 124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,
480 131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135, 495 195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,
481 244,48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193, 496 48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,
482 252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194, 497 242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,
483 4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1, 498 15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,
484 252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204, 499 15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,
485 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194, 500 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,
486 4,239,15,133,244,50,139,60,194,137,213,232,251,1,18,255,252,242,15,42,192, 501 15,133,244,50,139,60,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252,
487 137,252,234,255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182, 502 234,255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,
488 192,255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234, 503 129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,
489 252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252, 504 65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,
490 234,4,239,15,135,244,47,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234, 505 15,135,244,47,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,
491 255,65,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49, 506 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,
492 129,124,253,194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15, 507 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
493 88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242, 508 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,
494 65,15,92,4,199,255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199, 509 255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,
495 252,242,15,92,4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16, 510 4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,
496 4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15, 511 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,
497 16,4,252,234,252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252, 512 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,
498 242,65,15,16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234, 513 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,
499 255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12, 514 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,
500 194,255,252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234, 515 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,
501 65,220,52,199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221, 516 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,
502 4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255, 517 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,
503 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12, 518 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,
504 199,255,221,4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15, 519 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,
505 16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234, 520 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
506 252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148, 521 12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,
507 255,252,233,244,156,255,232,244,107,255,15,182,252,236,15,182,192,139,124, 522 156,255,232,244,107,255,15,182,252,236,15,182,192,139,124,36,16,137,151,233,
508 36,16,137,151,233,141,52,194,137,194,41,252,234,248,33,137,252,253,137,92, 523 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,20,232,251,1,25,
509 36,20,232,251,1,23,139,149,233,133,192,15,133,244,42,15,182,107,252,255,15, 524 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,139,
510 182,75,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139, 525 68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,3,15,182,204,15,182,
511 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72, 526 232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,
512 252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,139,3,15,182,204,15,182, 527 4,135,199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,
513 232,131,195,4,193,232,16,65,252,255,36,252,238,255,15,191,192,252,242,15, 528 232,16,65,252,255,36,252,238,255,15,191,192,252,242,15,42,192,252,242,15,
514 42,192,252,242,15,17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15, 529 17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,
515 16,4,199,252,242,15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208, 530 15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,
516 137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, 531 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,
517 36,252,238,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137, 532 76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,
518 41,131,193,8,57,193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193, 533 193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
519 232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,133,233,139, 534 255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,
520 173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182, 535 4,139,109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,
521 232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172, 536 193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,
522 253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137, 537 128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,
523 69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182, 538 244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,
524 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239, 539 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,
525 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238, 540 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,
526 137,213,65,141,190,233,255,232,251,1,24,137,252,234,252,233,244,1,255,72, 541 65,141,190,233,255,232,251,1,26,137,252,234,252,233,244,1,255,72,252,247,
527 252,247,208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233, 542 208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,
528 137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182, 543 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,
529 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129, 544 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,
530 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190, 545 15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,
531 233,232,251,1,24,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242, 546 251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,
532 65,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255, 547 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
533 221,25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233, 548 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,
534 137,65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 549 65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
535 238,255,141,156,253,131,233,139,108,36,16,131,189,233,0,15,132,244,247,137, 550 255,141,156,253,131,233,139,108,36,16,131,189,233,0,15,132,244,247,137,149,
536 149,233,141,52,202,137,252,239,232,251,1,25,139,149,233,248,1,139,3,15,182, 551 233,141,52,202,137,252,239,232,251,1,27,139,149,233,248,1,139,3,15,182,204,
537 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247, 552 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,
538 208,139,108,36,16,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137, 553 139,108,36,16,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,
539 92,36,20,232,251,1,26,139,149,233,15,182,75,252,253,137,4,202,199,68,202, 554 36,20,232,251,1,28,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
540 4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 555 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
541 238,255,139,124,36,16,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252, 556 139,124,36,16,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,
542 234,11,61,252,255,7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252, 557 252,255,7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65,
543 253,65,59,134,233,137,92,36,20,15,131,244,251,232,251,1,27,139,149,233,15, 558 59,134,233,137,92,36,20,15,131,244,251,232,251,1,29,139,149,233,15,182,75,
544 182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131, 559 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,
545 195,4,193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248, 560 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232,
546 5,232,251,1,28,15,183,67,252,254,137,252,239,252,233,244,1,255,72,252,247, 561 251,1,30,15,183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139,
547 208,139,108,36,16,65,139,142,233,137,92,36,20,65,59,142,233,137,149,233,15, 562 108,36,16,65,139,142,233,137,92,36,20,65,59,142,233,137,149,233,15,131,244,
548 131,244,249,248,2,65,139,52,135,137,252,239,232,251,1,29,139,149,233,15,182, 563 249,248,2,65,139,52,135,137,252,239,232,251,1,31,139,149,233,15,182,75,252,
549 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195, 564 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,
550 4,193,232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,28,15,183, 565 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,30,15,183,67,252,
551 67,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248, 566 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,
552 139,173,233,65,139,4,135,252,233,244,157,255,72,252,247,208,139,106,252,248, 567 233,65,139,4,135,252,233,244,157,255,72,252,247,208,139,106,252,248,139,173,
553 139,173,233,65,139,4,135,252,233,244,158,255,15,182,252,236,15,182,192,129, 568 233,65,139,4,135,252,233,244,158,255,15,182,252,236,15,182,192,129,124,253,
554 124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239, 569 252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,
555 15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200, 570 251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,
556 102,15,46,193,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133, 571 193,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
557 233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137, 572 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,
558 68,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 573 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,
559 238,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132, 574 131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,
560 244,36,15,182,75,252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15, 575 15,182,75,252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
561 133,244,36,139,4,194,252,233,244,157,255,15,182,252,236,15,182,192,72,252, 576 36,139,4,194,252,233,244,157,255,15,182,252,236,15,182,192,72,252,247,208,
562 247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234, 577 65,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,157,
563 248,157,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239, 578 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
564 15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251, 579 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
565 15,182,67,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3, 580 67,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182,
566 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15, 581 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,
567 182,67,252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244, 582 252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,
568 1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3, 583 5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,
569 252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15, 584 244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
570 133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129, 585 35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,
571 120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202, 586 4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,
572 4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 587 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,
573 248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244, 588 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255,
574 35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39, 589 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,
575 139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59, 590 252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,
576 133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249, 591 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
577 248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137, 592 252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,
578 104,4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 593 4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
579 252,238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233, 594 238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,
580 235,15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4, 595 15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,
581 239,15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,65,139, 596 15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,65,139,142,
582 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15, 597 233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,
583 182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4, 598 252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,
584 239,15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239, 599 15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198,
585 198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15, 600 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,
586 133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235, 601 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,
587 15,133,244,253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4, 602 133,244,253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137,
588 137,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 603 1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
589 238,248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233, 604 248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,
590 235,15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133, 605 15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,
591 244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244, 606 1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,
592 37,248,6,137,4,36,199,68,36,4,237,137,108,36,24,139,124,36,16,137,151,233, 607 248,6,137,4,36,199,68,36,4,237,137,108,36,24,139,124,36,16,137,151,233,72,
593 72,141,20,36,137,252,238,137,252,253,137,92,36,20,232,251,1,30,139,149,233, 608 141,20,36,137,252,238,137,252,253,137,92,36,20,232,251,1,32,139,149,233,139,
594 139,108,36,24,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233, 609 108,36,24,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,
595 65,137,174,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129, 610 174,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,
596 124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244, 611 252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,
597 38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133, 612 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,
598 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139, 613 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204,
599 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3, 614 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,
600 131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244, 615 15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,
601 38,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65, 616 252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233,
602 137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36, 617 137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,255,248,1,141,
603 255,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248, 618 12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,
604 2,139,68,36,4,255,252,242,68,15,45,252,248,255,131,232,1,15,132,244,250,68, 619 4,255,252,242,68,15,45,252,248,255,131,232,1,15,132,244,250,68,1,252,248,
605 1,252,248,59,133,233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233, 620 59,133,233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139,
606 248,3,139,41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131, 621 41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133,
607 232,1,15,133,244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195, 622 244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
608 4,193,232,16,65,252,255,36,252,238,248,5,139,124,36,16,137,151,233,137,252, 623 65,252,255,36,252,238,248,5,139,124,36,16,137,151,233,137,252,238,137,194,
609 238,137,194,137,252,253,137,92,36,20,232,251,1,31,139,149,233,15,182,75,252, 624 137,252,253,137,92,36,20,232,251,1,33,139,149,233,15,182,75,252,253,252,233,
610 253,252,233,244,1,248,7,128,165,233,235,65,139,134,233,65,137,174,233,255, 625 244,1,248,7,128,165,233,235,65,139,134,233,65,137,174,233,255,137,133,233,
611 137,133,233,252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44, 626 252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,
612 202,15,133,244,51,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252, 627 51,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,
613 233,15,182,205,131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215, 628 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,
614 139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,52,139,90,252,252, 629 129,121,253,252,252,239,15,133,244,28,248,52,139,90,252,252,252,247,195,237,
615 252,247,195,237,15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232, 630 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,
616 1,15,132,244,249,248,2,139,41,65,137,47,139,105,4,65,137,111,4,65,131,199, 631 248,2,139,41,65,137,47,139,105,4,65,137,111,4,65,131,199,8,131,193,8,131,
617 8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,4,128, 632 232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,
618 189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,182,252,233,15,182,205, 633 244,251,248,4,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,
619 131,195,4,65,252,255,36,252,238,248,5,255,252,247,195,237,15,133,244,4,15, 634 255,36,252,238,248,5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,
620 182,75,252,253,72,252,247,209,141,12,202,68,139,121,252,248,69,139,191,233, 635 252,247,209,141,12,202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,
621 69,139,191,233,252,233,244,4,248,7,15,139,244,1,131,227,252,248,41,218,65, 636 233,244,4,248,7,15,139,244,1,131,227,252,248,41,218,65,137,215,139,90,252,
622 137,215,139,90,252,252,252,233,244,1,255,141,76,202,8,139,105,232,139,65, 637 252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,
623 252,236,137,41,137,65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12, 638 65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,
624 139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184, 639 228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,
625 237,15,133,244,28,137,202,137,90,252,252,139,157,233,139,11,15,182,252,233, 640 137,202,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,
626 15,182,205,131,195,4,65,252,255,36,252,238,255,15,182,252,236,139,66,252, 641 4,65,252,255,36,252,238,255,15,182,252,236,139,66,252,248,141,12,202,139,
627 248,141,12,202,139,128,233,15,182,128,233,68,137,60,36,68,141,188,253,194, 642 128,233,15,182,128,233,68,137,60,36,68,141,188,253,194,233,68,43,122,252,
628 233,68,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248, 643 252,133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,
629 65,57,215,15,131,244,248,248,1,65,139,71,252,248,137,1,65,139,71,252,252, 644 248,248,1,65,139,71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,
630 65,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,65,57,215,15,130, 645 131,193,8,57,252,233,15,131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,
631 244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,68,139,60, 646 237,131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,
632 36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 647 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,
633 248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,248,15,134,244,3,255,137,197, 648 0,0,0,137,208,68,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131,197,
634 193,252,237,3,131,197,1,137,108,36,4,139,108,36,16,1,200,59,133,233,15,135, 649 1,137,108,36,4,139,108,36,16,1,200,59,133,233,15,135,244,253,248,6,65,139,
635 244,253,248,6,65,139,71,252,248,137,1,65,139,71,252,252,65,131,199,8,137, 650 71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,131,193,8,65,57,
636 65,4,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137, 651 215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36,20,
637 141,233,137,92,36,20,65,41,215,139,116,36,4,131,252,238,1,137,252,239,232, 652 65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233,
638 251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3,255, 653 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252,
639 248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248,13, 654 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232,
640 65,137,215,131,232,1,15,132,244,249,248,2,65,139,44,15,65,137,111,252,248, 655 1,15,132,244,249,248,2,65,139,44,15,65,137,111,252,248,65,139,108,15,4,65,
641 65,139,108,15,4,65,137,111,252,252,65,131,199,8,131,232,1,15,133,244,2,248, 656 137,111,252,252,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15,
642 3,139,68,36,4,15,182,107,252,255,248,5,57,197,15,135,244,252,255,139,108, 657 182,107,252,255,248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,
643 10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,67,252,255,15, 658 252,139,44,10,137,106,252,248,255,248,5,56,67,252,255,15,135,244,252,255,
644 135,244,252,255,15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252, 659 15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252,248,69,139,191,
645 248,69,139,191,233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193, 660 233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
646 232,16,65,252,255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8, 661 255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8,255,199,68,194,
647 255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,14, 662 252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,14,131,227,252,248,
648 131,227,252,248,41,218,255,1,217,255,137,221,209,252,237,129,229,239,102, 663 41,218,255,1,217,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,
649 65,131,172,253,46,233,1,15,132,244,140,255,141,12,202,255,129,121,253,4,239, 664 233,1,15,132,244,140,255,141,12,202,255,129,121,253,4,239,15,135,244,53,129,
650 15,135,244,53,129,121,253,12,239,15,135,244,53,255,139,105,20,255,129,252, 665 121,253,12,239,15,135,244,53,255,139,105,20,255,129,252,253,239,15,135,244,
651 253,239,15,135,244,53,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242, 666 53,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,
652 15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244,249, 667 15,17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,
653 255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65, 668 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,
654 16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244,247, 669 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,
655 255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,248,141,156,253,131, 670 15,183,67,252,254,255,15,131,244,248,141,156,253,131,233,255,141,156,253,
656 233,255,141,156,253,131,233,15,183,67,252,254,15,131,245,255,15,130,244,248, 671 131,233,15,183,67,252,254,15,131,245,255,15,130,244,248,141,156,253,131,233,
657 141,156,253,131,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12,202, 672 255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,
658 139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137,105, 673 239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,
659 252,248,252,233,245,255,141,156,253,131,233,139,1,137,105,252,252,137,65, 674 255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142,
660 252,248,255,65,139,142,233,139,4,129,72,139,128,233,139,108,36,16,65,137, 675 233,139,4,193,72,139,128,233,139,108,36,16,65,137,150,233,65,137,174,233,
661 150,233,65,137,174,233,252,255,224,255,141,156,253,131,233,139,3,15,182,204, 676 252,255,224,255,141,156,253,131,233,139,3,15,182,204,15,182,232,131,195,4,
662 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,68,139,187,233, 677 193,232,16,65,252,255,36,252,238,255,68,139,187,233,139,108,36,16,141,12,
663 139,108,36,16,141,12,202,59,141,233,15,135,244,23,15,182,139,233,57,200,15, 678 202,59,141,233,15,135,244,23,15,182,139,233,57,200,15,134,244,249,248,2,255,
664 134,244,249,248,2,255,15,183,67,252,254,252,233,245,255,248,3,199,68,194, 679 15,183,67,252,254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,
665 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237, 680 57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122,
666 141,4,194,68,139,122,252,248,137,104,252,252,68,137,120,252,248,139,108,36, 681 252,248,137,104,252,252,68,137,120,252,248,139,108,36,16,141,12,200,59,141,
667 16,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,171,233,133, 682 233,15,135,244,22,137,209,137,194,15,182,171,233,133,252,237,15,132,244,248,
668 252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,68,139,121,252, 683 248,1,131,193,8,57,209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,
669 248,68,137,56,68,139,121,252,252,68,137,120,4,131,192,8,199,65,252,252,237, 684 121,252,252,68,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,
670 131,252,237,1,15,133,244,1,248,2,255,68,139,187,233,139,3,15,182,204,15,182, 685 244,1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,232,131,195,4,193,
671 232,131,195,4,193,232,16,65,252,255,36,252,238,255,248,3,199,64,4,237,131, 686 232,16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,
672 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,76,139, 687 1,15,133,244,3,252,233,244,2,255,139,106,252,248,76,139,189,233,139,108,36,
673 189,233,139,108,36,16,141,68,194,252,248,137,149,233,141,136,233,59,141,233, 688 16,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,
674 137,133,233,255,137,252,239,255,76,137,252,254,137,252,239,255,15,135,244, 689 137,252,239,255,76,137,252,254,137,252,239,255,15,135,244,21,65,199,134,233,
675 21,65,199,134,233,237,255,65,252,255,215,255,65,252,255,150,233,255,65,199, 690 237,255,65,252,255,215,255,65,252,255,150,233,255,65,199,134,233,237,139,
676 134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,90,252,252,252, 691 149,233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,233,244,12,255,
677 233,244,12,255,254,0 692 254,0
678}; 693};
679 694
680enum { 695enum {
@@ -1003,7 +1018,9 @@ static const char *const extnames[] = {
1003 "lj_tab_len@4", 1018 "lj_tab_len@4",
1004 "lj_gc_step@4", 1019 "lj_gc_step@4",
1005 "lj_dispatch_ins@8", 1020 "lj_dispatch_ins@8",
1021 "lj_trace_hot@8",
1006 "lj_dispatch_call@8", 1022 "lj_dispatch_call@8",
1023 "lj_trace_exit@8",
1007 "lj_err_throw@8", 1024 "lj_err_throw@8",
1008 "lj_meta_cat", 1025 "lj_meta_cat",
1009 "lj_gc_barrieruv@8", 1026 "lj_gc_barrieruv@8",
@@ -1061,353 +1078,355 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1061 dasm_put(Dst, 1291, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1078 dasm_put(Dst, 1291, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1062 dasm_put(Dst, 1390, Dt1(->base), Dt1(->base), FRAME_CONT); 1079 dasm_put(Dst, 1390, Dt1(->base), Dt1(->base), FRAME_CONT);
1063 dasm_put(Dst, 1513, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1080 dasm_put(Dst, 1513, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1064 dasm_put(Dst, 1691, 1+1, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX); 1081 dasm_put(Dst, 1691, 1+1, LJ_TISTRUECOND, 1+1);
1082 dasm_put(Dst, 1802, ~LJ_TNUMX);
1065 if (cmov) { 1083 if (cmov) {
1066 dasm_put(Dst, 1793); 1084 dasm_put(Dst, 1810);
1067 } else { 1085 } else {
1068 dasm_put(Dst, 1797); 1086 dasm_put(Dst, 1814);
1069 } 1087 }
1070 dasm_put(Dst, 1806, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask)); 1088 dasm_put(Dst, 1823, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1071 dasm_put(Dst, 1895, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1089 dasm_put(Dst, 1902, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1072 dasm_put(Dst, 1950, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB); 1090 dasm_put(Dst, 1960, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1073 dasm_put(Dst, 2019, 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)); 1091 dasm_put(Dst, 2029, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK));
1074 dasm_put(Dst, 2090, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1092 dasm_put(Dst, 2098, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1093 dasm_put(Dst, 2189);
1075 if (sse) { 1094 if (sse) {
1076 dasm_put(Dst, 2166); 1095 dasm_put(Dst, 2194);
1077 } else { 1096 } else {
1078 dasm_put(Dst, 2176); 1097 dasm_put(Dst, 2204);
1079 } 1098 }
1080 dasm_put(Dst, 2183, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1099 dasm_put(Dst, 2211, 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, 2252, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1100 dasm_put(Dst, 2280, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base));
1082 dasm_put(Dst, 2321, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1101 dasm_put(Dst, 2349, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1083 dasm_put(Dst, 2424, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1102 dasm_put(Dst, 2452, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1084 if (sse) { 1103 if (sse) {
1085 dasm_put(Dst, 2487, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1104 dasm_put(Dst, 2515, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1086 } else { 1105 } else {
1087 } 1106 }
1088 dasm_put(Dst, 2520, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1107 dasm_put(Dst, 2548, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1089 dasm_put(Dst, 2601, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); 1108 dasm_put(Dst, 2629, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC);
1090 if (sse) { 1109 if (sse) {
1091 dasm_put(Dst, 2639); 1110 dasm_put(Dst, 2667);
1092 } else { 1111 } else {
1093 dasm_put(Dst, 2649); 1112 dasm_put(Dst, 2677);
1094 } 1113 }
1095 dasm_put(Dst, 2656, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1114 dasm_put(Dst, 2684, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1096 dasm_put(Dst, 2721, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1115 dasm_put(Dst, 2749, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1097 dasm_put(Dst, 2810, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1116 dasm_put(Dst, 2838, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1098 dasm_put(Dst, 2903, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1117 dasm_put(Dst, 2931, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1099 dasm_put(Dst, 3023, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1118 dasm_put(Dst, 3051, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1100 dasm_put(Dst, 3119, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1119 dasm_put(Dst, 3147, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1101 dasm_put(Dst, 3185, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1120 dasm_put(Dst, 3213, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1102 dasm_put(Dst, 3280, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1121 dasm_put(Dst, 3308, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1103 dasm_put(Dst, 3392, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1122 dasm_put(Dst, 3420, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1104 if (sse) { 1123 if (sse) {
1105 dasm_put(Dst, 3419, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1124 dasm_put(Dst, 3447, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1106 } else { 1125 } else {
1107 dasm_put(Dst, 3483, 1+1, LJ_TISNUM); 1126 dasm_put(Dst, 3511, 1+1, LJ_TISNUM);
1108 } 1127 }
1109 dasm_put(Dst, 3519, 1+1, FRAME_TYPE, LJ_TNIL); 1128 dasm_put(Dst, 3547, 1+1, FRAME_TYPE, LJ_TNIL);
1110 if (sse) { 1129 if (sse) {
1111 dasm_put(Dst, 3614, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1130 dasm_put(Dst, 3642, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1112 dasm_put(Dst, 3676, 1+1, LJ_TISNUM); 1131 dasm_put(Dst, 3704, 1+1, LJ_TISNUM);
1113 } else { 1132 } else {
1114 dasm_put(Dst, 3706, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1133 dasm_put(Dst, 3734, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1115 dasm_put(Dst, 3765, 1+1, LJ_TISNUM); 1134 dasm_put(Dst, 3793, 1+1, LJ_TISNUM);
1116 } 1135 }
1117 dasm_put(Dst, 3792, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1136 dasm_put(Dst, 3820, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1118 dasm_put(Dst, 3861, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1137 dasm_put(Dst, 3889, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1119 dasm_put(Dst, 3918, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1138 dasm_put(Dst, 3946, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1120 dasm_put(Dst, 3981, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1139 dasm_put(Dst, 4009, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1121 dasm_put(Dst, 4071); 1140 dasm_put(Dst, 4099);
1122 if (sse) { 1141 if (sse) {
1123 dasm_put(Dst, 4083, 1+1, LJ_TISNUM); 1142 dasm_put(Dst, 4111, 1+1, LJ_TISNUM);
1124 } else { 1143 } else {
1125 } 1144 }
1126 dasm_put(Dst, 4108); 1145 dasm_put(Dst, 4136);
1127 if (sse) { 1146 if (sse) {
1128 dasm_put(Dst, 4122, 1+1, LJ_TISNUM); 1147 dasm_put(Dst, 4150, 1+1, LJ_TISNUM);
1129 } else { 1148 } else {
1130 } 1149 }
1131 dasm_put(Dst, 4147); 1150 dasm_put(Dst, 4175);
1132 if (sse) { 1151 if (sse) {
1133 dasm_put(Dst, 4161, 1+1, LJ_TISNUM); 1152 dasm_put(Dst, 4189, 1+1, LJ_TISNUM);
1134 } else { 1153 } else {
1135 } 1154 }
1136 dasm_put(Dst, 4186); 1155 dasm_put(Dst, 4214);
1137 if (sse) { 1156 if (sse) {
1138 dasm_put(Dst, 4202, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1157 dasm_put(Dst, 4230, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1139 } else { 1158 } else {
1140 dasm_put(Dst, 4241, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1159 dasm_put(Dst, 4269, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1141 } 1160 }
1142 dasm_put(Dst, 4274, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1161 dasm_put(Dst, 4302, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1143 dasm_put(Dst, 4339, 1+1, LJ_TISNUM); 1162 dasm_put(Dst, 4367, 1+1, LJ_TISNUM);
1144 if (sse) { 1163 if (sse) {
1145 dasm_put(Dst, 4438); 1164 dasm_put(Dst, 4466);
1146 } else { 1165 } else {
1147 dasm_put(Dst, 4444); 1166 dasm_put(Dst, 4472);
1148 } 1167 }
1149 dasm_put(Dst, 4451); 1168 dasm_put(Dst, 4479);
1150 if (sse) { 1169 if (sse) {
1151 dasm_put(Dst, 4476); 1170 dasm_put(Dst, 4504);
1152 } else { 1171 } else {
1153 dasm_put(Dst, 4482); 1172 dasm_put(Dst, 4510);
1154 } 1173 }
1155 dasm_put(Dst, 4485, 1+2); 1174 dasm_put(Dst, 4513, 1+2);
1156 if (sse) { 1175 if (sse) {
1157 dasm_put(Dst, 4494); 1176 dasm_put(Dst, 4522);
1158 } else { 1177 } else {
1159 dasm_put(Dst, 4502); 1178 dasm_put(Dst, 4530);
1160 } 1179 }
1161 dasm_put(Dst, 4510); 1180 dasm_put(Dst, 4538);
1162 if (sse) { 1181 if (sse) {
1163 dasm_put(Dst, 4513, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1182 dasm_put(Dst, 4541, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1164 } else { 1183 } else {
1165 dasm_put(Dst, 4540); 1184 dasm_put(Dst, 4568);
1166 } 1185 }
1167 dasm_put(Dst, 4557); 1186 dasm_put(Dst, 4585);
1168 if (sse) { 1187 if (sse) {
1169 dasm_put(Dst, 4573, 1+1, LJ_TISNUM); 1188 dasm_put(Dst, 4601, 1+1, LJ_TISNUM);
1170 } else { 1189 } else {
1171 dasm_put(Dst, 4598, 1+1, LJ_TISNUM); 1190 dasm_put(Dst, 4626, 1+1, LJ_TISNUM);
1172 } 1191 }
1173 dasm_put(Dst, 4620); 1192 dasm_put(Dst, 4648);
1174 if (sse) { 1193 if (sse) {
1175 dasm_put(Dst, 4642); 1194 dasm_put(Dst, 4670);
1176 } else { 1195 } else {
1177 dasm_put(Dst, 4668); 1196 dasm_put(Dst, 4696);
1178 } 1197 }
1179 dasm_put(Dst, 4685, 1+2); 1198 dasm_put(Dst, 4713, 1+2);
1180 if (sse) { 1199 if (sse) {
1181 dasm_put(Dst, 4725); 1200 dasm_put(Dst, 4753);
1182 } else { 1201 } else {
1183 dasm_put(Dst, 4733); 1202 dasm_put(Dst, 4761);
1184 } 1203 }
1185 dasm_put(Dst, 4743, 2+1, LJ_TISNUM, LJ_TISNUM); 1204 dasm_put(Dst, 4771, 2+1, LJ_TISNUM, LJ_TISNUM);
1186 if (sse) { 1205 if (sse) {
1187 dasm_put(Dst, 4795, 1+1, LJ_TISNUM, LJ_TISNUM); 1206 dasm_put(Dst, 4823, 1+1, LJ_TISNUM, LJ_TISNUM);
1188 } else { 1207 } else {
1189 dasm_put(Dst, 4842, 2+1, LJ_TISNUM, LJ_TISNUM); 1208 dasm_put(Dst, 4870, 2+1, LJ_TISNUM, LJ_TISNUM);
1190 } 1209 }
1191 if (sse) { 1210 if (sse) {
1192 dasm_put(Dst, 4883, 1+1, LJ_TISNUM, LJ_TISNUM); 1211 dasm_put(Dst, 4911, 1+1, LJ_TISNUM, LJ_TISNUM);
1193 } else { 1212 } else {
1194 } 1213 }
1195 if (sse) { 1214 if (sse) {
1196 dasm_put(Dst, 4954, 1+1, LJ_TISNUM, LJ_TISNUM); 1215 dasm_put(Dst, 4982, 1+1, LJ_TISNUM, LJ_TISNUM);
1197 } else { 1216 } else {
1198 } 1217 }
1199 if (!sse) { 1218 if (!sse) {
1200 dasm_put(Dst, 5025); 1219 dasm_put(Dst, 5053);
1201 } 1220 }
1202 dasm_put(Dst, 5034, 1+1, LJ_TSTR); 1221 dasm_put(Dst, 5062, 1+1, LJ_TSTR);
1203 if (sse) { 1222 if (sse) {
1204 dasm_put(Dst, 5056, Dt5(->len)); 1223 dasm_put(Dst, 5084, Dt5(->len));
1205 } else { 1224 } else {
1206 dasm_put(Dst, 5067, Dt5(->len)); 1225 dasm_put(Dst, 5095, Dt5(->len));
1207 } 1226 }
1208 dasm_put(Dst, 5075, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1227 dasm_put(Dst, 5103, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1209 if (sse) { 1228 if (sse) {
1210 dasm_put(Dst, 5113); 1229 dasm_put(Dst, 5141);
1211 } else { 1230 } else {
1212 dasm_put(Dst, 5123); 1231 dasm_put(Dst, 5151);
1213 } 1232 }
1214 dasm_put(Dst, 5134, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1233 dasm_put(Dst, 5162, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1215 if (sse) { 1234 if (sse) {
1216 dasm_put(Dst, 5171); 1235 dasm_put(Dst, 5199);
1217 } else { 1236 } else {
1218 dasm_put(Dst, 5191); 1237 dasm_put(Dst, 5219);
1219 } 1238 }
1220 dasm_put(Dst, 5211, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1239 dasm_put(Dst, 5239, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1221 dasm_put(Dst, 2161); 1240 dasm_put(Dst, 2189);
1222 if (sse) { 1241 if (sse) {
1223 dasm_put(Dst, 5320); 1242 dasm_put(Dst, 5348);
1224 } else { 1243 } else {
1225 dasm_put(Dst, 5331); 1244 dasm_put(Dst, 5359);
1226 } 1245 }
1227 dasm_put(Dst, 5339, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1246 dasm_put(Dst, 5367, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1228 if (sse) { 1247 if (sse) {
1229 dasm_put(Dst, 5369); 1248 dasm_put(Dst, 5397);
1230 } else { 1249 } else {
1231 } 1250 }
1232 dasm_put(Dst, 5376, sizeof(GCstr)-1); 1251 dasm_put(Dst, 5404, sizeof(GCstr)-1);
1233 dasm_put(Dst, 5451, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1252 dasm_put(Dst, 5479, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1234 dasm_put(Dst, 5512, LJ_TSTR, LJ_TISNUM); 1253 dasm_put(Dst, 5540, LJ_TSTR, LJ_TISNUM);
1235 if (sse) { 1254 if (sse) {
1236 dasm_put(Dst, 5533); 1255 dasm_put(Dst, 5561);
1237 } else { 1256 } else {
1238 dasm_put(Dst, 5540); 1257 dasm_put(Dst, 5568);
1239 } 1258 }
1240 dasm_put(Dst, 5552, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1259 dasm_put(Dst, 5580, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1241 dasm_put(Dst, 5620, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1260 dasm_put(Dst, 5648, 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, 5687, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1261 dasm_put(Dst, 5715, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1243 dasm_put(Dst, 5760, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1262 dasm_put(Dst, 5788, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1244 dasm_put(Dst, 5845, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1263 dasm_put(Dst, 5873, 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, 5919, 1+1, LJ_TTAB); 1264 dasm_put(Dst, 5947, 1+1, LJ_TTAB);
1246 if (sse) { 1265 if (sse) {
1247 dasm_put(Dst, 5986); 1266 dasm_put(Dst, 6014);
1248 } else { 1267 } else {
1249 } 1268 }
1250 if (sse) { 1269 if (sse) {
1251 dasm_put(Dst, 5996, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1270 dasm_put(Dst, 6024, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1252 } else { 1271 } else {
1253 } 1272 }
1254 if (sse) { 1273 if (sse) {
1255 dasm_put(Dst, 6048, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1274 dasm_put(Dst, 6076, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1256 } else { 1275 } else {
1257 } 1276 }
1258 dasm_put(Dst, 6091, LJ_TISNUM); 1277 dasm_put(Dst, 6119, LJ_TISNUM);
1259 if (sse) { 1278 if (sse) {
1260 dasm_put(Dst, 6118); 1279 dasm_put(Dst, 6146);
1261 } else { 1280 } else {
1262 } 1281 }
1263 dasm_put(Dst, 6135); 1282 dasm_put(Dst, 6163);
1264 if (sse) { 1283 if (sse) {
1265 dasm_put(Dst, 6143, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1284 dasm_put(Dst, 6171, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1266 } else { 1285 } else {
1267 } 1286 }
1268 dasm_put(Dst, 6091, LJ_TISNUM); 1287 dasm_put(Dst, 6119, LJ_TISNUM);
1269 if (sse) { 1288 if (sse) {
1270 dasm_put(Dst, 6186); 1289 dasm_put(Dst, 6214);
1271 } else { 1290 } else {
1272 } 1291 }
1273 dasm_put(Dst, 6135); 1292 dasm_put(Dst, 6163);
1274 if (sse) { 1293 if (sse) {
1275 dasm_put(Dst, 6203, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1294 dasm_put(Dst, 6231, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1276 } else { 1295 } else {
1277 } 1296 }
1278 dasm_put(Dst, 6091, LJ_TISNUM); 1297 dasm_put(Dst, 6119, LJ_TISNUM);
1279 if (sse) { 1298 if (sse) {
1280 dasm_put(Dst, 6246); 1299 dasm_put(Dst, 6274);
1281 } else { 1300 } else {
1282 } 1301 }
1283 dasm_put(Dst, 6135); 1302 dasm_put(Dst, 6163);
1284 if (sse) { 1303 if (sse) {
1285 dasm_put(Dst, 6263, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1304 dasm_put(Dst, 6291, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1286 } else { 1305 } else {
1287 } 1306 }
1288 dasm_put(Dst, 6306); 1307 dasm_put(Dst, 6334);
1289 if (sse) { 1308 if (sse) {
1290 dasm_put(Dst, 6313, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1309 dasm_put(Dst, 6341, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1291 } else { 1310 } else {
1292 } 1311 }
1293 dasm_put(Dst, 6356); 1312 dasm_put(Dst, 6384);
1294 if (sse) { 1313 if (sse) {
1295 dasm_put(Dst, 6360); 1314 dasm_put(Dst, 6388);
1296 } else { 1315 } else {
1297 } 1316 }
1298 dasm_put(Dst, 6372); 1317 dasm_put(Dst, 6400);
1299 if (sse) { 1318 if (sse) {
1300 dasm_put(Dst, 6383, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1319 dasm_put(Dst, 6411, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1301 } else { 1320 } else {
1302 } 1321 }
1303 dasm_put(Dst, 6452); 1322 dasm_put(Dst, 6480);
1304 if (sse) { 1323 if (sse) {
1305 dasm_put(Dst, 6461, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1324 dasm_put(Dst, 6489, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1306 } else { 1325 } else {
1307 } 1326 }
1308 dasm_put(Dst, 6530); 1327 dasm_put(Dst, 6558);
1309 if (sse) { 1328 if (sse) {
1310 dasm_put(Dst, 6540, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1329 dasm_put(Dst, 6568, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1311 } else { 1330 } else {
1312 } 1331 }
1313 dasm_put(Dst, 6609); 1332 dasm_put(Dst, 6637);
1314 if (sse) { 1333 if (sse) {
1315 dasm_put(Dst, 6619, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1334 dasm_put(Dst, 6647, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1316 } else { 1335 } else {
1317 } 1336 }
1318 dasm_put(Dst, 6688); 1337 dasm_put(Dst, 6716);
1319 if (sse) { 1338 if (sse) {
1320 dasm_put(Dst, 6697, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1339 dasm_put(Dst, 6725, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1321 } else { 1340 } else {
1322 } 1341 }
1323 dasm_put(Dst, 6766, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1342 dasm_put(Dst, 6794, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1324 dasm_put(Dst, 6844, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1343 dasm_put(Dst, 6872, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1325 dasm_put(Dst, 6970, Dt1(->top), Dt1(->base), Dt1(->top)); 1344 dasm_put(Dst, 6998, Dt1(->top), Dt1(->base), Dt1(->top));
1326#if LJ_HASJIT 1345#if LJ_HASJIT
1327 dasm_put(Dst, 7009, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1346 dasm_put(Dst, 7037, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1328#endif 1347#endif
1329 dasm_put(Dst, 7042, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1348 dasm_put(Dst, 7070, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1330 dasm_put(Dst, 7096, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1349 dasm_put(Dst, 7124, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1331#if LJ_HASJIT 1350#if LJ_HASJIT
1332 dasm_put(Dst, 7163); 1351 dasm_put(Dst, 7191, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1333#endif 1352#endif
1334 dasm_put(Dst, 7165); 1353 dasm_put(Dst, 7238);
1335#if LJ_HASJIT 1354#if LJ_HASJIT
1336 dasm_put(Dst, 7037); 1355 dasm_put(Dst, 7065);
1337#endif 1356#endif
1338 dasm_put(Dst, 7172); 1357 dasm_put(Dst, 7245);
1339#if LJ_HASJIT 1358#if LJ_HASJIT
1340 dasm_put(Dst, 7175); 1359 dasm_put(Dst, 7248);
1341#endif 1360#endif
1342 dasm_put(Dst, 7185, Dt1(->base), Dt1(->top)); 1361 dasm_put(Dst, 7258, Dt1(->base), Dt1(->top));
1343#if LJ_HASJIT 1362#if LJ_HASJIT
1344 dasm_put(Dst, 7218); 1363 dasm_put(Dst, 7291);
1345#endif 1364#endif
1346 dasm_put(Dst, 7223, Dt1(->base), Dt1(->top)); 1365 dasm_put(Dst, 7296, Dt1(->base), Dt1(->top));
1347#if LJ_HASJIT 1366#if LJ_HASJIT
1348 dasm_put(Dst, 7163); 1367 dasm_put(Dst, 7327, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, Dt1(->base));
1349#endif 1368#endif
1350 dasm_put(Dst, 7254); 1369 dasm_put(Dst, 7562);
1351#if LJ_HASJIT 1370#if LJ_HASJIT
1352 dasm_put(Dst, 7257, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1371 dasm_put(Dst, 7565, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1353#endif 1372#endif
1354 dasm_put(Dst, 7315); 1373 dasm_put(Dst, 7623);
1355 if (!sse) { 1374 if (!sse) {
1356 dasm_put(Dst, 7318); 1375 dasm_put(Dst, 7626);
1357 } 1376 }
1358 dasm_put(Dst, 7363, (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 dasm_put(Dst, 7671, (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));
1359 if (!sse) { 1378 if (!sse) {
1360 dasm_put(Dst, 7449); 1379 dasm_put(Dst, 7757);
1361 } 1380 }
1362 dasm_put(Dst, 7494, (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)); 1381 dasm_put(Dst, 7802, (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));
1363 if (!sse) { 1382 if (!sse) {
1364 dasm_put(Dst, 7580); 1383 dasm_put(Dst, 7888);
1365 } 1384 }
1366 dasm_put(Dst, 7619, (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)); 1385 dasm_put(Dst, 7927, (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) { 1386 if (sse) {
1368 dasm_put(Dst, 7708, (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)); 1387 dasm_put(Dst, 8016, (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));
1369 } else { 1388 } else {
1370 dasm_put(Dst, 7822); 1389 dasm_put(Dst, 8130);
1371 } 1390 }
1372 dasm_put(Dst, 7869); 1391 dasm_put(Dst, 8177);
1373 if (!sse) { 1392 if (!sse) {
1374 } else { 1393 } else {
1375 dasm_put(Dst, 7946); 1394 dasm_put(Dst, 8254);
1376 } 1395 }
1377 dasm_put(Dst, 7949); 1396 dasm_put(Dst, 8257);
1378 dasm_put(Dst, 8034, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1397 dasm_put(Dst, 8342, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1379 dasm_put(Dst, 8135, (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)); 1398 dasm_put(Dst, 8443, (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));
1380 dasm_put(Dst, 8309); 1399 dasm_put(Dst, 8617);
1381 if (sse) { 1400 if (sse) {
1382 dasm_put(Dst, 8350); 1401 dasm_put(Dst, 8658);
1383 dasm_put(Dst, 8420); 1402 dasm_put(Dst, 8728);
1384 dasm_put(Dst, 8492); 1403 dasm_put(Dst, 8800);
1385 } else { 1404 } else {
1386 dasm_put(Dst, 8544); 1405 dasm_put(Dst, 8852);
1387 dasm_put(Dst, 8636); 1406 dasm_put(Dst, 8944);
1388 } 1407 }
1389 dasm_put(Dst, 8682); 1408 dasm_put(Dst, 8990);
1390 if (sse) { 1409 if (sse) {
1391 dasm_put(Dst, 8688, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1410 dasm_put(Dst, 8996, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1392 dasm_put(Dst, 8773, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1411 dasm_put(Dst, 9081, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1393 } else { 1412 } else {
1394 dasm_put(Dst, 8901); 1413 dasm_put(Dst, 9209);
1395 dasm_put(Dst, 8984); 1414 dasm_put(Dst, 9292);
1396 if (cmov) { 1415 if (cmov) {
1397 dasm_put(Dst, 9039); 1416 dasm_put(Dst, 9347);
1398 } else { 1417 } else {
1399 dasm_put(Dst, 9058); 1418 dasm_put(Dst, 9366);
1400 } 1419 }
1401 dasm_put(Dst, 8897); 1420 dasm_put(Dst, 9205);
1402 } 1421 }
1403 dasm_put(Dst, 9099); 1422 dasm_put(Dst, 9407);
1404} 1423}
1405 1424
1406/* Generate the code for a single instruction. */ 1425/* Generate the code for a single instruction. */
1407static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1426static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1408{ 1427{
1409 int vk = 0; 1428 int vk = 0;
1410 dasm_put(Dst, 9121, defop); 1429 dasm_put(Dst, 1800, defop);
1411 1430
1412 switch (op) { 1431 switch (op) {
1413 1432
@@ -1416,602 +1435,602 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1416 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1435 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1417 1436
1418 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1437 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1419 dasm_put(Dst, 9123, LJ_TISNUM, LJ_TISNUM); 1438 dasm_put(Dst, 9429, LJ_TISNUM, LJ_TISNUM);
1420 if (sse) { 1439 if (sse) {
1421 dasm_put(Dst, 9144); 1440 dasm_put(Dst, 9450);
1422 } else { 1441 } else {
1423 dasm_put(Dst, 9159); 1442 dasm_put(Dst, 9465);
1424 if (cmov) { 1443 if (cmov) {
1425 dasm_put(Dst, 9169); 1444 dasm_put(Dst, 9475);
1426 } else { 1445 } else {
1427 dasm_put(Dst, 9175); 1446 dasm_put(Dst, 9481);
1428 } 1447 }
1429 } 1448 }
1430 switch (op) { 1449 switch (op) {
1431 case BC_ISLT: 1450 case BC_ISLT:
1432 dasm_put(Dst, 9182); 1451 dasm_put(Dst, 9488);
1433 break; 1452 break;
1434 case BC_ISGE: 1453 case BC_ISGE:
1435 dasm_put(Dst, 8979); 1454 dasm_put(Dst, 9287);
1436 break; 1455 break;
1437 case BC_ISLE: 1456 case BC_ISLE:
1438 dasm_put(Dst, 5914); 1457 dasm_put(Dst, 5942);
1439 break; 1458 break;
1440 case BC_ISGT: 1459 case BC_ISGT:
1441 dasm_put(Dst, 9187); 1460 dasm_put(Dst, 9493);
1442 break; 1461 break;
1443 default: break; /* Shut up GCC. */ 1462 default: break; /* Shut up GCC. */
1444 } 1463 }
1445 dasm_put(Dst, 9192, -BCBIAS_J*4); 1464 dasm_put(Dst, 9498, -BCBIAS_J*4);
1446 break; 1465 break;
1447 1466
1448 case BC_ISEQV: case BC_ISNEV: 1467 case BC_ISEQV: case BC_ISNEV:
1449 vk = op == BC_ISEQV; 1468 vk = op == BC_ISEQV;
1450 dasm_put(Dst, 9227, LJ_TISNUM, LJ_TISNUM); 1469 dasm_put(Dst, 9533, LJ_TISNUM, LJ_TISNUM);
1451 if (sse) { 1470 if (sse) {
1452 dasm_put(Dst, 9253); 1471 dasm_put(Dst, 9559);
1453 } else { 1472 } else {
1454 dasm_put(Dst, 9265); 1473 dasm_put(Dst, 9571);
1455 if (cmov) { 1474 if (cmov) {
1456 dasm_put(Dst, 9169); 1475 dasm_put(Dst, 9475);
1457 } else { 1476 } else {
1458 dasm_put(Dst, 9175); 1477 dasm_put(Dst, 9481);
1459 } 1478 }
1460 } 1479 }
1461 iseqne_fp: 1480 iseqne_fp:
1462 if (vk) { 1481 if (vk) {
1463 dasm_put(Dst, 9272); 1482 dasm_put(Dst, 9578);
1464 } else { 1483 } else {
1465 dasm_put(Dst, 9281); 1484 dasm_put(Dst, 9587);
1466 } 1485 }
1467 iseqne_end: 1486 iseqne_end:
1468 if (vk) { 1487 if (vk) {
1469 dasm_put(Dst, 9290, -BCBIAS_J*4); 1488 dasm_put(Dst, 9596, -BCBIAS_J*4);
1470 } else { 1489 } else {
1471 dasm_put(Dst, 9305, -BCBIAS_J*4); 1490 dasm_put(Dst, 9611, -BCBIAS_J*4);
1472 } 1491 }
1473 dasm_put(Dst, 9206); 1492 dasm_put(Dst, 9512);
1474 if (op == BC_ISEQV || op == BC_ISNEV) { 1493 if (op == BC_ISEQV || op == BC_ISNEV) {
1475 dasm_put(Dst, 9320, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1494 dasm_put(Dst, 9626, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1476 if (vk) { 1495 if (vk) {
1477 dasm_put(Dst, 9378); 1496 dasm_put(Dst, 9684);
1478 } else { 1497 } else {
1479 dasm_put(Dst, 9382); 1498 dasm_put(Dst, 9688);
1480 } 1499 }
1481 dasm_put(Dst, 9388); 1500 dasm_put(Dst, 9694);
1482 } 1501 }
1483 break; 1502 break;
1484 case BC_ISEQS: case BC_ISNES: 1503 case BC_ISEQS: case BC_ISNES:
1485 vk = op == BC_ISEQS; 1504 vk = op == BC_ISEQS;
1486 dasm_put(Dst, 9393, LJ_TSTR); 1505 dasm_put(Dst, 9699, LJ_TSTR);
1487 iseqne_test: 1506 iseqne_test:
1488 if (vk) { 1507 if (vk) {
1489 dasm_put(Dst, 9276); 1508 dasm_put(Dst, 9582);
1490 } else { 1509 } else {
1491 dasm_put(Dst, 2805); 1510 dasm_put(Dst, 2833);
1492 } 1511 }
1493 goto iseqne_end; 1512 goto iseqne_end;
1494 case BC_ISEQN: case BC_ISNEN: 1513 case BC_ISEQN: case BC_ISNEN:
1495 vk = op == BC_ISEQN; 1514 vk = op == BC_ISEQN;
1496 dasm_put(Dst, 9418, LJ_TISNUM); 1515 dasm_put(Dst, 9724, LJ_TISNUM);
1497 if (sse) { 1516 if (sse) {
1498 dasm_put(Dst, 9432); 1517 dasm_put(Dst, 9738);
1499 } else { 1518 } else {
1500 dasm_put(Dst, 9445); 1519 dasm_put(Dst, 9751);
1501 if (cmov) { 1520 if (cmov) {
1502 dasm_put(Dst, 9169); 1521 dasm_put(Dst, 9475);
1503 } else { 1522 } else {
1504 dasm_put(Dst, 9175); 1523 dasm_put(Dst, 9481);
1505 } 1524 }
1506 } 1525 }
1507 goto iseqne_fp; 1526 goto iseqne_fp;
1508 case BC_ISEQP: case BC_ISNEP: 1527 case BC_ISEQP: case BC_ISNEP:
1509 vk = op == BC_ISEQP; 1528 vk = op == BC_ISEQP;
1510 dasm_put(Dst, 9453); 1529 dasm_put(Dst, 9759);
1511 goto iseqne_test; 1530 goto iseqne_test;
1512 1531
1513 /* -- Unary test and copy ops ------------------------------------------- */ 1532 /* -- Unary test and copy ops ------------------------------------------- */
1514 1533
1515 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1534 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1516 dasm_put(Dst, 9465, LJ_TISTRUECOND); 1535 dasm_put(Dst, 9771, LJ_TISTRUECOND);
1517 if (op == BC_IST || op == BC_ISTC) { 1536 if (op == BC_IST || op == BC_ISTC) {
1518 dasm_put(Dst, 9477); 1537 dasm_put(Dst, 9783);
1519 } else { 1538 } else {
1520 dasm_put(Dst, 9482); 1539 dasm_put(Dst, 9788);
1521 } 1540 }
1522 if (op == BC_ISTC || op == BC_ISFC) { 1541 if (op == BC_ISTC || op == BC_ISFC) {
1523 dasm_put(Dst, 9487); 1542 dasm_put(Dst, 9793);
1524 } 1543 }
1525 dasm_put(Dst, 9498, -BCBIAS_J*4); 1544 dasm_put(Dst, 9804, -BCBIAS_J*4);
1526 break; 1545 break;
1527 1546
1528 /* -- Unary ops --------------------------------------------------------- */ 1547 /* -- Unary ops --------------------------------------------------------- */
1529 1548
1530 case BC_MOV: 1549 case BC_MOV:
1531 dasm_put(Dst, 9531); 1550 dasm_put(Dst, 9837);
1532 break; 1551 break;
1533 case BC_NOT: 1552 case BC_NOT:
1534 dasm_put(Dst, 9566, LJ_TISTRUECOND, LJ_TTRUE); 1553 dasm_put(Dst, 9872, LJ_TISTRUECOND, LJ_TTRUE);
1535 break; 1554 break;
1536 case BC_UNM: 1555 case BC_UNM:
1537 dasm_put(Dst, 9603, LJ_TISNUM); 1556 dasm_put(Dst, 9909, LJ_TISNUM);
1538 if (sse) { 1557 if (sse) {
1539 dasm_put(Dst, 9614, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1558 dasm_put(Dst, 9920, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1540 } else { 1559 } else {
1541 dasm_put(Dst, 9639); 1560 dasm_put(Dst, 9945);
1542 } 1561 }
1543 dasm_put(Dst, 9206); 1562 dasm_put(Dst, 9512);
1544 break; 1563 break;
1545 case BC_LEN: 1564 case BC_LEN:
1546 dasm_put(Dst, 9648, LJ_TSTR); 1565 dasm_put(Dst, 9954, LJ_TSTR);
1547 if (sse) { 1566 if (sse) {
1548 dasm_put(Dst, 9662, Dt5(->len)); 1567 dasm_put(Dst, 9968, Dt5(->len));
1549 } else { 1568 } else {
1550 dasm_put(Dst, 9680, Dt5(->len)); 1569 dasm_put(Dst, 9986, Dt5(->len));
1551 } 1570 }
1552 dasm_put(Dst, 9689, LJ_TTAB); 1571 dasm_put(Dst, 9995, LJ_TTAB);
1553 if (sse) { 1572 if (sse) {
1554 dasm_put(Dst, 9731); 1573 dasm_put(Dst, 10037);
1555 } else { 1574 } else {
1556 } 1575 }
1557 dasm_put(Dst, 9740); 1576 dasm_put(Dst, 10046);
1558 break; 1577 break;
1559 1578
1560 /* -- Binary ops -------------------------------------------------------- */ 1579 /* -- Binary ops -------------------------------------------------------- */
1561 1580
1562 1581
1563 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1582 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1564 dasm_put(Dst, 9750); 1583 dasm_put(Dst, 10056);
1565 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1584 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1566 switch (vk) { 1585 switch (vk) {
1567 case 0: 1586 case 0:
1568 dasm_put(Dst, 9758, LJ_TISNUM); 1587 dasm_put(Dst, 10064, LJ_TISNUM);
1569 if (sse) { 1588 if (sse) {
1570 dasm_put(Dst, 9770); 1589 dasm_put(Dst, 10076);
1571 } else { 1590 } else {
1572 dasm_put(Dst, 9785); 1591 dasm_put(Dst, 10091);
1573 } 1592 }
1574 break; 1593 break;
1575 case 1: 1594 case 1:
1576 dasm_put(Dst, 9794, LJ_TISNUM); 1595 dasm_put(Dst, 10100, LJ_TISNUM);
1577 if (sse) { 1596 if (sse) {
1578 dasm_put(Dst, 9806); 1597 dasm_put(Dst, 10112);
1579 } else { 1598 } else {
1580 dasm_put(Dst, 9821); 1599 dasm_put(Dst, 10127);
1581 } 1600 }
1582 break; 1601 break;
1583 default: 1602 default:
1584 dasm_put(Dst, 9830, LJ_TISNUM, LJ_TISNUM); 1603 dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM);
1585 if (sse) { 1604 if (sse) {
1586 dasm_put(Dst, 9852); 1605 dasm_put(Dst, 10158);
1587 } else { 1606 } else {
1588 dasm_put(Dst, 9866); 1607 dasm_put(Dst, 10172);
1589 } 1608 }
1590 break; 1609 break;
1591 } 1610 }
1592 if (sse) { 1611 if (sse) {
1593 dasm_put(Dst, 9632); 1612 dasm_put(Dst, 9938);
1594 } else { 1613 } else {
1595 dasm_put(Dst, 9644); 1614 dasm_put(Dst, 9950);
1596 } 1615 }
1597 dasm_put(Dst, 9206); 1616 dasm_put(Dst, 9512);
1598 break; 1617 break;
1599 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1618 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1600 dasm_put(Dst, 9750); 1619 dasm_put(Dst, 10056);
1601 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1620 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1602 switch (vk) { 1621 switch (vk) {
1603 case 0: 1622 case 0:
1604 dasm_put(Dst, 9758, LJ_TISNUM); 1623 dasm_put(Dst, 10064, LJ_TISNUM);
1605 if (sse) { 1624 if (sse) {
1606 dasm_put(Dst, 9874); 1625 dasm_put(Dst, 10180);
1607 } else { 1626 } else {
1608 dasm_put(Dst, 9889); 1627 dasm_put(Dst, 10195);
1609 } 1628 }
1610 break; 1629 break;
1611 case 1: 1630 case 1:
1612 dasm_put(Dst, 9794, LJ_TISNUM); 1631 dasm_put(Dst, 10100, LJ_TISNUM);
1613 if (sse) { 1632 if (sse) {
1614 dasm_put(Dst, 9898); 1633 dasm_put(Dst, 10204);
1615 } else { 1634 } else {
1616 dasm_put(Dst, 9913); 1635 dasm_put(Dst, 10219);
1617 } 1636 }
1618 break; 1637 break;
1619 default: 1638 default:
1620 dasm_put(Dst, 9830, LJ_TISNUM, LJ_TISNUM); 1639 dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM);
1621 if (sse) { 1640 if (sse) {
1622 dasm_put(Dst, 9922); 1641 dasm_put(Dst, 10228);
1623 } else { 1642 } else {
1624 dasm_put(Dst, 9936); 1643 dasm_put(Dst, 10242);
1625 } 1644 }
1626 break; 1645 break;
1627 } 1646 }
1628 if (sse) { 1647 if (sse) {
1629 dasm_put(Dst, 9632); 1648 dasm_put(Dst, 9938);
1630 } else { 1649 } else {
1631 dasm_put(Dst, 9644); 1650 dasm_put(Dst, 9950);
1632 } 1651 }
1633 dasm_put(Dst, 9206); 1652 dasm_put(Dst, 9512);
1634 break; 1653 break;
1635 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1654 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1636 dasm_put(Dst, 9750); 1655 dasm_put(Dst, 10056);
1637 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1656 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1638 switch (vk) { 1657 switch (vk) {
1639 case 0: 1658 case 0:
1640 dasm_put(Dst, 9758, LJ_TISNUM); 1659 dasm_put(Dst, 10064, LJ_TISNUM);
1641 if (sse) { 1660 if (sse) {
1642 dasm_put(Dst, 9944); 1661 dasm_put(Dst, 10250);
1643 } else { 1662 } else {
1644 dasm_put(Dst, 9959); 1663 dasm_put(Dst, 10265);
1645 } 1664 }
1646 break; 1665 break;
1647 case 1: 1666 case 1:
1648 dasm_put(Dst, 9794, LJ_TISNUM); 1667 dasm_put(Dst, 10100, LJ_TISNUM);
1649 if (sse) { 1668 if (sse) {
1650 dasm_put(Dst, 9968); 1669 dasm_put(Dst, 10274);
1651 } else { 1670 } else {
1652 dasm_put(Dst, 9983); 1671 dasm_put(Dst, 10289);
1653 } 1672 }
1654 break; 1673 break;
1655 default: 1674 default:
1656 dasm_put(Dst, 9830, LJ_TISNUM, LJ_TISNUM); 1675 dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM);
1657 if (sse) { 1676 if (sse) {
1658 dasm_put(Dst, 9992); 1677 dasm_put(Dst, 10298);
1659 } else { 1678 } else {
1660 dasm_put(Dst, 10006); 1679 dasm_put(Dst, 10312);
1661 } 1680 }
1662 break; 1681 break;
1663 } 1682 }
1664 if (sse) { 1683 if (sse) {
1665 dasm_put(Dst, 9632); 1684 dasm_put(Dst, 9938);
1666 } else { 1685 } else {
1667 dasm_put(Dst, 9644); 1686 dasm_put(Dst, 9950);
1668 } 1687 }
1669 dasm_put(Dst, 9206); 1688 dasm_put(Dst, 9512);
1670 break; 1689 break;
1671 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1690 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1672 dasm_put(Dst, 9750); 1691 dasm_put(Dst, 10056);
1673 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1692 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1674 switch (vk) { 1693 switch (vk) {
1675 case 0: 1694 case 0:
1676 dasm_put(Dst, 9758, LJ_TISNUM); 1695 dasm_put(Dst, 10064, LJ_TISNUM);
1677 if (sse) { 1696 if (sse) {
1678 dasm_put(Dst, 10014); 1697 dasm_put(Dst, 10320);
1679 } else { 1698 } else {
1680 dasm_put(Dst, 10029); 1699 dasm_put(Dst, 10335);
1681 } 1700 }
1682 break; 1701 break;
1683 case 1: 1702 case 1:
1684 dasm_put(Dst, 9794, LJ_TISNUM); 1703 dasm_put(Dst, 10100, LJ_TISNUM);
1685 if (sse) { 1704 if (sse) {
1686 dasm_put(Dst, 10038); 1705 dasm_put(Dst, 10344);
1687 } else { 1706 } else {
1688 dasm_put(Dst, 10053); 1707 dasm_put(Dst, 10359);
1689 } 1708 }
1690 break; 1709 break;
1691 default: 1710 default:
1692 dasm_put(Dst, 9830, LJ_TISNUM, LJ_TISNUM); 1711 dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM);
1693 if (sse) { 1712 if (sse) {
1694 dasm_put(Dst, 10062); 1713 dasm_put(Dst, 10368);
1695 } else { 1714 } else {
1696 dasm_put(Dst, 10076); 1715 dasm_put(Dst, 10382);
1697 } 1716 }
1698 break; 1717 break;
1699 } 1718 }
1700 if (sse) { 1719 if (sse) {
1701 dasm_put(Dst, 9632); 1720 dasm_put(Dst, 9938);
1702 } else { 1721 } else {
1703 dasm_put(Dst, 9644); 1722 dasm_put(Dst, 9950);
1704 } 1723 }
1705 dasm_put(Dst, 9206); 1724 dasm_put(Dst, 9512);
1706 break; 1725 break;
1707 case BC_MODVN: 1726 case BC_MODVN:
1708 dasm_put(Dst, 9750); 1727 dasm_put(Dst, 10056);
1709 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1728 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1710 switch (vk) { 1729 switch (vk) {
1711 case 0: 1730 case 0:
1712 dasm_put(Dst, 9758, LJ_TISNUM); 1731 dasm_put(Dst, 10064, LJ_TISNUM);
1713 if (sse) { 1732 if (sse) {
1714 dasm_put(Dst, 10084); 1733 dasm_put(Dst, 10390);
1715 } else { 1734 } else {
1716 dasm_put(Dst, 10099); 1735 dasm_put(Dst, 10405);
1717 } 1736 }
1718 break; 1737 break;
1719 case 1: 1738 case 1:
1720 dasm_put(Dst, 9794, LJ_TISNUM); 1739 dasm_put(Dst, 10100, LJ_TISNUM);
1721 if (sse) { 1740 if (sse) {
1722 dasm_put(Dst, 10108); 1741 dasm_put(Dst, 10414);
1723 } else { 1742 } else {
1724 dasm_put(Dst, 10123); 1743 dasm_put(Dst, 10429);
1725 } 1744 }
1726 break; 1745 break;
1727 default: 1746 default:
1728 dasm_put(Dst, 9830, LJ_TISNUM, LJ_TISNUM); 1747 dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM);
1729 if (sse) { 1748 if (sse) {
1730 dasm_put(Dst, 10132); 1749 dasm_put(Dst, 10438);
1731 } else { 1750 } else {
1732 dasm_put(Dst, 10146); 1751 dasm_put(Dst, 10452);
1733 } 1752 }
1734 break; 1753 break;
1735 } 1754 }
1736 dasm_put(Dst, 10154); 1755 dasm_put(Dst, 10460);
1737 if (sse) { 1756 if (sse) {
1738 dasm_put(Dst, 9632); 1757 dasm_put(Dst, 9938);
1739 } else { 1758 } else {
1740 dasm_put(Dst, 9644); 1759 dasm_put(Dst, 9950);
1741 } 1760 }
1742 dasm_put(Dst, 9206); 1761 dasm_put(Dst, 9512);
1743 break; 1762 break;
1744 case BC_MODNV: case BC_MODVV: 1763 case BC_MODNV: case BC_MODVV:
1745 dasm_put(Dst, 9750); 1764 dasm_put(Dst, 10056);
1746 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1765 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1747 switch (vk) { 1766 switch (vk) {
1748 case 0: 1767 case 0:
1749 dasm_put(Dst, 9758, LJ_TISNUM); 1768 dasm_put(Dst, 10064, LJ_TISNUM);
1750 if (sse) { 1769 if (sse) {
1751 dasm_put(Dst, 10084); 1770 dasm_put(Dst, 10390);
1752 } else { 1771 } else {
1753 dasm_put(Dst, 10099); 1772 dasm_put(Dst, 10405);
1754 } 1773 }
1755 break; 1774 break;
1756 case 1: 1775 case 1:
1757 dasm_put(Dst, 9794, LJ_TISNUM); 1776 dasm_put(Dst, 10100, LJ_TISNUM);
1758 if (sse) { 1777 if (sse) {
1759 dasm_put(Dst, 10108); 1778 dasm_put(Dst, 10414);
1760 } else { 1779 } else {
1761 dasm_put(Dst, 10123); 1780 dasm_put(Dst, 10429);
1762 } 1781 }
1763 break; 1782 break;
1764 default: 1783 default:
1765 dasm_put(Dst, 9830, LJ_TISNUM, LJ_TISNUM); 1784 dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM);
1766 if (sse) { 1785 if (sse) {
1767 dasm_put(Dst, 10132); 1786 dasm_put(Dst, 10438);
1768 } else { 1787 } else {
1769 dasm_put(Dst, 10146); 1788 dasm_put(Dst, 10452);
1770 } 1789 }
1771 break; 1790 break;
1772 } 1791 }
1773 dasm_put(Dst, 10160); 1792 dasm_put(Dst, 10466);
1774 break; 1793 break;
1775 case BC_POW: 1794 case BC_POW:
1776 dasm_put(Dst, 9750); 1795 dasm_put(Dst, 10056);
1777 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1796 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1778 switch (vk) { 1797 switch (vk) {
1779 case 0: 1798 case 0:
1780 dasm_put(Dst, 9758, LJ_TISNUM); 1799 dasm_put(Dst, 10064, LJ_TISNUM);
1781 if (sse) { 1800 if (sse) {
1782 dasm_put(Dst, 10084); 1801 dasm_put(Dst, 10390);
1783 } else { 1802 } else {
1784 dasm_put(Dst, 10099); 1803 dasm_put(Dst, 10405);
1785 } 1804 }
1786 break; 1805 break;
1787 case 1: 1806 case 1:
1788 dasm_put(Dst, 9794, LJ_TISNUM); 1807 dasm_put(Dst, 10100, LJ_TISNUM);
1789 if (sse) { 1808 if (sse) {
1790 dasm_put(Dst, 10108); 1809 dasm_put(Dst, 10414);
1791 } else { 1810 } else {
1792 dasm_put(Dst, 10123); 1811 dasm_put(Dst, 10429);
1793 } 1812 }
1794 break; 1813 break;
1795 default: 1814 default:
1796 dasm_put(Dst, 9830, LJ_TISNUM, LJ_TISNUM); 1815 dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM);
1797 if (sse) { 1816 if (sse) {
1798 dasm_put(Dst, 10132); 1817 dasm_put(Dst, 10438);
1799 } else { 1818 } else {
1800 dasm_put(Dst, 10146); 1819 dasm_put(Dst, 10452);
1801 } 1820 }
1802 break; 1821 break;
1803 } 1822 }
1804 dasm_put(Dst, 10165); 1823 dasm_put(Dst, 10471);
1805 if (sse) { 1824 if (sse) {
1806 dasm_put(Dst, 9632); 1825 dasm_put(Dst, 9938);
1807 } else { 1826 } else {
1808 dasm_put(Dst, 9644); 1827 dasm_put(Dst, 9950);
1809 } 1828 }
1810 dasm_put(Dst, 9206); 1829 dasm_put(Dst, 9512);
1811 break; 1830 break;
1812 1831
1813 case BC_CAT: 1832 case BC_CAT:
1814 dasm_put(Dst, 10169, Dt1(->base), Dt1(->base)); 1833 dasm_put(Dst, 10475, Dt1(->base), Dt1(->base));
1815 break; 1834 break;
1816 1835
1817 /* -- Constant ops ------------------------------------------------------ */ 1836 /* -- Constant ops ------------------------------------------------------ */
1818 1837
1819 case BC_KSTR: 1838 case BC_KSTR:
1820 dasm_put(Dst, 10260, LJ_TSTR); 1839 dasm_put(Dst, 10566, LJ_TSTR);
1821 break; 1840 break;
1822 case BC_KSHORT: 1841 case BC_KSHORT:
1823 if (sse) { 1842 if (sse) {
1824 dasm_put(Dst, 10297); 1843 dasm_put(Dst, 10603);
1825 } else { 1844 } else {
1826 dasm_put(Dst, 10312); 1845 dasm_put(Dst, 10618);
1827 } 1846 }
1828 dasm_put(Dst, 9206); 1847 dasm_put(Dst, 9512);
1829 break; 1848 break;
1830 case BC_KNUM: 1849 case BC_KNUM:
1831 if (sse) { 1850 if (sse) {
1832 dasm_put(Dst, 10320); 1851 dasm_put(Dst, 10626);
1833 } else { 1852 } else {
1834 dasm_put(Dst, 10334); 1853 dasm_put(Dst, 10640);
1835 } 1854 }
1836 dasm_put(Dst, 9206); 1855 dasm_put(Dst, 9512);
1837 break; 1856 break;
1838 case BC_KPRI: 1857 case BC_KPRI:
1839 dasm_put(Dst, 10342); 1858 dasm_put(Dst, 10648);
1840 break; 1859 break;
1841 case BC_KNIL: 1860 case BC_KNIL:
1842 dasm_put(Dst, 10371, LJ_TNIL); 1861 dasm_put(Dst, 10677, LJ_TNIL);
1843 break; 1862 break;
1844 1863
1845 /* -- Upvalue and function ops ------------------------------------------ */ 1864 /* -- Upvalue and function ops ------------------------------------------ */
1846 1865
1847 case BC_UGET: 1866 case BC_UGET:
1848 dasm_put(Dst, 10419, offsetof(GCfuncL, uvptr), DtA(->v)); 1867 dasm_put(Dst, 10725, offsetof(GCfuncL, uvptr), DtA(->v));
1849 break; 1868 break;
1850 case BC_USETV: 1869 case BC_USETV:
1851#define TV2MARKOFS \ 1870#define TV2MARKOFS \
1852 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1871 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1853 dasm_put(Dst, 10465, 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); 1872 dasm_put(Dst, 10771, 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);
1854 dasm_put(Dst, 10561); 1873 dasm_put(Dst, 10867);
1855 break; 1874 break;
1856#undef TV2MARKOFS 1875#undef TV2MARKOFS
1857 case BC_USETS: 1876 case BC_USETS:
1858 dasm_put(Dst, 10573, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1877 dasm_put(Dst, 10879, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1859 break; 1878 break;
1860 case BC_USETN: 1879 case BC_USETN:
1861 dasm_put(Dst, 10669); 1880 dasm_put(Dst, 10975);
1862 if (sse) { 1881 if (sse) {
1863 dasm_put(Dst, 10674); 1882 dasm_put(Dst, 10980);
1864 } else { 1883 } else {
1865 dasm_put(Dst, 9448); 1884 dasm_put(Dst, 9754);
1866 } 1885 }
1867 dasm_put(Dst, 10682, offsetof(GCfuncL, uvptr), DtA(->v)); 1886 dasm_put(Dst, 10988, offsetof(GCfuncL, uvptr), DtA(->v));
1868 if (sse) { 1887 if (sse) {
1869 dasm_put(Dst, 10691); 1888 dasm_put(Dst, 10997);
1870 } else { 1889 } else {
1871 dasm_put(Dst, 10697); 1890 dasm_put(Dst, 11003);
1872 } 1891 }
1873 dasm_put(Dst, 9206); 1892 dasm_put(Dst, 9512);
1874 break; 1893 break;
1875 case BC_USETP: 1894 case BC_USETP:
1876 dasm_put(Dst, 10700, offsetof(GCfuncL, uvptr), DtA(->v)); 1895 dasm_put(Dst, 11006, offsetof(GCfuncL, uvptr), DtA(->v));
1877 break; 1896 break;
1878 case BC_UCLO: 1897 case BC_UCLO:
1879 dasm_put(Dst, 10740, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1898 dasm_put(Dst, 11046, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1880 break; 1899 break;
1881 1900
1882 case BC_FNEW: 1901 case BC_FNEW:
1883 dasm_put(Dst, 10796, Dt1(->base), Dt1(->base), LJ_TFUNC); 1902 dasm_put(Dst, 11102, Dt1(->base), Dt1(->base), LJ_TFUNC);
1884 break; 1903 break;
1885 1904
1886 /* -- Table ops --------------------------------------------------------- */ 1905 /* -- Table ops --------------------------------------------------------- */
1887 1906
1888 case BC_TNEW: 1907 case BC_TNEW:
1889 dasm_put(Dst, 10863, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1908 dasm_put(Dst, 11169, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1890 break; 1909 break;
1891 case BC_TDUP: 1910 case BC_TDUP:
1892 dasm_put(Dst, 10987, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1911 dasm_put(Dst, 11293, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1893 break; 1912 break;
1894 1913
1895 case BC_GGET: 1914 case BC_GGET:
1896 dasm_put(Dst, 11086, Dt7(->env)); 1915 dasm_put(Dst, 11392, Dt7(->env));
1897 break; 1916 break;
1898 case BC_GSET: 1917 case BC_GSET:
1899 dasm_put(Dst, 11106, Dt7(->env)); 1918 dasm_put(Dst, 11412, Dt7(->env));
1900 break; 1919 break;
1901 1920
1902 case BC_TGETV: 1921 case BC_TGETV:
1903 dasm_put(Dst, 11126, LJ_TTAB, LJ_TISNUM); 1922 dasm_put(Dst, 11432, LJ_TTAB, LJ_TISNUM);
1904 if (sse) { 1923 if (sse) {
1905 dasm_put(Dst, 11159); 1924 dasm_put(Dst, 11465);
1906 } else { 1925 } else {
1907 } 1926 }
1908 dasm_put(Dst, 11180, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1927 dasm_put(Dst, 11486, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1909 dasm_put(Dst, 11274, LJ_TSTR); 1928 dasm_put(Dst, 11580, LJ_TSTR);
1910 break; 1929 break;
1911 case BC_TGETS: 1930 case BC_TGETS:
1912 dasm_put(Dst, 11292, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1931 dasm_put(Dst, 11598, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1913 dasm_put(Dst, 11378, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1932 dasm_put(Dst, 11684, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1914 break; 1933 break;
1915 case BC_TGETB: 1934 case BC_TGETB:
1916 dasm_put(Dst, 11451, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1935 dasm_put(Dst, 11757, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1917 dasm_put(Dst, 9740); 1936 dasm_put(Dst, 10046);
1918 break; 1937 break;
1919 1938
1920 case BC_TSETV: 1939 case BC_TSETV:
1921 dasm_put(Dst, 11552, LJ_TTAB, LJ_TISNUM); 1940 dasm_put(Dst, 11858, LJ_TTAB, LJ_TISNUM);
1922 if (sse) { 1941 if (sse) {
1923 dasm_put(Dst, 11159); 1942 dasm_put(Dst, 11465);
1924 } else { 1943 } else {
1925 } 1944 }
1926 dasm_put(Dst, 11585, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1945 dasm_put(Dst, 11891, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1927 dasm_put(Dst, 11670, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1946 dasm_put(Dst, 11976, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1928 break; 1947 break;
1929 case BC_TSETS: 1948 case BC_TSETS:
1930 dasm_put(Dst, 11734, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1949 dasm_put(Dst, 12040, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1931 dasm_put(Dst, 11811, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1950 dasm_put(Dst, 12117, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1932 dasm_put(Dst, 11903, 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)); 1951 dasm_put(Dst, 12209, 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));
1933 break; 1952 break;
1934 case BC_TSETB: 1953 case BC_TSETB:
1935 dasm_put(Dst, 11995, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1954 dasm_put(Dst, 12301, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1936 dasm_put(Dst, 12095, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1955 dasm_put(Dst, 12401, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1937 break; 1956 break;
1938 1957
1939 case BC_TSETM: 1958 case BC_TSETM:
1940 dasm_put(Dst, 12143); 1959 dasm_put(Dst, 12449);
1941 if (sse) { 1960 if (sse) {
1942 dasm_put(Dst, 10674); 1961 dasm_put(Dst, 10980);
1943 } else { 1962 } else {
1944 } 1963 }
1945 dasm_put(Dst, 12148, Dt6(->marked), LJ_GC_BLACK); 1964 dasm_put(Dst, 12454, Dt6(->marked), LJ_GC_BLACK);
1946 if (sse) { 1965 if (sse) {
1947 dasm_put(Dst, 12173); 1966 dasm_put(Dst, 12479);
1948 } else { 1967 } else {
1949 } 1968 }
1950 dasm_put(Dst, 12181, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 1969 dasm_put(Dst, 12487, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
1951 dasm_put(Dst, 12317, Dt6(->gclist)); 1970 dasm_put(Dst, 12623, Dt6(->gclist));
1952 break; 1971 break;
1953 1972
1954 /* -- Calls and vararg handling ----------------------------------------- */ 1973 /* -- Calls and vararg handling ----------------------------------------- */
1955 1974
1956 case BC_CALL: case BC_CALLM: 1975 case BC_CALL: case BC_CALLM:
1957 dasm_put(Dst, 9754); 1976 dasm_put(Dst, 10060);
1958 if (op == BC_CALLM) { 1977 if (op == BC_CALLM) {
1959 dasm_put(Dst, 12325); 1978 dasm_put(Dst, 12631);
1960 } 1979 }
1961 dasm_put(Dst, 12330, LJ_TFUNC, Dt7(->pc)); 1980 dasm_put(Dst, 12636, LJ_TFUNC, Dt7(->pc));
1962 break; 1981 break;
1963 1982
1964 case BC_CALLMT: 1983 case BC_CALLMT:
1965 dasm_put(Dst, 12325); 1984 dasm_put(Dst, 12631);
1966 break; 1985 break;
1967 case BC_CALLT: 1986 case BC_CALLT:
1968 dasm_put(Dst, 12373, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 1987 dasm_put(Dst, 12679, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1969 dasm_put(Dst, 12497, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 1988 dasm_put(Dst, 12803, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
1970 break; 1989 break;
1971 1990
1972 case BC_ITERC: 1991 case BC_ITERC:
1973 dasm_put(Dst, 12558, LJ_TFUNC, 2+1, Dt7(->pc)); 1992 dasm_put(Dst, 12864, LJ_TFUNC, 2+1, Dt7(->pc));
1974 break; 1993 break;
1975 1994
1976 case BC_VARG: 1995 case BC_VARG:
1977 dasm_put(Dst, 12640, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1996 dasm_put(Dst, 12946, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1978 dasm_put(Dst, 12794, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1997 dasm_put(Dst, 13100, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1979 break; 1998 break;
1980 1999
1981 /* -- Returns ----------------------------------------------------------- */ 2000 /* -- Returns ----------------------------------------------------------- */
1982 2001
1983 case BC_RETM: 2002 case BC_RETM:
1984 dasm_put(Dst, 12325); 2003 dasm_put(Dst, 12631);
1985 break; 2004 break;
1986 2005
1987 case BC_RET: case BC_RET0: case BC_RET1: 2006 case BC_RET: case BC_RET0: case BC_RET1:
1988 if (op != BC_RET0) { 2007 if (op != BC_RET0) {
1989 dasm_put(Dst, 12899); 2008 dasm_put(Dst, 13205);
1990 } 2009 }
1991 dasm_put(Dst, 12903, FRAME_TYPE); 2010 dasm_put(Dst, 13209, FRAME_TYPE);
1992 switch (op) { 2011 switch (op) {
1993 case BC_RET: 2012 case BC_RET:
1994 dasm_put(Dst, 12922); 2013 dasm_put(Dst, 13228);
1995 break; 2014 break;
1996 case BC_RET1: 2015 case BC_RET1:
1997 dasm_put(Dst, 12986); 2016 dasm_put(Dst, 13292);
1998 /* fallthrough */ 2017 /* fallthrough */
1999 case BC_RET0: 2018 case BC_RET0:
2000 dasm_put(Dst, 13002); 2019 dasm_put(Dst, 13308);
2001 default: 2020 default:
2002 break; 2021 break;
2003 } 2022 }
2004 dasm_put(Dst, 13013, Dt7(->pc), PC2PROTO(k)); 2023 dasm_put(Dst, 13319, Dt7(->pc), PC2PROTO(k));
2005 if (op == BC_RET) { 2024 if (op == BC_RET) {
2006 dasm_put(Dst, 13061, LJ_TNIL); 2025 dasm_put(Dst, 13367, LJ_TNIL);
2007 } else { 2026 } else {
2008 dasm_put(Dst, 13072, LJ_TNIL); 2027 dasm_put(Dst, 13378, LJ_TNIL);
2009 } 2028 }
2010 dasm_put(Dst, 13079); 2029 dasm_put(Dst, 13385);
2011 if (op != BC_RET0) { 2030 if (op != BC_RET0) {
2012 dasm_put(Dst, 13099); 2031 dasm_put(Dst, 13405);
2013 } 2032 }
2014 dasm_put(Dst, 4568); 2033 dasm_put(Dst, 4596);
2015 break; 2034 break;
2016 2035
2017 /* -- Loops and branches ------------------------------------------------ */ 2036 /* -- Loops and branches ------------------------------------------------ */
@@ -2019,7 +2038,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2019 2038
2020 case BC_FORL: 2039 case BC_FORL:
2021#if LJ_HASJIT 2040#if LJ_HASJIT
2022 dasm_put(Dst, 13102, HOTCOUNT_PCMASK, GG_DISP2HOT); 2041 dasm_put(Dst, 13408, HOTCOUNT_PCMASK, GG_DISP2HOT);
2023#endif 2042#endif
2024 break; 2043 break;
2025 2044
@@ -2031,57 +2050,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2031 case BC_FORI: 2050 case BC_FORI:
2032 case BC_IFORL: 2051 case BC_IFORL:
2033 vk = (op == BC_IFORL || op == BC_JFORL); 2052 vk = (op == BC_IFORL || op == BC_JFORL);
2034 dasm_put(Dst, 13123); 2053 dasm_put(Dst, 13429);
2035 if (!vk) { 2054 if (!vk) {
2036 dasm_put(Dst, 13127, LJ_TISNUM, LJ_TISNUM); 2055 dasm_put(Dst, 13433, LJ_TISNUM, LJ_TISNUM);
2037 } 2056 }
2038 dasm_put(Dst, 13146); 2057 dasm_put(Dst, 13452);
2039 if (!vk) { 2058 if (!vk) {
2040 dasm_put(Dst, 13150, LJ_TISNUM); 2059 dasm_put(Dst, 13456, LJ_TISNUM);
2041 } 2060 }
2042 if (sse) { 2061 if (sse) {
2043 dasm_put(Dst, 13159); 2062 dasm_put(Dst, 13465);
2044 if (vk) { 2063 if (vk) {
2045 dasm_put(Dst, 13171); 2064 dasm_put(Dst, 13477);
2046 } else { 2065 } else {
2047 dasm_put(Dst, 13190); 2066 dasm_put(Dst, 13496);
2048 } 2067 }
2049 dasm_put(Dst, 13195); 2068 dasm_put(Dst, 13501);
2050 } else { 2069 } else {
2051 dasm_put(Dst, 13208); 2070 dasm_put(Dst, 13514);
2052 if (vk) { 2071 if (vk) {
2053 dasm_put(Dst, 13214); 2072 dasm_put(Dst, 13520);
2054 } else { 2073 } else {
2055 dasm_put(Dst, 13230); 2074 dasm_put(Dst, 13536);
2056 } 2075 }
2057 dasm_put(Dst, 13238); 2076 dasm_put(Dst, 13544);
2058 if (cmov) { 2077 if (cmov) {
2059 dasm_put(Dst, 9169); 2078 dasm_put(Dst, 9475);
2060 } else { 2079 } else {
2061 dasm_put(Dst, 9175); 2080 dasm_put(Dst, 9481);
2062 } 2081 }
2063 if (!cmov) { 2082 if (!cmov) {
2064 dasm_put(Dst, 13243); 2083 dasm_put(Dst, 13549);
2065 } 2084 }
2066 } 2085 }
2067 if (op == BC_FORI) { 2086 if (op == BC_FORI) {
2068 dasm_put(Dst, 13249, -BCBIAS_J*4); 2087 dasm_put(Dst, 13555, -BCBIAS_J*4);
2069 } else if (op == BC_JFORI) { 2088 } else if (op == BC_JFORI) {
2070 dasm_put(Dst, 13259, -BCBIAS_J*4, BC_JLOOP); 2089 dasm_put(Dst, 13565, -BCBIAS_J*4, BC_JLOOP);
2071 } else if (op == BC_IFORL) { 2090 } else if (op == BC_IFORL) {
2072 dasm_put(Dst, 13273, -BCBIAS_J*4); 2091 dasm_put(Dst, 13579, -BCBIAS_J*4);
2073 } else { 2092 } else {
2074 dasm_put(Dst, 13269, BC_JLOOP); 2093 dasm_put(Dst, 13575, BC_JLOOP);
2075 } 2094 }
2076 dasm_put(Dst, 9204); 2095 dasm_put(Dst, 9510);
2077 if (sse) { 2096 if (sse) {
2078 dasm_put(Dst, 13283); 2097 dasm_put(Dst, 13589);
2079 } 2098 }
2080 break; 2099 break;
2081 2100
2082 case BC_ITERL: 2101 case BC_ITERL:
2083#if LJ_HASJIT 2102#if LJ_HASJIT
2084 dasm_put(Dst, 13102, HOTCOUNT_PCMASK, GG_DISP2HOT); 2103 dasm_put(Dst, 13408, HOTCOUNT_PCMASK, GG_DISP2HOT);
2085#endif 2104#endif
2086 break; 2105 break;
2087 2106
@@ -2090,33 +2109,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2090 break; 2109 break;
2091#endif 2110#endif
2092 case BC_IITERL: 2111 case BC_IITERL:
2093 dasm_put(Dst, 13294, LJ_TNIL); 2112 dasm_put(Dst, 13600, LJ_TNIL);
2094 if (op == BC_JITERL) { 2113 if (op == BC_JITERL) {
2095 dasm_put(Dst, 13309, BC_JLOOP); 2114 dasm_put(Dst, 13615, BC_JLOOP);
2096 } else { 2115 } else {
2097 dasm_put(Dst, 13323, -BCBIAS_J*4); 2116 dasm_put(Dst, 13629, -BCBIAS_J*4);
2098 } 2117 }
2099 dasm_put(Dst, 9508); 2118 dasm_put(Dst, 9814);
2100 break; 2119 break;
2101 2120
2102 case BC_LOOP: 2121 case BC_LOOP:
2103#if LJ_HASJIT 2122#if LJ_HASJIT
2104 dasm_put(Dst, 13102, HOTCOUNT_PCMASK, GG_DISP2HOT); 2123 dasm_put(Dst, 13408, HOTCOUNT_PCMASK, GG_DISP2HOT);
2105#endif 2124#endif
2106 break; 2125 break;
2107 2126
2108 case BC_ILOOP: 2127 case BC_ILOOP:
2109 dasm_put(Dst, 9206); 2128 dasm_put(Dst, 9512);
2110 break; 2129 break;
2111 2130
2112 case BC_JLOOP: 2131 case BC_JLOOP:
2113#if LJ_HASJIT 2132#if LJ_HASJIT
2114 dasm_put(Dst, 13339, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2133 dasm_put(Dst, 13645, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2115#endif 2134#endif
2116 break; 2135 break;
2117 2136
2118 case BC_JMP: 2137 case BC_JMP:
2119 dasm_put(Dst, 13366, -BCBIAS_J*4); 2138 dasm_put(Dst, 13672, -BCBIAS_J*4);
2120 break; 2139 break;
2121 2140
2122 /* -- Function headers -------------------------------------------------- */ 2141 /* -- Function headers -------------------------------------------------- */
@@ -2139,47 +2158,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2139 break; 2158 break;
2140#endif 2159#endif
2141 case BC_IFUNCF: 2160 case BC_IFUNCF:
2142 dasm_put(Dst, 13392, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2161 dasm_put(Dst, 13698, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2143 if (op == BC_JFUNCF) { 2162 if (op == BC_JFUNCF) {
2144 dasm_put(Dst, 13423, BC_JLOOP); 2163 dasm_put(Dst, 13729, BC_JLOOP);
2145 } else { 2164 } else {
2146 dasm_put(Dst, 9206); 2165 dasm_put(Dst, 9512);
2147 } 2166 }
2148 dasm_put(Dst, 13432, LJ_TNIL); 2167 dasm_put(Dst, 13738, LJ_TNIL);
2149 break; 2168 break;
2150 2169
2151 case BC_JFUNCV: 2170 case BC_JFUNCV:
2152#if !LJ_HASJIT 2171#if !LJ_HASJIT
2153 break; 2172 break;
2154#endif 2173#endif
2155 dasm_put(Dst, 7163); 2174 dasm_put(Dst, 9207);
2156 break; /* NYI: compiled vararg functions. */ 2175 break; /* NYI: compiled vararg functions. */
2157 2176
2158 case BC_IFUNCV: 2177 case BC_IFUNCV:
2159 dasm_put(Dst, 13454, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2178 dasm_put(Dst, 13760, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2160 if (op == BC_JFUNCV) { 2179 if (op == BC_JFUNCV) {
2161 dasm_put(Dst, 13423, BC_JLOOP); 2180 dasm_put(Dst, 13729, BC_JLOOP);
2162 } else { 2181 } else {
2163 dasm_put(Dst, 13551, -4+PC2PROTO(k)); 2182 dasm_put(Dst, 13857, -4+PC2PROTO(k));
2164 } 2183 }
2165 dasm_put(Dst, 13576, LJ_TNIL); 2184 dasm_put(Dst, 13882, LJ_TNIL);
2166 break; 2185 break;
2167 2186
2168 case BC_FUNCC: 2187 case BC_FUNCC:
2169 case BC_FUNCCW: 2188 case BC_FUNCCW:
2170 dasm_put(Dst, 13598, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2189 dasm_put(Dst, 13904, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2171 if (op == BC_FUNCC) { 2190 if (op == BC_FUNCC) {
2172 dasm_put(Dst, 13628); 2191 dasm_put(Dst, 13934);
2173 } else { 2192 } else {
2174 dasm_put(Dst, 13632); 2193 dasm_put(Dst, 13938);
2175 } 2194 }
2176 dasm_put(Dst, 13640, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2195 dasm_put(Dst, 13946, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2177 if (op == BC_FUNCC) { 2196 if (op == BC_FUNCC) {
2178 dasm_put(Dst, 13650); 2197 dasm_put(Dst, 13956);
2179 } else { 2198 } else {
2180 dasm_put(Dst, 13655, DISPATCH_GL(wrapf)); 2199 dasm_put(Dst, 13961, DISPATCH_GL(wrapf));
2181 } 2200 }
2182 dasm_put(Dst, 13661, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2201 dasm_put(Dst, 13967, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2183 break; 2202 break;
2184 2203
2185 /* ---------------------------------------------------------------------- */ 2204 /* ---------------------------------------------------------------------- */
@@ -2207,7 +2226,7 @@ static int build_backend(BuildCtx *ctx)
2207 2226
2208 build_subroutines(ctx, cmov, sse); 2227 build_subroutines(ctx, cmov, sse);
2209 2228
2210 dasm_put(Dst, 13687); 2229 dasm_put(Dst, 13993);
2211 for (op = 0; op < BC__MAX; op++) 2230 for (op = 0; op < BC__MAX; op++)
2212 build_ins(ctx, (BCOp)op, op, cmov, sse); 2231 build_ins(ctx, (BCOp)op, op, cmov, sse);
2213 2232
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 362d993f..b0c90b81 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[13501] = { 15static const unsigned char build_actionlist[13802] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10, 18 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,
@@ -98,142 +98,143 @@ static const unsigned char build_actionlist[13501] = {
98 55,139,114,252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131, 98 55,139,114,252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,
99 232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139, 99 232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,
100 41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,84,252,233,244, 100 41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,84,252,233,244,
101 56,248,57,129,252,248,239,15,130,244,55,139,106,4,184,237,252,247,213,57, 101 56,248,57,129,252,248,239,15,130,244,55,139,106,4,137,252,233,193,252,249,
102 232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,139,106,252,248,139, 102 15,131,252,249,252,254,15,132,244,249,255,184,237,252,247,213,57,232,255,
103 15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,
103 132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252,233, 104 132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252,233,
104 244,58,248,59,129,252,248,239,15,130,244,55,139,106,4,139,114,252,252,129, 105 244,58,248,3,184,237,252,233,244,2,248,59,129,252,248,239,15,130,244,55,139,
105 252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199, 106 106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,
106 66,252,252,237,15,132,244,58,139,131,233,199,66,252,252,237,137,106,252,248, 107 233,248,2,133,252,237,199,66,252,252,237,255,15,132,244,58,139,131,233,199,
107 139,141,233,255,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15, 108 66,252,252,237,137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,
108 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244, 109 248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,
109 3,252,233,244,58,248,5,139,105,4,129,252,253,239,15,132,244,58,255,139,1, 110 137,233,133,201,15,133,244,3,255,252,233,244,58,248,5,139,105,4,129,252,253,
110 137,106,252,252,137,66,252,248,252,233,244,58,248,6,129,252,253,239,15,132, 111 239,15,132,244,58,139,1,137,106,252,252,137,66,252,248,252,233,244,58,248,
111 244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253, 112 6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,
112 171,233,252,233,244,2,248,60,129,252,248,239,15,130,244,55,129,122,253,4, 113 7,252,247,213,139,172,253,171,233,252,233,244,2,248,60,255,129,252,248,239,
113 239,15,133,244,55,255,139,42,131,189,233,0,15,133,244,55,129,122,253,12,239, 114 15,130,244,55,129,122,253,4,239,15,133,244,55,139,42,131,189,233,0,15,133,
114 15,133,244,55,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137, 115 244,55,129,122,253,12,239,15,133,244,55,139,66,8,137,133,233,139,114,252,
115 106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131,233, 116 252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,
116 137,171,233,137,133,233,248,1,252,233,244,58,248,61,255,129,252,248,239,15, 117 128,165,233,235,255,139,131,233,137,171,233,137,133,233,248,1,252,233,244,
117 130,244,55,129,122,253,4,239,15,133,244,55,137,213,68,141,66,8,139,18,139, 118 58,248,61,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,137,
118 76,36,96,232,251,1,9,137,252,234,139,40,139,64,4,139,114,252,252,137,106, 119 213,68,141,66,8,139,18,139,76,36,96,232,251,1,9,137,252,234,139,40,139,64,
119 252,248,137,66,252,252,252,233,244,58,248,62,129,252,248,239,15,133,244,55, 120 4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,58,248,62,129,
120 129,122,253,4,239,15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221, 121 252,248,239,15,133,244,55,129,122,253,4,239,255,15,135,244,55,255,252,242,
121 2,252,233,244,64,255,248,65,129,252,248,239,15,130,244,55,139,114,252,252, 122 15,16,2,252,233,244,63,255,221,2,252,233,244,64,255,248,65,129,252,248,239,
122 129,122,253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252, 123 15,130,244,55,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,
123 248,252,233,244,58,248,3,129,122,253,4,239,15,135,244,55,131,187,233,0,15, 124 2,199,66,252,252,237,137,66,252,248,252,233,244,58,248,3,129,122,253,4,239,
124 133,244,55,139,171,233,59,171,233,255,15,130,244,247,232,244,66,248,1,139, 125 15,135,244,55,131,187,233,0,15,133,244,55,139,171,233,59,171,233,255,15,130,
125 108,36,96,137,149,233,137,116,36,100,137,252,233,232,251,1,10,139,149,233, 126 244,247,232,244,66,248,1,139,108,36,96,137,149,233,137,116,36,100,137,252,
126 252,233,244,2,248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129, 127 233,232,251,1,10,139,149,233,252,233,244,2,248,67,129,252,248,239,15,130,
127 122,253,4,239,15,133,244,55,139,108,36,96,137,149,233,255,139,114,252,252, 128 244,55,15,132,244,248,248,1,129,122,253,4,239,15,133,244,55,139,108,36,96,
128 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,11,139,149,233,133, 129 137,149,233,255,139,114,252,252,68,141,66,8,139,18,137,252,233,137,116,36,
129 192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,139, 130 100,232,251,1,11,139,149,233,133,192,15,132,244,249,139,106,8,139,66,12,137,
130 106,16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2,199, 131 106,252,248,137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,248,68,184,
131 66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70,129, 132 237,252,233,244,69,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,
132 252,248,239,15,130,244,55,139,106,252,248,129,122,253,4,239,255,15,133,244, 133 237,252,233,244,58,248,70,129,252,248,239,15,130,244,55,139,106,252,248,129,
133 55,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12, 134 122,253,4,239,255,15,133,244,55,139,133,233,139,114,252,252,199,66,252,252,
134 237,184,237,252,233,244,69,248,71,129,252,248,239,15,130,244,55,129,122,253, 135 237,137,66,252,248,199,66,12,237,184,237,252,233,244,69,248,71,129,252,248,
135 4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,114,252,252,255, 136 239,15,130,244,55,129,122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,
136 252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252, 137 244,55,139,114,252,252,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,
137 242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248, 138 205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,
138 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,72,139,40,139,64,4, 139 42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,
139 137,42,137,66,4,252,233,244,68,248,2,131,189,233,0,15,132,244,72,137,252, 140 15,132,244,72,139,40,139,64,4,137,42,137,66,4,252,233,244,68,248,2,131,189,
140 233,137,213,137,194,232,251,1,12,137,252,234,133,192,15,133,244,1,248,72, 141 233,0,15,132,244,72,137,252,233,137,213,137,194,232,251,1,12,137,252,234,
141 184,237,252,233,244,69,248,73,255,129,252,248,239,15,130,244,55,139,106,252, 142 133,192,15,133,244,1,248,72,184,237,252,233,244,69,248,73,255,129,252,248,
142 248,129,122,253,4,239,15,133,244,55,139,133,233,139,114,252,252,199,66,252, 143 239,15,130,244,55,139,106,252,248,129,122,253,4,239,15,133,244,55,139,133,
143 252,237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252,238,221, 144 233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,15,87,192,252,242,
144 90,8,255,184,237,252,233,244,69,248,74,129,252,248,239,15,130,244,55,141, 145 15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,69,248,74,129,
145 74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,1,252, 146 252,248,239,15,130,244,55,141,74,8,131,232,1,190,237,248,1,15,182,171,233,
146 238,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253,12,239, 147 193,252,237,235,131,229,1,1,252,238,252,233,244,27,248,75,129,252,248,239,
147 15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,8,137, 148 15,130,244,55,129,122,253,12,239,15,133,244,55,255,139,106,4,137,106,12,199,
148 106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,76,129,252,248, 149 66,4,237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,
149 239,15,130,244,55,139,42,139,114,252,252,137,116,36,100,137,108,36,80,129, 150 233,244,1,248,76,129,252,248,239,15,130,244,55,139,42,139,114,252,252,137,
150 122,253,4,239,15,133,244,55,72,131,189,233,0,15,133,244,55,128,189,233,235, 151 116,36,100,137,108,36,80,129,122,253,4,239,15,133,244,55,72,131,189,233,0,
151 15,135,244,55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55,248, 152 15,133,244,55,128,189,233,235,15,135,244,55,139,141,233,15,132,244,247,255,
152 1,141,116,193,252,240,59,181,233,15,135,244,55,137,181,233,139,108,36,96, 153 59,141,233,15,132,244,55,248,1,141,116,193,252,240,59,181,233,15,135,244,
153 137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,15, 154 55,137,181,233,139,108,36,96,137,149,233,131,194,8,137,149,233,141,108,194,
154 132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131, 155 232,72,41,252,245,57,206,15,132,244,249,248,2,139,68,46,4,137,70,252,252,
156 139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,202,139,
157 76,36,80,232,244,24,199,131,233,237,255,139,108,36,96,139,116,36,80,139,149,
158 233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,
159 233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,
160 135,244,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,
161 193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,
162 116,36,100,137,68,36,84,72,199,193,252,248,252,255,252,255,252,255,252,247,
163 198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,
164 233,131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,
165 244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,
166 139,149,233,252,233,244,4,248,77,139,106,252,248,139,173,233,139,114,252,
167 252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133,244,55,255,128,189,
168 233,235,15,135,244,55,139,141,233,15,132,244,247,59,141,233,15,132,244,55,
169 248,1,141,116,193,252,248,59,181,233,15,135,244,55,137,181,233,139,108,36,
170 96,137,149,233,137,149,233,141,108,194,252,240,72,41,252,245,57,206,15,132,
171 244,249,248,2,255,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,
155 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131, 172 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131,
156 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135, 173 233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,
157 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132, 174 254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,
158 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205, 175 252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,72,41,205,
159 248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244, 176 248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,
160 5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,100,137,68,36,84,72, 177 5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,
161 199,193,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,244,13, 178 15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,13,248,
162 252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142, 179 9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,149,233,
163 233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,76,36,80, 180 252,233,244,4,248,78,139,108,36,96,72,252,247,133,233,237,15,132,244,55,255,
164 137,185,233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4, 181 137,149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,
165 248,77,139,106,252,248,139,173,233,139,114,252,252,137,116,36,100,137,108, 182 136,133,233,252,233,244,16,255,248,64,139,114,252,252,221,90,252,248,252,
166 36,80,72,131,189,233,0,15,133,244,55,255,128,189,233,235,15,135,244,55,139, 183 233,244,58,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
167 141,233,15,132,244,247,59,141,233,15,132,244,55,248,1,141,116,193,252,248, 184 244,55,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,63,
168 59,181,233,15,135,244,55,137,181,233,139,108,36,96,137,149,233,137,149,233, 185 139,114,252,252,252,242,15,17,66,252,248,255,248,79,129,252,248,239,15,130,
169 141,108,194,252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,139,68, 186 244,55,129,122,253,4,239,15,135,244,55,221,2,217,225,248,63,248,64,139,114,
170 46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244, 187 252,252,221,90,252,248,255,248,58,184,237,248,69,137,68,36,84,248,56,252,
171 2,248,3,137,202,139,76,36,80,232,244,24,199,131,233,237,139,108,36,96,139, 188 247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,
172 116,36,80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139, 189 253,72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
173 190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238, 190 16,252,255,36,252,235,248,6,199,68,194,252,244,237,131,192,1,252,233,244,
174 3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,5,139,1,137,4,41,139, 191 5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,255,248,
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, 192 80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,
176 116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233,244, 193 15,81,2,252,233,244,63,248,81,129,252,248,239,15,130,244,55,129,122,253,4,
177 14,248,8,137,252,242,137,252,233,232,251,1,13,248,9,139,76,36,80,137,185, 194 239,15,135,244,55,252,242,15,16,2,232,244,82,252,233,244,63,248,83,255,129,
178 233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,248,78,
179 139,108,36,96,72,252,247,133,233,237,15,132,244,55,255,137,149,233,141,68,
180 194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,252,233,
181 244,16,255,248,64,139,114,252,252,221,90,252,248,252,233,244,58,248,79,129,
182 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2, 195 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,
183 72,184,237,237,102,72,15,110,200,15,84,193,248,63,139,114,252,252,252,242, 196 232,244,84,252,233,244,63,255,248,80,129,252,248,239,15,130,244,55,129,122,
184 15,17,66,252,248,255,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239, 197 253,4,239,15,135,244,55,221,2,217,252,250,252,233,244,64,248,81,129,252,248,
185 15,135,244,55,221,2,217,225,248,63,248,64,139,114,252,252,221,90,252,248, 198 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,82,252,233,
186 255,248,58,184,237,248,69,137,68,36,84,248,56,252,247,198,237,15,133,244, 199 244,64,248,83,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
187 253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,72,252,247,209,141, 200 244,55,221,2,232,244,84,252,233,244,64,255,248,85,129,252,248,239,15,130,
188 20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 201 244,55,129,122,253,4,239,15,135,244,55,217,252,237,221,2,217,252,241,252,
189 248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252, 202 233,244,64,248,86,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
190 248,252,255,252,255,252,255,252,233,244,14,255,248,80,129,252,248,239,15, 203 244,55,217,252,236,221,2,217,252,241,252,233,244,64,248,87,129,252,248,239,
191 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,81,2,252,233,244,63, 204 255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,88,252,233,
192 248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252, 205 244,64,248,89,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
193 242,15,16,2,232,244,82,252,233,244,63,248,83,255,129,252,248,239,15,130,244, 206 55,221,2,217,252,254,252,233,244,64,248,90,129,252,248,239,255,15,130,244,
194 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,84,252,233,244, 207 55,129,122,253,4,239,15,135,244,55,221,2,217,252,255,252,233,244,64,248,91,
195 63,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 208 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,
196 55,221,2,217,252,250,252,233,244,64,248,81,129,252,248,239,15,130,244,55, 209 242,221,216,252,233,244,64,248,92,129,252,248,239,15,130,244,55,255,129,122,
197 129,122,253,4,239,15,135,244,55,221,2,232,244,82,252,233,244,64,248,83,255, 210 253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,
198 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244, 211 217,252,243,252,233,244,64,248,93,129,252,248,239,15,130,244,55,129,122,253,
199 84,252,233,244,64,255,248,85,129,252,248,239,15,130,244,55,129,122,253,4, 212 4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,
200 239,15,135,244,55,217,252,237,221,2,217,252,241,252,233,244,64,248,86,129, 213 201,217,252,243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129,122,
201 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,236,221, 214 253,4,239,15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64,255,
202 2,217,252,241,252,233,244,64,248,87,129,252,248,239,255,15,130,244,55,129, 215 248,95,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,
203 122,253,4,239,15,135,244,55,221,2,232,244,88,252,233,244,64,248,89,129,252, 216 242,15,16,2,255,137,213,232,251,1,14,137,252,234,252,233,244,63,255,248,96,
204 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,254,252, 217 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,
205 233,244,64,248,90,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15, 218 16,2,255,137,213,232,251,1,15,137,252,234,252,233,244,63,255,248,97,129,252,
206 135,244,55,221,2,217,252,255,252,233,244,64,248,91,129,252,248,239,15,130, 219 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,
207 244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,242,221,216,252,233, 220 137,213,232,251,1,16,137,252,234,252,233,244,63,248,98,255,248,99,129,252,
208 244,64,248,92,129,252,248,239,15,130,244,55,255,129,122,253,4,239,15,135, 221 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,139,
209 244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, 222 106,252,248,252,242,15,89,133,233,252,233,244,63,255,248,99,129,252,248,239,
210 233,244,64,248,93,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, 223 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,139,106,252,248,220,141,
211 244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, 224 233,252,233,244,64,255,248,100,129,252,248,239,15,130,244,55,129,122,253,
212 243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129,122,253,4,239, 225 4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,217,252,
213 15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64,255,248,95,129, 226 243,252,233,244,64,248,101,129,252,248,239,15,130,244,55,129,122,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, 227 15,135,244,55,129,122,253,12,239,255,15,135,244,55,221,66,8,221,2,217,252,
215 255,137,213,232,251,1,14,137,252,234,252,233,244,63,255,248,96,129,252,248, 228 253,221,217,252,233,244,64,248,102,129,252,248,239,15,130,244,55,139,106,
216 239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,137, 229 4,129,252,253,239,15,135,244,55,139,114,252,252,139,2,137,106,252,252,137,
217 213,232,251,1,15,137,252,234,252,233,244,63,255,248,97,129,252,248,239,15, 230 66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,
218 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,137,213,232, 231 244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,
219 251,1,16,137,252,234,252,233,244,63,248,98,255,248,99,129,252,248,239,15, 232 237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,
220 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,139,106,252,248, 233 106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,
221 252,242,15,89,133,233,252,233,244,63,255,248,99,129,252,248,239,15,130,244, 234 252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,69,248,3,
222 55,129,122,253,4,239,15,135,244,55,221,2,139,106,252,248,220,141,233,252, 235 255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,
223 233,244,64,255,248,100,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 236 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,
224 135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,217,252,243,252, 237 17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
225 233,244,64,248,101,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
226 244,55,129,122,253,12,239,255,15,135,244,55,221,66,8,221,2,217,252,253,221,
227 217,252,233,244,64,248,102,129,252,248,239,15,130,244,55,139,106,4,129,252,
228 253,239,15,135,244,55,139,114,252,252,139,2,137,106,252,252,137,66,252,248,
229 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,
230 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,
231 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252,
232 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,
233 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,69,248,3,255,15,
234 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,
235 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,
236 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
237 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252, 238 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252,
238 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255, 239 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,
239 248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221, 240 248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
@@ -359,316 +360,329 @@ static const unsigned char build_actionlist[13501] = {
359 235,15,132,244,251,248,1,255,139,108,36,96,137,149,233,137,252,242,137,252, 360 235,15,132,244,251,248,1,255,139,108,36,96,137,149,233,137,252,242,137,252,
360 233,232,251,1,20,248,3,139,149,233,248,4,15,182,78,252,253,248,5,15,182,110, 361 233,232,251,1,20,248,3,139,149,233,248,4,15,182,78,252,253,248,5,15,182,110,
361 252,252,15,183,70,252,254,252,255,164,253,252,235,233,248,139,131,198,4,139, 362 252,252,15,183,70,252,254,252,255,164,253,252,235,233,248,139,131,198,4,139,
362 77,232,137,76,36,84,252,233,244,4,248,140,255,204,255,248,141,137,116,36, 363 77,232,137,76,36,84,252,233,244,4,248,140,255,139,106,252,248,139,173,233,
363 100,255,248,142,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248, 364 15,182,133,233,141,4,194,139,108,36,96,137,149,233,137,133,233,137,252,242,
364 139,108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,21, 365 141,139,233,72,137,171,233,137,116,36,100,232,251,1,21,252,233,244,3,255,
365 199,68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139, 366 248,141,137,116,36,100,255,248,142,255,137,116,36,100,131,206,1,248,1,255,
366 133,233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229, 367 141,68,194,252,248,139,108,36,96,137,149,233,137,133,233,137,252,242,137,
367 248,143,255,248,144,255,139,122,252,248,139,191,233,139,191,233,199,131,233, 368 252,233,232,251,1,22,199,68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,
368 0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 369 233,72,137,193,139,133,233,41,208,72,137,205,15,182,78,252,253,193,232,3,
369 252,255,36,252,235,248,1,137,252,233,137,194,232,251,1,22,255,248,82,255, 370 131,192,1,252,255,229,248,143,255,65,85,65,84,65,83,65,82,65,81,65,80,87,
370 217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247, 371 86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,252,240,76,
371 102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255, 372 137,125,252,248,76,137,117,252,240,139,93,0,139,139,233,199,131,233,237,137,
372 248,145,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, 373 131,233,137,139,233,72,129,252,236,239,72,131,197,128,252,242,68,15,17,125,
373 15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242, 374 252,248,252,242,68,15,17,117,252,240,252,242,68,15,17,109,232,252,242,68,
374 15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208, 375 15,17,101,224,252,242,68,15,17,93,216,252,242,68,15,17,85,208,252,242,68,
375 252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195, 376 15,17,77,200,252,242,68,15,17,69,192,252,242,15,17,125,184,252,242,15,17,
376 248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252, 377 117,176,252,242,15,17,109,168,252,242,15,17,101,160,252,242,15,17,93,152,
377 255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68, 378 252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171,233,
378 36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,184,237,237,102, 379 139,147,233,72,137,171,233,137,149,233,72,141,148,253,36,233,141,139,233,
379 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 380 232,251,1,23,72,139,141,233,72,129,225,239,72,137,204,137,108,36,96,133,192,
380 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, 381 15,133,244,247,139,149,233,139,116,36,100,255,248,144,255,139,122,252,248,
381 72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40, 382 139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,
382 193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68, 383 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,1,137,252,233,
383 36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, 384 137,194,232,251,1,24,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,
384 255,248,147,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, 385 102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,
385 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15, 386 252,217,108,36,4,139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110,
386 40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216, 387 208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,
387 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40, 388 15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,
388 193,248,1,195,248,148,255,15,40,232,252,242,15,94,193,72,184,237,237,102, 389 202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,
389 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102, 390 242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,
390 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227, 391 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,
391 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15, 392 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,
392 84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195, 393 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,
393 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252, 394 15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,
394 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137, 395 102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,
395 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255, 396 84,194,252,242,15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,
396 248,88,217,252,234,222,201,248,149,217,84,36,8,129,124,36,8,0,0,128,127,15, 397 68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,
397 132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,248,150,217,192,217, 398 252,217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,
398 252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217, 399 208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,
399 248,1,195,248,2,221,216,217,252,238,195,255,248,107,255,248,151,252,242,15, 400 15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,
400 45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248, 401 72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,
401 152,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242, 402 15,92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242,
402 15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248, 403 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,
403 3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89, 404 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,
404 200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15, 405 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,
405 130,244,253,80,72,184,237,237,102,72,15,110,200,252,242,15,94,200,88,15,40, 406 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,
406 193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,72,184,237, 407 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,
407 237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12, 408 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,
408 72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192,72,209,224,15,132, 409 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
409 244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76, 410 36,4,222,201,222,252,233,195,255,248,88,217,252,234,222,201,248,149,217,84,
410 36,16,252,242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192, 411 36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8,0,0,128,252,255,
411 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 412 15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,201,217,252,240,
412 217,221,92,36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15, 413 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,
413 110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237, 414 255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,102,15,46,202,
414 237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102, 415 15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,244,252,248,1,
415 15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224, 416 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,
416 15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15, 417 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,
417 80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15, 418 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,
418 132,244,3,15,87,192,195,248,153,255,131,252,250,1,15,130,244,82,15,132,244, 419 193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72,
419 84,131,252,250,3,15,130,244,104,15,135,244,248,252,242,15,81,192,195,248, 420 15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,
420 2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132, 421 244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,
421 244,247,232,244,88,80,252,233,244,253,248,1,232,244,149,255,80,252,233,244, 422 72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,
422 253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201, 423 255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,72,61,252,254,
423 217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,252,233,244, 424 15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242,15,17,68,36,8,221,68,
424 253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252,236,217,201, 425 36,16,221,68,36,8,217,252,241,217,192,217,252,252,220,252,233,217,201,217,
425 217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,253,248,2,131, 426 252,240,217,232,222,193,217,252,253,221,217,221,92,36,8,252,242,15,16,68,
426 252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233,244,253,248, 427 36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,
427 1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139, 428 247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,
428 84,36,12,221,68,36,4,131,252,250,1,15,130,244,82,15,132,244,84,131,252,250, 429 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,
429 3,15,130,244,104,15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130, 430 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,
430 244,88,15,132,244,149,131,252,250,7,15,132,244,247,15,135,244,248,217,252, 431 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
431 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131, 432 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,153,255,
432 252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241, 433 131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15,
433 195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244, 434 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,8,221,68,36,8,
434 255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255, 435 131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,88,80,252,233,244,
435 65,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248, 436 253,248,1,232,244,149,255,80,252,233,244,253,248,2,131,252,250,7,15,132,244,
436 1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244, 437 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1,
437 248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248, 438 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,15,132,244,
438 5,15,130,244,148,15,132,244,107,65,131,252,248,7,15,132,244,247,15,135,244, 439 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1,
439 248,72,184,237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237, 440 255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,247,15,135,
440 102,72,15,110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252, 441 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92,
441 242,15,17,68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132, 442 36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,131,252,250,1,
442 244,247,217,252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217, 443 15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15,135,244,248,217,
443 201,217,252,253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244, 444 252,250,195,248,2,131,252,250,5,15,130,244,88,15,132,244,149,131,252,250,
444 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248, 445 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
445 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 446 217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,244,247,255,15,
446 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 447 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
447 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 448 2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
448 252,248,5,15,130,244,148,15,132,244,107,131,252,248,7,15,132,244,247,15,135, 449 252,242,221,216,195,255,248,9,204,248,154,255,65,131,252,248,1,15,132,244,
449 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 450 247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,193,195,248,
450 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 451 2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,195,248,
451 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 452 1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,148,15,132,244,
452 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 453 107,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102,
453 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 454 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84,
454 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 455 193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,
455 155,137,200,86,72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91, 456 15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,243,248,7,
456 94,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4, 457 221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253,221,217,252,
457 239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221, 458 233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,
458 4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224, 459 93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,
459 158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141, 460 36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195,
460 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 461 248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,
461 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251, 462 201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,244,
462 129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4, 463 107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248,
463 202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138, 464 1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,
464 244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248, 465 252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,
465 2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,57,108, 466 132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
466 202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193, 467 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
467 15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132, 468 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
468 244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255, 469 244,248,217,201,248,2,221,216,195,255,248,155,137,200,86,72,137,214,83,15,
469 252,233,244,45,255,72,252,247,208,131,198,4,129,124,253,202,4,239,15,133, 470 162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,255,129,124,253,202,4,239,
470 244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,244, 471 15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,
471 248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,72, 472 131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,
472 252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253, 473 221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,
473 239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137, 474 255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,
474 44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15, 475 182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198,
475 182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,139,4,194, 476 4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,
476 137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 477 252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,
477 252,255,36,252,235,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108, 478 248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,
478 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 479 252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,
479 255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,72,184,237, 480 134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,
480 237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224, 481 244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,
481 221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192, 482 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,
482 252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221, 483 49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,198,
483 28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 484 4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,198,4,
484 235,248,2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251, 485 129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,46,4,
485 1,18,255,252,242,15,42,192,137,252,234,255,15,182,78,252,253,252,233,244, 486 202,255,221,4,202,221,4,199,255,72,252,247,208,131,198,4,57,68,202,4,255,
486 1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244, 487 139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,244,
487 46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220, 488 247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,180,
488 4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,15,16,4,199, 489 253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
489 252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234, 490 36,252,235,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,
490 4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252,242,15,16, 491 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,
491 4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15, 492 124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,
492 16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242, 493 198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,135,244,
493 15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252, 494 48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,
494 242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255, 495 242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,
495 252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199, 496 15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,
496 255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252, 497 15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,
497 234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220, 498 232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239,15,
498 12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234, 499 133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252,
499 220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199, 500 234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,
500 220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4, 501 129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,
501 252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221, 502 15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,
502 4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255, 503 135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,
503 221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194, 504 220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,
504 255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,156,255, 505 4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,
505 232,244,107,255,15,182,252,236,15,182,192,139,76,36,96,137,145,233,141,20, 506 4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,
506 194,65,137,192,65,41,232,248,33,137,205,137,116,36,100,232,251,1,23,139,149, 507 4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,
507 233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68,252, 508 221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,
508 234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232, 509 255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,
509 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199, 510 199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,
510 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 511 252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,
511 255,36,252,235,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223, 512 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,
512 70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221, 513 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,
513 4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,6,15,182,204,15,182, 514 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,
514 232,131,198,4,193,232,16,252,255,36,252,235,255,141,76,202,12,141,68,194, 515 234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,
515 4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139, 516 252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,
516 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,106, 517 4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,
517 252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137, 518 16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,156,
519 232,244,148,255,252,233,244,156,255,232,244,107,255,15,182,252,236,15,182,
520 192,139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,
521 137,116,36,100,232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,110,
522 252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,
518 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 523 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
519 255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12, 524 255,72,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,
520 194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15, 525 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,252,242,
521 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 526 15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,
522 36,252,235,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233, 527 16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,
523 235,15,132,244,1,135,213,141,139,233,255,232,251,1,24,137,252,234,252,233, 528 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
524 244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139, 529 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,
525 133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6, 530 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,
526 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,252,246, 531 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,
527 129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139, 532 233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,
528 233,232,251,1,24,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242, 533 131,198,4,193,232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,
529 15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, 534 233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,
530 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137, 535 132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,
531 65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 536 182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,
532 255,141,180,253,134,233,139,108,36,96,131,189,233,0,15,132,244,247,137,149, 537 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,
533 233,141,20,202,137,252,233,232,251,1,25,139,149,233,248,1,139,6,15,182,204, 538 255,232,251,1,26,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,
534 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139, 539 248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,
535 108,36,96,137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36, 540 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
536 100,232,251,1,26,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, 541 232,16,252,255,36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,
537 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139, 542 233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,26,137,252,234,252,
538 76,36,96,137,145,233,248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252, 543 233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,
539 255,7,0,0,15,132,244,249,248,2,137,194,139,131,233,137,205,59,131,233,137, 544 233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,
540 116,36,100,15,131,244,251,232,251,1,27,139,149,233,15,182,78,252,253,137, 545 252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,
541 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 546 232,131,198,4,193,232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,
542 255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,5,232,251,1,28,15,183, 547 36,96,131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,
543 70,252,254,137,252,233,252,233,244,1,255,72,252,247,208,139,108,36,96,139, 548 251,1,27,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
544 139,233,137,116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139,20, 549 16,252,255,36,252,235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,
545 135,137,252,233,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202,199, 550 66,252,248,139,20,135,137,252,233,137,116,36,100,232,251,1,28,139,149,233,
546 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 551 15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,
547 252,235,248,3,137,252,233,232,251,1,28,15,183,70,252,254,72,252,247,208,252, 552 131,198,4,193,232,16,252,255,36,252,235,255,139,76,36,96,137,145,233,248,
548 233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233, 553 1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244,249,
549 244,157,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233, 554 248,2,137,194,139,131,233,137,205,59,131,233,137,116,36,100,15,131,244,251,
550 244,158,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244, 555 232,251,1,29,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,
551 36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16, 556 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,
552 4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36, 557 1,8,0,0,252,233,244,2,248,5,232,251,1,30,15,183,70,252,254,137,252,233,252,
553 59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244, 558 233,244,1,255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,
554 248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182, 559 139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,
555 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, 560 31,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,
556 1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,252,233, 561 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,
557 244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244, 562 232,251,1,30,15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,
558 157,255,15,182,252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252, 563 208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255,72,252,247,
559 234,4,239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,136,233,105, 564 208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,15,182,252,
560 201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133, 565 236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,
561 244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,41,139,73, 566 124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,
562 4,137,44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,131,198,4, 567 252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233,15,131,244,36,
563 193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,185,237,252,233,244, 568 193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,
564 2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132, 569 4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
565 244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236, 570 252,255,36,252,235,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,
566 15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133, 571 233,235,15,132,244,36,15,182,78,252,253,252,233,244,1,248,5,255,129,124,253,
567 233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248, 572 194,4,239,15,133,244,36,139,4,194,252,233,244,157,255,15,182,252,236,15,182,
568 1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131, 573 192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,
569 198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,1,139, 574 44,252,234,248,157,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,
570 141,233,252,246,129,233,235,15,132,244,35,255,15,182,252,236,15,182,192,129, 575 185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,
571 124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239, 576 132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,
572 15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133, 577 194,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
573 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, 578 248,3,15,182,70,252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,
574 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182, 579 133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,
575 232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244, 580 244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
576 1,139,141,233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252, 581 239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,
577 233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244, 582 233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,
578 158,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252, 583 68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
579 253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,247,208,139,4,135, 584 235,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,
580 129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,158,139,141,233, 585 244,35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
581 35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133, 586 39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,
582 244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2, 587 59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,
583 255,252,246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,
584 4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
585 16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36,80,139,141,
586 233,252,246,129,233,235,15,132,244,37,139,76,36,80,252,233,244,2,248,5,139,
587 137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,
588 129,233,235,15,132,244,37,248,6,137,68,36,80,199,68,36,84,237,137,108,36,
589 32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205,137,116,36,
590 100,232,251,1,30,139,149,233,139,108,36,32,137,193,252,233,244,2,248,7,128,
591 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,182,
592 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,
593 59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,
594 249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202, 588 249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,
595 137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 589 137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
596 36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233, 590 36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,
597 235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139, 591 235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,
598 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124, 592 239,15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,139,139,
599 36,80,255,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244, 593 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,
600 253,248,2,139,68,36,84,255,252,242,15,45,252,248,255,131,232,1,15,132,244, 594 236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
601 250,1,252,248,59,133,233,15,131,244,251,41,252,248,193,231,3,3,189,233,248, 595 244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198,133,
602 3,139,41,137,47,139,105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133, 596 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
603 244,3,248,4,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 597 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
604 252,255,36,252,235,248,5,139,76,36,96,137,145,233,137,252,234,65,137,192, 598 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,
605 137,205,137,116,36,100,232,251,1,31,139,149,233,15,182,78,252,253,252,233, 599 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,
606 244,1,248,7,128,165,233,235,139,131,233,137,171,233,255,137,133,233,252,233, 600 189,233,0,15,132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,
607 244,2,255,3,68,36,84,255,129,124,253,202,4,239,139,44,202,15,133,244,51,141, 601 244,37,139,76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,
608 84,202,8,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131, 602 255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,
609 198,4,252,255,36,252,235,255,141,76,202,8,137,215,139,105,252,248,129,121, 603 248,6,137,68,36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,
610 253,252,252,239,15,133,244,28,248,52,139,114,252,252,252,247,198,237,15,133, 604 76,141,68,36,80,137,252,234,137,205,137,116,36,100,232,251,1,32,139,149,233,
611 244,253,248,1,137,106,252,248,137,68,36,84,131,232,1,15,132,244,249,248,2, 605 139,108,36,32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,
612 139,41,137,47,139,105,4,137,111,4,131,199,8,131,193,8,131,232,1,15,133,244, 606 171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,
613 2,139,106,252,248,248,3,139,68,36,84,128,189,233,1,15,135,244,251,248,4,139, 607 252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,
614 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,248, 608 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,
615 5,255,252,247,198,237,15,133,244,4,15,182,78,252,253,72,252,247,209,141,12, 609 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,
616 202,139,121,252,248,139,191,233,139,191,233,252,233,244,4,248,7,15,139,244, 610 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,233,0,15,
617 1,131,230,252,248,41,252,242,137,215,139,114,252,252,252,233,244,1,255,141, 611 132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,
618 76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65, 612 253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,
619 252,244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65, 613 15,182,78,252,253,252,233,244,2,255,137,124,36,80,255,248,1,141,12,202,139,
620 252,252,129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139, 614 105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,84,255,252,
615 242,15,45,252,248,255,131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,
616 244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,
617 193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,
618 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,
619 76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,
620 1,33,139,149,233,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
621 131,233,137,171,233,255,137,133,233,252,233,244,2,255,3,68,36,84,255,129,
622 124,253,202,4,239,139,44,202,15,133,244,51,141,84,202,8,137,114,252,252,139,
621 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255, 623 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,
622 15,182,252,236,139,66,252,248,141,12,202,139,128,233,15,182,128,233,137,124, 624 141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,
623 36,80,141,188,253,194,233,43,122,252,252,133,252,237,15,132,244,251,141,108, 625 248,52,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,
624 252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252, 626 137,68,36,84,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,
625 252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130, 627 4,131,199,8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,
626 244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124, 628 36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,
627 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 629 15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,
628 248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,255,137,197,193, 630 244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139,191,
629 252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133,233,15,135,244, 631 233,139,191,233,252,233,244,4,248,7,15,139,244,1,131,230,252,248,41,252,242,
630 253,248,6,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193, 632 137,215,139,114,252,252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,
631 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116, 633 252,236,137,41,137,65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,
632 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149, 634 139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,
633 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252, 635 237,15,133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,
634 137,68,36,84,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1, 636 15,182,205,131,198,4,252,255,36,252,235,255,15,182,252,236,139,66,252,248,
635 15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,252, 637 141,12,202,139,128,233,15,182,128,233,137,124,36,80,141,188,253,194,233,43,
636 131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248, 638 122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,
637 5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,106, 639 131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,
638 252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252, 640 131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,
639 247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204, 641 131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,
640 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252, 642 182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,
641 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, 643 0,137,208,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131,197,1,137,
642 7,15,139,244,14,131,230,252,248,41,252,242,255,1,252,241,255,137,252,245, 644 108,36,84,139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,139,71,252,
643 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,140,255,141,12, 645 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,
644 202,255,129,121,253,4,239,15,135,244,53,129,121,253,12,239,15,135,244,53, 646 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,100,41,215,139,84,
645 255,139,105,20,255,129,252,253,239,15,135,244,53,255,252,242,15,16,1,252, 647 36,84,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,
646 242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136, 648 252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,84,252,247,
647 244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255, 649 198,237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,
648 221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247, 650 139,44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,
649 255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254,255, 651 1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,
650 15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252, 652 244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,
651 254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,46, 653 5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,209,141,20,
652 193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247, 654 202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,
653 255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253,134, 655 198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,237,131,199,
654 233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,139, 656 8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,
655 128,233,139,108,36,96,137,147,233,137,171,233,252,255,224,255,141,180,253, 657 14,131,230,252,248,41,252,242,255,1,252,241,255,137,252,245,209,252,237,129,
656 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 658 229,239,102,131,172,253,43,233,1,15,132,244,140,255,141,12,202,255,129,121,
657 255,139,190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182, 659 253,4,239,15,135,244,53,129,121,253,12,239,15,135,244,53,255,139,105,20,255,
658 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255, 660 129,252,253,239,15,135,244,53,255,252,242,15,16,1,252,242,15,16,73,8,255,
659 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, 661 252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,
660 255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, 662 244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,
661 248,139,108,36,96,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15, 663 220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,
662 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, 664 244,247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,248,141,180,
663 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, 665 253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,
664 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204, 666 244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,
665 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237, 667 12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,
666 131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72, 668 137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,
667 139,189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141, 669 137,65,252,248,255,139,139,233,139,4,193,72,139,128,233,139,108,36,96,137,
668 233,137,133,233,255,137,252,233,255,72,137,252,250,137,252,233,255,15,135, 670 147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204,
669 244,21,199,131,233,237,255,252,255,215,255,252,255,147,233,255,199,131,233, 671 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,190,233,139,108,
670 237,139,149,233,141,12,194,252,247,217,3,141,233,139,114,252,252,252,233, 672 36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134,244,
671 244,12,255,254,0 673 249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,252,
674 237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,
675 194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141,12,
676 200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15,
677 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,
678 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,
679 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,
680 16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,
681 244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,96,141,
682 68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,252,
683 233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,237,255,
684 252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,
685 252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
672}; 686};
673 687
674enum { 688enum {
@@ -997,7 +1011,9 @@ static const char *const extnames[] = {
997 "lj_tab_len@4", 1011 "lj_tab_len@4",
998 "lj_gc_step@4", 1012 "lj_gc_step@4",
999 "lj_dispatch_ins@8", 1013 "lj_dispatch_ins@8",
1014 "lj_trace_hot@8",
1000 "lj_dispatch_call@8", 1015 "lj_dispatch_call@8",
1016 "lj_trace_exit@8",
1001 "lj_err_throw@8", 1017 "lj_err_throw@8",
1002 "lj_meta_cat", 1018 "lj_meta_cat",
1003 "lj_gc_barrieruv@8", 1019 "lj_gc_barrieruv@8",
@@ -1055,353 +1071,355 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1055 dasm_put(Dst, 1264, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1071 dasm_put(Dst, 1264, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1056 dasm_put(Dst, 1364, Dt1(->base), Dt1(->base), FRAME_CONT); 1072 dasm_put(Dst, 1364, Dt1(->base), Dt1(->base), FRAME_CONT);
1057 dasm_put(Dst, 1489, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1073 dasm_put(Dst, 1489, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1058 dasm_put(Dst, 1667, 1+1, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX); 1074 dasm_put(Dst, 1667, 1+1, LJ_TISTRUECOND, 1+1);
1075 dasm_put(Dst, 1778, ~LJ_TNUMX);
1059 if (cmov) { 1076 if (cmov) {
1060 dasm_put(Dst, 1769); 1077 dasm_put(Dst, 1786);
1061 } else { 1078 } else {
1062 dasm_put(Dst, 1773); 1079 dasm_put(Dst, 1790);
1063 } 1080 }
1064 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)); 1081 dasm_put(Dst, 1799, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1065 dasm_put(Dst, 1870, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1082 dasm_put(Dst, 1878, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1066 dasm_put(Dst, 1925, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB); 1083 dasm_put(Dst, 1935, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1067 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)); 1084 dasm_put(Dst, 2003, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK));
1068 dasm_put(Dst, 2062, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1085 dasm_put(Dst, 2072, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1086 dasm_put(Dst, 2162);
1069 if (sse) { 1087 if (sse) {
1070 dasm_put(Dst, 2139); 1088 dasm_put(Dst, 2167);
1071 } else { 1089 } else {
1072 dasm_put(Dst, 2149); 1090 dasm_put(Dst, 2177);
1073 } 1091 }
1074 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)); 1092 dasm_put(Dst, 2184, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1075 dasm_put(Dst, 2222, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1093 dasm_put(Dst, 2250, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base));
1076 dasm_put(Dst, 2289, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1094 dasm_put(Dst, 2317, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1077 dasm_put(Dst, 2393, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1095 dasm_put(Dst, 2421, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1078 if (sse) { 1096 if (sse) {
1079 dasm_put(Dst, 2456, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1097 dasm_put(Dst, 2484, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1080 } else { 1098 } else {
1081 } 1099 }
1082 dasm_put(Dst, 2489, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1100 dasm_put(Dst, 2517, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1083 dasm_put(Dst, 2570, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); 1101 dasm_put(Dst, 2598, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC);
1084 if (sse) { 1102 if (sse) {
1085 dasm_put(Dst, 2608); 1103 dasm_put(Dst, 2636);
1086 } else { 1104 } else {
1087 dasm_put(Dst, 2618); 1105 dasm_put(Dst, 2646);
1088 } 1106 }
1089 dasm_put(Dst, 2625, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1107 dasm_put(Dst, 2653, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1090 dasm_put(Dst, 2689, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1108 dasm_put(Dst, 2717, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1091 dasm_put(Dst, 2779, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1109 dasm_put(Dst, 2807, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1092 dasm_put(Dst, 2873, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1110 dasm_put(Dst, 2901, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1093 dasm_put(Dst, 2991, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1111 dasm_put(Dst, 3019, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1094 dasm_put(Dst, 3089, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1112 dasm_put(Dst, 3117, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1095 dasm_put(Dst, 3156, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1113 dasm_put(Dst, 3184, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1096 dasm_put(Dst, 3250, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1114 dasm_put(Dst, 3278, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1097 dasm_put(Dst, 3363, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1115 dasm_put(Dst, 3391, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1098 if (sse) { 1116 if (sse) {
1099 dasm_put(Dst, 3390, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1117 dasm_put(Dst, 3418, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1100 } else { 1118 } else {
1101 dasm_put(Dst, 3454, 1+1, LJ_TISNUM); 1119 dasm_put(Dst, 3482, 1+1, LJ_TISNUM);
1102 } 1120 }
1103 dasm_put(Dst, 3490, 1+1, FRAME_TYPE, LJ_TNIL); 1121 dasm_put(Dst, 3518, 1+1, FRAME_TYPE, LJ_TNIL);
1104 if (sse) { 1122 if (sse) {
1105 dasm_put(Dst, 3584, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1123 dasm_put(Dst, 3612, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1106 dasm_put(Dst, 3646, 1+1, LJ_TISNUM); 1124 dasm_put(Dst, 3674, 1+1, LJ_TISNUM);
1107 } else { 1125 } else {
1108 dasm_put(Dst, 3676, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1126 dasm_put(Dst, 3704, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1109 dasm_put(Dst, 3735, 1+1, LJ_TISNUM); 1127 dasm_put(Dst, 3763, 1+1, LJ_TISNUM);
1110 } 1128 }
1111 dasm_put(Dst, 3762, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1129 dasm_put(Dst, 3790, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1112 dasm_put(Dst, 3831, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1130 dasm_put(Dst, 3859, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1113 dasm_put(Dst, 3888, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1131 dasm_put(Dst, 3916, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1114 dasm_put(Dst, 3951, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1132 dasm_put(Dst, 3979, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1115 dasm_put(Dst, 4041); 1133 dasm_put(Dst, 4069);
1116 if (sse) { 1134 if (sse) {
1117 dasm_put(Dst, 4053, 1+1, LJ_TISNUM); 1135 dasm_put(Dst, 4081, 1+1, LJ_TISNUM);
1118 } else { 1136 } else {
1119 } 1137 }
1120 dasm_put(Dst, 4078); 1138 dasm_put(Dst, 4106);
1121 if (sse) { 1139 if (sse) {
1122 dasm_put(Dst, 4092, 1+1, LJ_TISNUM); 1140 dasm_put(Dst, 4120, 1+1, LJ_TISNUM);
1123 } else { 1141 } else {
1124 } 1142 }
1125 dasm_put(Dst, 4117); 1143 dasm_put(Dst, 4145);
1126 if (sse) { 1144 if (sse) {
1127 dasm_put(Dst, 4131, 1+1, LJ_TISNUM); 1145 dasm_put(Dst, 4159, 1+1, LJ_TISNUM);
1128 } else { 1146 } else {
1129 } 1147 }
1130 dasm_put(Dst, 4156); 1148 dasm_put(Dst, 4184);
1131 if (sse) { 1149 if (sse) {
1132 dasm_put(Dst, 4172, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1150 dasm_put(Dst, 4200, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1133 } else { 1151 } else {
1134 dasm_put(Dst, 4211, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1152 dasm_put(Dst, 4239, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1135 } 1153 }
1136 dasm_put(Dst, 4244, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1154 dasm_put(Dst, 4272, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1137 dasm_put(Dst, 4309, 1+1, LJ_TISNUM); 1155 dasm_put(Dst, 4337, 1+1, LJ_TISNUM);
1138 if (sse) { 1156 if (sse) {
1139 dasm_put(Dst, 4408); 1157 dasm_put(Dst, 4436);
1140 } else { 1158 } else {
1141 dasm_put(Dst, 4414); 1159 dasm_put(Dst, 4442);
1142 } 1160 }
1143 dasm_put(Dst, 4423); 1161 dasm_put(Dst, 4451);
1144 if (sse) { 1162 if (sse) {
1145 dasm_put(Dst, 4448); 1163 dasm_put(Dst, 4476);
1146 } else { 1164 } else {
1147 dasm_put(Dst, 4454); 1165 dasm_put(Dst, 4482);
1148 } 1166 }
1149 dasm_put(Dst, 4457, 1+2); 1167 dasm_put(Dst, 4485, 1+2);
1150 if (sse) { 1168 if (sse) {
1151 dasm_put(Dst, 4466); 1169 dasm_put(Dst, 4494);
1152 } else { 1170 } else {
1153 dasm_put(Dst, 4474); 1171 dasm_put(Dst, 4502);
1154 } 1172 }
1155 dasm_put(Dst, 4482); 1173 dasm_put(Dst, 4510);
1156 if (sse) { 1174 if (sse) {
1157 dasm_put(Dst, 4485, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1175 dasm_put(Dst, 4513, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1158 } else { 1176 } else {
1159 dasm_put(Dst, 4512); 1177 dasm_put(Dst, 4540);
1160 } 1178 }
1161 dasm_put(Dst, 4531); 1179 dasm_put(Dst, 4559);
1162 if (sse) { 1180 if (sse) {
1163 dasm_put(Dst, 4547, 1+1, LJ_TISNUM); 1181 dasm_put(Dst, 4575, 1+1, LJ_TISNUM);
1164 } else { 1182 } else {
1165 dasm_put(Dst, 4572, 1+1, LJ_TISNUM); 1183 dasm_put(Dst, 4600, 1+1, LJ_TISNUM);
1166 } 1184 }
1167 dasm_put(Dst, 4594); 1185 dasm_put(Dst, 4622);
1168 if (sse) { 1186 if (sse) {
1169 dasm_put(Dst, 4616); 1187 dasm_put(Dst, 4644);
1170 } else { 1188 } else {
1171 dasm_put(Dst, 4642); 1189 dasm_put(Dst, 4670);
1172 } 1190 }
1173 dasm_put(Dst, 4659, 1+2); 1191 dasm_put(Dst, 4687, 1+2);
1174 if (sse) { 1192 if (sse) {
1175 dasm_put(Dst, 4699); 1193 dasm_put(Dst, 4727);
1176 } else { 1194 } else {
1177 dasm_put(Dst, 4707); 1195 dasm_put(Dst, 4735);
1178 } 1196 }
1179 dasm_put(Dst, 4717, 2+1, LJ_TISNUM, LJ_TISNUM); 1197 dasm_put(Dst, 4745, 2+1, LJ_TISNUM, LJ_TISNUM);
1180 if (sse) { 1198 if (sse) {
1181 dasm_put(Dst, 4769, 1+1, LJ_TISNUM, LJ_TISNUM); 1199 dasm_put(Dst, 4797, 1+1, LJ_TISNUM, LJ_TISNUM);
1182 } else { 1200 } else {
1183 dasm_put(Dst, 4816, 2+1, LJ_TISNUM, LJ_TISNUM); 1201 dasm_put(Dst, 4844, 2+1, LJ_TISNUM, LJ_TISNUM);
1184 } 1202 }
1185 if (sse) { 1203 if (sse) {
1186 dasm_put(Dst, 4857, 1+1, LJ_TISNUM, LJ_TISNUM); 1204 dasm_put(Dst, 4885, 1+1, LJ_TISNUM, LJ_TISNUM);
1187 } else { 1205 } else {
1188 } 1206 }
1189 if (sse) { 1207 if (sse) {
1190 dasm_put(Dst, 4928, 1+1, LJ_TISNUM, LJ_TISNUM); 1208 dasm_put(Dst, 4956, 1+1, LJ_TISNUM, LJ_TISNUM);
1191 } else { 1209 } else {
1192 } 1210 }
1193 if (!sse) { 1211 if (!sse) {
1194 dasm_put(Dst, 4999); 1212 dasm_put(Dst, 5027);
1195 } 1213 }
1196 dasm_put(Dst, 5008, 1+1, LJ_TSTR); 1214 dasm_put(Dst, 5036, 1+1, LJ_TSTR);
1197 if (sse) { 1215 if (sse) {
1198 dasm_put(Dst, 5030, Dt5(->len)); 1216 dasm_put(Dst, 5058, Dt5(->len));
1199 } else { 1217 } else {
1200 dasm_put(Dst, 5041, Dt5(->len)); 1218 dasm_put(Dst, 5069, Dt5(->len));
1201 } 1219 }
1202 dasm_put(Dst, 5049, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1220 dasm_put(Dst, 5077, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1203 if (sse) { 1221 if (sse) {
1204 dasm_put(Dst, 5087); 1222 dasm_put(Dst, 5115);
1205 } else { 1223 } else {
1206 dasm_put(Dst, 5097); 1224 dasm_put(Dst, 5125);
1207 } 1225 }
1208 dasm_put(Dst, 5110, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1226 dasm_put(Dst, 5138, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1209 if (sse) { 1227 if (sse) {
1210 dasm_put(Dst, 5145); 1228 dasm_put(Dst, 5173);
1211 } else { 1229 } else {
1212 dasm_put(Dst, 5165); 1230 dasm_put(Dst, 5193);
1213 } 1231 }
1214 dasm_put(Dst, 5185, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1232 dasm_put(Dst, 5213, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1215 dasm_put(Dst, 2134); 1233 dasm_put(Dst, 2162);
1216 if (sse) { 1234 if (sse) {
1217 dasm_put(Dst, 5293); 1235 dasm_put(Dst, 5321);
1218 } else { 1236 } else {
1219 dasm_put(Dst, 5304); 1237 dasm_put(Dst, 5332);
1220 } 1238 }
1221 dasm_put(Dst, 5312, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1239 dasm_put(Dst, 5340, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1222 if (sse) { 1240 if (sse) {
1223 dasm_put(Dst, 5342); 1241 dasm_put(Dst, 5370);
1224 } else { 1242 } else {
1225 } 1243 }
1226 dasm_put(Dst, 5349, sizeof(GCstr)-1); 1244 dasm_put(Dst, 5377, sizeof(GCstr)-1);
1227 dasm_put(Dst, 5424, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1245 dasm_put(Dst, 5452, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1228 dasm_put(Dst, 5483, LJ_TSTR, LJ_TISNUM); 1246 dasm_put(Dst, 5511, LJ_TSTR, LJ_TISNUM);
1229 if (sse) { 1247 if (sse) {
1230 dasm_put(Dst, 5504); 1248 dasm_put(Dst, 5532);
1231 } else { 1249 } else {
1232 dasm_put(Dst, 5511); 1250 dasm_put(Dst, 5539);
1233 } 1251 }
1234 dasm_put(Dst, 5523, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1252 dasm_put(Dst, 5551, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1235 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)); 1253 dasm_put(Dst, 5616, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1236 dasm_put(Dst, 5651, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1254 dasm_put(Dst, 5679, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1237 dasm_put(Dst, 5722, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1255 dasm_put(Dst, 5750, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1238 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)); 1256 dasm_put(Dst, 5835, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1239 dasm_put(Dst, 5877, 1+1, LJ_TTAB); 1257 dasm_put(Dst, 5905, 1+1, LJ_TTAB);
1240 if (sse) { 1258 if (sse) {
1241 dasm_put(Dst, 5945); 1259 dasm_put(Dst, 5973);
1242 } else { 1260 } else {
1243 } 1261 }
1244 if (sse) { 1262 if (sse) {
1245 dasm_put(Dst, 5955, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1263 dasm_put(Dst, 5983, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1246 } else { 1264 } else {
1247 } 1265 }
1248 if (sse) { 1266 if (sse) {
1249 dasm_put(Dst, 6007, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1267 dasm_put(Dst, 6035, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1250 } else { 1268 } else {
1251 } 1269 }
1252 dasm_put(Dst, 6050, LJ_TISNUM); 1270 dasm_put(Dst, 6078, LJ_TISNUM);
1253 if (sse) { 1271 if (sse) {
1254 dasm_put(Dst, 6077); 1272 dasm_put(Dst, 6105);
1255 } else { 1273 } else {
1256 } 1274 }
1257 dasm_put(Dst, 6094); 1275 dasm_put(Dst, 6122);
1258 if (sse) { 1276 if (sse) {
1259 dasm_put(Dst, 6102, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1277 dasm_put(Dst, 6130, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1260 } else { 1278 } else {
1261 } 1279 }
1262 dasm_put(Dst, 6050, LJ_TISNUM); 1280 dasm_put(Dst, 6078, LJ_TISNUM);
1263 if (sse) { 1281 if (sse) {
1264 dasm_put(Dst, 6145); 1282 dasm_put(Dst, 6173);
1265 } else { 1283 } else {
1266 } 1284 }
1267 dasm_put(Dst, 6094); 1285 dasm_put(Dst, 6122);
1268 if (sse) { 1286 if (sse) {
1269 dasm_put(Dst, 6162, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1287 dasm_put(Dst, 6190, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1270 } else { 1288 } else {
1271 } 1289 }
1272 dasm_put(Dst, 6050, LJ_TISNUM); 1290 dasm_put(Dst, 6078, LJ_TISNUM);
1273 if (sse) { 1291 if (sse) {
1274 dasm_put(Dst, 6205); 1292 dasm_put(Dst, 6233);
1275 } else { 1293 } else {
1276 } 1294 }
1277 dasm_put(Dst, 6094); 1295 dasm_put(Dst, 6122);
1278 if (sse) { 1296 if (sse) {
1279 dasm_put(Dst, 6222, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1297 dasm_put(Dst, 6250, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1280 } else { 1298 } else {
1281 } 1299 }
1282 dasm_put(Dst, 6265); 1300 dasm_put(Dst, 6293);
1283 if (sse) { 1301 if (sse) {
1284 dasm_put(Dst, 6272, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1302 dasm_put(Dst, 6300, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1285 } else { 1303 } else {
1286 } 1304 }
1287 dasm_put(Dst, 6315); 1305 dasm_put(Dst, 6343);
1288 if (sse) { 1306 if (sse) {
1289 dasm_put(Dst, 6319); 1307 dasm_put(Dst, 6347);
1290 } else { 1308 } else {
1291 } 1309 }
1292 dasm_put(Dst, 6331); 1310 dasm_put(Dst, 6359);
1293 if (sse) { 1311 if (sse) {
1294 dasm_put(Dst, 6342, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1312 dasm_put(Dst, 6370, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1295 } else { 1313 } else {
1296 } 1314 }
1297 dasm_put(Dst, 6411); 1315 dasm_put(Dst, 6439);
1298 if (sse) { 1316 if (sse) {
1299 dasm_put(Dst, 6420, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1317 dasm_put(Dst, 6448, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1300 } else { 1318 } else {
1301 } 1319 }
1302 dasm_put(Dst, 6489); 1320 dasm_put(Dst, 6517);
1303 if (sse) { 1321 if (sse) {
1304 dasm_put(Dst, 6499, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1322 dasm_put(Dst, 6527, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1305 } else { 1323 } else {
1306 } 1324 }
1307 dasm_put(Dst, 6568); 1325 dasm_put(Dst, 6596);
1308 if (sse) { 1326 if (sse) {
1309 dasm_put(Dst, 6578, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1327 dasm_put(Dst, 6606, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1310 } else { 1328 } else {
1311 } 1329 }
1312 dasm_put(Dst, 6647); 1330 dasm_put(Dst, 6675);
1313 if (sse) { 1331 if (sse) {
1314 dasm_put(Dst, 6656, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1332 dasm_put(Dst, 6684, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1315 } else { 1333 } else {
1316 } 1334 }
1317 dasm_put(Dst, 6725, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1335 dasm_put(Dst, 6753, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1318 dasm_put(Dst, 6803, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1336 dasm_put(Dst, 6831, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1319 dasm_put(Dst, 6929, Dt1(->top), Dt1(->base), Dt1(->top)); 1337 dasm_put(Dst, 6957, Dt1(->top), Dt1(->base), Dt1(->top));
1320#if LJ_HASJIT 1338#if LJ_HASJIT
1321 dasm_put(Dst, 6968, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1339 dasm_put(Dst, 6996, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1322#endif 1340#endif
1323 dasm_put(Dst, 6999, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1341 dasm_put(Dst, 7027, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1324 dasm_put(Dst, 7050, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1342 dasm_put(Dst, 7078, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1325#if LJ_HASJIT 1343#if LJ_HASJIT
1326 dasm_put(Dst, 7117); 1344 dasm_put(Dst, 7145, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1327#endif 1345#endif
1328 dasm_put(Dst, 7119); 1346 dasm_put(Dst, 7192);
1329#if LJ_HASJIT 1347#if LJ_HASJIT
1330 dasm_put(Dst, 6994); 1348 dasm_put(Dst, 7022);
1331#endif 1349#endif
1332 dasm_put(Dst, 7126); 1350 dasm_put(Dst, 7199);
1333#if LJ_HASJIT 1351#if LJ_HASJIT
1334 dasm_put(Dst, 7129); 1352 dasm_put(Dst, 7202);
1335#endif 1353#endif
1336 dasm_put(Dst, 7139, Dt1(->base), Dt1(->top)); 1354 dasm_put(Dst, 7212, Dt1(->base), Dt1(->top));
1337#if LJ_HASJIT 1355#if LJ_HASJIT
1338 dasm_put(Dst, 7173); 1356 dasm_put(Dst, 7246);
1339#endif 1357#endif
1340 dasm_put(Dst, 7178, Dt1(->base), Dt1(->top)); 1358 dasm_put(Dst, 7251, Dt1(->base), Dt1(->top));
1341#if LJ_HASJIT 1359#if LJ_HASJIT
1342 dasm_put(Dst, 7117); 1360 dasm_put(Dst, 7282, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, Dt1(->base));
1343#endif 1361#endif
1344 dasm_put(Dst, 7209); 1362 dasm_put(Dst, 7512);
1345#if LJ_HASJIT 1363#if LJ_HASJIT
1346 dasm_put(Dst, 7212, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1364 dasm_put(Dst, 7515, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1347#endif 1365#endif
1348 dasm_put(Dst, 7264); 1366 dasm_put(Dst, 7567);
1349 if (!sse) { 1367 if (!sse) {
1350 dasm_put(Dst, 7267); 1368 dasm_put(Dst, 7570);
1351 } 1369 }
1352 dasm_put(Dst, 7312, (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)); 1370 dasm_put(Dst, 7615, (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));
1353 if (!sse) { 1371 if (!sse) {
1354 dasm_put(Dst, 7398); 1372 dasm_put(Dst, 7701);
1355 } 1373 }
1356 dasm_put(Dst, 7443, (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)); 1374 dasm_put(Dst, 7746, (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));
1357 if (!sse) { 1375 if (!sse) {
1358 dasm_put(Dst, 7529); 1376 dasm_put(Dst, 7832);
1359 } 1377 }
1360 dasm_put(Dst, 7568, (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)); 1378 dasm_put(Dst, 7871, (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));
1361 if (sse) { 1379 if (sse) {
1362 dasm_put(Dst, 7657, (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)); 1380 dasm_put(Dst, 7960, (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));
1363 } else { 1381 } else {
1364 dasm_put(Dst, 7771); 1382 dasm_put(Dst, 8074);
1365 } 1383 }
1366 dasm_put(Dst, 7818); 1384 dasm_put(Dst, 8121);
1367 if (!sse) { 1385 if (!sse) {
1368 } else { 1386 } else {
1369 dasm_put(Dst, 7892); 1387 dasm_put(Dst, 8195);
1370 } 1388 }
1371 dasm_put(Dst, 7895); 1389 dasm_put(Dst, 8198);
1372 dasm_put(Dst, 7980, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1390 dasm_put(Dst, 8283, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1373 dasm_put(Dst, 8081, (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)); 1391 dasm_put(Dst, 8384, (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));
1374 dasm_put(Dst, 8249); 1392 dasm_put(Dst, 8552);
1375 if (sse) { 1393 if (sse) {
1376 dasm_put(Dst, 8290); 1394 dasm_put(Dst, 8593);
1377 dasm_put(Dst, 8360); 1395 dasm_put(Dst, 8663);
1378 dasm_put(Dst, 8433); 1396 dasm_put(Dst, 8736);
1379 } else { 1397 } else {
1380 dasm_put(Dst, 8483); 1398 dasm_put(Dst, 8786);
1381 dasm_put(Dst, 8575); 1399 dasm_put(Dst, 8878);
1382 } 1400 }
1383 dasm_put(Dst, 8621); 1401 dasm_put(Dst, 8924);
1384 if (sse) { 1402 if (sse) {
1385 dasm_put(Dst, 8627, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1403 dasm_put(Dst, 8930, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1386 dasm_put(Dst, 8716, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1404 dasm_put(Dst, 9019, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1387 } else { 1405 } else {
1388 dasm_put(Dst, 8840); 1406 dasm_put(Dst, 9143);
1389 dasm_put(Dst, 8923); 1407 dasm_put(Dst, 9226);
1390 if (cmov) { 1408 if (cmov) {
1391 dasm_put(Dst, 8978); 1409 dasm_put(Dst, 9281);
1392 } else { 1410 } else {
1393 dasm_put(Dst, 8997); 1411 dasm_put(Dst, 9300);
1394 } 1412 }
1395 dasm_put(Dst, 8836); 1413 dasm_put(Dst, 9139);
1396 } 1414 }
1397 dasm_put(Dst, 9038); 1415 dasm_put(Dst, 9341);
1398} 1416}
1399 1417
1400/* Generate the code for a single instruction. */ 1418/* Generate the code for a single instruction. */
1401static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1419static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1402{ 1420{
1403 int vk = 0; 1421 int vk = 0;
1404 dasm_put(Dst, 9064, defop); 1422 dasm_put(Dst, 1776, defop);
1405 1423
1406 switch (op) { 1424 switch (op) {
1407 1425
@@ -1410,602 +1428,602 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1410 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1428 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1411 1429
1412 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1430 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1413 dasm_put(Dst, 9066, LJ_TISNUM, LJ_TISNUM); 1431 dasm_put(Dst, 9367, LJ_TISNUM, LJ_TISNUM);
1414 if (sse) { 1432 if (sse) {
1415 dasm_put(Dst, 9087); 1433 dasm_put(Dst, 9388);
1416 } else { 1434 } else {
1417 dasm_put(Dst, 9102); 1435 dasm_put(Dst, 9403);
1418 if (cmov) { 1436 if (cmov) {
1419 dasm_put(Dst, 9112); 1437 dasm_put(Dst, 9413);
1420 } else { 1438 } else {
1421 dasm_put(Dst, 9118); 1439 dasm_put(Dst, 9419);
1422 } 1440 }
1423 } 1441 }
1424 switch (op) { 1442 switch (op) {
1425 case BC_ISLT: 1443 case BC_ISLT:
1426 dasm_put(Dst, 9125); 1444 dasm_put(Dst, 9426);
1427 break; 1445 break;
1428 case BC_ISGE: 1446 case BC_ISGE:
1429 dasm_put(Dst, 8918); 1447 dasm_put(Dst, 9221);
1430 break; 1448 break;
1431 case BC_ISLE: 1449 case BC_ISLE:
1432 dasm_put(Dst, 5872); 1450 dasm_put(Dst, 5900);
1433 break; 1451 break;
1434 case BC_ISGT: 1452 case BC_ISGT:
1435 dasm_put(Dst, 9130); 1453 dasm_put(Dst, 9431);
1436 break; 1454 break;
1437 default: break; /* Shut up GCC. */ 1455 default: break; /* Shut up GCC. */
1438 } 1456 }
1439 dasm_put(Dst, 9135, -BCBIAS_J*4); 1457 dasm_put(Dst, 9436, -BCBIAS_J*4);
1440 break; 1458 break;
1441 1459
1442 case BC_ISEQV: case BC_ISNEV: 1460 case BC_ISEQV: case BC_ISNEV:
1443 vk = op == BC_ISEQV; 1461 vk = op == BC_ISEQV;
1444 dasm_put(Dst, 9169, LJ_TISNUM, LJ_TISNUM); 1462 dasm_put(Dst, 9470, LJ_TISNUM, LJ_TISNUM);
1445 if (sse) { 1463 if (sse) {
1446 dasm_put(Dst, 9195); 1464 dasm_put(Dst, 9496);
1447 } else { 1465 } else {
1448 dasm_put(Dst, 9207); 1466 dasm_put(Dst, 9508);
1449 if (cmov) { 1467 if (cmov) {
1450 dasm_put(Dst, 9112); 1468 dasm_put(Dst, 9413);
1451 } else { 1469 } else {
1452 dasm_put(Dst, 9118); 1470 dasm_put(Dst, 9419);
1453 } 1471 }
1454 } 1472 }
1455 iseqne_fp: 1473 iseqne_fp:
1456 if (vk) { 1474 if (vk) {
1457 dasm_put(Dst, 9214); 1475 dasm_put(Dst, 9515);
1458 } else { 1476 } else {
1459 dasm_put(Dst, 9223); 1477 dasm_put(Dst, 9524);
1460 } 1478 }
1461 iseqne_end: 1479 iseqne_end:
1462 if (vk) { 1480 if (vk) {
1463 dasm_put(Dst, 9232, -BCBIAS_J*4); 1481 dasm_put(Dst, 9533, -BCBIAS_J*4);
1464 } else { 1482 } else {
1465 dasm_put(Dst, 9247, -BCBIAS_J*4); 1483 dasm_put(Dst, 9548, -BCBIAS_J*4);
1466 } 1484 }
1467 dasm_put(Dst, 9149); 1485 dasm_put(Dst, 9450);
1468 if (op == BC_ISEQV || op == BC_ISNEV) { 1486 if (op == BC_ISEQV || op == BC_ISNEV) {
1469 dasm_put(Dst, 9262, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1487 dasm_put(Dst, 9563, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1470 if (vk) { 1488 if (vk) {
1471 dasm_put(Dst, 9320); 1489 dasm_put(Dst, 9621);
1472 } else { 1490 } else {
1473 dasm_put(Dst, 9324); 1491 dasm_put(Dst, 9625);
1474 } 1492 }
1475 dasm_put(Dst, 9330); 1493 dasm_put(Dst, 9631);
1476 } 1494 }
1477 break; 1495 break;
1478 case BC_ISEQS: case BC_ISNES: 1496 case BC_ISEQS: case BC_ISNES:
1479 vk = op == BC_ISEQS; 1497 vk = op == BC_ISEQS;
1480 dasm_put(Dst, 9335, LJ_TSTR); 1498 dasm_put(Dst, 9636, LJ_TSTR);
1481 iseqne_test: 1499 iseqne_test:
1482 if (vk) { 1500 if (vk) {
1483 dasm_put(Dst, 9218); 1501 dasm_put(Dst, 9519);
1484 } else { 1502 } else {
1485 dasm_put(Dst, 2774); 1503 dasm_put(Dst, 2802);
1486 } 1504 }
1487 goto iseqne_end; 1505 goto iseqne_end;
1488 case BC_ISEQN: case BC_ISNEN: 1506 case BC_ISEQN: case BC_ISNEN:
1489 vk = op == BC_ISEQN; 1507 vk = op == BC_ISEQN;
1490 dasm_put(Dst, 9359, LJ_TISNUM); 1508 dasm_put(Dst, 9660, LJ_TISNUM);
1491 if (sse) { 1509 if (sse) {
1492 dasm_put(Dst, 9373); 1510 dasm_put(Dst, 9674);
1493 } else { 1511 } else {
1494 dasm_put(Dst, 9385); 1512 dasm_put(Dst, 9686);
1495 if (cmov) { 1513 if (cmov) {
1496 dasm_put(Dst, 9112); 1514 dasm_put(Dst, 9413);
1497 } else { 1515 } else {
1498 dasm_put(Dst, 9118); 1516 dasm_put(Dst, 9419);
1499 } 1517 }
1500 } 1518 }
1501 goto iseqne_fp; 1519 goto iseqne_fp;
1502 case BC_ISEQP: case BC_ISNEP: 1520 case BC_ISEQP: case BC_ISNEP:
1503 vk = op == BC_ISEQP; 1521 vk = op == BC_ISEQP;
1504 dasm_put(Dst, 9392); 1522 dasm_put(Dst, 9693);
1505 goto iseqne_test; 1523 goto iseqne_test;
1506 1524
1507 /* -- Unary test and copy ops ------------------------------------------- */ 1525 /* -- Unary test and copy ops ------------------------------------------- */
1508 1526
1509 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1527 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1510 dasm_put(Dst, 9404, LJ_TISTRUECOND); 1528 dasm_put(Dst, 9705, LJ_TISTRUECOND);
1511 if (op == BC_IST || op == BC_ISTC) { 1529 if (op == BC_IST || op == BC_ISTC) {
1512 dasm_put(Dst, 9416); 1530 dasm_put(Dst, 9717);
1513 } else { 1531 } else {
1514 dasm_put(Dst, 9421); 1532 dasm_put(Dst, 9722);
1515 } 1533 }
1516 if (op == BC_ISTC || op == BC_ISFC) { 1534 if (op == BC_ISTC || op == BC_ISFC) {
1517 dasm_put(Dst, 9426); 1535 dasm_put(Dst, 9727);
1518 } 1536 }
1519 dasm_put(Dst, 9437, -BCBIAS_J*4); 1537 dasm_put(Dst, 9738, -BCBIAS_J*4);
1520 break; 1538 break;
1521 1539
1522 /* -- Unary ops --------------------------------------------------------- */ 1540 /* -- Unary ops --------------------------------------------------------- */
1523 1541
1524 case BC_MOV: 1542 case BC_MOV:
1525 dasm_put(Dst, 9469); 1543 dasm_put(Dst, 9770);
1526 break; 1544 break;
1527 case BC_NOT: 1545 case BC_NOT:
1528 dasm_put(Dst, 9503, LJ_TISTRUECOND, LJ_TTRUE); 1546 dasm_put(Dst, 9804, LJ_TISTRUECOND, LJ_TTRUE);
1529 break; 1547 break;
1530 case BC_UNM: 1548 case BC_UNM:
1531 dasm_put(Dst, 9539, LJ_TISNUM); 1549 dasm_put(Dst, 9840, LJ_TISNUM);
1532 if (sse) { 1550 if (sse) {
1533 dasm_put(Dst, 9550, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1551 dasm_put(Dst, 9851, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1534 } else { 1552 } else {
1535 dasm_put(Dst, 9575); 1553 dasm_put(Dst, 9876);
1536 } 1554 }
1537 dasm_put(Dst, 9149); 1555 dasm_put(Dst, 9450);
1538 break; 1556 break;
1539 case BC_LEN: 1557 case BC_LEN:
1540 dasm_put(Dst, 9584, LJ_TSTR); 1558 dasm_put(Dst, 9885, LJ_TSTR);
1541 if (sse) { 1559 if (sse) {
1542 dasm_put(Dst, 9598, Dt5(->len)); 1560 dasm_put(Dst, 9899, Dt5(->len));
1543 } else { 1561 } else {
1544 dasm_put(Dst, 9616, Dt5(->len)); 1562 dasm_put(Dst, 9917, Dt5(->len));
1545 } 1563 }
1546 dasm_put(Dst, 9625, LJ_TTAB); 1564 dasm_put(Dst, 9926, LJ_TTAB);
1547 if (sse) { 1565 if (sse) {
1548 dasm_put(Dst, 9666); 1566 dasm_put(Dst, 9967);
1549 } else { 1567 } else {
1550 } 1568 }
1551 dasm_put(Dst, 9675); 1569 dasm_put(Dst, 9976);
1552 break; 1570 break;
1553 1571
1554 /* -- Binary ops -------------------------------------------------------- */ 1572 /* -- Binary ops -------------------------------------------------------- */
1555 1573
1556 1574
1557 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1575 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1558 dasm_put(Dst, 9685); 1576 dasm_put(Dst, 9986);
1559 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1577 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1560 switch (vk) { 1578 switch (vk) {
1561 case 0: 1579 case 0:
1562 dasm_put(Dst, 9693, LJ_TISNUM); 1580 dasm_put(Dst, 9994, LJ_TISNUM);
1563 if (sse) { 1581 if (sse) {
1564 dasm_put(Dst, 9705); 1582 dasm_put(Dst, 10006);
1565 } else { 1583 } else {
1566 dasm_put(Dst, 9719); 1584 dasm_put(Dst, 10020);
1567 } 1585 }
1568 break; 1586 break;
1569 case 1: 1587 case 1:
1570 dasm_put(Dst, 9727, LJ_TISNUM); 1588 dasm_put(Dst, 10028, LJ_TISNUM);
1571 if (sse) { 1589 if (sse) {
1572 dasm_put(Dst, 9739); 1590 dasm_put(Dst, 10040);
1573 } else { 1591 } else {
1574 dasm_put(Dst, 9753); 1592 dasm_put(Dst, 10054);
1575 } 1593 }
1576 break; 1594 break;
1577 default: 1595 default:
1578 dasm_put(Dst, 9761, LJ_TISNUM, LJ_TISNUM); 1596 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM);
1579 if (sse) { 1597 if (sse) {
1580 dasm_put(Dst, 9783); 1598 dasm_put(Dst, 10084);
1581 } else { 1599 } else {
1582 dasm_put(Dst, 9797); 1600 dasm_put(Dst, 10098);
1583 } 1601 }
1584 break; 1602 break;
1585 } 1603 }
1586 if (sse) { 1604 if (sse) {
1587 dasm_put(Dst, 9568); 1605 dasm_put(Dst, 9869);
1588 } else { 1606 } else {
1589 dasm_put(Dst, 9580); 1607 dasm_put(Dst, 9881);
1590 } 1608 }
1591 dasm_put(Dst, 9149); 1609 dasm_put(Dst, 9450);
1592 break; 1610 break;
1593 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1611 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1594 dasm_put(Dst, 9685); 1612 dasm_put(Dst, 9986);
1595 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1613 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1596 switch (vk) { 1614 switch (vk) {
1597 case 0: 1615 case 0:
1598 dasm_put(Dst, 9693, LJ_TISNUM); 1616 dasm_put(Dst, 9994, LJ_TISNUM);
1599 if (sse) { 1617 if (sse) {
1600 dasm_put(Dst, 9805); 1618 dasm_put(Dst, 10106);
1601 } else { 1619 } else {
1602 dasm_put(Dst, 9819); 1620 dasm_put(Dst, 10120);
1603 } 1621 }
1604 break; 1622 break;
1605 case 1: 1623 case 1:
1606 dasm_put(Dst, 9727, LJ_TISNUM); 1624 dasm_put(Dst, 10028, LJ_TISNUM);
1607 if (sse) { 1625 if (sse) {
1608 dasm_put(Dst, 9827); 1626 dasm_put(Dst, 10128);
1609 } else { 1627 } else {
1610 dasm_put(Dst, 9841); 1628 dasm_put(Dst, 10142);
1611 } 1629 }
1612 break; 1630 break;
1613 default: 1631 default:
1614 dasm_put(Dst, 9761, LJ_TISNUM, LJ_TISNUM); 1632 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM);
1615 if (sse) { 1633 if (sse) {
1616 dasm_put(Dst, 9849); 1634 dasm_put(Dst, 10150);
1617 } else { 1635 } else {
1618 dasm_put(Dst, 9863); 1636 dasm_put(Dst, 10164);
1619 } 1637 }
1620 break; 1638 break;
1621 } 1639 }
1622 if (sse) { 1640 if (sse) {
1623 dasm_put(Dst, 9568); 1641 dasm_put(Dst, 9869);
1624 } else { 1642 } else {
1625 dasm_put(Dst, 9580); 1643 dasm_put(Dst, 9881);
1626 } 1644 }
1627 dasm_put(Dst, 9149); 1645 dasm_put(Dst, 9450);
1628 break; 1646 break;
1629 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1647 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1630 dasm_put(Dst, 9685); 1648 dasm_put(Dst, 9986);
1631 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1649 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1632 switch (vk) { 1650 switch (vk) {
1633 case 0: 1651 case 0:
1634 dasm_put(Dst, 9693, LJ_TISNUM); 1652 dasm_put(Dst, 9994, LJ_TISNUM);
1635 if (sse) { 1653 if (sse) {
1636 dasm_put(Dst, 9871); 1654 dasm_put(Dst, 10172);
1637 } else { 1655 } else {
1638 dasm_put(Dst, 9885); 1656 dasm_put(Dst, 10186);
1639 } 1657 }
1640 break; 1658 break;
1641 case 1: 1659 case 1:
1642 dasm_put(Dst, 9727, LJ_TISNUM); 1660 dasm_put(Dst, 10028, LJ_TISNUM);
1643 if (sse) { 1661 if (sse) {
1644 dasm_put(Dst, 9893); 1662 dasm_put(Dst, 10194);
1645 } else { 1663 } else {
1646 dasm_put(Dst, 9907); 1664 dasm_put(Dst, 10208);
1647 } 1665 }
1648 break; 1666 break;
1649 default: 1667 default:
1650 dasm_put(Dst, 9761, LJ_TISNUM, LJ_TISNUM); 1668 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM);
1651 if (sse) { 1669 if (sse) {
1652 dasm_put(Dst, 9915); 1670 dasm_put(Dst, 10216);
1653 } else { 1671 } else {
1654 dasm_put(Dst, 9929); 1672 dasm_put(Dst, 10230);
1655 } 1673 }
1656 break; 1674 break;
1657 } 1675 }
1658 if (sse) { 1676 if (sse) {
1659 dasm_put(Dst, 9568); 1677 dasm_put(Dst, 9869);
1660 } else { 1678 } else {
1661 dasm_put(Dst, 9580); 1679 dasm_put(Dst, 9881);
1662 } 1680 }
1663 dasm_put(Dst, 9149); 1681 dasm_put(Dst, 9450);
1664 break; 1682 break;
1665 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1683 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1666 dasm_put(Dst, 9685); 1684 dasm_put(Dst, 9986);
1667 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1685 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1668 switch (vk) { 1686 switch (vk) {
1669 case 0: 1687 case 0:
1670 dasm_put(Dst, 9693, LJ_TISNUM); 1688 dasm_put(Dst, 9994, LJ_TISNUM);
1671 if (sse) { 1689 if (sse) {
1672 dasm_put(Dst, 9937); 1690 dasm_put(Dst, 10238);
1673 } else { 1691 } else {
1674 dasm_put(Dst, 9951); 1692 dasm_put(Dst, 10252);
1675 } 1693 }
1676 break; 1694 break;
1677 case 1: 1695 case 1:
1678 dasm_put(Dst, 9727, LJ_TISNUM); 1696 dasm_put(Dst, 10028, LJ_TISNUM);
1679 if (sse) { 1697 if (sse) {
1680 dasm_put(Dst, 9959); 1698 dasm_put(Dst, 10260);
1681 } else { 1699 } else {
1682 dasm_put(Dst, 9973); 1700 dasm_put(Dst, 10274);
1683 } 1701 }
1684 break; 1702 break;
1685 default: 1703 default:
1686 dasm_put(Dst, 9761, LJ_TISNUM, LJ_TISNUM); 1704 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM);
1687 if (sse) { 1705 if (sse) {
1688 dasm_put(Dst, 9981); 1706 dasm_put(Dst, 10282);
1689 } else { 1707 } else {
1690 dasm_put(Dst, 9995); 1708 dasm_put(Dst, 10296);
1691 } 1709 }
1692 break; 1710 break;
1693 } 1711 }
1694 if (sse) { 1712 if (sse) {
1695 dasm_put(Dst, 9568); 1713 dasm_put(Dst, 9869);
1696 } else { 1714 } else {
1697 dasm_put(Dst, 9580); 1715 dasm_put(Dst, 9881);
1698 } 1716 }
1699 dasm_put(Dst, 9149); 1717 dasm_put(Dst, 9450);
1700 break; 1718 break;
1701 case BC_MODVN: 1719 case BC_MODVN:
1702 dasm_put(Dst, 9685); 1720 dasm_put(Dst, 9986);
1703 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1721 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1704 switch (vk) { 1722 switch (vk) {
1705 case 0: 1723 case 0:
1706 dasm_put(Dst, 9693, LJ_TISNUM); 1724 dasm_put(Dst, 9994, LJ_TISNUM);
1707 if (sse) { 1725 if (sse) {
1708 dasm_put(Dst, 10003); 1726 dasm_put(Dst, 10304);
1709 } else { 1727 } else {
1710 dasm_put(Dst, 10017); 1728 dasm_put(Dst, 10318);
1711 } 1729 }
1712 break; 1730 break;
1713 case 1: 1731 case 1:
1714 dasm_put(Dst, 9727, LJ_TISNUM); 1732 dasm_put(Dst, 10028, LJ_TISNUM);
1715 if (sse) { 1733 if (sse) {
1716 dasm_put(Dst, 10025); 1734 dasm_put(Dst, 10326);
1717 } else { 1735 } else {
1718 dasm_put(Dst, 10039); 1736 dasm_put(Dst, 10340);
1719 } 1737 }
1720 break; 1738 break;
1721 default: 1739 default:
1722 dasm_put(Dst, 9761, LJ_TISNUM, LJ_TISNUM); 1740 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM);
1723 if (sse) { 1741 if (sse) {
1724 dasm_put(Dst, 10047); 1742 dasm_put(Dst, 10348);
1725 } else { 1743 } else {
1726 dasm_put(Dst, 10061); 1744 dasm_put(Dst, 10362);
1727 } 1745 }
1728 break; 1746 break;
1729 } 1747 }
1730 dasm_put(Dst, 10069); 1748 dasm_put(Dst, 10370);
1731 if (sse) { 1749 if (sse) {
1732 dasm_put(Dst, 9568); 1750 dasm_put(Dst, 9869);
1733 } else { 1751 } else {
1734 dasm_put(Dst, 9580); 1752 dasm_put(Dst, 9881);
1735 } 1753 }
1736 dasm_put(Dst, 9149); 1754 dasm_put(Dst, 9450);
1737 break; 1755 break;
1738 case BC_MODNV: case BC_MODVV: 1756 case BC_MODNV: case BC_MODVV:
1739 dasm_put(Dst, 9685); 1757 dasm_put(Dst, 9986);
1740 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1758 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1741 switch (vk) { 1759 switch (vk) {
1742 case 0: 1760 case 0:
1743 dasm_put(Dst, 9693, LJ_TISNUM); 1761 dasm_put(Dst, 9994, LJ_TISNUM);
1744 if (sse) { 1762 if (sse) {
1745 dasm_put(Dst, 10003); 1763 dasm_put(Dst, 10304);
1746 } else { 1764 } else {
1747 dasm_put(Dst, 10017); 1765 dasm_put(Dst, 10318);
1748 } 1766 }
1749 break; 1767 break;
1750 case 1: 1768 case 1:
1751 dasm_put(Dst, 9727, LJ_TISNUM); 1769 dasm_put(Dst, 10028, LJ_TISNUM);
1752 if (sse) { 1770 if (sse) {
1753 dasm_put(Dst, 10025); 1771 dasm_put(Dst, 10326);
1754 } else { 1772 } else {
1755 dasm_put(Dst, 10039); 1773 dasm_put(Dst, 10340);
1756 } 1774 }
1757 break; 1775 break;
1758 default: 1776 default:
1759 dasm_put(Dst, 9761, LJ_TISNUM, LJ_TISNUM); 1777 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM);
1760 if (sse) { 1778 if (sse) {
1761 dasm_put(Dst, 10047); 1779 dasm_put(Dst, 10348);
1762 } else { 1780 } else {
1763 dasm_put(Dst, 10061); 1781 dasm_put(Dst, 10362);
1764 } 1782 }
1765 break; 1783 break;
1766 } 1784 }
1767 dasm_put(Dst, 10075); 1785 dasm_put(Dst, 10376);
1768 break; 1786 break;
1769 case BC_POW: 1787 case BC_POW:
1770 dasm_put(Dst, 9685); 1788 dasm_put(Dst, 9986);
1771 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1789 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1772 switch (vk) { 1790 switch (vk) {
1773 case 0: 1791 case 0:
1774 dasm_put(Dst, 9693, LJ_TISNUM); 1792 dasm_put(Dst, 9994, LJ_TISNUM);
1775 if (sse) { 1793 if (sse) {
1776 dasm_put(Dst, 10003); 1794 dasm_put(Dst, 10304);
1777 } else { 1795 } else {
1778 dasm_put(Dst, 10017); 1796 dasm_put(Dst, 10318);
1779 } 1797 }
1780 break; 1798 break;
1781 case 1: 1799 case 1:
1782 dasm_put(Dst, 9727, LJ_TISNUM); 1800 dasm_put(Dst, 10028, LJ_TISNUM);
1783 if (sse) { 1801 if (sse) {
1784 dasm_put(Dst, 10025); 1802 dasm_put(Dst, 10326);
1785 } else { 1803 } else {
1786 dasm_put(Dst, 10039); 1804 dasm_put(Dst, 10340);
1787 } 1805 }
1788 break; 1806 break;
1789 default: 1807 default:
1790 dasm_put(Dst, 9761, LJ_TISNUM, LJ_TISNUM); 1808 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM);
1791 if (sse) { 1809 if (sse) {
1792 dasm_put(Dst, 10047); 1810 dasm_put(Dst, 10348);
1793 } else { 1811 } else {
1794 dasm_put(Dst, 10061); 1812 dasm_put(Dst, 10362);
1795 } 1813 }
1796 break; 1814 break;
1797 } 1815 }
1798 dasm_put(Dst, 10080); 1816 dasm_put(Dst, 10381);
1799 if (sse) { 1817 if (sse) {
1800 dasm_put(Dst, 9568); 1818 dasm_put(Dst, 9869);
1801 } else { 1819 } else {
1802 dasm_put(Dst, 9580); 1820 dasm_put(Dst, 9881);
1803 } 1821 }
1804 dasm_put(Dst, 9149); 1822 dasm_put(Dst, 9450);
1805 break; 1823 break;
1806 1824
1807 case BC_CAT: 1825 case BC_CAT:
1808 dasm_put(Dst, 10084, Dt1(->base), Dt1(->base)); 1826 dasm_put(Dst, 10385, Dt1(->base), Dt1(->base));
1809 break; 1827 break;
1810 1828
1811 /* -- Constant ops ------------------------------------------------------ */ 1829 /* -- Constant ops ------------------------------------------------------ */
1812 1830
1813 case BC_KSTR: 1831 case BC_KSTR:
1814 dasm_put(Dst, 10174, LJ_TSTR); 1832 dasm_put(Dst, 10475, LJ_TSTR);
1815 break; 1833 break;
1816 case BC_KSHORT: 1834 case BC_KSHORT:
1817 if (sse) { 1835 if (sse) {
1818 dasm_put(Dst, 10209); 1836 dasm_put(Dst, 10510);
1819 } else { 1837 } else {
1820 dasm_put(Dst, 10224); 1838 dasm_put(Dst, 10525);
1821 } 1839 }
1822 dasm_put(Dst, 9149); 1840 dasm_put(Dst, 9450);
1823 break; 1841 break;
1824 case BC_KNUM: 1842 case BC_KNUM:
1825 if (sse) { 1843 if (sse) {
1826 dasm_put(Dst, 10232); 1844 dasm_put(Dst, 10533);
1827 } else { 1845 } else {
1828 dasm_put(Dst, 10245); 1846 dasm_put(Dst, 10546);
1829 } 1847 }
1830 dasm_put(Dst, 9149); 1848 dasm_put(Dst, 9450);
1831 break; 1849 break;
1832 case BC_KPRI: 1850 case BC_KPRI:
1833 dasm_put(Dst, 10252); 1851 dasm_put(Dst, 10553);
1834 break; 1852 break;
1835 case BC_KNIL: 1853 case BC_KNIL:
1836 dasm_put(Dst, 10280, LJ_TNIL); 1854 dasm_put(Dst, 10581, LJ_TNIL);
1837 break; 1855 break;
1838 1856
1839 /* -- Upvalue and function ops ------------------------------------------ */ 1857 /* -- Upvalue and function ops ------------------------------------------ */
1840 1858
1841 case BC_UGET: 1859 case BC_UGET:
1842 dasm_put(Dst, 10327, offsetof(GCfuncL, uvptr), DtA(->v)); 1860 dasm_put(Dst, 10628, offsetof(GCfuncL, uvptr), DtA(->v));
1843 break; 1861 break;
1844 case BC_USETV: 1862 case BC_USETV:
1845#define TV2MARKOFS \ 1863#define TV2MARKOFS \
1846 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1864 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1847 dasm_put(Dst, 10372, 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); 1865 dasm_put(Dst, 10673, 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);
1848 dasm_put(Dst, 10463); 1866 dasm_put(Dst, 10764);
1849 break; 1867 break;
1850#undef TV2MARKOFS 1868#undef TV2MARKOFS
1851 case BC_USETS: 1869 case BC_USETS:
1852 dasm_put(Dst, 10475, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1870 dasm_put(Dst, 10776, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1853 break; 1871 break;
1854 case BC_USETN: 1872 case BC_USETN:
1855 dasm_put(Dst, 10568); 1873 dasm_put(Dst, 10869);
1856 if (sse) { 1874 if (sse) {
1857 dasm_put(Dst, 10573); 1875 dasm_put(Dst, 10874);
1858 } else { 1876 } else {
1859 dasm_put(Dst, 9388); 1877 dasm_put(Dst, 9689);
1860 } 1878 }
1861 dasm_put(Dst, 10580, offsetof(GCfuncL, uvptr), DtA(->v)); 1879 dasm_put(Dst, 10881, offsetof(GCfuncL, uvptr), DtA(->v));
1862 if (sse) { 1880 if (sse) {
1863 dasm_put(Dst, 10589); 1881 dasm_put(Dst, 10890);
1864 } else { 1882 } else {
1865 dasm_put(Dst, 10595); 1883 dasm_put(Dst, 10896);
1866 } 1884 }
1867 dasm_put(Dst, 9149); 1885 dasm_put(Dst, 9450);
1868 break; 1886 break;
1869 case BC_USETP: 1887 case BC_USETP:
1870 dasm_put(Dst, 10598, offsetof(GCfuncL, uvptr), DtA(->v)); 1888 dasm_put(Dst, 10899, offsetof(GCfuncL, uvptr), DtA(->v));
1871 break; 1889 break;
1872 case BC_UCLO: 1890 case BC_UCLO:
1873 dasm_put(Dst, 10637, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1891 dasm_put(Dst, 10938, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1874 break; 1892 break;
1875 1893
1876 case BC_FNEW: 1894 case BC_FNEW:
1877 dasm_put(Dst, 10692, Dt1(->base), Dt1(->base), LJ_TFUNC); 1895 dasm_put(Dst, 10993, Dt1(->base), Dt1(->base), LJ_TFUNC);
1878 break; 1896 break;
1879 1897
1880 /* -- Table ops --------------------------------------------------------- */ 1898 /* -- Table ops --------------------------------------------------------- */
1881 1899
1882 case BC_TNEW: 1900 case BC_TNEW:
1883 dasm_put(Dst, 10758, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1901 dasm_put(Dst, 11059, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1884 break; 1902 break;
1885 case BC_TDUP: 1903 case BC_TDUP:
1886 dasm_put(Dst, 10879, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1904 dasm_put(Dst, 11180, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1887 break; 1905 break;
1888 1906
1889 case BC_GGET: 1907 case BC_GGET:
1890 dasm_put(Dst, 10974, Dt7(->env)); 1908 dasm_put(Dst, 11275, Dt7(->env));
1891 break; 1909 break;
1892 case BC_GSET: 1910 case BC_GSET:
1893 dasm_put(Dst, 10993, Dt7(->env)); 1911 dasm_put(Dst, 11294, Dt7(->env));
1894 break; 1912 break;
1895 1913
1896 case BC_TGETV: 1914 case BC_TGETV:
1897 dasm_put(Dst, 11012, LJ_TTAB, LJ_TISNUM); 1915 dasm_put(Dst, 11313, LJ_TTAB, LJ_TISNUM);
1898 if (sse) { 1916 if (sse) {
1899 dasm_put(Dst, 11045); 1917 dasm_put(Dst, 11346);
1900 } else { 1918 } else {
1901 } 1919 }
1902 dasm_put(Dst, 11066, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1920 dasm_put(Dst, 11367, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1903 dasm_put(Dst, 11159, LJ_TSTR); 1921 dasm_put(Dst, 11460, LJ_TSTR);
1904 break; 1922 break;
1905 case BC_TGETS: 1923 case BC_TGETS:
1906 dasm_put(Dst, 11177, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1924 dasm_put(Dst, 11478, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1907 dasm_put(Dst, 11262, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1925 dasm_put(Dst, 11563, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1908 break; 1926 break;
1909 case BC_TGETB: 1927 case BC_TGETB:
1910 dasm_put(Dst, 11334, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1928 dasm_put(Dst, 11635, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1911 dasm_put(Dst, 9675); 1929 dasm_put(Dst, 9976);
1912 break; 1930 break;
1913 1931
1914 case BC_TSETV: 1932 case BC_TSETV:
1915 dasm_put(Dst, 11434, LJ_TTAB, LJ_TISNUM); 1933 dasm_put(Dst, 11735, LJ_TTAB, LJ_TISNUM);
1916 if (sse) { 1934 if (sse) {
1917 dasm_put(Dst, 11045); 1935 dasm_put(Dst, 11346);
1918 } else { 1936 } else {
1919 } 1937 }
1920 dasm_put(Dst, 11467, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1938 dasm_put(Dst, 11768, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1921 dasm_put(Dst, 11551, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1939 dasm_put(Dst, 11852, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1922 break; 1940 break;
1923 case BC_TSETS: 1941 case BC_TSETS:
1924 dasm_put(Dst, 11613, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1942 dasm_put(Dst, 11914, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1925 dasm_put(Dst, 11689, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1943 dasm_put(Dst, 11990, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1926 dasm_put(Dst, 11782, 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)); 1944 dasm_put(Dst, 12083, 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));
1927 break; 1945 break;
1928 case BC_TSETB: 1946 case BC_TSETB:
1929 dasm_put(Dst, 11873, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1947 dasm_put(Dst, 12174, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1930 dasm_put(Dst, 11972, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1948 dasm_put(Dst, 12273, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1931 break; 1949 break;
1932 1950
1933 case BC_TSETM: 1951 case BC_TSETM:
1934 dasm_put(Dst, 12018); 1952 dasm_put(Dst, 12319);
1935 if (sse) { 1953 if (sse) {
1936 dasm_put(Dst, 10573); 1954 dasm_put(Dst, 10874);
1937 } else { 1955 } else {
1938 } 1956 }
1939 dasm_put(Dst, 12023, Dt6(->marked), LJ_GC_BLACK); 1957 dasm_put(Dst, 12324, Dt6(->marked), LJ_GC_BLACK);
1940 if (sse) { 1958 if (sse) {
1941 dasm_put(Dst, 12048); 1959 dasm_put(Dst, 12349);
1942 } else { 1960 } else {
1943 } 1961 }
1944 dasm_put(Dst, 12055, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 1962 dasm_put(Dst, 12356, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
1945 dasm_put(Dst, 12181, Dt6(->gclist)); 1963 dasm_put(Dst, 12482, Dt6(->gclist));
1946 break; 1964 break;
1947 1965
1948 /* -- Calls and vararg handling ----------------------------------------- */ 1966 /* -- Calls and vararg handling ----------------------------------------- */
1949 1967
1950 case BC_CALL: case BC_CALLM: 1968 case BC_CALL: case BC_CALLM:
1951 dasm_put(Dst, 9689); 1969 dasm_put(Dst, 9990);
1952 if (op == BC_CALLM) { 1970 if (op == BC_CALLM) {
1953 dasm_put(Dst, 12189); 1971 dasm_put(Dst, 12490);
1954 } 1972 }
1955 dasm_put(Dst, 12194, LJ_TFUNC, Dt7(->pc)); 1973 dasm_put(Dst, 12495, LJ_TFUNC, Dt7(->pc));
1956 break; 1974 break;
1957 1975
1958 case BC_CALLMT: 1976 case BC_CALLMT:
1959 dasm_put(Dst, 12189); 1977 dasm_put(Dst, 12490);
1960 break; 1978 break;
1961 case BC_CALLT: 1979 case BC_CALLT:
1962 dasm_put(Dst, 12236, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 1980 dasm_put(Dst, 12537, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1963 dasm_put(Dst, 12355, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 1981 dasm_put(Dst, 12656, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
1964 break; 1982 break;
1965 1983
1966 case BC_ITERC: 1984 case BC_ITERC:
1967 dasm_put(Dst, 12413, LJ_TFUNC, 2+1, Dt7(->pc)); 1985 dasm_put(Dst, 12714, LJ_TFUNC, 2+1, Dt7(->pc));
1968 break; 1986 break;
1969 1987
1970 case BC_VARG: 1988 case BC_VARG:
1971 dasm_put(Dst, 12494, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1989 dasm_put(Dst, 12795, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1972 dasm_put(Dst, 12639, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1990 dasm_put(Dst, 12940, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1973 break; 1991 break;
1974 1992
1975 /* -- Returns ----------------------------------------------------------- */ 1993 /* -- Returns ----------------------------------------------------------- */
1976 1994
1977 case BC_RETM: 1995 case BC_RETM:
1978 dasm_put(Dst, 12189); 1996 dasm_put(Dst, 12490);
1979 break; 1997 break;
1980 1998
1981 case BC_RET: case BC_RET0: case BC_RET1: 1999 case BC_RET: case BC_RET0: case BC_RET1:
1982 if (op != BC_RET0) { 2000 if (op != BC_RET0) {
1983 dasm_put(Dst, 12738); 2001 dasm_put(Dst, 13039);
1984 } 2002 }
1985 dasm_put(Dst, 12742, FRAME_TYPE); 2003 dasm_put(Dst, 13043, FRAME_TYPE);
1986 switch (op) { 2004 switch (op) {
1987 case BC_RET: 2005 case BC_RET:
1988 dasm_put(Dst, 12761); 2006 dasm_put(Dst, 13062);
1989 break; 2007 break;
1990 case BC_RET1: 2008 case BC_RET1:
1991 dasm_put(Dst, 12819); 2009 dasm_put(Dst, 13120);
1992 /* fallthrough */ 2010 /* fallthrough */
1993 case BC_RET0: 2011 case BC_RET0:
1994 dasm_put(Dst, 12835); 2012 dasm_put(Dst, 13136);
1995 default: 2013 default:
1996 break; 2014 break;
1997 } 2015 }
1998 dasm_put(Dst, 12846, Dt7(->pc), PC2PROTO(k)); 2016 dasm_put(Dst, 13147, Dt7(->pc), PC2PROTO(k));
1999 if (op == BC_RET) { 2017 if (op == BC_RET) {
2000 dasm_put(Dst, 12890, LJ_TNIL); 2018 dasm_put(Dst, 13191, LJ_TNIL);
2001 } else { 2019 } else {
2002 dasm_put(Dst, 12899, LJ_TNIL); 2020 dasm_put(Dst, 13200, LJ_TNIL);
2003 } 2021 }
2004 dasm_put(Dst, 12906); 2022 dasm_put(Dst, 13207);
2005 if (op != BC_RET0) { 2023 if (op != BC_RET0) {
2006 dasm_put(Dst, 12927); 2024 dasm_put(Dst, 13228);
2007 } 2025 }
2008 dasm_put(Dst, 4542); 2026 dasm_put(Dst, 4570);
2009 break; 2027 break;
2010 2028
2011 /* -- Loops and branches ------------------------------------------------ */ 2029 /* -- Loops and branches ------------------------------------------------ */
@@ -2013,7 +2031,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2013 2031
2014 case BC_FORL: 2032 case BC_FORL:
2015#if LJ_HASJIT 2033#if LJ_HASJIT
2016 dasm_put(Dst, 12931, HOTCOUNT_PCMASK, GG_DISP2HOT); 2034 dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT);
2017#endif 2035#endif
2018 break; 2036 break;
2019 2037
@@ -2025,57 +2043,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2025 case BC_FORI: 2043 case BC_FORI:
2026 case BC_IFORL: 2044 case BC_IFORL:
2027 vk = (op == BC_IFORL || op == BC_JFORL); 2045 vk = (op == BC_IFORL || op == BC_JFORL);
2028 dasm_put(Dst, 12952); 2046 dasm_put(Dst, 13253);
2029 if (!vk) { 2047 if (!vk) {
2030 dasm_put(Dst, 12956, LJ_TISNUM, LJ_TISNUM); 2048 dasm_put(Dst, 13257, LJ_TISNUM, LJ_TISNUM);
2031 } 2049 }
2032 dasm_put(Dst, 12975); 2050 dasm_put(Dst, 13276);
2033 if (!vk) { 2051 if (!vk) {
2034 dasm_put(Dst, 12979, LJ_TISNUM); 2052 dasm_put(Dst, 13280, LJ_TISNUM);
2035 } 2053 }
2036 if (sse) { 2054 if (sse) {
2037 dasm_put(Dst, 12988); 2055 dasm_put(Dst, 13289);
2038 if (vk) { 2056 if (vk) {
2039 dasm_put(Dst, 13000); 2057 dasm_put(Dst, 13301);
2040 } else { 2058 } else {
2041 dasm_put(Dst, 13019); 2059 dasm_put(Dst, 13320);
2042 } 2060 }
2043 dasm_put(Dst, 13024); 2061 dasm_put(Dst, 13325);
2044 } else { 2062 } else {
2045 dasm_put(Dst, 13037); 2063 dasm_put(Dst, 13338);
2046 if (vk) { 2064 if (vk) {
2047 dasm_put(Dst, 13043); 2065 dasm_put(Dst, 13344);
2048 } else { 2066 } else {
2049 dasm_put(Dst, 13059); 2067 dasm_put(Dst, 13360);
2050 } 2068 }
2051 dasm_put(Dst, 13067); 2069 dasm_put(Dst, 13368);
2052 if (cmov) { 2070 if (cmov) {
2053 dasm_put(Dst, 9112); 2071 dasm_put(Dst, 9413);
2054 } else { 2072 } else {
2055 dasm_put(Dst, 9118); 2073 dasm_put(Dst, 9419);
2056 } 2074 }
2057 if (!cmov) { 2075 if (!cmov) {
2058 dasm_put(Dst, 13072); 2076 dasm_put(Dst, 13373);
2059 } 2077 }
2060 } 2078 }
2061 if (op == BC_FORI) { 2079 if (op == BC_FORI) {
2062 dasm_put(Dst, 13078, -BCBIAS_J*4); 2080 dasm_put(Dst, 13379, -BCBIAS_J*4);
2063 } else if (op == BC_JFORI) { 2081 } else if (op == BC_JFORI) {
2064 dasm_put(Dst, 13088, -BCBIAS_J*4, BC_JLOOP); 2082 dasm_put(Dst, 13389, -BCBIAS_J*4, BC_JLOOP);
2065 } else if (op == BC_IFORL) { 2083 } else if (op == BC_IFORL) {
2066 dasm_put(Dst, 13102, -BCBIAS_J*4); 2084 dasm_put(Dst, 13403, -BCBIAS_J*4);
2067 } else { 2085 } else {
2068 dasm_put(Dst, 13098, BC_JLOOP); 2086 dasm_put(Dst, 13399, BC_JLOOP);
2069 } 2087 }
2070 dasm_put(Dst, 9147); 2088 dasm_put(Dst, 9448);
2071 if (sse) { 2089 if (sse) {
2072 dasm_put(Dst, 13112); 2090 dasm_put(Dst, 13413);
2073 } 2091 }
2074 break; 2092 break;
2075 2093
2076 case BC_ITERL: 2094 case BC_ITERL:
2077#if LJ_HASJIT 2095#if LJ_HASJIT
2078 dasm_put(Dst, 12931, HOTCOUNT_PCMASK, GG_DISP2HOT); 2096 dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT);
2079#endif 2097#endif
2080 break; 2098 break;
2081 2099
@@ -2084,33 +2102,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2084 break; 2102 break;
2085#endif 2103#endif
2086 case BC_IITERL: 2104 case BC_IITERL:
2087 dasm_put(Dst, 13123, LJ_TNIL); 2105 dasm_put(Dst, 13424, LJ_TNIL);
2088 if (op == BC_JITERL) { 2106 if (op == BC_JITERL) {
2089 dasm_put(Dst, 13138, BC_JLOOP); 2107 dasm_put(Dst, 13439, BC_JLOOP);
2090 } else { 2108 } else {
2091 dasm_put(Dst, 13152, -BCBIAS_J*4); 2109 dasm_put(Dst, 13453, -BCBIAS_J*4);
2092 } 2110 }
2093 dasm_put(Dst, 9447); 2111 dasm_put(Dst, 9748);
2094 break; 2112 break;
2095 2113
2096 case BC_LOOP: 2114 case BC_LOOP:
2097#if LJ_HASJIT 2115#if LJ_HASJIT
2098 dasm_put(Dst, 12931, HOTCOUNT_PCMASK, GG_DISP2HOT); 2116 dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT);
2099#endif 2117#endif
2100 break; 2118 break;
2101 2119
2102 case BC_ILOOP: 2120 case BC_ILOOP:
2103 dasm_put(Dst, 9149); 2121 dasm_put(Dst, 9450);
2104 break; 2122 break;
2105 2123
2106 case BC_JLOOP: 2124 case BC_JLOOP:
2107#if LJ_HASJIT 2125#if LJ_HASJIT
2108 dasm_put(Dst, 13168, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2126 dasm_put(Dst, 13469, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2109#endif 2127#endif
2110 break; 2128 break;
2111 2129
2112 case BC_JMP: 2130 case BC_JMP:
2113 dasm_put(Dst, 13192, -BCBIAS_J*4); 2131 dasm_put(Dst, 13493, -BCBIAS_J*4);
2114 break; 2132 break;
2115 2133
2116 /* -- Function headers -------------------------------------------------- */ 2134 /* -- Function headers -------------------------------------------------- */
@@ -2133,47 +2151,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2133 break; 2151 break;
2134#endif 2152#endif
2135 case BC_IFUNCF: 2153 case BC_IFUNCF:
2136 dasm_put(Dst, 13217, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2154 dasm_put(Dst, 13518, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2137 if (op == BC_JFUNCF) { 2155 if (op == BC_JFUNCF) {
2138 dasm_put(Dst, 13247, BC_JLOOP); 2156 dasm_put(Dst, 13548, BC_JLOOP);
2139 } else { 2157 } else {
2140 dasm_put(Dst, 9149); 2158 dasm_put(Dst, 9450);
2141 } 2159 }
2142 dasm_put(Dst, 13256, LJ_TNIL); 2160 dasm_put(Dst, 13557, LJ_TNIL);
2143 break; 2161 break;
2144 2162
2145 case BC_JFUNCV: 2163 case BC_JFUNCV:
2146#if !LJ_HASJIT 2164#if !LJ_HASJIT
2147 break; 2165 break;
2148#endif 2166#endif
2149 dasm_put(Dst, 7117); 2167 dasm_put(Dst, 9141);
2150 break; /* NYI: compiled vararg functions. */ 2168 break; /* NYI: compiled vararg functions. */
2151 2169
2152 case BC_IFUNCV: 2170 case BC_IFUNCV:
2153 dasm_put(Dst, 13278, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2171 dasm_put(Dst, 13579, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2154 if (op == BC_JFUNCV) { 2172 if (op == BC_JFUNCV) {
2155 dasm_put(Dst, 13247, BC_JLOOP); 2173 dasm_put(Dst, 13548, BC_JLOOP);
2156 } else { 2174 } else {
2157 dasm_put(Dst, 13369, -4+PC2PROTO(k)); 2175 dasm_put(Dst, 13670, -4+PC2PROTO(k));
2158 } 2176 }
2159 dasm_put(Dst, 13392, LJ_TNIL); 2177 dasm_put(Dst, 13693, LJ_TNIL);
2160 break; 2178 break;
2161 2179
2162 case BC_FUNCC: 2180 case BC_FUNCC:
2163 case BC_FUNCCW: 2181 case BC_FUNCCW:
2164 dasm_put(Dst, 13414, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2182 dasm_put(Dst, 13715, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2165 if (op == BC_FUNCC) { 2183 if (op == BC_FUNCC) {
2166 dasm_put(Dst, 13444); 2184 dasm_put(Dst, 13745);
2167 } else { 2185 } else {
2168 dasm_put(Dst, 13448); 2186 dasm_put(Dst, 13749);
2169 } 2187 }
2170 dasm_put(Dst, 13456, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2188 dasm_put(Dst, 13757, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2171 if (op == BC_FUNCC) { 2189 if (op == BC_FUNCC) {
2172 dasm_put(Dst, 13465); 2190 dasm_put(Dst, 13766);
2173 } else { 2191 } else {
2174 dasm_put(Dst, 13469, DISPATCH_GL(wrapf)); 2192 dasm_put(Dst, 13770, DISPATCH_GL(wrapf));
2175 } 2193 }
2176 dasm_put(Dst, 13474, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2194 dasm_put(Dst, 13775, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2177 break; 2195 break;
2178 2196
2179 /* ---------------------------------------------------------------------- */ 2197 /* ---------------------------------------------------------------------- */
@@ -2201,7 +2219,7 @@ static int build_backend(BuildCtx *ctx)
2201 2219
2202 build_subroutines(ctx, cmov, sse); 2220 build_subroutines(ctx, cmov, sse);
2203 2221
2204 dasm_put(Dst, 13499); 2222 dasm_put(Dst, 13800);
2205 for (op = 0; op < BC__MAX; op++) 2223 for (op = 0; op < BC__MAX; op++)
2206 build_ins(ctx, (BCOp)op, op, cmov, sse); 2224 build_ins(ctx, (BCOp)op, op, cmov, sse);
2207 2225
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index 1e7331d2..7758cd15 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -2510,9 +2510,6 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2510 | 2510 |
2511 |->vm_hotloop: // Hot loop counter underflow. 2511 |->vm_hotloop: // Hot loop counter underflow.
2512#if LJ_HASJIT 2512#if LJ_HASJIT
2513 |.if X64
2514 | int3 // NYI
2515 |.else
2516 | mov LFUNC:RB, [BASE-8] // Same as curr_topL(L). 2513 | mov LFUNC:RB, [BASE-8] // Same as curr_topL(L).
2517 | mov RB, LFUNC:RB->pc 2514 | mov RB, LFUNC:RB->pc
2518 | movzx RD, byte [RB+PC2PROTO(framesize)] 2515 | movzx RD, byte [RB+PC2PROTO(framesize)]
@@ -2526,7 +2523,6 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2526 | mov SAVE_PC, PC 2523 | mov SAVE_PC, PC
2527 | call extern lj_trace_hot@8 // (jit_State *J, const BCIns *pc) 2524 | call extern lj_trace_hot@8 // (jit_State *J, const BCIns *pc)
2528 | jmp <3 2525 | jmp <3
2529 |.endif
2530#endif 2526#endif
2531 | 2527 |
2532 |->vm_callhook: // Dispatch target for call hooks. 2528 |->vm_callhook: // Dispatch target for call hooks.
@@ -2572,46 +2568,74 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2572 |->vm_exit_handler: 2568 |->vm_exit_handler:
2573#if LJ_HASJIT 2569#if LJ_HASJIT
2574 |.if X64 2570 |.if X64
2575 | int3 // NYI 2571 | push r13; push r12
2572 | push r11; push r10; push r9; push r8
2573 | push rdi; push rsi; push rbp; lea rbp, [rsp+88]; push rbp
2574 | push rbx; push rdx; push rcx; push rax
2575 | movzx RC, byte [rbp-8] // Reconstruct exit number.
2576 | mov RCH, byte [rbp-16]
2577 | mov [rbp-8], r15; mov [rbp-16], r14
2576 |.else 2578 |.else
2577 | push ebp; lea ebp, [esp+12]; push ebp 2579 | push ebp; lea ebp, [esp+12]; push ebp
2578 | push ebx; push edx; push ecx; push eax 2580 | push ebx; push edx; push ecx; push eax
2579 | movzx RC, byte [ebp-4] // Reconstruct exit number. 2581 | movzx RC, byte [ebp-4] // Reconstruct exit number.
2580 | mov RCH, byte [ebp-8] 2582 | mov RCH, byte [ebp-8]
2581 | mov [ebp-4], edi; mov [ebp-8], esi 2583 | mov [ebp-4], edi; mov [ebp-8], esi
2584 |.endif
2582 | // Caveat: DISPATCH is ebx. 2585 | // Caveat: DISPATCH is ebx.
2583 | mov DISPATCH, [ebp] 2586 | mov DISPATCH, [ebp]
2584 | mov RA, [DISPATCH+DISPATCH_GL(vmstate)] // Get trace number. 2587 | mov RA, [DISPATCH+DISPATCH_GL(vmstate)] // Get trace number.
2585 | set_vmstate EXIT 2588 | set_vmstate EXIT
2586 | mov [DISPATCH+DISPATCH_J(exitno)], RC 2589 | mov [DISPATCH+DISPATCH_J(exitno)], RC
2587 | mov [DISPATCH+DISPATCH_J(parent)], RA 2590 | mov [DISPATCH+DISPATCH_J(parent)], RA
2591 |.if X64
2592 |.if X64WIN
2593 | sub rsp, 16*8+4*8 // Room for SSE regs + save area.
2594 |.else
2595 | sub rsp, 16*8 // Room for SSE regs.
2596 |.endif
2597 | add rbp, -128
2598 | movsd qword [rbp-8], xmm15; movsd qword [rbp-16], xmm14
2599 | movsd qword [rbp-24], xmm13; movsd qword [rbp-32], xmm12
2600 | movsd qword [rbp-40], xmm11; movsd qword [rbp-48], xmm10
2601 | movsd qword [rbp-56], xmm9; movsd qword [rbp-64], xmm8
2602 | movsd qword [rbp-72], xmm7; movsd qword [rbp-80], xmm6
2603 | movsd qword [rbp-88], xmm5; movsd qword [rbp-96], xmm4
2604 | movsd qword [rbp-104], xmm3; movsd qword [rbp-112], xmm2
2605 | movsd qword [rbp-120], xmm1; movsd qword [rbp-128], xmm0
2606 |.else
2588 | sub esp, 8*8+16 // Room for SSE regs + args. 2607 | sub esp, 8*8+16 // Room for SSE regs + args.
2589 |
2590 | // Must not access SSE regs if SSE2 is not present.
2591 | test dword [DISPATCH+DISPATCH_J(flags)], JIT_F_SSE2
2592 | jz >1
2593 | movsd qword [ebp-40], xmm7; movsd qword [ebp-48], xmm6 2608 | movsd qword [ebp-40], xmm7; movsd qword [ebp-48], xmm6
2594 | movsd qword [ebp-56], xmm5; movsd qword [ebp-64], xmm4 2609 | movsd qword [ebp-56], xmm5; movsd qword [ebp-64], xmm4
2595 | movsd qword [ebp-72], xmm3; movsd qword [ebp-80], xmm2 2610 | movsd qword [ebp-72], xmm3; movsd qword [ebp-80], xmm2
2596 | movsd qword [ebp-88], xmm1; movsd qword [ebp-96], xmm0 2611 | movsd qword [ebp-88], xmm1; movsd qword [ebp-96], xmm0
2597 |1: 2612 |.endif
2598 | // Caveat: RB is ebp. 2613 | // Caveat: RB is ebp.
2599 | mov L:RB, [DISPATCH+DISPATCH_GL(jit_L)] 2614 | mov L:RB, [DISPATCH+DISPATCH_GL(jit_L)]
2600 | mov BASE, [DISPATCH+DISPATCH_GL(jit_base)] 2615 | mov BASE, [DISPATCH+DISPATCH_GL(jit_base)]
2601 | mov aword [DISPATCH+DISPATCH_J(L)], L:RBa 2616 | mov aword [DISPATCH+DISPATCH_J(L)], L:RBa
2602 | mov L:RB->base, BASE 2617 | mov L:RB->base, BASE
2618 |.if X64WIN
2619 | lea CARG2, [rsp+4*8]
2620 |.elif X64
2621 | mov CARG2, rsp
2622 |.else
2603 | lea FCARG2, [esp+16] 2623 | lea FCARG2, [esp+16]
2624 |.endif
2604 | lea FCARG1, [DISPATCH+GG_DISP2J] 2625 | lea FCARG1, [DISPATCH+GG_DISP2J]
2605 | call extern lj_trace_exit@8 // (jit_State *J, ExitState *ex) 2626 | call extern lj_trace_exit@8 // (jit_State *J, ExitState *ex)
2606 | // Error code returned in eax (RD). 2627 | // Error code returned in eax (RD).
2607 | mov RAa, L:RB->cframe 2628 | mov RAa, L:RB->cframe
2608 | and RAa, CFRAME_RAWMASK 2629 | and RAa, CFRAME_RAWMASK
2630 |.if X64
2631 | mov rsp, RAa // Reposition stack to C frame.
2632 |.else
2609 | mov esp, RAa // Reposition stack to C frame. 2633 | mov esp, RAa // Reposition stack to C frame.
2634 |.endif
2610 | mov SAVE_L, L:RB // Needed for on-trace resume/yield. 2635 | mov SAVE_L, L:RB // Needed for on-trace resume/yield.
2611 | test RD, RD; jnz >1 // Check for error from exit. 2636 | test RD, RD; jnz >1 // Check for error from exit.
2612 | mov BASE, L:RB->base 2637 | mov BASE, L:RB->base
2613 | mov PC, SAVE_PC 2638 | mov PC, SAVE_PC
2614 |.endif
2615#endif 2639#endif
2616 |->vm_exit_interp: 2640 |->vm_exit_interp:
2617#if LJ_HASJIT 2641#if LJ_HASJIT
@@ -4681,7 +4705,11 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
4681#if LJ_HASJIT 4705#if LJ_HASJIT
4682 | ins_AD // RA = base (ignored), RD = traceno 4706 | ins_AD // RA = base (ignored), RD = traceno
4683 | mov RA, [DISPATCH+DISPATCH_J(trace)] 4707 | mov RA, [DISPATCH+DISPATCH_J(trace)]
4708 |.if X64
4709 | mov TRACE:RD, [RA+RD*8]
4710 |.else
4684 | mov TRACE:RD, [RA+RD*4] 4711 | mov TRACE:RD, [RA+RD*4]
4712 |.endif
4685 | mov RDa, TRACE:RD->mcode 4713 | mov RDa, TRACE:RD->mcode
4686 | mov L:RB, SAVE_L 4714 | mov L:RB, SAVE_L
4687 | mov [DISPATCH+DISPATCH_GL(jit_base)], BASE 4715 | mov [DISPATCH+DISPATCH_GL(jit_base)], BASE
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 9253bc21..0cbf9c68 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15189] = { 15static const unsigned char build_actionlist[15179] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, 17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,199, 18 20,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,199,
@@ -98,224 +98,224 @@ static const unsigned char build_actionlist[15189] = {
98 106,252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137, 98 106,252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,
99 105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36, 99 105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,
100 20,252,233,244,56,248,57,129,252,248,239,15,130,244,55,139,106,4,184,237, 100 20,252,233,244,56,248,57,129,252,248,239,15,130,244,55,139,106,4,184,237,
101 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,139, 101 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,
102 106,252,248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66, 102 2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,
103 252,248,252,233,244,58,248,59,129,252,248,239,15,130,244,55,139,106,4,139, 103 137,66,252,248,252,233,244,58,248,59,129,252,248,239,15,130,244,55,139,106,
104 114,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2, 104 4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,
105 133,252,237,199,66,252,252,237,15,132,244,58,139,131,233,199,66,252,252,237, 105 248,2,133,252,237,199,66,252,252,237,15,132,244,58,139,131,233,199,66,252,
106 137,106,252,248,139,141,233,255,35,136,233,105,201,239,3,141,233,248,3,129, 106 252,237,255,137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,
107 185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133, 107 248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,
108 201,15,133,244,3,252,233,244,58,248,5,139,105,4,129,252,253,239,15,132,244, 108 137,233,133,201,15,133,244,3,252,233,244,58,248,5,139,105,4,129,252,253,239,
109 58,255,139,1,137,106,252,252,137,66,252,248,252,233,244,58,248,6,129,252, 109 255,15,132,244,58,139,1,137,106,252,252,137,66,252,248,252,233,244,58,248,
110 253,239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247, 110 6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,
111 213,139,172,253,171,233,252,233,244,2,248,60,129,252,248,239,15,130,244,55, 111 7,252,247,213,139,172,253,171,233,252,233,244,2,248,60,129,252,248,239,15,
112 129,122,253,4,239,15,133,244,55,255,139,42,131,189,233,0,15,133,244,55,129, 112 130,244,55,255,129,122,253,4,239,15,133,244,55,139,42,131,189,233,0,15,133,
113 122,253,12,239,15,133,244,55,139,66,8,137,133,233,139,114,252,252,199,66, 113 244,55,129,122,253,12,239,15,133,244,55,139,66,8,137,133,233,139,114,252,
114 252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233, 114 252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,
115 235,139,131,233,137,171,233,137,133,233,248,1,252,233,244,58,248,61,255,129, 115 128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,255,252,233,244,
116 252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,139,2,139,108,36, 116 58,248,61,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,139,
117 48,137,68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,9,137,252, 117 2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,
118 234,139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233, 118 1,9,137,252,234,139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,
119 244,58,248,62,129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244, 119 252,252,233,244,58,248,62,129,252,248,239,15,133,244,55,129,122,253,4,239,
120 55,255,252,242,15,16,2,252,233,244,63,255,221,2,252,233,244,64,255,248,65, 120 15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,2,252,233,244,64,
121 129,252,248,239,15,130,244,55,139,114,252,252,129,122,253,4,239,15,133,244, 121 255,248,65,129,252,248,239,15,130,244,55,139,114,252,252,129,122,253,4,239,
122 249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,58,248,3,129, 122 15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,
123 122,253,4,239,15,135,244,55,131,187,233,0,15,133,244,55,139,171,233,59,171, 123 58,248,3,129,122,253,4,239,15,135,244,55,131,187,233,0,15,133,244,55,139,
124 233,255,15,130,244,247,232,244,66,248,1,139,108,36,48,137,149,233,137,116, 124 171,233,59,171,233,255,15,130,244,247,232,244,66,248,1,139,108,36,48,137,
125 36,24,137,252,233,232,251,1,10,139,149,233,252,233,244,2,248,67,129,252,248, 125 149,233,137,116,36,24,137,252,233,232,251,1,10,139,149,233,252,233,244,2,
126 239,15,130,244,55,15,132,244,248,248,1,129,122,253,4,239,15,133,244,55,139, 126 248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129,122,253,4,239,
127 108,36,48,137,149,233,255,139,114,252,252,139,2,137,68,36,4,137,44,36,131, 127 15,133,244,55,139,108,36,48,137,149,233,255,139,114,252,252,139,2,137,68,
128 194,8,137,84,36,8,137,116,36,24,232,251,1,11,139,149,233,133,192,15,132,244, 128 36,4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,11,139,149,233,
129 249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,139,106,16,139,66, 129 133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,
130 20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2,199,66,12,237,252, 130 139,106,16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2,
131 233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70,129,252,248,239, 131 199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70,
132 15,130,244,55,139,106,252,248,129,122,253,4,239,255,15,133,244,55,139,133, 132 129,252,248,239,15,130,244,55,139,106,252,248,129,122,253,4,239,255,15,133,
133 233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237, 133 244,55,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,
134 252,233,244,69,248,71,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 134 66,12,237,184,237,252,233,244,69,248,71,129,252,248,239,15,130,244,55,129,
135 133,244,55,129,122,253,12,239,15,135,244,55,139,114,252,252,255,252,242,15, 135 122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,114,252,
136 16,66,8,189,0,0,252,240,63,102,15,110,205,102,15,112,201,81,252,242,15,88, 136 252,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205,102,15,112,201,
137 193,252,242,15,45,192,252,242,15,17,66,252,248,255,221,66,8,217,232,222,193, 137 81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,221,66,
138 219,20,36,221,90,252,248,139,4,36,255,139,42,59,133,233,15,131,244,248,193, 138 8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139,42,59,133,233,
139 224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,72,139,40,139,64,4,137, 139 15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,72,
140 42,137,66,4,252,233,244,68,248,2,131,189,233,0,15,132,244,72,137,252,233, 140 139,40,139,64,4,137,42,137,66,4,252,233,244,68,248,2,131,189,233,0,15,132,
141 137,213,137,194,232,251,1,12,137,252,234,133,192,15,133,244,1,248,72,184, 141 244,72,137,252,233,137,213,137,194,232,251,1,12,137,252,234,133,192,15,133,
142 237,252,233,244,69,248,73,255,129,252,248,239,15,130,244,55,139,106,252,248, 142 244,1,248,72,184,237,252,233,244,69,248,73,255,129,252,248,239,15,130,244,
143 129,122,253,4,239,15,133,244,55,139,133,233,139,114,252,252,199,66,252,252, 143 55,139,106,252,248,129,122,253,4,239,15,133,244,55,139,133,233,139,114,252,
144 237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90, 144 252,199,66,252,252,237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,
145 8,255,184,237,252,233,244,69,248,74,129,252,248,239,15,130,244,55,141,74, 145 217,252,238,221,90,8,255,184,237,252,233,244,69,248,74,129,252,248,239,15,
146 8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,1,252, 146 130,244,55,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,
147 238,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253,12,239, 147 131,229,1,1,252,238,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,
148 15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,8,137, 148 122,253,12,239,15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,
149 106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,76,129,252,248, 149 139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,
150 239,15,130,244,55,139,42,139,114,252,252,137,116,36,24,137,44,36,129,122, 150 76,129,252,248,239,15,130,244,55,139,42,139,114,252,252,137,116,36,24,137,
151 253,4,239,15,133,244,55,131,189,233,0,15,133,244,55,128,189,233,235,15,135, 151 44,36,129,122,253,4,239,15,133,244,55,131,189,233,0,15,133,244,55,128,189,
152 244,55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55,248,1,141, 152 233,235,15,135,244,55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,
153 116,193,252,240,59,181,233,15,135,244,55,137,181,233,139,108,36,48,137,149, 153 55,248,1,141,116,193,252,240,59,181,233,15,135,244,55,137,181,233,139,108,
154 233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,15,132,244,249, 154 36,48,137,149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,
155 248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57, 155 15,132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,
156 206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244, 156 252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,
157 24,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129,252,248,239, 157 36,8,232,244,24,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129,
158 15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206, 158 252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,
159 15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,41, 159 252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,
160 205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133, 160 255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,
161 244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24,137,68,36,20, 161 252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24,
162 185,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,252, 162 137,68,36,20,185,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,
163 233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233, 163 244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,
164 139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,36,137,185, 164 137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,
165 233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,248,77, 165 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,
166 139,106,252,248,139,173,233,139,114,252,252,137,116,36,24,137,44,36,131,189, 166 244,4,248,77,139,106,252,248,139,173,233,139,114,252,252,137,116,36,24,137,
167 233,0,15,133,244,55,255,128,189,233,235,15,135,244,55,139,141,233,15,132, 167 44,36,131,189,233,0,15,133,244,55,255,128,189,233,235,15,135,244,55,139,141,
168 244,247,59,141,233,15,132,244,55,248,1,141,116,193,252,248,59,181,233,15, 168 233,15,132,244,247,59,141,233,15,132,244,55,248,1,141,116,193,252,248,59,
169 135,244,55,137,181,233,139,108,36,48,137,149,233,137,149,233,141,108,194, 169 181,233,15,135,244,55,137,181,233,139,108,36,48,137,149,233,137,149,233,141,
170 252,240,41,252,245,57,206,15,132,244,249,248,2,255,139,68,46,4,137,70,252, 170 108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139,68,46,4,137,
171 252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76, 171 70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,
172 36,4,49,201,137,76,36,12,137,76,36,8,232,244,24,199,131,233,237,139,108,36, 172 3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,24,199,131,233,237,
173 48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233, 173 139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,248,4,
174 139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252, 174 139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,
175 238,3,59,133,233,15,135,244,255,255,137,213,41,205,248,5,139,1,137,4,41,139, 175 4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,41,205,248,5,139,
176 65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139, 176 1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,
177 116,36,24,137,68,36,20,49,201,252,247,198,237,15,132,244,13,252,233,244,14, 177 70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132,244,13,
178 248,8,137,252,242,137,252,233,232,251,1,13,248,9,139,12,36,137,185,233,137, 178 252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,13,248,9,139,12,36,
179 252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,248,78,139,108, 179 137,185,233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,
180 36,48,252,247,133,233,237,15,132,244,55,255,137,149,233,141,68,194,252,248, 180 248,78,139,108,36,48,252,247,133,233,237,15,132,244,55,255,137,149,233,141,
181 137,133,233,49,192,137,133,233,176,235,136,133,233,252,233,244,16,255,248, 181 68,194,252,248,137,133,233,49,192,137,133,233,176,235,136,133,233,252,233,
182 64,139,114,252,252,221,90,252,248,252,233,244,58,248,79,129,252,248,239,15, 182 244,16,255,248,64,139,114,252,252,221,90,252,248,252,233,244,58,248,79,129,
183 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,102,15,252,239, 183 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,
184 201,102,15,118,201,102,15,115,209,1,15,84,193,248,63,139,114,252,252,252, 184 102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,248,63,139,114,
185 242,15,17,66,252,248,255,248,79,129,252,248,239,15,130,244,55,129,122,253, 185 252,252,252,242,15,17,66,252,248,255,248,79,129,252,248,239,15,130,244,55,
186 4,239,15,135,244,55,221,2,217,225,248,63,248,64,139,114,252,252,221,90,252, 186 129,122,253,4,239,15,135,244,55,221,2,217,225,248,63,248,64,139,114,252,252,
187 248,255,248,58,184,237,248,69,137,68,36,20,248,56,252,247,198,237,15,133, 187 221,90,252,248,255,248,58,184,237,248,69,137,68,36,20,248,56,252,247,198,
188 244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,252,247,209, 188 237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,252,
189 141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 189 247,209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
190 248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,185,252,248,252, 190 36,171,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,185,252,
191 255,252,255,252,255,252,233,244,14,255,248,80,129,252,248,239,15,130,244, 191 248,252,255,252,255,252,255,252,233,244,14,255,248,80,129,252,248,239,15,
192 55,129,122,253,4,239,15,135,244,55,252,242,15,81,2,252,233,244,63,248,81, 192 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,81,2,252,233,244,63,
193 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15, 193 248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,
194 16,2,232,244,82,252,233,244,63,248,83,255,129,252,248,239,15,130,244,55,129, 194 242,15,16,2,232,244,82,252,233,244,63,248,83,255,129,252,248,239,15,130,244,
195 122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,84,252,233,244,63,255, 195 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,84,252,233,244,
196 248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221, 196 63,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
197 2,217,252,250,252,233,244,64,248,81,129,252,248,239,15,130,244,55,129,122, 197 55,221,2,217,252,250,252,233,244,64,248,81,129,252,248,239,15,130,244,55,
198 253,4,239,15,135,244,55,221,2,232,244,82,252,233,244,64,248,83,255,129,252, 198 129,122,253,4,239,15,135,244,55,221,2,232,244,82,252,233,244,64,248,83,255,
199 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,84,252, 199 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,
200 233,244,64,255,248,85,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 200 84,252,233,244,64,255,248,85,129,252,248,239,15,130,244,55,129,122,253,4,
201 135,244,55,217,252,237,221,2,217,252,241,252,233,244,64,248,86,129,252,248, 201 239,15,135,244,55,217,252,237,221,2,217,252,241,252,233,244,64,248,86,129,
202 239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,236,221,2,217,252, 202 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,236,221,
203 241,252,233,244,64,248,87,129,252,248,239,255,15,130,244,55,129,122,253,4, 203 2,217,252,241,252,233,244,64,248,87,129,252,248,239,255,15,130,244,55,129,
204 239,15,135,244,55,221,2,232,244,88,252,233,244,64,248,89,129,252,248,239, 204 122,253,4,239,15,135,244,55,221,2,232,244,88,252,233,244,64,248,89,129,252,
205 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,254,252,233,244, 205 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,254,252,
206 64,248,90,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15,135,244, 206 233,244,64,248,90,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15,
207 55,221,2,217,252,255,252,233,244,64,248,91,129,252,248,239,15,130,244,55, 207 135,244,55,221,2,217,252,255,252,233,244,64,248,91,129,252,248,239,15,130,
208 129,122,253,4,239,15,135,244,55,221,2,217,252,242,221,216,252,233,244,64, 208 244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,242,221,216,252,233,
209 248,92,129,252,248,239,15,130,244,55,255,129,122,253,4,239,15,135,244,55, 209 244,64,248,92,129,252,248,239,15,130,244,55,255,129,122,253,4,239,15,135,
210 221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,233,244, 210 244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
211 64,248,93,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221, 211 233,244,64,248,93,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
212 2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,243,252,233, 212 244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
213 244,64,248,94,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 213 243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129,122,253,4,239,
214 55,255,221,2,217,232,217,252,243,252,233,244,64,255,248,95,129,252,248,239, 214 15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64,255,248,95,129,
215 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,252,242,15, 215 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,
216 17,4,36,255,248,95,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, 216 252,242,15,17,4,36,255,248,95,129,252,248,239,15,130,244,55,129,122,253,4,
217 244,55,221,2,221,28,36,255,137,213,232,251,1,14,137,252,234,252,233,244,64, 217 239,15,135,244,55,221,2,221,28,36,255,137,213,232,251,1,14,137,252,234,252,
218 255,248,96,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, 218 233,244,64,255,248,96,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
219 252,242,15,16,2,252,242,15,17,4,36,255,248,96,129,252,248,239,15,130,244, 219 135,244,55,252,242,15,16,2,252,242,15,17,4,36,255,248,96,129,252,248,239,
220 55,129,122,253,4,239,15,135,244,55,221,2,221,28,36,255,137,213,232,251,1, 220 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,221,28,36,255,137,213,
221 15,137,252,234,252,233,244,64,255,248,97,129,252,248,239,15,130,244,55,129, 221 232,251,1,15,137,252,234,252,233,244,64,255,248,97,129,252,248,239,15,130,
222 122,253,4,239,15,135,244,55,252,242,15,16,2,252,242,15,17,4,36,255,248,97, 222 244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,252,242,15,17,4,36,
223 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,221,28, 223 255,248,97,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,
224 36,255,137,213,232,251,1,16,137,252,234,252,233,244,64,248,98,255,248,99, 224 221,2,221,28,36,255,137,213,232,251,1,16,137,252,234,252,233,244,64,248,98,
225 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15, 225 255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,
226 16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,63,255,248,99,129, 226 252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,63,255,
227 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,139,106,252, 227 248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
228 248,220,141,233,252,233,244,64,255,248,100,129,252,248,239,15,130,244,55, 228 2,139,106,252,248,220,141,233,252,233,244,64,255,248,100,129,252,248,239,
229 15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,
230 55,221,2,221,66,8,217,252,243,252,233,244,64,248,101,129,252,248,239,15,130,
231 244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,255,15,135,244,
232 55,221,66,8,221,2,217,252,253,221,217,252,233,244,64,248,102,129,252,248,
233 239,15,130,244,55,139,106,4,129,252,253,239,15,135,244,55,139,114,252,252,
234 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,
235 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,
236 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,
237 108,36,16,219,68,36,16,255,139,106,252,252,129,229,252,255,252,255,15,128,
238 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,
239 184,237,252,233,244,69,248,3,255,15,87,192,252,233,244,2,255,217,252,238,
240 252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110,205,
241 102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,
242 68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139,106,252,252,184,52,
243 4,0,0,209,229,252,233,244,1,255,248,103,129,252,248,239,15,130,244,55,129,
244 122,253,4,239,15,135,244,55,252,242,15,16,2,255,248,103,129,252,248,239,15,
245 130,244,55,129,122,253,4,239,15,135,244,55,221,2,255,139,106,4,139,114,252,
246 252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,
247 244,104,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,
248 255,217,192,232,244,104,220,252,233,248,1,221,90,252,248,221,26,255,139,66,
249 252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,69,248,
250 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,
251 244,1,255,217,252,238,217,201,252,233,244,1,255,248,105,129,252,248,239,15,
252 130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,
253 55,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,
254 233,244,64,255,248,106,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
255 135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,
256 74,8,232,244,107,252,233,244,63,255,248,106,129,252,248,239,15,130,244,55,
229 129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,2,221, 257 129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,
230 66,8,217,252,243,252,233,244,64,248,101,129,252,248,239,15,130,244,55,129, 258 66,8,232,244,107,252,233,244,64,255,248,108,129,252,248,239,15,130,244,55,
231 122,253,4,239,15,135,244,55,129,122,253,12,239,255,15,135,244,55,221,66,8, 259 129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,
232 221,2,217,252,253,221,217,252,233,244,64,248,102,129,252,248,239,15,130,244, 260 15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,252,242,15,16,
233 55,139,106,4,129,252,253,239,15,135,244,55,139,114,252,252,139,2,137,106, 261 76,252,234,252,248,252,242,15,93,193,131,197,1,252,233,244,1,255,248,108,
234 252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249, 262 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,189,2,
235 9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250, 263 0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,234,252,252,239,15,135,244,
236 248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,108,36,16,219,68, 264 251,221,68,252,234,252,248,255,219,252,233,219,209,221,217,255,80,221,225,
237 36,16,255,139,106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224, 265 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,109,
238 63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233, 266 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,
239 244,69,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255, 267 16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,
240 248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110,205,102,15,112,201,81, 268 15,135,244,55,252,242,15,16,76,252,234,252,248,252,242,15,95,193,131,197,
241 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,68,36,16,0,0,128, 269 1,252,233,244,1,255,248,109,129,252,248,239,15,130,244,55,129,122,253,4,239,
242 90,216,76,36,16,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252, 270 15,135,244,55,221,2,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,
243 233,244,1,255,248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 271 234,252,252,239,15,135,244,251,221,68,252,234,252,248,255,219,252,233,218,
244 135,244,55,252,242,15,16,2,255,248,103,129,252,248,239,15,130,244,55,129, 272 209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201,248,
245 122,253,4,239,15,135,244,55,221,2,255,139,106,4,139,114,252,252,209,229,129, 273 2,221,216,88,255,248,5,221,216,252,233,244,55,255,248,110,129,252,248,239,
246 252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,104,252,242, 274 15,130,244,55,129,122,253,4,239,15,133,244,55,139,42,255,252,242,15,42,133,
247 15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232, 275 233,252,233,244,63,255,219,133,233,252,233,244,64,255,248,111,129,252,248,
248 244,104,220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106, 276 239,15,133,244,55,129,122,253,4,239,15,133,244,55,139,42,139,114,252,252,
249 4,49,232,15,136,244,249,248,2,184,237,252,233,244,69,248,3,129,252,245,0, 277 131,189,233,1,15,130,244,72,15,182,173,233,255,252,242,15,42,197,252,233,
250 0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217, 278 244,63,255,137,108,36,16,219,68,36,16,252,233,244,64,255,248,112,139,171,
251 252,238,217,201,252,233,244,1,255,248,105,129,252,248,239,15,130,244,55,129, 279 233,59,171,233,15,130,244,247,232,244,66,248,1,129,252,248,239,15,133,244,
252 122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,66,8,221, 280 55,129,122,253,4,239,15,135,244,55,255,252,242,15,45,2,61,252,255,0,0,0,15,
253 2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,233,244,64,255,248, 281 135,244,55,137,68,36,20,255,221,2,219,92,36,20,129,124,36,20,252,255,0,0,
254 106,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122, 282 0,15,135,244,55,255,199,68,36,8,1,0,0,0,141,68,36,20,248,113,139,108,36,48,
255 253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,232,244,107,252, 283 137,149,233,137,68,36,4,137,44,36,137,116,36,24,232,251,1,17,139,149,233,
256 233,244,63,255,248,106,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 284 139,114,252,252,199,66,252,252,237,137,66,252,248,252,233,244,58,248,114,
257 135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,232,244,107,252, 285 139,171,233,59,171,233,15,130,244,247,232,244,66,248,1,199,68,36,20,252,255,
258 233,244,64,255,248,108,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 286 252,255,252,255,252,255,129,252,248,239,15,130,244,55,15,134,244,247,129,
259 135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124, 287 122,253,20,239,255,252,242,15,45,106,16,137,108,36,20,255,221,66,16,219,92,
260 253,252,234,252,252,239,15,135,244,55,252,242,15,16,76,252,234,252,248,252, 288 36,20,255,248,1,129,122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,
261 242,15,93,193,131,197,1,252,233,244,1,255,248,108,129,252,248,239,15,130, 289 244,55,139,42,137,108,36,12,139,173,233,255,252,242,15,45,74,8,255,221,66,
262 244,55,129,122,253,4,239,15,135,244,55,221,2,189,2,0,0,0,248,1,57,197,15, 290 8,219,92,36,8,139,76,36,8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,
263 131,244,64,129,124,253,252,234,252,252,239,15,135,244,251,221,68,252,234, 291 201,15,142,244,253,248,3,139,108,36,12,41,200,15,140,244,115,141,172,253,
264 252,248,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252,246,196, 292 13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,244,113,248,5,15,140,244,
265 1,15,132,244,248,217,201,248,2,221,216,88,255,248,109,129,252,248,239,15, 293 252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,
266 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,248, 294 244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,
267 1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,252, 295 248,115,49,192,252,233,244,4,248,116,129,252,248,239,15,130,244,55,139,171,
268 242,15,16,76,252,234,252,248,252,242,15,95,193,131,197,1,252,233,244,1,255, 296 233,59,171,233,15,130,244,247,232,244,66,248,1,255,129,122,253,4,239,15,133,
269 248,109,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221, 297 244,55,129,122,253,12,239,15,135,244,55,139,42,255,252,242,15,45,66,8,255,
270 2,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,234,252,252,239, 298 221,66,8,219,92,36,20,139,68,36,20,255,133,192,15,142,244,115,131,189,233,
271 15,135,244,251,221,68,252,234,252,248,255,219,252,233,218,209,221,217,255, 299 1,15,130,244,115,15,133,244,117,57,131,233,15,130,244,117,15,182,141,233,
272 80,221,225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,88, 300 139,171,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,
273 255,248,5,221,216,252,233,244,55,255,248,110,129,252,248,239,15,130,244,55, 301 131,233,252,233,244,113,248,118,129,252,248,239,255,15,130,244,55,139,171,
274 129,122,253,4,239,15,133,244,55,139,42,255,252,242,15,42,133,233,252,233, 302 233,59,171,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133,244,
275 244,63,255,219,133,233,252,233,244,64,255,248,111,129,252,248,239,15,133, 303 55,139,42,139,133,233,133,192,15,132,244,115,57,131,233,15,130,244,119,129,
276 244,55,129,122,253,4,239,15,133,244,55,139,42,139,114,252,252,131,189,233, 304 197,239,137,116,36,20,137,68,36,8,139,179,233,248,1,255,15,182,77,0,131,197,
277 1,15,130,244,72,15,182,173,233,255,252,242,15,42,197,252,233,244,63,255,137, 305 1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116,36,20,252,233,244,113,
278 108,36,16,219,68,36,16,252,233,244,64,255,248,112,139,171,233,59,171,233, 306 248,120,129,252,248,239,15,130,244,55,139,171,233,59,171,233,15,130,244,247,
279 15,130,244,247,232,244,66,248,1,129,252,248,239,15,133,244,55,129,122,253, 307 232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,57,131,
280 4,239,15,135,244,55,255,252,242,15,45,2,61,252,255,0,0,0,15,135,244,55,137, 308 233,255,15,130,244,119,129,197,239,137,116,36,20,137,68,36,8,139,179,233,
281 68,36,20,255,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,55, 309 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,
282 255,199,68,36,8,1,0,0,0,141,68,36,20,248,113,139,108,36,48,137,149,233,137, 310 249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,
283 68,36,4,137,44,36,137,116,36,24,232,251,1,17,139,149,233,139,114,252,252, 311 244,1,137,252,240,139,116,36,20,252,233,244,113,248,121,129,252,248,239,15,
284 199,66,252,252,237,137,66,252,248,252,233,244,58,248,114,139,171,233,59,171, 312 130,244,55,255,139,171,233,59,171,233,15,130,244,247,232,244,66,248,1,129,
285 233,15,130,244,247,232,244,66,248,1,199,68,36,20,252,255,252,255,252,255, 313 122,253,4,239,15,133,244,55,139,42,139,133,233,57,131,233,15,130,244,119,
286 252,255,129,252,248,239,15,130,244,55,15,134,244,247,129,122,253,20,239,255, 314 129,197,239,137,116,36,20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,
287 252,242,15,45,106,16,137,108,36,20,255,221,66,16,219,92,36,20,255,248,1,129, 315 182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,
288 122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,137,108, 316 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,
289 36,12,139,173,233,255,252,242,15,45,74,8,255,221,66,8,219,92,36,8,139,76, 317 116,36,20,252,233,244,113,248,122,129,252,248,239,15,130,244,55,129,122,253,
290 36,8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253, 318 4,239,15,133,244,55,137,213,139,10,232,251,1,18,137,252,234,255,252,242,15,
291 248,3,139,108,36,12,41,200,15,140,244,115,141,172,253,13,233,131,192,1,248,
292 4,137,68,36,8,137,232,252,233,244,113,248,5,15,140,244,252,141,68,40,1,252,
293 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,
294 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,115,49,192,252,
295 233,244,4,248,116,129,252,248,239,15,130,244,55,139,171,233,59,171,233,15,
296 130,244,247,232,244,66,248,1,255,129,122,253,4,239,15,133,244,55,129,122,
297 253,12,239,15,135,244,55,139,42,255,252,242,15,45,66,8,255,221,66,8,219,92,
298 36,20,139,68,36,20,255,133,192,15,142,244,115,131,189,233,1,15,130,244,115,
299 15,133,244,117,57,131,233,15,130,244,117,15,182,141,233,139,171,233,137,68,
300 36,8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,
301 244,113,248,118,129,252,248,239,255,15,130,244,55,139,171,233,59,171,233,
302 15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,42,139,
303 133,233,133,192,15,132,244,115,57,131,233,15,130,244,119,129,197,239,137,
304 116,36,20,137,68,36,8,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,
305 1,136,12,6,15,133,244,1,137,252,240,139,116,36,20,252,233,244,113,248,120,
306 129,252,248,239,15,130,244,55,139,171,233,59,171,233,15,130,244,247,232,244,
307 66,248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,57,131,233,255,
308 15,130,244,119,129,197,239,137,116,36,20,137,68,36,8,139,179,233,252,233,
309 244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,
310 15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,
311 137,252,240,139,116,36,20,252,233,244,113,248,121,129,252,248,239,15,130,
312 244,55,255,139,171,233,59,171,233,15,130,244,247,232,244,66,248,1,129,122,
313 253,4,239,15,133,244,55,139,42,139,133,233,57,131,233,15,130,244,119,129,
314 197,239,137,116,36,20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,
315 76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,
316 252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,
317 36,20,252,233,244,113,248,122,129,252,248,239,15,130,244,55,129,122,253,4,
318 239,15,133,244,55,137,213,139,10,232,251,1,18,137,252,234,255,252,242,15,
319 42,192,252,233,244,63,255,137,4,36,219,4,36,252,233,244,64,255,248,123,129, 319 42,192,252,233,244,63,255,137,4,36,219,4,36,252,233,244,64,255,248,123,129,
320 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2, 320 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,
321 189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,102,15,126, 321 189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,102,15,126,
@@ -413,259 +413,258 @@ static const unsigned char build_actionlist[15189] = {
413 41,208,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,143, 413 41,208,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,143,
414 255,85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252,248,137, 414 255,85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252,248,137,
415 125,252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237,137,131, 415 125,252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237,137,131,
416 233,137,139,233,129,252,236,239,252,247,131,233,237,15,132,244,247,252,242, 416 233,137,139,233,129,252,236,239,252,242,15,17,125,216,252,242,15,17,117,208,
417 15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252,242,15,17,101, 417 252,242,15,17,109,200,252,242,15,17,101,192,252,242,15,17,93,184,252,242,
418 192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17,77,168,252,242, 418 15,17,85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147,
419 15,17,69,160,248,1,139,171,233,139,147,233,137,171,233,137,149,233,141,84, 419 233,137,171,233,137,149,233,141,84,36,16,141,139,233,232,251,1,23,139,141,
420 36,16,141,139,233,232,251,1,23,139,141,233,129,225,239,137,204,137,108,36, 420 233,129,225,239,137,204,137,108,36,48,133,192,15,133,244,247,139,149,233,
421 48,133,192,15,133,244,247,255,139,149,233,139,116,36,24,255,248,144,255,139, 421 139,116,36,24,255,248,144,255,139,122,252,248,139,191,233,139,191,233,199,
422 122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139, 422 131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,
423 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,1,137,252, 423 232,16,252,255,36,171,248,1,137,252,233,137,194,232,251,1,24,255,248,82,255,
424 233,137,194,232,251,1,24,255,248,82,255,217,124,36,4,137,68,36,8,102,184, 424 217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,
425 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, 425 102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,
426 252,252,217,108,36,4,139,68,36,8,195,255,248,145,102,15,252,239,210,102,15, 426 248,145,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,
427 118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15, 427 102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,
428 40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15, 428 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,
429 88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,63,102,15,110,208, 429 184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,
430 102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15, 430 102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,
431 40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68, 431 4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,
432 36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217, 432 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146,102,
433 108,36,4,139,68,36,8,195,255,248,146,102,15,252,239,210,102,15,118,210,102, 433 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,
434 15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102, 434 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
435 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252, 435 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,
436 242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112, 436 191,102,15,110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,
437 210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248, 437 242,15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,
438 1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102, 438 184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
439 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248, 439 36,4,139,68,36,8,195,255,248,147,102,15,252,239,210,102,15,118,210,102,15,
440 147,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102, 440 115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,
441 15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134, 441 84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,
442 244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0, 442 203,252,242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,
443 0,252,240,63,102,15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15, 443 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,
444 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15, 444 193,248,1,195,248,148,255,15,40,232,252,242,15,94,193,102,15,252,239,210,
445 40,232,252,242,15,94,193,102,15,252,239,210,102,15,118,210,102,15,115,210, 445 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,
446 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,224,102,15,84,226, 446 81,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,
447 102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92, 447 242,15,88,227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,
448 227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252, 448 208,102,15,112,210,81,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,
449 242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89, 449 15,40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,
450 204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92, 450 15,40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,
451 193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102, 451 184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,
452 37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, 452 6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,248,88,217,252,234,
453 222,201,222,252,233,195,255,248,88,217,252,234,222,201,248,149,217,84,36, 453 222,201,248,149,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,
454 4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4,0,0,128,252,255,15, 454 36,4,0,0,128,252,255,15,132,244,248,248,150,217,192,217,252,252,220,252,233,
455 132,244,248,248,150,217,192,217,252,252,220,252,233,217,201,217,252,240,217, 455 217,201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,
456 232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255, 456 216,217,252,238,195,255,248,107,219,84,36,4,219,68,36,4,255,223,252,233,255,
457 248,107,219,84,36,4,219,68,36,4,255,223,252,233,255,221,252,233,223,224,158, 457 221,252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,
458 255,15,133,244,254,15,138,244,255,221,216,139,68,36,4,131,252,248,1,15,142, 458 36,4,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,
459 244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209,232,252,233,244,1,248, 459 209,232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,
460 2,209,232,15,132,244,251,217,192,248,3,216,200,209,232,15,132,244,250,15, 460 209,232,15,132,244,250,15,131,244,3,220,201,252,233,244,3,248,4,255,222,201,
461 131,244,3,220,201,252,233,244,3,248,4,255,222,201,248,5,195,248,6,15,132, 461 248,5,195,248,6,15,132,244,5,15,130,244,253,217,232,222,252,241,252,247,216,
462 244,5,15,130,244,253,217,232,222,252,241,252,247,216,131,252,248,1,15,132, 462 131,252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,
463 244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217,84,36,4,217,201,217, 463 217,84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,
464 84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244,248,139,68,36,8,209, 464 244,248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,
465 224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217,252,241,252,233,244, 465 217,252,241,252,233,244,150,248,9,255,217,232,255,223,252,234,255,221,252,
466 150,248,9,255,217,232,255,223,252,234,255,221,252,234,223,224,158,255,15, 466 234,223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,
467 132,244,247,217,201,248,1,221,216,195,248,2,217,225,217,232,255,15,132,244, 467 217,232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,
468 249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4, 468 208,209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,
469 15,137,244,249,217,201,248,3,221,217,217,225,195,248,4,131,124,36,4,0,15, 469 4,131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,
470 141,244,3,221,216,221,216,133,192,15,132,244,251,217,252,238,195,248,5,199, 470 252,238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,107,255,
471 68,36,4,0,0,128,127,217,68,36,4,195,255,248,107,255,248,151,252,242,15,45, 471 248,151,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,
472 193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,152, 472 15,138,244,255,248,152,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,
473 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15, 473 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,
474 89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,3, 474 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,
475 252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,200, 475 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,
476 252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130, 476 6,15,132,244,5,15,130,244,253,80,184,0,0,252,240,63,102,15,110,200,102,15,
477 244,253,80,184,0,0,252,240,63,102,15,110,200,102,15,112,201,81,252,242,15, 477 112,201,81,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,
478 94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1, 478 244,5,252,233,244,1,248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192,
479 248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242, 479 81,195,248,8,252,242,15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0,
480 15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68, 480 15,133,244,247,139,68,36,16,209,224,61,0,0,224,252,255,15,132,244,248,248,
481 36,16,209,224,61,0,0,224,252,255,15,132,244,248,248,1,255,131,124,36,4,0, 481 1,255,131,124,36,4,0,15,133,244,247,139,68,36,8,209,224,15,132,244,250,61,
482 15,133,244,247,139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132, 482 0,0,224,252,255,15,132,244,251,248,1,221,68,36,12,221,68,36,4,217,252,241,
483 244,251,248,1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220, 483 217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,
484 252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36, 484 253,221,217,221,92,36,4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63,
485 4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15, 485 102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,244,247,15,40,193,248,
486 112,210,81,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15, 486 1,195,248,2,102,15,252,239,210,102,15,118,210,102,15,115,210,1,102,15,84,
487 252,239,210,102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240, 487 194,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15,46,194,15,
488 63,102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80, 488 132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,
489 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240, 489 248,3,184,0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102,
490 127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133, 490 15,80,193,133,192,15,133,244,3,255,15,87,192,195,248,5,102,15,80,193,133,
491 244,3,255,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192, 491 192,15,132,244,3,15,87,192,195,248,153,255,139,68,36,12,252,242,15,16,68,
492 195,248,153,255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244, 492 36,4,131,252,248,1,15,132,244,247,15,135,244,248,232,244,82,252,233,244,253,
493 247,15,135,244,248,232,244,82,252,233,244,253,248,1,232,244,84,252,233,244, 493 248,1,232,244,84,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135,
494 253,248,2,131,252,248,3,15,132,244,247,15,135,244,248,232,244,104,255,252, 494 244,248,232,244,104,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252,
495 233,244,253,248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36, 495 242,15,17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130,
496 4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,88,15,132,244,149,248,2, 496 244,88,15,132,244,149,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217,
497 131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241, 497 252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,
498 195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244, 498 2,131,252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217,
499 247,15,135,244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252, 499 252,241,195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,
500 254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195, 500 135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12,
501 248,1,217,252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1, 501 221,68,36,4,131,252,248,1,15,130,244,82,15,132,244,84,131,252,248,3,15,130,
502 15,130,244,82,15,132,244,84,131,252,248,3,15,130,244,104,15,135,244,248,217, 502 244,104,15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,88,
503 252,250,195,248,2,131,252,248,5,15,130,244,88,15,132,244,149,131,252,248, 503 15,132,244,149,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,
504 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, 504 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,
505 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15, 505 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,
506 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, 506 1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,
507 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, 507 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255,139,68,
508 252,242,221,216,195,255,248,9,204,248,154,255,139,68,36,20,252,242,15,16, 508 36,20,252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244,
509 68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248, 509 247,15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,
510 252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242, 510 4,195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244,
511 15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 511 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193,
512 252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248, 512 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244,
513 2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244,148,252,233,244, 513 148,252,233,244,7,248,1,90,232,244,107,82,252,233,244,7,248,2,131,252,248,
514 7,248,1,90,232,244,107,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247, 514 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201,
515 15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252, 515 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15,
516 233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84, 516 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248,
517 193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221, 517 221,68,36,4,221,68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217,
518 68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217, 518 252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252,
519 195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193, 519 242,15,93,193,252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,
520 252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68, 520 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,
521 36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248, 521 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,
522 222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135, 522 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,
523 244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244, 523 5,15,130,244,148,15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,
524 148,15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216, 524 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,
525 217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247, 525 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,
526 15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248, 526 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,
527 2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221, 527 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,
528 217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246, 528 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,
529 196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252, 529 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,155,
530 246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,155,156,90,137, 530 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,
531 209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68, 531 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,
532 36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248, 532 12,91,95,248,1,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124,
533 1,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239, 533 253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,
534 15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4, 534 202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,
535 202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158, 535 233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,
536 255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180, 536 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,
537 253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 537 232,16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,15,135,
538 36,171,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124, 538 244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,
539 253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255, 539 15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,
540 221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248, 540 15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,
541 15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255, 541 233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,
542 248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4, 542 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
543 15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15, 543 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,
544 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244, 544 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,
545 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252, 545 0,0,255,252,233,244,45,255,252,247,208,131,198,4,129,124,253,202,4,239,15,
546 233,244,45,255,252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248, 546 133,244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,
547 139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255, 547 244,248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,
548 252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,247,208, 548 252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,
549 131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15, 549 239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,
550 131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255, 550 44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,
551 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131, 551 182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,
552 198,4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,108,202,4, 552 108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
553 137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 553 255,36,171,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,
554 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182, 554 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,
555 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,253,194,4, 555 253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,
556 239,15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102, 556 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,
557 15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28, 557 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,
558 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252, 558 87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,
559 242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28, 559 1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
560 202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 560 36,171,248,2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,
561 2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255, 561 1,18,255,252,242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,
562 252,242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,255,15,182, 562 255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,
563 78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252, 563 124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,
564 234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255, 564 88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,
565 221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252, 565 244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,
566 242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129, 566 4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,
567 124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255, 567 15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,
568 252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255, 568 234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
569 252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199, 569 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
570 255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252, 570 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
571 234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220, 571 4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,
572 36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234, 572 221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,
573 220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199, 573 255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,
574 220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4, 574 194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,
575 252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221, 575 4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,
576 4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255, 576 4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,
577 221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194, 577 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
578 255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12, 578 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
579 199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12, 579 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
580 252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15, 580 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,
581 16,12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233, 581 148,255,252,233,244,156,255,232,244,107,255,15,182,252,236,15,182,192,141,
582 244,156,255,232,244,107,255,15,182,252,236,15,182,192,141,12,194,41,232,137, 582 12,194,41,232,137,76,36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,
583 76,36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36, 583 149,233,137,116,36,24,232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,
584 24,232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,110,252,255,15,182, 584 110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,
585 78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,
586 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,
587 139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,
588 4,193,232,16,252,255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17,
589 4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,
590 4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,
591 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,
592 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,
593 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,
594 106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,
595 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 585 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
596 171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139, 586 171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,
597 12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235, 587 15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,252,242,15,
598 15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 588 42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,
599 255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233, 589 4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,
600 235,15,132,244,1,135,213,141,139,233,255,232,251,1,26,137,252,234,252,233, 590 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
601 244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139, 591 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,
602 133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6, 592 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
603 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,252,246,129, 593 255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,
604 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233, 594 109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
605 232,251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15, 595 16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,
606 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, 596 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,
607 25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65, 597 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
608 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141, 598 232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,
609 180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,149,233,141, 599 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,26,137,252,
610 20,202,137,252,233,232,251,1,27,139,149,233,248,1,139,6,15,182,204,15,182, 600 234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,
611 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,252,248,139, 601 12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,
612 4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116, 602 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
613 36,24,232,251,1,28,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, 603 2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,
614 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,197, 604 194,141,139,233,232,251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,
615 37,252,255,7,0,0,193,252,237,11,61,252,255,7,0,0,15,132,244,249,248,2,137, 605 255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,
616 108,36,8,139,108,36,48,137,68,36,4,137,116,36,24,139,131,233,137,44,36,59, 606 17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,
617 131,233,137,149,233,15,131,244,251,248,1,232,251,1,29,139,149,233,15,182, 607 233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
618 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198, 608 171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,
619 4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252, 609 149,233,141,20,202,137,252,233,232,251,1,27,139,149,233,248,1,139,6,15,182,
620 233,232,251,1,30,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233, 610 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,
621 137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137, 611 252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,
622 252,233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4, 612 233,137,116,36,24,232,251,1,28,139,149,233,15,182,78,252,253,137,4,202,199,
623 237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3, 613 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
624 137,252,233,232,251,1,30,15,183,70,252,254,252,247,208,252,233,244,2,255, 614 171,255,137,197,37,252,255,7,0,0,193,252,237,11,61,252,255,7,0,0,15,132,244,
625 252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255,252, 615 249,248,2,137,108,36,8,139,108,36,48,137,68,36,4,137,116,36,24,139,131,233,
626 247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,15,182, 616 137,44,36,59,131,233,137,149,233,15,131,244,251,248,1,232,251,1,29,139,149,
627 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234, 617 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
628 129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45, 618 232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,
629 192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255, 619 5,137,252,233,232,251,1,30,252,233,244,1,255,252,247,208,139,108,36,48,139,
630 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4, 620 139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,
631 239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15, 621 135,137,252,233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,
632 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233, 622 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
633 0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252, 623 171,248,3,137,252,233,232,251,1,30,15,183,70,252,254,252,247,208,252,233,
634 253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194, 624 244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,
635 252,233,244,157,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124, 625 255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,
636 253,252,234,4,239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,136, 626 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,
637 233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233, 627 252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,
638 15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,41, 628 242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,
639 139,73,4,137,44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,131, 629 4,36,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
640 198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,185,237,252,233,244, 630 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,
641 2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132, 631 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,
642 244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236, 632 233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,
643 15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133, 633 252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,
644 233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248, 634 194,252,233,244,157,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,
645 1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131, 635 124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,
646 198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,141, 636 136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,
647 233,252,246,129,233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,124, 637 233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,
648 253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135, 638 41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,
649 244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129, 639 131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,185,237,252,233,
650 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248, 640 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,
651 2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131, 641 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,
652 198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141, 642 236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,
653 233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,244,1, 643 133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,
654 248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,248,7, 644 248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,
655 128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, 645 131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,
656 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253, 646 141,233,252,246,129,233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,
657 252,234,4,239,15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,233, 647 124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,
658 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251, 648 15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,
659 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252, 649 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
660 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139, 650 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,
661 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 651 232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,
662 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252, 652 139,141,233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,
663 246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137,233, 653 244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,
664 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233, 654 248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,
665 235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68, 655 252,233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,
666 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116, 656 253,252,234,4,239,15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,
667 36,24,232,251,1,32,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7, 657 233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,
668 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15, 658 251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,
659 252,246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,
660 139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
661 252,255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,
662 252,246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137,
663 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
664 233,235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,
665 68,36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,
666 116,36,24,232,251,1,32,139,149,233,139,108,36,12,137,193,252,233,244,2,248,
667 7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
669 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252, 668 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,
670 234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132, 669 234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,
671 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139, 670 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
@@ -1142,405 +1141,404 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1142 } else { 1141 } else {
1143 dasm_put(Dst, 1769); 1142 dasm_put(Dst, 1769);
1144 } 1143 }
1145 dasm_put(Dst, 1778, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask)); 1144 dasm_put(Dst, 1778, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB);
1146 dasm_put(Dst, 1866, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1145 dasm_put(Dst, 1861, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1147 dasm_put(Dst, 1921, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB); 1146 dasm_put(Dst, 1919, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
1148 dasm_put(Dst, 1989, 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)); 1147 dasm_put(Dst, 1982, LJ_TTAB, 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));
1149 dasm_put(Dst, 2058, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1148 dasm_put(Dst, 2054, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1150 if (sse) { 1149 if (sse) {
1151 dasm_put(Dst, 2145); 1150 dasm_put(Dst, 2147);
1152 } else { 1151 } else {
1153 dasm_put(Dst, 2155); 1152 dasm_put(Dst, 2157);
1154 } 1153 }
1155 dasm_put(Dst, 2162, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1154 dasm_put(Dst, 2164, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1156 dasm_put(Dst, 2228, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1155 dasm_put(Dst, 2230, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base));
1157 dasm_put(Dst, 2295, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1156 dasm_put(Dst, 2297, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1158 dasm_put(Dst, 2406, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1157 dasm_put(Dst, 2408, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1159 if (sse) { 1158 if (sse) {
1160 dasm_put(Dst, 2469); 1159 dasm_put(Dst, 2471);
1161 } else { 1160 } else {
1162 dasm_put(Dst, 2508); 1161 dasm_put(Dst, 2510);
1163 } 1162 }
1164 dasm_put(Dst, 2526, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1163 dasm_put(Dst, 2528, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1165 dasm_put(Dst, 2607, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); 1164 dasm_put(Dst, 2609, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC);
1166 if (sse) { 1165 if (sse) {
1167 dasm_put(Dst, 2645); 1166 dasm_put(Dst, 2647);
1168 } else { 1167 } else {
1169 dasm_put(Dst, 2655); 1168 dasm_put(Dst, 2657);
1170 } 1169 }
1171 dasm_put(Dst, 2662, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1170 dasm_put(Dst, 2664, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1172 dasm_put(Dst, 2726, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1171 dasm_put(Dst, 2728, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1173 dasm_put(Dst, 2814, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1172 dasm_put(Dst, 2816, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1174 dasm_put(Dst, 2915, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1173 dasm_put(Dst, 2917, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1175 dasm_put(Dst, 3029, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1174 dasm_put(Dst, 3031, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1176 dasm_put(Dst, 3124, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1175 dasm_put(Dst, 3126, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1177 dasm_put(Dst, 3190, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1176 dasm_put(Dst, 3192, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1178 dasm_put(Dst, 3291, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1177 dasm_put(Dst, 3293, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1179 dasm_put(Dst, 3401, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1178 dasm_put(Dst, 3403, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1180 if (sse) { 1179 if (sse) {
1181 dasm_put(Dst, 3427, 1+1, LJ_TISNUM); 1180 dasm_put(Dst, 3429, 1+1, LJ_TISNUM);
1182 } else { 1181 } else {
1183 dasm_put(Dst, 3496, 1+1, LJ_TISNUM); 1182 dasm_put(Dst, 3498, 1+1, LJ_TISNUM);
1184 } 1183 }
1185 dasm_put(Dst, 3532, 1+1, FRAME_TYPE, LJ_TNIL); 1184 dasm_put(Dst, 3534, 1+1, FRAME_TYPE, LJ_TNIL);
1186 if (sse) { 1185 if (sse) {
1187 dasm_put(Dst, 3622, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1186 dasm_put(Dst, 3624, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1188 dasm_put(Dst, 3684, 1+1, LJ_TISNUM); 1187 dasm_put(Dst, 3686, 1+1, LJ_TISNUM);
1189 } else { 1188 } else {
1190 dasm_put(Dst, 3714, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1189 dasm_put(Dst, 3716, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1191 dasm_put(Dst, 3773, 1+1, LJ_TISNUM); 1190 dasm_put(Dst, 3775, 1+1, LJ_TISNUM);
1192 } 1191 }
1193 dasm_put(Dst, 3800, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1192 dasm_put(Dst, 3802, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1194 dasm_put(Dst, 3869, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1193 dasm_put(Dst, 3871, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1195 dasm_put(Dst, 3926, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1194 dasm_put(Dst, 3928, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1196 dasm_put(Dst, 3989, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1195 dasm_put(Dst, 3991, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1197 dasm_put(Dst, 4079); 1196 dasm_put(Dst, 4081);
1198 if (sse) { 1197 if (sse) {
1199 dasm_put(Dst, 4091, 1+1, LJ_TISNUM); 1198 dasm_put(Dst, 4093, 1+1, LJ_TISNUM);
1200 } else { 1199 } else {
1201 dasm_put(Dst, 4122, 1+1, LJ_TISNUM); 1200 dasm_put(Dst, 4124, 1+1, LJ_TISNUM);
1202 } 1201 }
1203 dasm_put(Dst, 4147); 1202 dasm_put(Dst, 4149);
1204 if (sse) { 1203 if (sse) {
1205 dasm_put(Dst, 4161, 1+1, LJ_TISNUM); 1204 dasm_put(Dst, 4163, 1+1, LJ_TISNUM);
1206 } else { 1205 } else {
1207 dasm_put(Dst, 4192, 1+1, LJ_TISNUM); 1206 dasm_put(Dst, 4194, 1+1, LJ_TISNUM);
1208 } 1207 }
1209 dasm_put(Dst, 4217); 1208 dasm_put(Dst, 4219);
1210 if (sse) { 1209 if (sse) {
1211 dasm_put(Dst, 4231, 1+1, LJ_TISNUM); 1210 dasm_put(Dst, 4233, 1+1, LJ_TISNUM);
1212 } else { 1211 } else {
1213 dasm_put(Dst, 4262, 1+1, LJ_TISNUM); 1212 dasm_put(Dst, 4264, 1+1, LJ_TISNUM);
1214 } 1213 }
1215 dasm_put(Dst, 4287); 1214 dasm_put(Dst, 4289);
1216 if (sse) { 1215 if (sse) {
1217 dasm_put(Dst, 4303, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1216 dasm_put(Dst, 4305, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1218 } else { 1217 } else {
1219 dasm_put(Dst, 4342, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1218 dasm_put(Dst, 4344, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1220 } 1219 }
1221 dasm_put(Dst, 4375, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1220 dasm_put(Dst, 4377, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1222 dasm_put(Dst, 4440, 1+1, LJ_TISNUM); 1221 dasm_put(Dst, 4442, 1+1, LJ_TISNUM);
1223 if (sse) { 1222 if (sse) {
1224 dasm_put(Dst, 4539); 1223 dasm_put(Dst, 4541);
1225 } else { 1224 } else {
1226 dasm_put(Dst, 4545); 1225 dasm_put(Dst, 4547);
1227 } 1226 }
1228 dasm_put(Dst, 4554); 1227 dasm_put(Dst, 4556);
1229 if (sse) { 1228 if (sse) {
1230 dasm_put(Dst, 4579); 1229 dasm_put(Dst, 4581);
1231 } else { 1230 } else {
1232 dasm_put(Dst, 4585); 1231 dasm_put(Dst, 4587);
1233 } 1232 }
1234 dasm_put(Dst, 4588, 1+2); 1233 dasm_put(Dst, 4590, 1+2);
1235 if (sse) { 1234 if (sse) {
1236 dasm_put(Dst, 4597); 1235 dasm_put(Dst, 4599);
1237 } else { 1236 } else {
1238 dasm_put(Dst, 4605); 1237 dasm_put(Dst, 4607);
1239 } 1238 }
1240 dasm_put(Dst, 4613); 1239 dasm_put(Dst, 4615);
1241 if (sse) { 1240 if (sse) {
1242 dasm_put(Dst, 4616); 1241 dasm_put(Dst, 4618);
1243 } else { 1242 } else {
1244 dasm_put(Dst, 4648); 1243 dasm_put(Dst, 4650);
1245 } 1244 }
1246 dasm_put(Dst, 4667); 1245 dasm_put(Dst, 4669);
1247 if (sse) { 1246 if (sse) {
1248 dasm_put(Dst, 4683, 1+1, LJ_TISNUM); 1247 dasm_put(Dst, 4685, 1+1, LJ_TISNUM);
1249 } else { 1248 } else {
1250 dasm_put(Dst, 4708, 1+1, LJ_TISNUM); 1249 dasm_put(Dst, 4710, 1+1, LJ_TISNUM);
1251 } 1250 }
1252 dasm_put(Dst, 4730); 1251 dasm_put(Dst, 4732);
1253 if (sse) { 1252 if (sse) {
1254 dasm_put(Dst, 4752); 1253 dasm_put(Dst, 4754);
1255 } else { 1254 } else {
1256 dasm_put(Dst, 4778); 1255 dasm_put(Dst, 4780);
1257 } 1256 }
1258 dasm_put(Dst, 4795, 1+2); 1257 dasm_put(Dst, 4797, 1+2);
1259 if (sse) { 1258 if (sse) {
1260 dasm_put(Dst, 4835); 1259 dasm_put(Dst, 4837);
1261 } else { 1260 } else {
1262 dasm_put(Dst, 4843); 1261 dasm_put(Dst, 4845);
1263 } 1262 }
1264 dasm_put(Dst, 4853, 2+1, LJ_TISNUM, LJ_TISNUM); 1263 dasm_put(Dst, 4855, 2+1, LJ_TISNUM, LJ_TISNUM);
1265 if (sse) { 1264 if (sse) {
1266 dasm_put(Dst, 4905, 1+1, LJ_TISNUM, LJ_TISNUM); 1265 dasm_put(Dst, 4907, 1+1, LJ_TISNUM, LJ_TISNUM);
1267 } else { 1266 } else {
1268 dasm_put(Dst, 4952, 2+1, LJ_TISNUM, LJ_TISNUM); 1267 dasm_put(Dst, 4954, 2+1, LJ_TISNUM, LJ_TISNUM);
1269 } 1268 }
1270 if (sse) { 1269 if (sse) {
1271 dasm_put(Dst, 4993, 1+1, LJ_TISNUM, LJ_TISNUM); 1270 dasm_put(Dst, 4995, 1+1, LJ_TISNUM, LJ_TISNUM);
1272 } else { 1271 } else {
1273 dasm_put(Dst, 5064, 1+1, LJ_TISNUM, LJ_TISNUM); 1272 dasm_put(Dst, 5066, 1+1, LJ_TISNUM, LJ_TISNUM);
1274 if (cmov) { 1273 if (cmov) {
1275 dasm_put(Dst, 5117); 1274 dasm_put(Dst, 5119);
1276 } else { 1275 } else {
1277 dasm_put(Dst, 5125); 1276 dasm_put(Dst, 5127);
1278 } 1277 }
1279 dasm_put(Dst, 5056); 1278 dasm_put(Dst, 5058);
1280 } 1279 }
1281 if (sse) { 1280 if (sse) {
1282 dasm_put(Dst, 5146, 1+1, LJ_TISNUM, LJ_TISNUM); 1281 dasm_put(Dst, 5148, 1+1, LJ_TISNUM, LJ_TISNUM);
1283 } else { 1282 } else {
1284 dasm_put(Dst, 5217, 1+1, LJ_TISNUM, LJ_TISNUM); 1283 dasm_put(Dst, 5219, 1+1, LJ_TISNUM, LJ_TISNUM);
1285 if (cmov) { 1284 if (cmov) {
1286 dasm_put(Dst, 5270); 1285 dasm_put(Dst, 5272);
1287 } else { 1286 } else {
1288 dasm_put(Dst, 5278); 1287 dasm_put(Dst, 5280);
1289 } 1288 }
1290 dasm_put(Dst, 5056); 1289 dasm_put(Dst, 5058);
1291 } 1290 }
1292 if (!sse) { 1291 if (!sse) {
1293 dasm_put(Dst, 5299); 1292 dasm_put(Dst, 5301);
1294 } 1293 }
1295 dasm_put(Dst, 5308, 1+1, LJ_TSTR); 1294 dasm_put(Dst, 5310, 1+1, LJ_TSTR);
1296 if (sse) { 1295 if (sse) {
1297 dasm_put(Dst, 5330, Dt5(->len)); 1296 dasm_put(Dst, 5332, Dt5(->len));
1298 } else { 1297 } else {
1299 dasm_put(Dst, 5341, Dt5(->len)); 1298 dasm_put(Dst, 5343, Dt5(->len));
1300 } 1299 }
1301 dasm_put(Dst, 5349, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1300 dasm_put(Dst, 5351, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1302 if (sse) { 1301 if (sse) {
1303 dasm_put(Dst, 5387); 1302 dasm_put(Dst, 5389);
1304 } else { 1303 } else {
1305 dasm_put(Dst, 5397); 1304 dasm_put(Dst, 5399);
1306 } 1305 }
1307 dasm_put(Dst, 5410, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1306 dasm_put(Dst, 5412, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1308 if (sse) { 1307 if (sse) {
1309 dasm_put(Dst, 5445); 1308 dasm_put(Dst, 5447);
1310 } else { 1309 } else {
1311 dasm_put(Dst, 5465); 1310 dasm_put(Dst, 5467);
1312 } 1311 }
1313 dasm_put(Dst, 5485, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1312 dasm_put(Dst, 5487, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1314 dasm_put(Dst, 2140); 1313 dasm_put(Dst, 2142);
1315 if (sse) { 1314 if (sse) {
1316 dasm_put(Dst, 5588); 1315 dasm_put(Dst, 5590);
1317 } else { 1316 } else {
1318 dasm_put(Dst, 5599); 1317 dasm_put(Dst, 5601);
1319 } 1318 }
1320 dasm_put(Dst, 5607, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1319 dasm_put(Dst, 5609, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1321 if (sse) { 1320 if (sse) {
1322 dasm_put(Dst, 5637); 1321 dasm_put(Dst, 5639);
1323 } else { 1322 } else {
1324 dasm_put(Dst, 5644); 1323 dasm_put(Dst, 5646);
1325 } 1324 }
1326 dasm_put(Dst, 5656, sizeof(GCstr)-1); 1325 dasm_put(Dst, 5658, sizeof(GCstr)-1);
1327 dasm_put(Dst, 5731, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1326 dasm_put(Dst, 5733, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1328 dasm_put(Dst, 5790, LJ_TSTR, LJ_TISNUM); 1327 dasm_put(Dst, 5792, LJ_TSTR, LJ_TISNUM);
1329 if (sse) { 1328 if (sse) {
1330 dasm_put(Dst, 5811); 1329 dasm_put(Dst, 5813);
1331 } else { 1330 } else {
1332 dasm_put(Dst, 5818); 1331 dasm_put(Dst, 5820);
1333 } 1332 }
1334 dasm_put(Dst, 5830, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1333 dasm_put(Dst, 5832, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1335 dasm_put(Dst, 5895, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1334 dasm_put(Dst, 5897, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1336 dasm_put(Dst, 5958, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1335 dasm_put(Dst, 5960, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1337 dasm_put(Dst, 6029, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1336 dasm_put(Dst, 6031, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1338 dasm_put(Dst, 6114, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1337 dasm_put(Dst, 6116, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1339 dasm_put(Dst, 6184, 1+1, LJ_TTAB); 1338 dasm_put(Dst, 6186, 1+1, LJ_TTAB);
1340 if (sse) { 1339 if (sse) {
1341 dasm_put(Dst, 6252); 1340 dasm_put(Dst, 6254);
1342 } else { 1341 } else {
1343 dasm_put(Dst, 6262); 1342 dasm_put(Dst, 6264);
1344 } 1343 }
1345 if (sse) { 1344 if (sse) {
1346 dasm_put(Dst, 6273, 1+1, LJ_TISNUM); 1345 dasm_put(Dst, 6275, 1+1, LJ_TISNUM);
1347 } else { 1346 } else {
1348 dasm_put(Dst, 6330, 1+1, LJ_TISNUM); 1347 dasm_put(Dst, 6332, 1+1, LJ_TISNUM);
1349 } 1348 }
1350 if (sse) { 1349 if (sse) {
1351 dasm_put(Dst, 6374, 1+1, LJ_TISNUM); 1350 dasm_put(Dst, 6376, 1+1, LJ_TISNUM);
1352 } else { 1351 } else {
1353 dasm_put(Dst, 6422, 1+1, LJ_TISNUM); 1352 dasm_put(Dst, 6424, 1+1, LJ_TISNUM);
1354 } 1353 }
1355 dasm_put(Dst, 6462, LJ_TISNUM); 1354 dasm_put(Dst, 6464, LJ_TISNUM);
1356 if (sse) { 1355 if (sse) {
1357 dasm_put(Dst, 6489); 1356 dasm_put(Dst, 6491);
1358 } else { 1357 } else {
1359 dasm_put(Dst, 6506); 1358 dasm_put(Dst, 6508);
1360 } 1359 }
1361 dasm_put(Dst, 6519); 1360 dasm_put(Dst, 6521);
1362 if (sse) { 1361 if (sse) {
1363 dasm_put(Dst, 6527, 1+1, LJ_TISNUM); 1362 dasm_put(Dst, 6529, 1+1, LJ_TISNUM);
1364 } else { 1363 } else {
1365 dasm_put(Dst, 6575, 1+1, LJ_TISNUM); 1364 dasm_put(Dst, 6577, 1+1, LJ_TISNUM);
1366 } 1365 }
1367 dasm_put(Dst, 6462, LJ_TISNUM); 1366 dasm_put(Dst, 6464, LJ_TISNUM);
1368 if (sse) { 1367 if (sse) {
1369 dasm_put(Dst, 6615); 1368 dasm_put(Dst, 6617);
1370 } else { 1369 } else {
1371 dasm_put(Dst, 6632); 1370 dasm_put(Dst, 6634);
1372 } 1371 }
1373 dasm_put(Dst, 6519); 1372 dasm_put(Dst, 6521);
1374 if (sse) { 1373 if (sse) {
1375 dasm_put(Dst, 6645, 1+1, LJ_TISNUM); 1374 dasm_put(Dst, 6647, 1+1, LJ_TISNUM);
1376 } else { 1375 } else {
1377 dasm_put(Dst, 6693, 1+1, LJ_TISNUM); 1376 dasm_put(Dst, 6695, 1+1, LJ_TISNUM);
1378 } 1377 }
1379 dasm_put(Dst, 6462, LJ_TISNUM); 1378 dasm_put(Dst, 6464, LJ_TISNUM);
1380 if (sse) { 1379 if (sse) {
1381 dasm_put(Dst, 6733); 1380 dasm_put(Dst, 6735);
1382 } else { 1381 } else {
1383 dasm_put(Dst, 6750); 1382 dasm_put(Dst, 6752);
1384 } 1383 }
1385 dasm_put(Dst, 6519); 1384 dasm_put(Dst, 6521);
1386 if (sse) { 1385 if (sse) {
1387 dasm_put(Dst, 6763, 1+1, LJ_TISNUM); 1386 dasm_put(Dst, 6765, 1+1, LJ_TISNUM);
1388 } else { 1387 } else {
1389 dasm_put(Dst, 6811, 1+1, LJ_TISNUM); 1388 dasm_put(Dst, 6813, 1+1, LJ_TISNUM);
1390 } 1389 }
1391 dasm_put(Dst, 6851); 1390 dasm_put(Dst, 6853);
1392 if (sse) { 1391 if (sse) {
1393 dasm_put(Dst, 6858, 1+1, LJ_TISNUM); 1392 dasm_put(Dst, 6860, 1+1, LJ_TISNUM);
1394 } else { 1393 } else {
1395 dasm_put(Dst, 6906, 1+1, LJ_TISNUM); 1394 dasm_put(Dst, 6908, 1+1, LJ_TISNUM);
1396 } 1395 }
1397 dasm_put(Dst, 6946); 1396 dasm_put(Dst, 6948);
1398 if (sse) { 1397 if (sse) {
1399 dasm_put(Dst, 6950); 1398 dasm_put(Dst, 6952);
1400 } else { 1399 } else {
1401 dasm_put(Dst, 6962); 1400 dasm_put(Dst, 6964);
1402 } 1401 }
1403 dasm_put(Dst, 6975); 1402 dasm_put(Dst, 6977);
1404 if (sse) { 1403 if (sse) {
1405 dasm_put(Dst, 6986, 1+1, LJ_TISNUM, LJ_TISNUM); 1404 dasm_put(Dst, 6988, 1+1, LJ_TISNUM, LJ_TISNUM);
1406 } else { 1405 } else {
1407 dasm_put(Dst, 7060, 2+1, LJ_TISNUM, LJ_TISNUM); 1406 dasm_put(Dst, 7062, 2+1, LJ_TISNUM, LJ_TISNUM);
1408 } 1407 }
1409 dasm_put(Dst, 7126); 1408 dasm_put(Dst, 7128);
1410 if (sse) { 1409 if (sse) {
1411 dasm_put(Dst, 7135, 1+1, LJ_TISNUM, LJ_TISNUM); 1410 dasm_put(Dst, 7137, 1+1, LJ_TISNUM, LJ_TISNUM);
1412 } else { 1411 } else {
1413 dasm_put(Dst, 7209, 2+1, LJ_TISNUM, LJ_TISNUM); 1412 dasm_put(Dst, 7211, 2+1, LJ_TISNUM, LJ_TISNUM);
1414 } 1413 }
1415 dasm_put(Dst, 7275); 1414 dasm_put(Dst, 7277);
1416 if (sse) { 1415 if (sse) {
1417 dasm_put(Dst, 7285, 1+1, LJ_TISNUM, LJ_TISNUM); 1416 dasm_put(Dst, 7287, 1+1, LJ_TISNUM, LJ_TISNUM);
1418 } else { 1417 } else {
1419 dasm_put(Dst, 7359, 2+1, LJ_TISNUM, LJ_TISNUM); 1418 dasm_put(Dst, 7361, 2+1, LJ_TISNUM, LJ_TISNUM);
1420 } 1419 }
1421 dasm_put(Dst, 7425); 1420 dasm_put(Dst, 7427);
1422 if (sse) { 1421 if (sse) {
1423 dasm_put(Dst, 7435, 1+1, LJ_TISNUM, LJ_TISNUM); 1422 dasm_put(Dst, 7437, 1+1, LJ_TISNUM, LJ_TISNUM);
1424 } else { 1423 } else {
1425 dasm_put(Dst, 7509, 2+1, LJ_TISNUM, LJ_TISNUM); 1424 dasm_put(Dst, 7511, 2+1, LJ_TISNUM, LJ_TISNUM);
1426 } 1425 }
1427 dasm_put(Dst, 7575); 1426 dasm_put(Dst, 7577);
1428 if (sse) { 1427 if (sse) {
1429 dasm_put(Dst, 7584, 1+1, LJ_TISNUM, LJ_TISNUM); 1428 dasm_put(Dst, 7586, 1+1, LJ_TISNUM, LJ_TISNUM);
1430 } else { 1429 } else {
1431 dasm_put(Dst, 7658, 2+1, LJ_TISNUM, LJ_TISNUM); 1430 dasm_put(Dst, 7660, 2+1, LJ_TISNUM, LJ_TISNUM);
1432 } 1431 }
1433 dasm_put(Dst, 7724, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1432 dasm_put(Dst, 7726, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1434 dasm_put(Dst, 7802, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1433 dasm_put(Dst, 7804, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1435 dasm_put(Dst, 7925, Dt1(->top), Dt1(->base), Dt1(->top)); 1434 dasm_put(Dst, 7927, Dt1(->top), Dt1(->base), Dt1(->top));
1436#if LJ_HASJIT 1435#if LJ_HASJIT
1437 dasm_put(Dst, 7963, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1436 dasm_put(Dst, 7965, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1438#endif 1437#endif
1439 dasm_put(Dst, 7994, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1438 dasm_put(Dst, 7996, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1440 dasm_put(Dst, 8045, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1439 dasm_put(Dst, 8047, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1441#if LJ_HASJIT 1440#if LJ_HASJIT
1442 dasm_put(Dst, 8111, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1441 dasm_put(Dst, 8113, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1443#endif 1442#endif
1444 dasm_put(Dst, 8157); 1443 dasm_put(Dst, 8159);
1445#if LJ_HASJIT 1444#if LJ_HASJIT
1446 dasm_put(Dst, 7989); 1445 dasm_put(Dst, 7991);
1447#endif 1446#endif
1448 dasm_put(Dst, 8164); 1447 dasm_put(Dst, 8166);
1449#if LJ_HASJIT 1448#if LJ_HASJIT
1450 dasm_put(Dst, 8167); 1449 dasm_put(Dst, 8169);
1451#endif 1450#endif
1452 dasm_put(Dst, 8177, Dt1(->base), Dt1(->top)); 1451 dasm_put(Dst, 8179, Dt1(->base), Dt1(->top));
1453#if LJ_HASJIT 1452#if LJ_HASJIT
1454 dasm_put(Dst, 8211); 1453 dasm_put(Dst, 8213);
1455#endif 1454#endif
1456 dasm_put(Dst, 8216, Dt1(->base), Dt1(->top)); 1455 dasm_put(Dst, 8218, Dt1(->base), Dt1(->top));
1457#if LJ_HASJIT 1456#if LJ_HASJIT
1458 dasm_put(Dst, 8245, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_J(flags), JIT_F_SSE2, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK); 1457 dasm_put(Dst, 8247, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, Dt1(->base));
1459 dasm_put(Dst, 8393, Dt1(->base));
1460#endif 1458#endif
1461 dasm_put(Dst, 8401); 1459 dasm_put(Dst, 8391);
1462#if LJ_HASJIT 1460#if LJ_HASJIT
1463 dasm_put(Dst, 8404, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1461 dasm_put(Dst, 8394, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1464#endif 1462#endif
1465 dasm_put(Dst, 8455); 1463 dasm_put(Dst, 8445);
1466 if (!sse) { 1464 if (!sse) {
1467 dasm_put(Dst, 8458); 1465 dasm_put(Dst, 8448);
1468 } 1466 }
1469 dasm_put(Dst, 8503); 1467 dasm_put(Dst, 8493);
1470 if (!sse) { 1468 if (!sse) {
1471 dasm_put(Dst, 8605); 1469 dasm_put(Dst, 8595);
1472 } 1470 }
1473 dasm_put(Dst, 8650); 1471 dasm_put(Dst, 8640);
1474 if (!sse) { 1472 if (!sse) {
1475 dasm_put(Dst, 8752); 1473 dasm_put(Dst, 8742);
1476 } 1474 }
1477 dasm_put(Dst, 8791); 1475 dasm_put(Dst, 8781);
1478 if (sse) { 1476 if (sse) {
1479 dasm_put(Dst, 8896); 1477 dasm_put(Dst, 8886);
1480 } else { 1478 } else {
1481 dasm_put(Dst, 9026); 1479 dasm_put(Dst, 9016);
1482 } 1480 }
1483 dasm_put(Dst, 9073); 1481 dasm_put(Dst, 9063);
1484 if (!sse) { 1482 if (!sse) {
1485 dasm_put(Dst, 9147); 1483 dasm_put(Dst, 9137);
1486 if (cmov) { 1484 if (cmov) {
1487 dasm_put(Dst, 9158); 1485 dasm_put(Dst, 9148);
1488 } else { 1486 } else {
1489 dasm_put(Dst, 9162); 1487 dasm_put(Dst, 9152);
1490 } 1488 }
1491 dasm_put(Dst, 9169); 1489 dasm_put(Dst, 9159);
1492 dasm_put(Dst, 9243); 1490 dasm_put(Dst, 9233);
1493 dasm_put(Dst, 9343); 1491 dasm_put(Dst, 9333);
1494 if (cmov) { 1492 if (cmov) {
1495 dasm_put(Dst, 9346); 1493 dasm_put(Dst, 9336);
1496 } else { 1494 } else {
1497 dasm_put(Dst, 9350); 1495 dasm_put(Dst, 9340);
1498 } 1496 }
1499 dasm_put(Dst, 9357); 1497 dasm_put(Dst, 9347);
1500 if (cmov) { 1498 if (cmov) {
1501 dasm_put(Dst, 9158); 1499 dasm_put(Dst, 9148);
1502 } else { 1500 } else {
1503 dasm_put(Dst, 9162); 1501 dasm_put(Dst, 9152);
1504 } 1502 }
1505 dasm_put(Dst, 9375); 1503 dasm_put(Dst, 9365);
1506 } else { 1504 } else {
1507 dasm_put(Dst, 9454); 1505 dasm_put(Dst, 9444);
1508 } 1506 }
1509 dasm_put(Dst, 9457); 1507 dasm_put(Dst, 9447);
1510 dasm_put(Dst, 9542); 1508 dasm_put(Dst, 9532);
1511 dasm_put(Dst, 9673); 1509 dasm_put(Dst, 9663);
1512 dasm_put(Dst, 9872); 1510 dasm_put(Dst, 9862);
1513 if (sse) { 1511 if (sse) {
1514 dasm_put(Dst, 9895); 1512 dasm_put(Dst, 9885);
1515 dasm_put(Dst, 9952); 1513 dasm_put(Dst, 9942);
1516 dasm_put(Dst, 10043); 1514 dasm_put(Dst, 10033);
1517 } else { 1515 } else {
1518 dasm_put(Dst, 10085); 1516 dasm_put(Dst, 10075);
1519 dasm_put(Dst, 10177); 1517 dasm_put(Dst, 10167);
1520 } 1518 }
1521 dasm_put(Dst, 10223); 1519 dasm_put(Dst, 10213);
1522 if (sse) { 1520 if (sse) {
1523 dasm_put(Dst, 10229); 1521 dasm_put(Dst, 10219);
1524 dasm_put(Dst, 10334); 1522 dasm_put(Dst, 10324);
1525 dasm_put(Dst, 10417); 1523 dasm_put(Dst, 10407);
1526 } else { 1524 } else {
1527 dasm_put(Dst, 10489); 1525 dasm_put(Dst, 10479);
1528 dasm_put(Dst, 10572); 1526 dasm_put(Dst, 10562);
1529 if (cmov) { 1527 if (cmov) {
1530 dasm_put(Dst, 10627); 1528 dasm_put(Dst, 10617);
1531 } else { 1529 } else {
1532 dasm_put(Dst, 10646); 1530 dasm_put(Dst, 10636);
1533 } 1531 }
1534 dasm_put(Dst, 10485); 1532 dasm_put(Dst, 10475);
1535 } 1533 }
1536 dasm_put(Dst, 10687); 1534 dasm_put(Dst, 10677);
1537} 1535}
1538 1536
1539/* Generate the code for a single instruction. */ 1537/* Generate the code for a single instruction. */
1540static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1538static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1541{ 1539{
1542 int vk = 0; 1540 int vk = 0;
1543 dasm_put(Dst, 10741, defop); 1541 dasm_put(Dst, 10731, defop);
1544 1542
1545 switch (op) { 1543 switch (op) {
1546 1544
@@ -1549,619 +1547,619 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1549 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1547 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1550 1548
1551 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1549 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1552 dasm_put(Dst, 10743, LJ_TISNUM, LJ_TISNUM); 1550 dasm_put(Dst, 10733, LJ_TISNUM, LJ_TISNUM);
1553 if (sse) { 1551 if (sse) {
1554 dasm_put(Dst, 10764); 1552 dasm_put(Dst, 10754);
1555 } else { 1553 } else {
1556 dasm_put(Dst, 10779); 1554 dasm_put(Dst, 10769);
1557 if (cmov) { 1555 if (cmov) {
1558 dasm_put(Dst, 10789); 1556 dasm_put(Dst, 10779);
1559 } else { 1557 } else {
1560 dasm_put(Dst, 10795); 1558 dasm_put(Dst, 10785);
1561 } 1559 }
1562 } 1560 }
1563 switch (op) { 1561 switch (op) {
1564 case BC_ISLT: 1562 case BC_ISLT:
1565 dasm_put(Dst, 10802); 1563 dasm_put(Dst, 10792);
1566 break; 1564 break;
1567 case BC_ISGE: 1565 case BC_ISGE:
1568 dasm_put(Dst, 10038); 1566 dasm_put(Dst, 10028);
1569 break; 1567 break;
1570 case BC_ISLE: 1568 case BC_ISLE:
1571 dasm_put(Dst, 6179); 1569 dasm_put(Dst, 6181);
1572 break; 1570 break;
1573 case BC_ISGT: 1571 case BC_ISGT:
1574 dasm_put(Dst, 10807); 1572 dasm_put(Dst, 10797);
1575 break; 1573 break;
1576 default: break; /* Shut up GCC. */ 1574 default: break; /* Shut up GCC. */
1577 } 1575 }
1578 dasm_put(Dst, 10812, -BCBIAS_J*4); 1576 dasm_put(Dst, 10802, -BCBIAS_J*4);
1579 break; 1577 break;
1580 1578
1581 case BC_ISEQV: case BC_ISNEV: 1579 case BC_ISEQV: case BC_ISNEV:
1582 vk = op == BC_ISEQV; 1580 vk = op == BC_ISEQV;
1583 dasm_put(Dst, 10845, LJ_TISNUM, LJ_TISNUM); 1581 dasm_put(Dst, 10835, LJ_TISNUM, LJ_TISNUM);
1584 if (sse) { 1582 if (sse) {
1585 dasm_put(Dst, 10871); 1583 dasm_put(Dst, 10861);
1586 } else { 1584 } else {
1587 dasm_put(Dst, 10883); 1585 dasm_put(Dst, 10873);
1588 if (cmov) { 1586 if (cmov) {
1589 dasm_put(Dst, 10789); 1587 dasm_put(Dst, 10779);
1590 } else { 1588 } else {
1591 dasm_put(Dst, 10795); 1589 dasm_put(Dst, 10785);
1592 } 1590 }
1593 } 1591 }
1594 iseqne_fp: 1592 iseqne_fp:
1595 if (vk) { 1593 if (vk) {
1596 dasm_put(Dst, 10890); 1594 dasm_put(Dst, 10880);
1597 } else { 1595 } else {
1598 dasm_put(Dst, 10899); 1596 dasm_put(Dst, 10889);
1599 } 1597 }
1600 iseqne_end: 1598 iseqne_end:
1601 if (vk) { 1599 if (vk) {
1602 dasm_put(Dst, 10908, -BCBIAS_J*4); 1600 dasm_put(Dst, 10898, -BCBIAS_J*4);
1603 } else { 1601 } else {
1604 dasm_put(Dst, 10923, -BCBIAS_J*4); 1602 dasm_put(Dst, 10913, -BCBIAS_J*4);
1605 } 1603 }
1606 dasm_put(Dst, 10826); 1604 dasm_put(Dst, 10816);
1607 if (op == BC_ISEQV || op == BC_ISNEV) { 1605 if (op == BC_ISEQV || op == BC_ISNEV) {
1608 dasm_put(Dst, 10938, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1606 dasm_put(Dst, 10928, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1609 if (vk) { 1607 if (vk) {
1610 dasm_put(Dst, 10996); 1608 dasm_put(Dst, 10986);
1611 } else { 1609 } else {
1612 dasm_put(Dst, 11000); 1610 dasm_put(Dst, 10990);
1613 } 1611 }
1614 dasm_put(Dst, 11006); 1612 dasm_put(Dst, 10996);
1615 } 1613 }
1616 break; 1614 break;
1617 case BC_ISEQS: case BC_ISNES: 1615 case BC_ISEQS: case BC_ISNES:
1618 vk = op == BC_ISEQS; 1616 vk = op == BC_ISEQS;
1619 dasm_put(Dst, 11011, LJ_TSTR); 1617 dasm_put(Dst, 11001, LJ_TSTR);
1620 iseqne_test: 1618 iseqne_test:
1621 if (vk) { 1619 if (vk) {
1622 dasm_put(Dst, 10894); 1620 dasm_put(Dst, 10884);
1623 } else { 1621 } else {
1624 dasm_put(Dst, 2809); 1622 dasm_put(Dst, 2811);
1625 } 1623 }
1626 goto iseqne_end; 1624 goto iseqne_end;
1627 case BC_ISEQN: case BC_ISNEN: 1625 case BC_ISEQN: case BC_ISNEN:
1628 vk = op == BC_ISEQN; 1626 vk = op == BC_ISEQN;
1629 dasm_put(Dst, 11034, LJ_TISNUM); 1627 dasm_put(Dst, 11024, LJ_TISNUM);
1630 if (sse) { 1628 if (sse) {
1631 dasm_put(Dst, 11048); 1629 dasm_put(Dst, 11038);
1632 } else { 1630 } else {
1633 dasm_put(Dst, 11060); 1631 dasm_put(Dst, 11050);
1634 if (cmov) { 1632 if (cmov) {
1635 dasm_put(Dst, 10789); 1633 dasm_put(Dst, 10779);
1636 } else { 1634 } else {
1637 dasm_put(Dst, 10795); 1635 dasm_put(Dst, 10785);
1638 } 1636 }
1639 } 1637 }
1640 goto iseqne_fp; 1638 goto iseqne_fp;
1641 case BC_ISEQP: case BC_ISNEP: 1639 case BC_ISEQP: case BC_ISNEP:
1642 vk = op == BC_ISEQP; 1640 vk = op == BC_ISEQP;
1643 dasm_put(Dst, 11067); 1641 dasm_put(Dst, 11057);
1644 goto iseqne_test; 1642 goto iseqne_test;
1645 1643
1646 /* -- Unary test and copy ops ------------------------------------------- */ 1644 /* -- Unary test and copy ops ------------------------------------------- */
1647 1645
1648 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1646 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1649 dasm_put(Dst, 11078, LJ_TISTRUECOND); 1647 dasm_put(Dst, 11068, LJ_TISTRUECOND);
1650 if (op == BC_IST || op == BC_ISTC) { 1648 if (op == BC_IST || op == BC_ISTC) {
1651 dasm_put(Dst, 11090); 1649 dasm_put(Dst, 11080);
1652 } else { 1650 } else {
1653 dasm_put(Dst, 11095); 1651 dasm_put(Dst, 11085);
1654 } 1652 }
1655 if (op == BC_ISTC || op == BC_ISFC) { 1653 if (op == BC_ISTC || op == BC_ISFC) {
1656 dasm_put(Dst, 11100); 1654 dasm_put(Dst, 11090);
1657 } 1655 }
1658 dasm_put(Dst, 11111, -BCBIAS_J*4); 1656 dasm_put(Dst, 11101, -BCBIAS_J*4);
1659 break; 1657 break;
1660 1658
1661 /* -- Unary ops --------------------------------------------------------- */ 1659 /* -- Unary ops --------------------------------------------------------- */
1662 1660
1663 case BC_MOV: 1661 case BC_MOV:
1664 dasm_put(Dst, 11142); 1662 dasm_put(Dst, 11132);
1665 break; 1663 break;
1666 case BC_NOT: 1664 case BC_NOT:
1667 dasm_put(Dst, 11175, LJ_TISTRUECOND, LJ_TTRUE); 1665 dasm_put(Dst, 11165, LJ_TISTRUECOND, LJ_TTRUE);
1668 break; 1666 break;
1669 case BC_UNM: 1667 case BC_UNM:
1670 dasm_put(Dst, 11210, LJ_TISNUM); 1668 dasm_put(Dst, 11200, LJ_TISNUM);
1671 if (sse) { 1669 if (sse) {
1672 dasm_put(Dst, 11221); 1670 dasm_put(Dst, 11211);
1673 } else { 1671 } else {
1674 dasm_put(Dst, 11251); 1672 dasm_put(Dst, 11241);
1675 } 1673 }
1676 dasm_put(Dst, 10826); 1674 dasm_put(Dst, 10816);
1677 break; 1675 break;
1678 case BC_LEN: 1676 case BC_LEN:
1679 dasm_put(Dst, 11260, LJ_TSTR); 1677 dasm_put(Dst, 11250, LJ_TSTR);
1680 if (sse) { 1678 if (sse) {
1681 dasm_put(Dst, 11274, Dt5(->len)); 1679 dasm_put(Dst, 11264, Dt5(->len));
1682 } else { 1680 } else {
1683 dasm_put(Dst, 11292, Dt5(->len)); 1681 dasm_put(Dst, 11282, Dt5(->len));
1684 } 1682 }
1685 dasm_put(Dst, 11301, LJ_TTAB); 1683 dasm_put(Dst, 11291, LJ_TTAB);
1686 if (sse) { 1684 if (sse) {
1687 dasm_put(Dst, 11341); 1685 dasm_put(Dst, 11331);
1688 } else { 1686 } else {
1689 dasm_put(Dst, 11350); 1687 dasm_put(Dst, 11340);
1690 } 1688 }
1691 dasm_put(Dst, 11360); 1689 dasm_put(Dst, 11350);
1692 break; 1690 break;
1693 1691
1694 /* -- Binary ops -------------------------------------------------------- */ 1692 /* -- Binary ops -------------------------------------------------------- */
1695 1693
1696 1694
1697 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1695 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1698 dasm_put(Dst, 11370); 1696 dasm_put(Dst, 11360);
1699 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1697 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1700 switch (vk) { 1698 switch (vk) {
1701 case 0: 1699 case 0:
1702 dasm_put(Dst, 11378, LJ_TISNUM); 1700 dasm_put(Dst, 11368, LJ_TISNUM);
1703 if (sse) { 1701 if (sse) {
1704 dasm_put(Dst, 11390); 1702 dasm_put(Dst, 11380);
1705 } else { 1703 } else {
1706 dasm_put(Dst, 11404); 1704 dasm_put(Dst, 11394);
1707 } 1705 }
1708 break; 1706 break;
1709 case 1: 1707 case 1:
1710 dasm_put(Dst, 11412, LJ_TISNUM); 1708 dasm_put(Dst, 11402, LJ_TISNUM);
1711 if (sse) { 1709 if (sse) {
1712 dasm_put(Dst, 11424); 1710 dasm_put(Dst, 11414);
1713 } else { 1711 } else {
1714 dasm_put(Dst, 11438); 1712 dasm_put(Dst, 11428);
1715 } 1713 }
1716 break; 1714 break;
1717 default: 1715 default:
1718 dasm_put(Dst, 11446, LJ_TISNUM, LJ_TISNUM); 1716 dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM);
1719 if (sse) { 1717 if (sse) {
1720 dasm_put(Dst, 11468); 1718 dasm_put(Dst, 11458);
1721 } else { 1719 } else {
1722 dasm_put(Dst, 11482); 1720 dasm_put(Dst, 11472);
1723 } 1721 }
1724 break; 1722 break;
1725 } 1723 }
1726 if (sse) { 1724 if (sse) {
1727 dasm_put(Dst, 11244); 1725 dasm_put(Dst, 11234);
1728 } else { 1726 } else {
1729 dasm_put(Dst, 11256); 1727 dasm_put(Dst, 11246);
1730 } 1728 }
1731 dasm_put(Dst, 10826); 1729 dasm_put(Dst, 10816);
1732 break; 1730 break;
1733 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1731 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1734 dasm_put(Dst, 11370); 1732 dasm_put(Dst, 11360);
1735 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1733 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1736 switch (vk) { 1734 switch (vk) {
1737 case 0: 1735 case 0:
1738 dasm_put(Dst, 11378, LJ_TISNUM); 1736 dasm_put(Dst, 11368, LJ_TISNUM);
1739 if (sse) { 1737 if (sse) {
1740 dasm_put(Dst, 11490); 1738 dasm_put(Dst, 11480);
1741 } else { 1739 } else {
1742 dasm_put(Dst, 11504); 1740 dasm_put(Dst, 11494);
1743 } 1741 }
1744 break; 1742 break;
1745 case 1: 1743 case 1:
1746 dasm_put(Dst, 11412, LJ_TISNUM); 1744 dasm_put(Dst, 11402, LJ_TISNUM);
1747 if (sse) { 1745 if (sse) {
1748 dasm_put(Dst, 11512); 1746 dasm_put(Dst, 11502);
1749 } else { 1747 } else {
1750 dasm_put(Dst, 11526); 1748 dasm_put(Dst, 11516);
1751 } 1749 }
1752 break; 1750 break;
1753 default: 1751 default:
1754 dasm_put(Dst, 11446, LJ_TISNUM, LJ_TISNUM); 1752 dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM);
1755 if (sse) { 1753 if (sse) {
1756 dasm_put(Dst, 11534); 1754 dasm_put(Dst, 11524);
1757 } else { 1755 } else {
1758 dasm_put(Dst, 11548); 1756 dasm_put(Dst, 11538);
1759 } 1757 }
1760 break; 1758 break;
1761 } 1759 }
1762 if (sse) { 1760 if (sse) {
1763 dasm_put(Dst, 11244); 1761 dasm_put(Dst, 11234);
1764 } else { 1762 } else {
1765 dasm_put(Dst, 11256); 1763 dasm_put(Dst, 11246);
1766 } 1764 }
1767 dasm_put(Dst, 10826); 1765 dasm_put(Dst, 10816);
1768 break; 1766 break;
1769 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1767 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1770 dasm_put(Dst, 11370); 1768 dasm_put(Dst, 11360);
1771 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1769 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1772 switch (vk) { 1770 switch (vk) {
1773 case 0: 1771 case 0:
1774 dasm_put(Dst, 11378, LJ_TISNUM); 1772 dasm_put(Dst, 11368, LJ_TISNUM);
1775 if (sse) { 1773 if (sse) {
1776 dasm_put(Dst, 11556); 1774 dasm_put(Dst, 11546);
1777 } else { 1775 } else {
1778 dasm_put(Dst, 11570); 1776 dasm_put(Dst, 11560);
1779 } 1777 }
1780 break; 1778 break;
1781 case 1: 1779 case 1:
1782 dasm_put(Dst, 11412, LJ_TISNUM); 1780 dasm_put(Dst, 11402, LJ_TISNUM);
1783 if (sse) { 1781 if (sse) {
1784 dasm_put(Dst, 11578); 1782 dasm_put(Dst, 11568);
1785 } else { 1783 } else {
1786 dasm_put(Dst, 11592); 1784 dasm_put(Dst, 11582);
1787 } 1785 }
1788 break; 1786 break;
1789 default: 1787 default:
1790 dasm_put(Dst, 11446, LJ_TISNUM, LJ_TISNUM); 1788 dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM);
1791 if (sse) { 1789 if (sse) {
1792 dasm_put(Dst, 11600); 1790 dasm_put(Dst, 11590);
1793 } else { 1791 } else {
1794 dasm_put(Dst, 11614); 1792 dasm_put(Dst, 11604);
1795 } 1793 }
1796 break; 1794 break;
1797 } 1795 }
1798 if (sse) { 1796 if (sse) {
1799 dasm_put(Dst, 11244); 1797 dasm_put(Dst, 11234);
1800 } else { 1798 } else {
1801 dasm_put(Dst, 11256); 1799 dasm_put(Dst, 11246);
1802 } 1800 }
1803 dasm_put(Dst, 10826); 1801 dasm_put(Dst, 10816);
1804 break; 1802 break;
1805 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1803 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1806 dasm_put(Dst, 11370); 1804 dasm_put(Dst, 11360);
1807 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1805 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1808 switch (vk) { 1806 switch (vk) {
1809 case 0: 1807 case 0:
1810 dasm_put(Dst, 11378, LJ_TISNUM); 1808 dasm_put(Dst, 11368, LJ_TISNUM);
1811 if (sse) { 1809 if (sse) {
1812 dasm_put(Dst, 11622); 1810 dasm_put(Dst, 11612);
1813 } else { 1811 } else {
1814 dasm_put(Dst, 11636); 1812 dasm_put(Dst, 11626);
1815 } 1813 }
1816 break; 1814 break;
1817 case 1: 1815 case 1:
1818 dasm_put(Dst, 11412, LJ_TISNUM); 1816 dasm_put(Dst, 11402, LJ_TISNUM);
1819 if (sse) { 1817 if (sse) {
1820 dasm_put(Dst, 11644); 1818 dasm_put(Dst, 11634);
1821 } else { 1819 } else {
1822 dasm_put(Dst, 11658); 1820 dasm_put(Dst, 11648);
1823 } 1821 }
1824 break; 1822 break;
1825 default: 1823 default:
1826 dasm_put(Dst, 11446, LJ_TISNUM, LJ_TISNUM); 1824 dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM);
1827 if (sse) { 1825 if (sse) {
1828 dasm_put(Dst, 11666); 1826 dasm_put(Dst, 11656);
1829 } else { 1827 } else {
1830 dasm_put(Dst, 11680); 1828 dasm_put(Dst, 11670);
1831 } 1829 }
1832 break; 1830 break;
1833 } 1831 }
1834 if (sse) { 1832 if (sse) {
1835 dasm_put(Dst, 11244); 1833 dasm_put(Dst, 11234);
1836 } else { 1834 } else {
1837 dasm_put(Dst, 11256); 1835 dasm_put(Dst, 11246);
1838 } 1836 }
1839 dasm_put(Dst, 10826); 1837 dasm_put(Dst, 10816);
1840 break; 1838 break;
1841 case BC_MODVN: 1839 case BC_MODVN:
1842 dasm_put(Dst, 11370); 1840 dasm_put(Dst, 11360);
1843 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1841 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1844 switch (vk) { 1842 switch (vk) {
1845 case 0: 1843 case 0:
1846 dasm_put(Dst, 11378, LJ_TISNUM); 1844 dasm_put(Dst, 11368, LJ_TISNUM);
1847 if (sse) { 1845 if (sse) {
1848 dasm_put(Dst, 11688); 1846 dasm_put(Dst, 11678);
1849 } else { 1847 } else {
1850 dasm_put(Dst, 11702); 1848 dasm_put(Dst, 11692);
1851 } 1849 }
1852 break; 1850 break;
1853 case 1: 1851 case 1:
1854 dasm_put(Dst, 11412, LJ_TISNUM); 1852 dasm_put(Dst, 11402, LJ_TISNUM);
1855 if (sse) { 1853 if (sse) {
1856 dasm_put(Dst, 11710); 1854 dasm_put(Dst, 11700);
1857 } else { 1855 } else {
1858 dasm_put(Dst, 11724); 1856 dasm_put(Dst, 11714);
1859 } 1857 }
1860 break; 1858 break;
1861 default: 1859 default:
1862 dasm_put(Dst, 11446, LJ_TISNUM, LJ_TISNUM); 1860 dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM);
1863 if (sse) { 1861 if (sse) {
1864 dasm_put(Dst, 11732); 1862 dasm_put(Dst, 11722);
1865 } else { 1863 } else {
1866 dasm_put(Dst, 11746); 1864 dasm_put(Dst, 11736);
1867 } 1865 }
1868 break; 1866 break;
1869 } 1867 }
1870 dasm_put(Dst, 11754); 1868 dasm_put(Dst, 11744);
1871 if (sse) { 1869 if (sse) {
1872 dasm_put(Dst, 11244); 1870 dasm_put(Dst, 11234);
1873 } else { 1871 } else {
1874 dasm_put(Dst, 11256); 1872 dasm_put(Dst, 11246);
1875 } 1873 }
1876 dasm_put(Dst, 10826); 1874 dasm_put(Dst, 10816);
1877 break; 1875 break;
1878 case BC_MODNV: case BC_MODVV: 1876 case BC_MODNV: case BC_MODVV:
1879 dasm_put(Dst, 11370); 1877 dasm_put(Dst, 11360);
1880 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1878 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1881 switch (vk) { 1879 switch (vk) {
1882 case 0: 1880 case 0:
1883 dasm_put(Dst, 11378, LJ_TISNUM); 1881 dasm_put(Dst, 11368, LJ_TISNUM);
1884 if (sse) { 1882 if (sse) {
1885 dasm_put(Dst, 11688); 1883 dasm_put(Dst, 11678);
1886 } else { 1884 } else {
1887 dasm_put(Dst, 11702); 1885 dasm_put(Dst, 11692);
1888 } 1886 }
1889 break; 1887 break;
1890 case 1: 1888 case 1:
1891 dasm_put(Dst, 11412, LJ_TISNUM); 1889 dasm_put(Dst, 11402, LJ_TISNUM);
1892 if (sse) { 1890 if (sse) {
1893 dasm_put(Dst, 11710); 1891 dasm_put(Dst, 11700);
1894 } else { 1892 } else {
1895 dasm_put(Dst, 11724); 1893 dasm_put(Dst, 11714);
1896 } 1894 }
1897 break; 1895 break;
1898 default: 1896 default:
1899 dasm_put(Dst, 11446, LJ_TISNUM, LJ_TISNUM); 1897 dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM);
1900 if (sse) { 1898 if (sse) {
1901 dasm_put(Dst, 11732); 1899 dasm_put(Dst, 11722);
1902 } else { 1900 } else {
1903 dasm_put(Dst, 11746); 1901 dasm_put(Dst, 11736);
1904 } 1902 }
1905 break; 1903 break;
1906 } 1904 }
1907 dasm_put(Dst, 11760); 1905 dasm_put(Dst, 11750);
1908 break; 1906 break;
1909 case BC_POW: 1907 case BC_POW:
1910 dasm_put(Dst, 11370); 1908 dasm_put(Dst, 11360);
1911 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1909 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1912 switch (vk) { 1910 switch (vk) {
1913 case 0: 1911 case 0:
1914 dasm_put(Dst, 11378, LJ_TISNUM); 1912 dasm_put(Dst, 11368, LJ_TISNUM);
1915 if (sse) { 1913 if (sse) {
1916 dasm_put(Dst, 11688); 1914 dasm_put(Dst, 11678);
1917 } else { 1915 } else {
1918 dasm_put(Dst, 11702); 1916 dasm_put(Dst, 11692);
1919 } 1917 }
1920 break; 1918 break;
1921 case 1: 1919 case 1:
1922 dasm_put(Dst, 11412, LJ_TISNUM); 1920 dasm_put(Dst, 11402, LJ_TISNUM);
1923 if (sse) { 1921 if (sse) {
1924 dasm_put(Dst, 11710); 1922 dasm_put(Dst, 11700);
1925 } else { 1923 } else {
1926 dasm_put(Dst, 11724); 1924 dasm_put(Dst, 11714);
1927 } 1925 }
1928 break; 1926 break;
1929 default: 1927 default:
1930 dasm_put(Dst, 11446, LJ_TISNUM, LJ_TISNUM); 1928 dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM);
1931 if (sse) { 1929 if (sse) {
1932 dasm_put(Dst, 11732); 1930 dasm_put(Dst, 11722);
1933 } else { 1931 } else {
1934 dasm_put(Dst, 11746); 1932 dasm_put(Dst, 11736);
1935 } 1933 }
1936 break; 1934 break;
1937 } 1935 }
1938 dasm_put(Dst, 11765); 1936 dasm_put(Dst, 11755);
1939 if (sse) { 1937 if (sse) {
1940 dasm_put(Dst, 11244); 1938 dasm_put(Dst, 11234);
1941 } else { 1939 } else {
1942 dasm_put(Dst, 11256); 1940 dasm_put(Dst, 11246);
1943 } 1941 }
1944 dasm_put(Dst, 10826); 1942 dasm_put(Dst, 10816);
1945 break; 1943 break;
1946 1944
1947 case BC_CAT: 1945 case BC_CAT:
1948 dasm_put(Dst, 11769, Dt1(->base), Dt1(->base)); 1946 dasm_put(Dst, 11759, Dt1(->base), Dt1(->base));
1949 break; 1947 break;
1950 1948
1951 /* -- Constant ops ------------------------------------------------------ */ 1949 /* -- Constant ops ------------------------------------------------------ */
1952 1950
1953 case BC_KSTR: 1951 case BC_KSTR:
1954 dasm_put(Dst, 11863, LJ_TSTR); 1952 dasm_put(Dst, 11853, LJ_TSTR);
1955 break; 1953 break;
1956 case BC_KSHORT: 1954 case BC_KSHORT:
1957 if (sse) { 1955 if (sse) {
1958 dasm_put(Dst, 11896); 1956 dasm_put(Dst, 11886);
1959 } else { 1957 } else {
1960 dasm_put(Dst, 11911); 1958 dasm_put(Dst, 11901);
1961 } 1959 }
1962 dasm_put(Dst, 10826); 1960 dasm_put(Dst, 10816);
1963 break; 1961 break;
1964 case BC_KNUM: 1962 case BC_KNUM:
1965 if (sse) { 1963 if (sse) {
1966 dasm_put(Dst, 11919); 1964 dasm_put(Dst, 11909);
1967 } else { 1965 } else {
1968 dasm_put(Dst, 11932); 1966 dasm_put(Dst, 11922);
1969 } 1967 }
1970 dasm_put(Dst, 10826); 1968 dasm_put(Dst, 10816);
1971 break; 1969 break;
1972 case BC_KPRI: 1970 case BC_KPRI:
1973 dasm_put(Dst, 11939); 1971 dasm_put(Dst, 11929);
1974 break; 1972 break;
1975 case BC_KNIL: 1973 case BC_KNIL:
1976 dasm_put(Dst, 11965, LJ_TNIL); 1974 dasm_put(Dst, 11955, LJ_TNIL);
1977 break; 1975 break;
1978 1976
1979 /* -- Upvalue and function ops ------------------------------------------ */ 1977 /* -- Upvalue and function ops ------------------------------------------ */
1980 1978
1981 case BC_UGET: 1979 case BC_UGET:
1982 dasm_put(Dst, 12011, offsetof(GCfuncL, uvptr), DtA(->v)); 1980 dasm_put(Dst, 12001, offsetof(GCfuncL, uvptr), DtA(->v));
1983 break; 1981 break;
1984 case BC_USETV: 1982 case BC_USETV:
1985#define TV2MARKOFS \ 1983#define TV2MARKOFS \
1986 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1984 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1987 dasm_put(Dst, 12055, 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); 1985 dasm_put(Dst, 12045, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
1988 dasm_put(Dst, 12145); 1986 dasm_put(Dst, 12135);
1989 break; 1987 break;
1990#undef TV2MARKOFS 1988#undef TV2MARKOFS
1991 case BC_USETS: 1989 case BC_USETS:
1992 dasm_put(Dst, 12157, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1990 dasm_put(Dst, 12147, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1993 break; 1991 break;
1994 case BC_USETN: 1992 case BC_USETN:
1995 dasm_put(Dst, 12248); 1993 dasm_put(Dst, 12238);
1996 if (sse) { 1994 if (sse) {
1997 dasm_put(Dst, 12253); 1995 dasm_put(Dst, 12243);
1998 } else { 1996 } else {
1999 dasm_put(Dst, 11063); 1997 dasm_put(Dst, 11053);
2000 } 1998 }
2001 dasm_put(Dst, 12260, offsetof(GCfuncL, uvptr), DtA(->v)); 1999 dasm_put(Dst, 12250, offsetof(GCfuncL, uvptr), DtA(->v));
2002 if (sse) { 2000 if (sse) {
2003 dasm_put(Dst, 12269); 2001 dasm_put(Dst, 12259);
2004 } else { 2002 } else {
2005 dasm_put(Dst, 12275); 2003 dasm_put(Dst, 12265);
2006 } 2004 }
2007 dasm_put(Dst, 10826); 2005 dasm_put(Dst, 10816);
2008 break; 2006 break;
2009 case BC_USETP: 2007 case BC_USETP:
2010 dasm_put(Dst, 12278, offsetof(GCfuncL, uvptr), DtA(->v)); 2008 dasm_put(Dst, 12268, offsetof(GCfuncL, uvptr), DtA(->v));
2011 break; 2009 break;
2012 case BC_UCLO: 2010 case BC_UCLO:
2013 dasm_put(Dst, 12315, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2011 dasm_put(Dst, 12305, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2014 break; 2012 break;
2015 2013
2016 case BC_FNEW: 2014 case BC_FNEW:
2017 dasm_put(Dst, 12369, Dt1(->base), Dt1(->base), LJ_TFUNC); 2015 dasm_put(Dst, 12359, Dt1(->base), Dt1(->base), LJ_TFUNC);
2018 break; 2016 break;
2019 2017
2020 /* -- Table ops --------------------------------------------------------- */ 2018 /* -- Table ops --------------------------------------------------------- */
2021 2019
2022 case BC_TNEW: 2020 case BC_TNEW:
2023 dasm_put(Dst, 12440, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2021 dasm_put(Dst, 12430, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2024 break; 2022 break;
2025 case BC_TDUP: 2023 case BC_TDUP:
2026 dasm_put(Dst, 12561, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2024 dasm_put(Dst, 12551, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2027 break; 2025 break;
2028 2026
2029 case BC_GGET: 2027 case BC_GGET:
2030 dasm_put(Dst, 12653, Dt7(->env)); 2028 dasm_put(Dst, 12643, Dt7(->env));
2031 break; 2029 break;
2032 case BC_GSET: 2030 case BC_GSET:
2033 dasm_put(Dst, 12671, Dt7(->env)); 2031 dasm_put(Dst, 12661, Dt7(->env));
2034 break; 2032 break;
2035 2033
2036 case BC_TGETV: 2034 case BC_TGETV:
2037 dasm_put(Dst, 12689, LJ_TTAB, LJ_TISNUM); 2035 dasm_put(Dst, 12679, LJ_TTAB, LJ_TISNUM);
2038 if (sse) { 2036 if (sse) {
2039 dasm_put(Dst, 12722); 2037 dasm_put(Dst, 12712);
2040 } else { 2038 } else {
2041 dasm_put(Dst, 12743); 2039 dasm_put(Dst, 12733);
2042 if (cmov) { 2040 if (cmov) {
2043 dasm_put(Dst, 10789); 2041 dasm_put(Dst, 10779);
2044 } else { 2042 } else {
2045 dasm_put(Dst, 10795); 2043 dasm_put(Dst, 10785);
2046 } 2044 }
2047 dasm_put(Dst, 2522); 2045 dasm_put(Dst, 2524);
2048 } 2046 }
2049 dasm_put(Dst, 12753, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2047 dasm_put(Dst, 12743, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2050 dasm_put(Dst, 12845, LJ_TSTR); 2048 dasm_put(Dst, 12835, LJ_TSTR);
2051 break; 2049 break;
2052 case BC_TGETS: 2050 case BC_TGETS:
2053 dasm_put(Dst, 12863, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2051 dasm_put(Dst, 12853, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2054 dasm_put(Dst, 12947, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2052 dasm_put(Dst, 12937, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2055 break; 2053 break;
2056 case BC_TGETB: 2054 case BC_TGETB:
2057 dasm_put(Dst, 13018, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2055 dasm_put(Dst, 13008, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2058 dasm_put(Dst, 11360); 2056 dasm_put(Dst, 11350);
2059 break; 2057 break;
2060 2058
2061 case BC_TSETV: 2059 case BC_TSETV:
2062 dasm_put(Dst, 13117, LJ_TTAB, LJ_TISNUM); 2060 dasm_put(Dst, 13107, LJ_TTAB, LJ_TISNUM);
2063 if (sse) { 2061 if (sse) {
2064 dasm_put(Dst, 12722); 2062 dasm_put(Dst, 12712);
2065 } else { 2063 } else {
2066 dasm_put(Dst, 12743); 2064 dasm_put(Dst, 12733);
2067 if (cmov) { 2065 if (cmov) {
2068 dasm_put(Dst, 10789); 2066 dasm_put(Dst, 10779);
2069 } else { 2067 } else {
2070 dasm_put(Dst, 10795); 2068 dasm_put(Dst, 10785);
2071 } 2069 }
2072 dasm_put(Dst, 2522); 2070 dasm_put(Dst, 2524);
2073 } 2071 }
2074 dasm_put(Dst, 13150, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2072 dasm_put(Dst, 13140, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2075 dasm_put(Dst, 13233, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2073 dasm_put(Dst, 13223, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2076 break; 2074 break;
2077 case BC_TSETS: 2075 case BC_TSETS:
2078 dasm_put(Dst, 13295, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2076 dasm_put(Dst, 13285, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2079 dasm_put(Dst, 13370, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2077 dasm_put(Dst, 13360, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2080 dasm_put(Dst, 13462, 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)); 2078 dasm_put(Dst, 13452, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2081 break; 2079 break;
2082 case BC_TSETB: 2080 case BC_TSETB:
2083 dasm_put(Dst, 13558, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2081 dasm_put(Dst, 13548, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2084 dasm_put(Dst, 13656, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2082 dasm_put(Dst, 13646, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2085 break; 2083 break;
2086 2084
2087 case BC_TSETM: 2085 case BC_TSETM:
2088 dasm_put(Dst, 13702); 2086 dasm_put(Dst, 13692);
2089 if (sse) { 2087 if (sse) {
2090 dasm_put(Dst, 12253); 2088 dasm_put(Dst, 12243);
2091 } else { 2089 } else {
2092 dasm_put(Dst, 13707); 2090 dasm_put(Dst, 13697);
2093 } 2091 }
2094 dasm_put(Dst, 13715, Dt6(->marked), LJ_GC_BLACK); 2092 dasm_put(Dst, 13705, Dt6(->marked), LJ_GC_BLACK);
2095 if (sse) { 2093 if (sse) {
2096 dasm_put(Dst, 13740); 2094 dasm_put(Dst, 13730);
2097 } else { 2095 } else {
2098 dasm_put(Dst, 13747); 2096 dasm_put(Dst, 13737);
2099 } 2097 }
2100 dasm_put(Dst, 13752, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 2098 dasm_put(Dst, 13742, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
2101 dasm_put(Dst, 13880, Dt6(->gclist)); 2099 dasm_put(Dst, 13870, Dt6(->gclist));
2102 break; 2100 break;
2103 2101
2104 /* -- Calls and vararg handling ----------------------------------------- */ 2102 /* -- Calls and vararg handling ----------------------------------------- */
2105 2103
2106 case BC_CALL: case BC_CALLM: 2104 case BC_CALL: case BC_CALLM:
2107 dasm_put(Dst, 11374); 2105 dasm_put(Dst, 11364);
2108 if (op == BC_CALLM) { 2106 if (op == BC_CALLM) {
2109 dasm_put(Dst, 13888); 2107 dasm_put(Dst, 13878);
2110 } 2108 }
2111 dasm_put(Dst, 13893, LJ_TFUNC, Dt7(->pc)); 2109 dasm_put(Dst, 13883, LJ_TFUNC, Dt7(->pc));
2112 break; 2110 break;
2113 2111
2114 case BC_CALLMT: 2112 case BC_CALLMT:
2115 dasm_put(Dst, 13888); 2113 dasm_put(Dst, 13878);
2116 break; 2114 break;
2117 case BC_CALLT: 2115 case BC_CALLT:
2118 dasm_put(Dst, 13934, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2116 dasm_put(Dst, 13924, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2119 dasm_put(Dst, 14052, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 2117 dasm_put(Dst, 14042, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
2120 break; 2118 break;
2121 2119
2122 case BC_ITERC: 2120 case BC_ITERC:
2123 dasm_put(Dst, 14109, LJ_TFUNC, 2+1, Dt7(->pc)); 2121 dasm_put(Dst, 14099, LJ_TFUNC, 2+1, Dt7(->pc));
2124 break; 2122 break;
2125 2123
2126 case BC_VARG: 2124 case BC_VARG:
2127 dasm_put(Dst, 14189, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 2125 dasm_put(Dst, 14179, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
2128 dasm_put(Dst, 14333, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2126 dasm_put(Dst, 14323, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2129 break; 2127 break;
2130 2128
2131 /* -- Returns ----------------------------------------------------------- */ 2129 /* -- Returns ----------------------------------------------------------- */
2132 2130
2133 case BC_RETM: 2131 case BC_RETM:
2134 dasm_put(Dst, 13888); 2132 dasm_put(Dst, 13878);
2135 break; 2133 break;
2136 2134
2137 case BC_RET: case BC_RET0: case BC_RET1: 2135 case BC_RET: case BC_RET0: case BC_RET1:
2138 if (op != BC_RET0) { 2136 if (op != BC_RET0) {
2139 dasm_put(Dst, 14432); 2137 dasm_put(Dst, 14422);
2140 } 2138 }
2141 dasm_put(Dst, 14436, FRAME_TYPE); 2139 dasm_put(Dst, 14426, FRAME_TYPE);
2142 switch (op) { 2140 switch (op) {
2143 case BC_RET: 2141 case BC_RET:
2144 dasm_put(Dst, 14455); 2142 dasm_put(Dst, 14445);
2145 break; 2143 break;
2146 case BC_RET1: 2144 case BC_RET1:
2147 dasm_put(Dst, 14513); 2145 dasm_put(Dst, 14503);
2148 /* fallthrough */ 2146 /* fallthrough */
2149 case BC_RET0: 2147 case BC_RET0:
2150 dasm_put(Dst, 14529); 2148 dasm_put(Dst, 14519);
2151 default: 2149 default:
2152 break; 2150 break;
2153 } 2151 }
2154 dasm_put(Dst, 14540, Dt7(->pc), PC2PROTO(k)); 2152 dasm_put(Dst, 14530, Dt7(->pc), PC2PROTO(k));
2155 if (op == BC_RET) { 2153 if (op == BC_RET) {
2156 dasm_put(Dst, 14582, LJ_TNIL); 2154 dasm_put(Dst, 14572, LJ_TNIL);
2157 } else { 2155 } else {
2158 dasm_put(Dst, 14591, LJ_TNIL); 2156 dasm_put(Dst, 14581, LJ_TNIL);
2159 } 2157 }
2160 dasm_put(Dst, 14598); 2158 dasm_put(Dst, 14588);
2161 if (op != BC_RET0) { 2159 if (op != BC_RET0) {
2162 dasm_put(Dst, 14619); 2160 dasm_put(Dst, 14609);
2163 } 2161 }
2164 dasm_put(Dst, 4678); 2162 dasm_put(Dst, 4680);
2165 break; 2163 break;
2166 2164
2167 /* -- Loops and branches ------------------------------------------------ */ 2165 /* -- Loops and branches ------------------------------------------------ */
@@ -2169,7 +2167,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2169 2167
2170 case BC_FORL: 2168 case BC_FORL:
2171#if LJ_HASJIT 2169#if LJ_HASJIT
2172 dasm_put(Dst, 14623, HOTCOUNT_PCMASK, GG_DISP2HOT); 2170 dasm_put(Dst, 14613, HOTCOUNT_PCMASK, GG_DISP2HOT);
2173#endif 2171#endif
2174 break; 2172 break;
2175 2173
@@ -2181,57 +2179,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2181 case BC_FORI: 2179 case BC_FORI:
2182 case BC_IFORL: 2180 case BC_IFORL:
2183 vk = (op == BC_IFORL || op == BC_JFORL); 2181 vk = (op == BC_IFORL || op == BC_JFORL);
2184 dasm_put(Dst, 14644); 2182 dasm_put(Dst, 14634);
2185 if (!vk) { 2183 if (!vk) {
2186 dasm_put(Dst, 14648, LJ_TISNUM, LJ_TISNUM); 2184 dasm_put(Dst, 14638, LJ_TISNUM, LJ_TISNUM);
2187 } 2185 }
2188 dasm_put(Dst, 14667); 2186 dasm_put(Dst, 14657);
2189 if (!vk) { 2187 if (!vk) {
2190 dasm_put(Dst, 14671, LJ_TISNUM); 2188 dasm_put(Dst, 14661, LJ_TISNUM);
2191 } 2189 }
2192 if (sse) { 2190 if (sse) {
2193 dasm_put(Dst, 14680); 2191 dasm_put(Dst, 14670);
2194 if (vk) { 2192 if (vk) {
2195 dasm_put(Dst, 14692); 2193 dasm_put(Dst, 14682);
2196 } else { 2194 } else {
2197 dasm_put(Dst, 14711); 2195 dasm_put(Dst, 14701);
2198 } 2196 }
2199 dasm_put(Dst, 14716); 2197 dasm_put(Dst, 14706);
2200 } else { 2198 } else {
2201 dasm_put(Dst, 14729); 2199 dasm_put(Dst, 14719);
2202 if (vk) { 2200 if (vk) {
2203 dasm_put(Dst, 14735); 2201 dasm_put(Dst, 14725);
2204 } else { 2202 } else {
2205 dasm_put(Dst, 14751); 2203 dasm_put(Dst, 14741);
2206 } 2204 }
2207 dasm_put(Dst, 14759); 2205 dasm_put(Dst, 14749);
2208 if (cmov) { 2206 if (cmov) {
2209 dasm_put(Dst, 10789); 2207 dasm_put(Dst, 10779);
2210 } else { 2208 } else {
2211 dasm_put(Dst, 10795); 2209 dasm_put(Dst, 10785);
2212 } 2210 }
2213 if (!cmov) { 2211 if (!cmov) {
2214 dasm_put(Dst, 14764); 2212 dasm_put(Dst, 14754);
2215 } 2213 }
2216 } 2214 }
2217 if (op == BC_FORI) { 2215 if (op == BC_FORI) {
2218 dasm_put(Dst, 14770, -BCBIAS_J*4); 2216 dasm_put(Dst, 14760, -BCBIAS_J*4);
2219 } else if (op == BC_JFORI) { 2217 } else if (op == BC_JFORI) {
2220 dasm_put(Dst, 14780, -BCBIAS_J*4, BC_JLOOP); 2218 dasm_put(Dst, 14770, -BCBIAS_J*4, BC_JLOOP);
2221 } else if (op == BC_IFORL) { 2219 } else if (op == BC_IFORL) {
2222 dasm_put(Dst, 14794, -BCBIAS_J*4); 2220 dasm_put(Dst, 14784, -BCBIAS_J*4);
2223 } else { 2221 } else {
2224 dasm_put(Dst, 14790, BC_JLOOP); 2222 dasm_put(Dst, 14780, BC_JLOOP);
2225 } 2223 }
2226 dasm_put(Dst, 10824); 2224 dasm_put(Dst, 10814);
2227 if (sse) { 2225 if (sse) {
2228 dasm_put(Dst, 14804); 2226 dasm_put(Dst, 14794);
2229 } 2227 }
2230 break; 2228 break;
2231 2229
2232 case BC_ITERL: 2230 case BC_ITERL:
2233#if LJ_HASJIT 2231#if LJ_HASJIT
2234 dasm_put(Dst, 14623, HOTCOUNT_PCMASK, GG_DISP2HOT); 2232 dasm_put(Dst, 14613, HOTCOUNT_PCMASK, GG_DISP2HOT);
2235#endif 2233#endif
2236 break; 2234 break;
2237 2235
@@ -2240,33 +2238,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2240 break; 2238 break;
2241#endif 2239#endif
2242 case BC_IITERL: 2240 case BC_IITERL:
2243 dasm_put(Dst, 14815, LJ_TNIL); 2241 dasm_put(Dst, 14805, LJ_TNIL);
2244 if (op == BC_JITERL) { 2242 if (op == BC_JITERL) {
2245 dasm_put(Dst, 14830, BC_JLOOP); 2243 dasm_put(Dst, 14820, BC_JLOOP);
2246 } else { 2244 } else {
2247 dasm_put(Dst, 14844, -BCBIAS_J*4); 2245 dasm_put(Dst, 14834, -BCBIAS_J*4);
2248 } 2246 }
2249 dasm_put(Dst, 11121); 2247 dasm_put(Dst, 11111);
2250 break; 2248 break;
2251 2249
2252 case BC_LOOP: 2250 case BC_LOOP:
2253#if LJ_HASJIT 2251#if LJ_HASJIT
2254 dasm_put(Dst, 14623, HOTCOUNT_PCMASK, GG_DISP2HOT); 2252 dasm_put(Dst, 14613, HOTCOUNT_PCMASK, GG_DISP2HOT);
2255#endif 2253#endif
2256 break; 2254 break;
2257 2255
2258 case BC_ILOOP: 2256 case BC_ILOOP:
2259 dasm_put(Dst, 10826); 2257 dasm_put(Dst, 10816);
2260 break; 2258 break;
2261 2259
2262 case BC_JLOOP: 2260 case BC_JLOOP:
2263#if LJ_HASJIT 2261#if LJ_HASJIT
2264 dasm_put(Dst, 14860, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2262 dasm_put(Dst, 14850, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2265#endif 2263#endif
2266 break; 2264 break;
2267 2265
2268 case BC_JMP: 2266 case BC_JMP:
2269 dasm_put(Dst, 14883, -BCBIAS_J*4); 2267 dasm_put(Dst, 14873, -BCBIAS_J*4);
2270 break; 2268 break;
2271 2269
2272 /* -- Function headers -------------------------------------------------- */ 2270 /* -- Function headers -------------------------------------------------- */
@@ -2289,47 +2287,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2289 break; 2287 break;
2290#endif 2288#endif
2291 case BC_IFUNCF: 2289 case BC_IFUNCF:
2292 dasm_put(Dst, 14907, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2290 dasm_put(Dst, 14897, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2293 if (op == BC_JFUNCF) { 2291 if (op == BC_JFUNCF) {
2294 dasm_put(Dst, 14937, BC_JLOOP); 2292 dasm_put(Dst, 14927, BC_JLOOP);
2295 } else { 2293 } else {
2296 dasm_put(Dst, 10826); 2294 dasm_put(Dst, 10816);
2297 } 2295 }
2298 dasm_put(Dst, 14946, LJ_TNIL); 2296 dasm_put(Dst, 14936, LJ_TNIL);
2299 break; 2297 break;
2300 2298
2301 case BC_JFUNCV: 2299 case BC_JFUNCV:
2302#if !LJ_HASJIT 2300#if !LJ_HASJIT
2303 break; 2301 break;
2304#endif 2302#endif
2305 dasm_put(Dst, 10487); 2303 dasm_put(Dst, 10477);
2306 break; /* NYI: compiled vararg functions. */ 2304 break; /* NYI: compiled vararg functions. */
2307 2305
2308 case BC_IFUNCV: 2306 case BC_IFUNCV:
2309 dasm_put(Dst, 14968, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2307 dasm_put(Dst, 14958, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2310 if (op == BC_JFUNCV) { 2308 if (op == BC_JFUNCV) {
2311 dasm_put(Dst, 14937, BC_JLOOP); 2309 dasm_put(Dst, 14927, BC_JLOOP);
2312 } else { 2310 } else {
2313 dasm_put(Dst, 15059, -4+PC2PROTO(k)); 2311 dasm_put(Dst, 15049, -4+PC2PROTO(k));
2314 } 2312 }
2315 dasm_put(Dst, 15081, LJ_TNIL); 2313 dasm_put(Dst, 15071, LJ_TNIL);
2316 break; 2314 break;
2317 2315
2318 case BC_FUNCC: 2316 case BC_FUNCC:
2319 case BC_FUNCCW: 2317 case BC_FUNCCW:
2320 dasm_put(Dst, 15103, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2318 dasm_put(Dst, 15093, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2321 if (op == BC_FUNCC) { 2319 if (op == BC_FUNCC) {
2322 dasm_put(Dst, 15132); 2320 dasm_put(Dst, 15122);
2323 } else { 2321 } else {
2324 dasm_put(Dst, 15136); 2322 dasm_put(Dst, 15126);
2325 } 2323 }
2326 dasm_put(Dst, 15144, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2324 dasm_put(Dst, 15134, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2327 if (op == BC_FUNCC) { 2325 if (op == BC_FUNCC) {
2328 dasm_put(Dst, 15153); 2326 dasm_put(Dst, 15143);
2329 } else { 2327 } else {
2330 dasm_put(Dst, 15157, DISPATCH_GL(wrapf)); 2328 dasm_put(Dst, 15147, DISPATCH_GL(wrapf));
2331 } 2329 }
2332 dasm_put(Dst, 15162, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2330 dasm_put(Dst, 15152, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2333 break; 2331 break;
2334 2332
2335 /* ---------------------------------------------------------------------- */ 2333 /* ---------------------------------------------------------------------- */
@@ -2357,7 +2355,7 @@ static int build_backend(BuildCtx *ctx)
2357 2355
2358 build_subroutines(ctx, cmov, sse); 2356 build_subroutines(ctx, cmov, sse);
2359 2357
2360 dasm_put(Dst, 15187); 2358 dasm_put(Dst, 15177);
2361 for (op = 0; op < BC__MAX; op++) 2359 for (op = 0; op < BC__MAX; op++)
2362 build_ins(ctx, (BCOp)op, op, cmov, sse); 2360 build_ins(ctx, (BCOp)op, op, cmov, sse);
2363 2361