perl 5.0 alpha 4
[p5sagit/p5-mst-13.2.git] / perly.c
CommitLineData
93a17b20 1#ifndef lint
2static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
3#endif
4#define YYBYACC 1
5#line 39 "perly.y"
79072805 6#include "EXTERN.h"
7#include "perl.h"
8
9/*SUPPRESS 530*/
10/*SUPPRESS 593*/
11/*SUPPRESS 595*/
12
93a17b20 13#line 50 "perly.y"
14typedef union {
79072805 15 I32 ival;
16 char *pval;
17 OP *opval;
18 GV *gvval;
19} YYSTYPE;
93a17b20 20#line 21 "y.tab.c"
21#define WORD 257
22#define METHOD 258
23#define THING 259
24#define PMFUNC 260
25#define PRIVATEREF 261
26#define LABEL 262
27#define FORMAT 263
28#define SUB 264
29#define PACKAGE 265
30#define WHILE 266
31#define UNTIL 267
32#define IF 268
33#define UNLESS 269
34#define ELSE 270
35#define ELSIF 271
36#define CONTINUE 272
37#define FOR 273
38#define LOOPEX 274
39#define DOTDOT 275
40#define FUNC0 276
41#define FUNC1 277
42#define FUNC 278
43#define RELOP 279
44#define EQOP 280
45#define MULOP 281
46#define ADDOP 282
47#define DOLSHARP 283
48#define DO 284
49#define LOCAL 285
50#define DELETE 286
51#define HASHBRACK 287
52#define NOAMP 288
463ee0b2 53#define OROP 289
54#define ANDOP 290
55#define LSTOP 291
56#define OROR 292
57#define ANDAND 293
58#define BITOROP 294
59#define BITANDOP 295
60#define UNIOP 296
61#define SHIFTOP 297
62#define MATCHOP 298
63#define ARROW 299
64#define UMINUS 300
65#define REFGEN 301
66#define POWOP 302
67#define PREINC 303
68#define PREDEC 304
69#define POSTINC 305
70#define POSTDEC 306
93a17b20 71#define YYERRCODE 256
72short yylhs[] = { -1,
73 30, 0, 7, 3, 8, 8, 8, 9, 9, 9,
74 9, 23, 23, 23, 23, 23, 23, 13, 13, 13,
75 11, 11, 11, 11, 29, 29, 10, 10, 10, 10,
76 10, 10, 10, 10, 12, 12, 26, 26, 28, 28,
77 1, 1, 1, 2, 2, 31, 31, 32, 32, 14,
78 14, 27, 27, 27, 27, 27, 27, 27, 27, 15,
79 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
80 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
463ee0b2 81 15, 15, 15, 15, 16, 16, 16, 16, 16, 16,
93a17b20 82 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
83 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
84 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
85 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
463ee0b2 86 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
87 16, 16, 24, 24, 22, 17, 18, 19, 20, 21,
88 25, 25, 25, 25, 4, 4, 5, 5, 6, 6,
93a17b20 89};
90short yylen[] = { 2,
91 0, 2, 4, 0, 0, 2, 2, 2, 1, 2,
92 3, 1, 1, 3, 3, 3, 3, 0, 2, 6,
93 6, 6, 4, 4, 0, 2, 7, 7, 5, 5,
94 8, 7, 10, 3, 0, 1, 0, 1, 0, 1,
95 1, 1, 1, 3, 2, 3, 3, 3, 2, 3,
96 1, 3, 5, 4, 6, 6, 3, 2, 4, 3,
97 4, 4, 4, 4, 4, 4, 4, 4, 3, 3,
463ee0b2 98 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
99 3, 5, 3, 1, 2, 2, 2, 2, 2, 2,
100 2, 2, 2, 2, 3, 2, 3, 2, 3, 3,
101 1, 1, 4, 5, 4, 1, 1, 1, 5, 6,
102 5, 6, 5, 4, 5, 6, 8, 1, 1, 3,
103 4, 3, 4, 2, 2, 4, 5, 4, 5, 1,
104 2, 1, 2, 2, 1, 3, 3, 4, 4, 6,
105 1, 1, 0, 1, 2, 2, 2, 2, 2, 2,
106 1, 1, 1, 1, 2, 1, 2, 1, 3, 2,
93a17b20 107};
108short yydefred[] = { 1,
109 0, 5, 0, 40, 0, 0, 0, 6, 41, 7,
110 9, 0, 42, 43, 4, 0, 45, 0, 0, 49,
463ee0b2 111 12, 0, 0, 118, 0, 154, 0, 0, 0, 0,
93a17b20 112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
113 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
114 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
463ee0b2 115 0, 0, 0, 0, 0, 106, 108, 102, 0, 0,
116 0, 142, 5, 44, 47, 46, 48, 151, 153, 152,
93a17b20 117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 118 0, 0, 131, 0, 0, 0, 149, 0, 125, 0,
93a17b20 119 0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
463ee0b2 120 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121 0, 98, 0, 145, 146, 147, 148, 150, 0, 34,
93a17b20 122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 124 0, 0, 0, 90, 91, 0, 0, 0, 0, 0,
125 0, 11, 0, 0, 57, 0, 0, 0, 0, 0,
126 0, 0, 0, 0, 0, 0, 0, 36, 0, 136,
127 137, 0, 0, 0, 0, 0, 0, 0, 100, 0,
128 0, 99, 122, 0, 52, 0, 156, 0, 0, 0,
129 158, 97, 26, 0, 0, 0, 0, 0, 0, 0,
93a17b20 130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 133 0, 120, 0, 0, 0, 3, 139, 0, 0, 29,
134 0, 30, 0, 0, 0, 23, 0, 24, 0, 0,
135 0, 138, 59, 0, 126, 0, 128, 0, 0, 0,
136 0, 160, 123, 0, 155, 0, 157, 0, 0, 0,
93a17b20 137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 138 105, 0, 103, 0, 114, 121, 0, 54, 0, 0,
139 0, 0, 19, 0, 0, 0, 0, 0, 53, 127,
140 129, 0, 0, 159, 113, 0, 0, 111, 0, 0,
141 104, 109, 115, 0, 140, 27, 28, 21, 0, 22,
142 0, 32, 0, 0, 116, 112, 110, 56, 55, 0,
143 0, 31, 0, 0, 0, 117, 20, 33,
93a17b20 144};
145short yydgoto[] = { 1,
463ee0b2 146 8, 9, 73, 199, 202, 192, 79, 3, 10, 11,
147 60, 176, 256, 108, 62, 63, 64, 65, 66, 67,
148 68, 69, 178, 109, 71, 168, 72, 12, 130, 2,
93a17b20 149 13, 14,
150};
151short yysindex[] = { 0,
463ee0b2 152 0, 0, 50, 0, -111, -240, -53, 0, 0, 0,
153 0, 892, 0, 0, 0, -47, 0, -24, -39, 0,
154 0, 0, -33, 0, -9, 0, -30, -26, -25, -22,
155 32, -214, 68, 87, 108, -33, 2699, 2800, 38, 992,
156 -79, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 1048, 0,
157 2800, 2800, 1098, -33, -33, -33, -33, -33, -93, 0,
158 -4, 502, -87, -72, -52, 0, 0, 0, 140, 139,
159 -97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 2800, 2800, 2800, -47, 2800, -47, 2800, -47, 2800, -47,
161 1222, 175, 0, 180, 1328, 2800, 0, 176, 0, 9,
162 -32, 9, 207, 109, 120, 11, 2800, 203, 0, 1378,
163 0, 9, -70, -70, -70, -50, -50, 159, 1, -70,
164 -70, 0, -18, 0, 0, 0, 0, 0, -47, 0,
165 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 1428, 1499,
166 2800, 2800, 2800, 2800, 1700, 1756, 1806, 1856, 2063, 2800,
167 2113, 2800, -89, 0, 0, 2800, 2800, 2800, 2800, 2800,
168 2165, 0, -94, -92, 0, 196, 203, 210, -93, 78,
169 -93, 106, -103, 145, -103, 194, 8, 0, 2800, 0,
170 0, 197, 217, 1378, 2234, 2422, 137, 2800, 0, 2491,
171 142, 0, 0, 1378, 0, 2800, 0, 2543, 170, 2593,
172 0, 0, 0, 203, 203, 203, 203, 665, 52, 9,
173 -68, 2800, -187, 2800, -233, 332, 665, 665, 715, 2800,
174 508, 2800, 1021, 2800, 691, 2800, 136, 2800, -121, -34,
175 2800, -34, 58, 2800, 239, 2800, -16, 66, 10, 107,
176 13, 0, 1, 240, 2800, 0, 0, 2800, -47, 0,
177 -47, 0, -47, -47, 241, 0, -47, 0, 2800, -47,
178 1, 0, 0, 246, 0, 1, 0, 1, 2800, 131,
179 169, 0, 0, 16, 0, 2800, 0, 665, 665, 2800,
180 665, 665, 665, 665, 665, 665, 179, 148, 2800, 19,
181 0, 185, 0, 191, 0, 0, 2800, 0, 411, -93,
182 -93, -103, 0, 2800, -103, 259, -93, -47, 0, 0,
183 0, 151, 200, 0, 0, 23, 236, 0, 205, 264,
184 0, 0, 0, 278, 0, 0, 0, 0, 198, 0,
185 1222, 0, -93, 211, 0, 0, 0, 0, 0, -47,
186 282, 0, 296, -103, -47, 0, 0, 0,
93a17b20 187};
188short yyrindex[] = { 0,
463ee0b2 189 0, 0, 463, 0, 0, 0, 0, 0, 0, 0,
93a17b20 190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 191 0, 557, 0, 0, 0, 0, 0, 0, 0, 0,
192 0, 2841, 2887, 0, 0, 0, 0, 0, 0, 0,
193 0, 3417, 3464, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
195 46, 5017, 5512, 618, 3723, 0, 0, 0, 2930, 0,
93a17b20 196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 197 3417, 0, 297, 0, 0, 0, 0, 0, 0, 0,
198 280, 0, 0, 0, 0, 300, 0, 2971, 0, 4145,
199 3764, 4186, 0, 0, 0, 0, 3417, 3034, 0, 3846,
200 0, 4228, 5058, 5097, 5142, 5357, 5401, 3249, 0, 5438,
201 5475, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 205 0, 0, 0, 942, 0, 0, 48, 0, 163, 0,
206 163, 0, 284, 0, 284, 0, 283, 0, 0, 0,
207 0, 0, 0, 300, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 3846, 0, 0, 0, 0, 3293, 0,
209 0, 0, 0, 80, 82, 93, 103, 1404, 4643, 4269,
210 4313, 0, 3805, 0, 3, 1005, 4507, 4672, 0, 0,
211 4631, 0, 4602, 0, 4573, 0, 4532, 0, 3888, 3334,
212 0, 3376, 0, 0, 0, 0, 0, 0, 0, 0,
213 0, 0, 0, 0, 3417, 0, 0, 0, 0, 0,
214 0, 0, 0, 0, 0, 0, 0, 0, 292, 0,
93a17b20 215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 216 0, 0, 0, 0, 0, 0, 0, 4691, 4761, 0,
217 4909, 4950, 4954, 4962, 5005, 5013, 0, 0, 300, 0,
218 0, 0, 0, 0, 0, 0, 300, 0, 0, 163,
219 163, 284, 0, 0, 284, 0, 163, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 2386, 0, 0, 0,
93a17b20 221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 222 311, 0, 163, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 284, 0, 0, 0, 0,
93a17b20 224};
225short yygindex[] = { 0,
463ee0b2 226 0, 0, 0, -148, 0, 0, -5, 298, 0, 0,
227 0, 22, -170, -3, 5708, 591, 1069, 0, 0, 0,
228 0, 0, 343, -80, 1003, 111, 0, 0, -113, 0,
93a17b20 229 0, 0,
230};
463ee0b2 231#define YYTABLESIZE 5988
93a17b20 232short yytable[] = { 17,
463ee0b2 233 165, 236, 55, 156, 258, 20, 59, 186, 61, 83,
234 74, 15, 76, 85, 87, 183, 18, 89, 158, 77,
235 156, 84, 86, 88, 90, 200, 193, 135, 260, 195,
236 82, 99, 246, 234, 75, 152, 106, 111, 160, 135,
237 156, 197, 93, 71, 198, 119, 71, 139, 197, 123,
238 157, 198, 152, 135, 190, 250, 135, 252, 158, 135,
239 71, 71, 135, 71, 150, 71, 135, 55, 151, 191,
240 159, 91, 152, 55, 201, 15, 291, 103, 169, 167,
241 171, 170, 173, 172, 175, 174, 13, 177, 38, 15,
242 157, 182, 15, 71, 296, 71, 15, 15, 15, 25,
243 15, 135, 293, 264, 13, 295, 38, 94, 315, 135,
244 150, 321, 308, 273, 151, 336, 287, 310, 251, 311,
245 16, 135, 17, 203, 292, 71, 95, 204, 205, 206,
246 207, 328, 25, 14, 330, 25, 25, 25, 16, 25,
247 17, 25, 25, 15, 25, 16, 253, 96, 233, 135,
248 135, 14, 237, 238, 239, 240, 241, 243, 25, 139,
249 140, 15, 25, 25, 298, 294, 254, 255, 235, 4,
250 5, 6, 7, 347, 135, 261, 150, 107, 129, 161,
251 151, 266, 268, 244, 270, 257, 326, 327, 135, 313,
252 25, 135, 274, 332, 135, 25, 245, 162, 25, 25,
253 25, 163, 25, 19, 25, 25, 319, 25, 320, 334,
254 137, 153, 139, 140, 179, 185, 324, 154, 155, 342,
255 180, 25, 25, 78, 25, 25, 25, 26, 149, 150,
256 288, 188, 290, 151, 154, 155, 247, 262, 340, 248,
257 135, 135, 55, 300, 189, 301, 135, 302, 303, 196,
258 249, 305, 259, 25, 307, 167, 143, 263, 144, 269,
259 276, 131, 132, 133, 134, 312, 272, 151, 71, 71,
260 71, 71, 316, 131, 132, 133, 134, 71, 289, 297,
261 304, 71, 71, 18, 71, 25, 309, 25, 25, 139,
262 140, 71, 71, 314, 71, 71, 71, 71, 144, 71,
263 329, 71, 333, 318, 338, 149, 150, 71, 71, 322,
264 151, 4, 5, 6, 7, 323, 18, 331, 339, 18,
265 18, 18, 345, 18, 335, 18, 18, 61, 18, 337,
266 137, 138, 139, 140, 344, 343, 346, 37, 35, 348,
267 143, 13, 18, 145, 146, 147, 148, 18, 149, 150,
268 37, 35, 341, 151, 70, 25, 25, 25, 25, 25,
269 25, 25, 25, 25, 25, 25, 25, 25, 25, 306,
270 164, 0, 25, 25, 18, 25, 25, 25, 0, 0,
271 0, 0, 25, 25, 25, 25, 25, 25, 0, 0,
272 25, 0, 143, 0, 144, 25, 0, 0, 153, 0,
273 25, 0, 25, 25, 0, 0, 18, 0, 18, 18,
274 0, 0, 0, 0, 137, 138, 139, 140, 25, 25,
93a17b20 275 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
463ee0b2 276 25, 25, 149, 150, 0, 25, 25, 151, 25, 25,
277 25, 0, 0, 0, 0, 25, 25, 25, 25, 25,
278 25, 325, 0, 25, 0, 0, 0, 0, 25, 0,
279 0, 0, 2, 25, 0, 25, 25, 0, 0, 0,
280 136, 143, 0, 144, 137, 138, 139, 140, 0, 0,
281 0, 0, 0, 0, 141, 142, 0, 145, 146, 147,
282 148, 0, 149, 150, 0, 39, 0, 151, 39, 39,
283 39, 0, 39, 0, 39, 39, 0, 39, 0, 0,
284 136, 0, 0, 0, 137, 138, 139, 140, 0, 0,
285 0, 39, 0, 0, 0, 0, 39, 145, 146, 147,
286 148, 0, 149, 150, 0, 0, 0, 151, 0, 18,
287 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
288 18, 18, 18, 39, 0, 0, 18, 18, 0, 18,
289 18, 18, 143, 0, 144, 0, 18, 18, 18, 18,
290 18, 18, 0, 0, 18, 0, 0, 0, 0, 18,
291 0, 0, 0, 0, 18, 39, 18, 18, 39, 151,
292 0, 0, 151, 151, 151, 0, 151, 141, 151, 151,
293 141, 151, 0, 0, 0, 0, 136, 0, 0, 0,
294 137, 138, 139, 140, 141, 141, 0, 141, 0, 141,
295 151, 142, 0, 145, 146, 147, 148, 0, 149, 150,
296 0, 0, 0, 151, 113, 114, 115, 116, 117, 0,
297 0, 120, 121, 0, 0, 0, 0, 141, 0, 141,
298 152, 0, 0, 152, 152, 152, 0, 152, 101, 152,
299 152, 101, 152, 0, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 101, 101, 0, 101, 141,
301 101, 152, 151, 0, 0, 136, 0, 0, 0, 137,
302 138, 139, 140, 0, 0, 0, 0, 0, 0, 141,
303 142, 0, 145, 146, 147, 148, 0, 149, 150, 0,
304 101, 0, 151, 0, 0, 0, 0, 0, 39, 39,
305 39, 39, 39, 39, 0, 143, 0, 144, 39, 39,
306 39, 39, 0, 0, 0, 39, 39, 0, 39, 39,
307 39, 0, 0, 152, 0, 39, 39, 39, 39, 39,
308 39, 0, 0, 39, 0, 0, 0, 0, 39, 0,
309 0, 0, 0, 39, 0, 39, 39, 0, 0, 0,
310 0, 0, 280, 0, 0, 143, 136, 144, 0, 0,
311 137, 138, 139, 140, 0, 0, 137, 138, 139, 140,
312 141, 142, 0, 145, 146, 147, 148, 0, 149, 150,
313 146, 147, 148, 151, 149, 150, 0, 0, 0, 151,
314 0, 0, 0, 151, 151, 151, 151, 151, 0, 0,
315 0, 0, 141, 141, 141, 141, 0, 0, 0, 0,
316 151, 141, 151, 151, 151, 141, 141, 141, 141, 151,
317 151, 151, 151, 151, 151, 141, 141, 151, 141, 141,
318 141, 141, 151, 141, 141, 141, 0, 151, 141, 151,
319 151, 141, 141, 0, 0, 0, 0, 0, 0, 0,
320 0, 0, 0, 0, 152, 152, 152, 152, 152, 0,
321 0, 0, 0, 101, 101, 101, 101, 0, 0, 0,
322 0, 152, 101, 152, 152, 152, 101, 101, 101, 101,
323 152, 152, 152, 152, 152, 152, 101, 101, 152, 101,
324 101, 101, 101, 152, 101, 101, 101, 0, 152, 101,
325 152, 152, 101, 101, 44, 0, 0, 55, 57, 54,
326 0, 49, 0, 58, 52, 0, 51, 0, 0, 136,
327 0, 0, 0, 137, 138, 139, 140, 0, 0, 0,
328 50, 0, 0, 0, 0, 56, 145, 146, 147, 148,
329 0, 149, 150, 0, 0, 0, 151, 0, 0, 137,
330 138, 139, 140, 0, 39, 0, 0, 39, 39, 39,
331 0, 39, 53, 39, 39, 148, 39, 149, 150, 136,
332 0, 0, 151, 137, 138, 139, 140, 0, 0, 0,
333 39, 0, 0, 141, 142, 39, 145, 146, 147, 148,
334 0, 149, 150, 0, 15, 0, 151, 45, 0, 0,
335 0, 0, 0, 0, 44, 81, 0, 55, 57, 54,
336 0, 49, 39, 58, 52, 0, 51, 0, 97, 0,
337 0, 0, 0, 0, 110, 81, 0, 0, 81, 0,
338 105, 0, 0, 0, 0, 56, 124, 125, 126, 127,
339 128, 0, 81, 81, 39, 0, 0, 39, 0, 0,
93a17b20 340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 341 44, 0, 53, 55, 57, 54, 0, 49, 118, 58,
342 52, 80, 51, 0, 0, 81, 0, 81, 184, 92,
343 0, 0, 0, 0, 80, 101, 0, 104, 0, 194,
344 0, 56, 0, 0, 15, 0, 0, 45, 0, 0,
345 0, 0, 80, 80, 80, 80, 80, 81, 0, 0,
346 44, 0, 0, 55, 57, 54, 0, 49, 53, 58,
347 52, 0, 51, 0, 0, 0, 0, 21, 22, 23,
348 24, 25, 26, 0, 0, 0, 0, 27, 28, 29,
349 30, 56, 0, 0, 31, 32, 0, 33, 34, 35,
350 15, 187, 0, 45, 36, 37, 38, 39, 40, 41,
351 0, 0, 42, 0, 0, 0, 0, 43, 53, 0,
352 122, 0, 46, 0, 47, 48, 0, 39, 39, 39,
353 39, 39, 39, 0, 0, 0, 0, 39, 39, 39,
354 39, 0, 0, 0, 39, 39, 0, 39, 39, 39,
355 15, 0, 0, 45, 39, 39, 39, 39, 39, 39,
356 0, 0, 39, 0, 0, 0, 0, 39, 0, 0,
357 0, 0, 39, 0, 39, 39, 0, 0, 22, 23,
358 24, 25, 26, 0, 44, 0, 0, 55, 57, 54,
359 0, 49, 0, 58, 52, 32, 51, 33, 34, 35,
360 81, 81, 81, 81, 36, 37, 38, 39, 40, 41,
361 0, 0, 42, 0, 0, 56, 0, 43, 0, 0,
362 0, 0, 46, 81, 47, 48, 0, 0, 0, 137,
363 138, 139, 140, 81, 22, 23, 24, 25, 26, 81,
364 81, 0, 53, 0, 147, 148, 0, 149, 150, 0,
365 0, 32, 151, 33, 34, 35, 0, 0, 0, 0,
366 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
367 0, 0, 0, 43, 15, 0, 0, 45, 46, 0,
368 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
369 44, 0, 0, 55, 57, 54, 0, 49, 181, 58,
370 52, 32, 51, 33, 34, 35, 0, 0, 0, 0,
371 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
372 0, 56, 0, 43, 0, 0, 0, 0, 46, 0,
373 47, 48, 0, 0, 0, 0, 0, 0, 0, 0,
374 44, 0, 0, 55, 57, 54, 0, 49, 53, 58,
375 52, 0, 51, 0, 0, 0, 0, 0, 0, 0,
93a17b20 376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 377 0, 56, 0, 0, 50, 0, 0, 50, 0, 0,
378 15, 0, 0, 45, 0, 0, 0, 0, 0, 0,
379 44, 50, 50, 55, 57, 54, 0, 49, 53, 58,
380 52, 0, 51, 0, 0, 0, 0, 21, 22, 23,
381 24, 25, 26, 0, 0, 0, 0, 0, 212, 0,
382 0, 56, 0, 0, 50, 32, 50, 33, 34, 35,
383 15, 0, 0, 45, 36, 37, 38, 39, 40, 41,
384 0, 0, 42, 0, 0, 0, 0, 43, 53, 0,
385 0, 0, 46, 0, 47, 48, 50, 0, 0, 0,
386 0, 44, 0, 0, 55, 57, 54, 0, 49, 0,
387 58, 52, 0, 51, 0, 0, 0, 0, 0, 0,
388 15, 0, 0, 45, 0, 0, 0, 0, 0, 214,
389 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
93a17b20 390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 391 0, 0, 0, 0, 22, 23, 24, 25, 26, 53,
93a17b20 392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 393 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
463ee0b2 394 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
395 0, 15, 0, 43, 45, 0, 0, 0, 46, 0,
396 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
93a17b20 397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 398 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
463ee0b2 399 36, 37, 38, 39, 40, 41, 0, 0, 42, 50,
400 50, 50, 50, 43, 0, 0, 163, 0, 46, 0,
401 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
402 0, 0, 50, 50, 0, 0, 0, 0, 0, 0,
403 0, 32, 50, 33, 34, 35, 0, 0, 50, 50,
404 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
405 0, 0, 0, 43, 0, 0, 0, 0, 46, 0,
406 47, 48, 44, 0, 0, 55, 57, 54, 0, 49,
407 0, 58, 52, 0, 51, 0, 0, 0, 0, 0,
93a17b20 408 0, 0, 0, 0, 0, 22, 23, 24, 25, 26,
463ee0b2 409 220, 0, 0, 56, 0, 0, 0, 0, 0, 0,
93a17b20 410 0, 0, 32, 0, 33, 34, 35, 0, 0, 0,
463ee0b2 411 0, 36, 37, 38, 39, 40, 41, 0, 44, 42,
412 53, 55, 57, 54, 43, 49, 0, 58, 52, 46,
413 51, 47, 48, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 222, 0, 0, 56,
415 0, 0, 15, 0, 0, 45, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
417 0, 55, 57, 54, 0, 49, 53, 58, 52, 0,
418 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 224, 0, 0, 56,
420 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
421 0, 45, 0, 0, 0, 0, 0, 0, 44, 0,
422 0, 55, 57, 54, 0, 49, 53, 58, 52, 0,
423 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 226, 0, 0, 56,
425 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
426 0, 45, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 53, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 22, 23, 24, 25,
429 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 32, 0, 33, 34, 35, 15, 0,
431 0, 45, 36, 37, 38, 39, 40, 41, 0, 0,
432 42, 0, 0, 0, 0, 43, 0, 0, 0, 0,
433 46, 0, 47, 48, 0, 0, 0, 0, 0, 0,
434 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
93a17b20 435 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
436 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
463ee0b2 437 38, 39, 40, 41, 0, 0, 42, 0, 0, 0,
438 0, 43, 0, 0, 0, 0, 46, 0, 47, 48,
439 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
93a17b20 441 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
463ee0b2 442 38, 39, 40, 41, 0, 44, 42, 0, 55, 57,
443 54, 43, 49, 0, 58, 52, 46, 51, 47, 48,
444 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
445 0, 0, 0, 228, 0, 0, 56, 0, 0, 32,
446 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
447 38, 39, 40, 41, 0, 44, 42, 0, 55, 57,
448 54, 43, 49, 53, 58, 52, 46, 51, 47, 48,
449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 231, 0, 0, 56, 0, 0, 0,
451 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
452 0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
453 55, 57, 54, 53, 49, 242, 58, 52, 0, 51,
93a17b20 454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 455 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
456 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
93a17b20 457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 458 0, 0, 0, 0, 0, 53, 0, 0, 0, 0,
459 0, 0, 0, 0, 0, 0, 44, 0, 0, 55,
460 57, 54, 0, 49, 265, 58, 52, 0, 51, 0,
461 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
462 45, 0, 0, 0, 0, 0, 0, 56, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
465 23, 24, 25, 26, 53, 0, 0, 0, 0, 0,
466 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
467 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
468 41, 0, 0, 42, 0, 0, 15, 0, 43, 45,
469 0, 0, 0, 46, 0, 47, 48, 0, 0, 22,
470 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
471 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
472 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
473 41, 0, 0, 42, 0, 0, 0, 0, 43, 0,
474 0, 0, 0, 46, 0, 47, 48, 0, 0, 0,
475 0, 22, 23, 24, 25, 26, 82, 0, 0, 82,
93a17b20 476 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
463ee0b2 477 33, 34, 35, 82, 82, 0, 82, 36, 37, 38,
478 39, 40, 41, 0, 44, 42, 0, 55, 57, 54,
479 43, 49, 267, 58, 52, 46, 51, 47, 48, 0,
480 0, 0, 0, 0, 0, 0, 82, 0, 82, 0,
481 0, 0, 0, 0, 0, 56, 0, 0, 0, 0,
482 22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 32, 82, 33,
484 34, 35, 53, 0, 0, 0, 36, 37, 38, 39,
485 40, 41, 0, 44, 42, 0, 55, 57, 54, 43,
486 49, 0, 58, 52, 46, 51, 47, 48, 0, 0,
487 0, 0, 0, 0, 15, 0, 0, 45, 0, 271,
488 0, 0, 0, 0, 56, 0, 0, 0, 0, 0,
93a17b20 489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 490 0, 0, 0, 0, 0, 44, 0, 0, 55, 57,
491 54, 53, 49, 275, 58, 52, 0, 51, 0, 0,
93a17b20 492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 493 0, 0, 0, 0, 0, 0, 56, 0, 0, 0,
494 0, 0, 0, 15, 0, 0, 45, 0, 0, 0,
495 0, 0, 0, 0, 0, 44, 0, 0, 55, 57,
496 54, 0, 49, 53, 58, 52, 0, 51, 0, 0,
93a17b20 497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 498 0, 82, 82, 82, 82, 0, 56, 0, 0, 0,
499 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
500 0, 0, 0, 0, 82, 82, 0, 0, 22, 23,
501 24, 25, 26, 53, 82, 277, 0, 0, 0, 0,
502 82, 82, 0, 0, 0, 32, 0, 33, 34, 35,
503 0, 0, 0, 0, 36, 37, 38, 39, 40, 41,
504 0, 0, 42, 0, 0, 15, 0, 43, 45, 0,
505 0, 0, 46, 0, 47, 48, 0, 0, 0, 0,
506 0, 44, 0, 0, 55, 57, 54, 0, 49, 0,
507 58, 52, 0, 51, 0, 0, 0, 22, 23, 24,
508 25, 26, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 56, 0, 32, 0, 33, 34, 35, 0,
510 0, 0, 0, 36, 37, 38, 39, 40, 41, 0,
511 0, 42, 0, 0, 0, 0, 43, 0, 0, 53,
512 0, 46, 0, 47, 48, 0, 0, 0, 0, 22,
513 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
515 35, 15, 0, 0, 45, 36, 37, 38, 39, 40,
516 41, 0, 44, 42, 0, 55, 57, 54, 43, 49,
517 0, 58, 52, 46, 51, 47, 48, 0, 0, 22,
518 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
519 0, 0, 0, 56, 0, 0, 32, 0, 33, 34,
520 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
521 41, 130, 0, 42, 130, 0, 0, 0, 43, 0,
522 53, 0, 0, 46, 0, 47, 48, 0, 130, 130,
523 0, 130, 0, 130, 0, 0, 0, 0, 0, 0,
93a17b20 524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 525 0, 0, 15, 0, 0, 45, 0, 135, 0, 0,
526 135, 130, 0, 130, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 135, 135, 0, 135, 0, 135,
528 0, 0, 0, 0, 0, 98, 23, 24, 25, 26,
529 0, 0, 0, 130, 0, 0, 0, 0, 0, 0,
530 119, 0, 32, 119, 33, 34, 35, 135, 0, 135,
531 0, 36, 37, 38, 39, 40, 41, 119, 119, 42,
532 119, 0, 119, 0, 43, 0, 0, 0, 0, 46,
533 0, 47, 48, 0, 0, 0, 0, 0, 0, 135,
534 0, 141, 0, 0, 141, 0, 0, 0, 0, 0,
535 119, 0, 119, 0, 0, 0, 0, 0, 141, 141,
536 0, 141, 0, 141, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 119, 0, 0, 0, 22, 23, 24, 25,
539 26, 141, 0, 141, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 32, 144, 33, 34, 35, 0, 0,
541 0, 0, 36, 37, 38, 39, 40, 41, 0, 0,
542 42, 144, 144, 141, 144, 43, 144, 0, 0, 0,
543 46, 0, 47, 48, 0, 0, 130, 130, 130, 130,
544 0, 0, 0, 0, 0, 130, 0, 0, 0, 130,
545 130, 130, 130, 0, 144, 0, 144, 0, 0, 130,
546 130, 0, 130, 130, 130, 130, 0, 130, 130, 130,
547 0, 0, 130, 0, 0, 130, 130, 0, 0, 0,
548 0, 0, 135, 135, 135, 135, 144, 0, 0, 0,
549 0, 135, 0, 0, 0, 135, 135, 135, 135, 0,
550 0, 0, 0, 0, 0, 135, 135, 0, 135, 135,
551 135, 135, 0, 135, 135, 135, 0, 0, 135, 0,
552 0, 135, 135, 0, 0, 119, 119, 119, 119, 0,
553 0, 0, 0, 0, 119, 0, 0, 0, 119, 119,
554 119, 119, 0, 0, 0, 0, 0, 0, 119, 119,
555 0, 119, 119, 119, 119, 0, 119, 119, 119, 0,
556 0, 119, 0, 0, 119, 119, 141, 141, 141, 141,
557 0, 0, 0, 0, 0, 141, 0, 0, 0, 141,
558 141, 141, 141, 0, 0, 0, 0, 0, 0, 141,
559 141, 0, 141, 141, 141, 141, 0, 141, 141, 141,
560 0, 0, 141, 0, 0, 141, 141, 0, 0, 0,
561 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
562 0, 0, 96, 0, 0, 0, 0, 0, 0, 144,
563 144, 144, 144, 0, 0, 0, 96, 96, 144, 96,
564 0, 96, 144, 144, 144, 144, 0, 0, 0, 0,
565 0, 0, 144, 144, 0, 144, 144, 144, 144, 0,
566 144, 144, 144, 95, 0, 144, 95, 0, 144, 144,
567 0, 96, 0, 0, 0, 0, 0, 0, 0, 0,
568 95, 95, 0, 95, 0, 95, 0, 0, 0, 0,
569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 96, 0, 0, 83, 0, 0, 83, 0, 0,
571 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
572 0, 83, 83, 0, 83, 0, 83, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 95, 69, 0, 0, 69,
575 0, 0, 0, 0, 83, 0, 83, 0, 0, 0,
576 0, 0, 0, 69, 69, 0, 69, 0, 69, 0,
577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 83, 143, 0, 0,
579 143, 0, 0, 0, 0, 0, 69, 0, 69, 0,
580 0, 0, 0, 0, 143, 143, 0, 143, 0, 143,
581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 0, 0, 0, 0, 69, 0,
583 0, 0, 0, 0, 132, 0, 0, 132, 0, 143,
584 0, 0, 0, 0, 96, 96, 96, 96, 0, 0,
585 0, 132, 132, 96, 132, 0, 132, 96, 96, 96,
586 96, 0, 0, 0, 0, 0, 0, 96, 96, 0,
587 96, 96, 96, 96, 0, 96, 96, 96, 0, 0,
588 96, 0, 0, 96, 96, 0, 132, 0, 95, 95,
589 95, 95, 0, 0, 0, 0, 0, 95, 0, 0,
590 0, 95, 95, 95, 95, 0, 0, 0, 0, 0,
591 0, 95, 95, 0, 95, 95, 95, 95, 0, 95,
592 95, 95, 0, 0, 95, 0, 0, 95, 95, 83,
93a17b20 593 83, 83, 83, 0, 0, 0, 0, 0, 83, 0,
594 0, 0, 83, 83, 83, 83, 0, 0, 0, 0,
463ee0b2 595 0, 0, 83, 83, 0, 83, 83, 83, 83, 0,
596 83, 83, 83, 0, 0, 0, 0, 0, 83, 83,
597 0, 69, 69, 69, 69, 0, 0, 0, 0, 0,
598 69, 0, 0, 0, 69, 69, 69, 69, 0, 0,
599 0, 0, 0, 0, 69, 69, 0, 69, 69, 69,
600 69, 0, 69, 69, 69, 0, 0, 0, 0, 0,
601 69, 69, 143, 143, 143, 143, 0, 0, 0, 0,
602 0, 143, 0, 0, 0, 143, 143, 143, 143, 0,
603 0, 0, 0, 0, 0, 143, 143, 0, 143, 143,
604 143, 143, 0, 143, 143, 143, 0, 0, 143, 0,
605 0, 143, 143, 0, 0, 0, 0, 0, 0, 132,
606 132, 132, 132, 0, 0, 0, 0, 0, 132, 0,
607 0, 0, 132, 132, 132, 132, 0, 0, 0, 0,
608 0, 0, 132, 132, 0, 132, 132, 132, 132, 0,
609 132, 132, 132, 107, 0, 132, 107, 0, 132, 132,
610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
611 107, 107, 0, 107, 0, 107, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 101, 0, 0, 101, 0, 0,
614 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
615 0, 101, 101, 0, 101, 0, 101, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 70, 0, 0, 70, 0,
618 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
619 0, 0, 70, 70, 0, 70, 0, 70, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 143, 0, 0, 143,
622 0, 0, 0, 0, 0, 70, 0, 70, 0, 0,
623 0, 0, 0, 143, 143, 0, 143, 0, 143, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 70, 72, 0,
626 0, 72, 0, 0, 0, 0, 0, 0, 143, 0,
627 0, 0, 0, 0, 0, 72, 72, 0, 72, 0,
628 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
631 72, 0, 0, 0, 0, 0, 0, 0, 107, 107,
632 107, 107, 0, 0, 0, 0, 0, 107, 0, 0,
633 0, 107, 107, 107, 107, 0, 0, 0, 0, 0,
634 72, 107, 107, 0, 107, 107, 107, 107, 0, 107,
635 107, 107, 0, 0, 107, 0, 0, 107, 107, 101,
636 101, 101, 101, 0, 0, 0, 0, 0, 101, 0,
637 0, 0, 101, 101, 101, 101, 0, 0, 0, 0,
638 0, 0, 101, 101, 0, 101, 101, 101, 101, 0,
639 101, 101, 101, 0, 0, 101, 0, 0, 101, 101,
640 70, 70, 70, 70, 0, 0, 0, 0, 0, 70,
641 0, 0, 0, 70, 70, 70, 70, 0, 0, 0,
642 0, 0, 0, 70, 70, 0, 70, 70, 70, 70,
643 0, 70, 0, 70, 0, 0, 0, 0, 0, 70,
644 70, 143, 143, 143, 143, 0, 0, 0, 0, 0,
645 143, 0, 0, 0, 143, 143, 143, 143, 0, 0,
646 0, 0, 0, 0, 143, 143, 0, 143, 143, 143,
647 143, 0, 143, 143, 0, 0, 0, 143, 0, 0,
648 143, 143, 0, 72, 72, 72, 72, 0, 0, 0,
649 0, 0, 72, 0, 0, 0, 72, 72, 0, 0,
650 0, 0, 0, 0, 0, 0, 72, 72, 0, 72,
651 72, 72, 72, 0, 72, 124, 72, 0, 124, 0,
652 0, 0, 72, 72, 0, 0, 0, 0, 0, 0,
653 0, 0, 124, 124, 0, 124, 0, 124, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 94, 0, 0, 94,
656 0, 0, 0, 0, 0, 124, 0, 124, 0, 0,
657 0, 0, 0, 94, 94, 0, 94, 0, 94, 0,
658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 124, 134, 0,
660 0, 134, 0, 0, 0, 0, 94, 0, 94, 0,
661 0, 0, 0, 0, 0, 134, 134, 0, 134, 0,
662 134, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 94, 73,
664 0, 0, 73, 0, 0, 0, 0, 0, 134, 0,
665 134, 0, 0, 0, 0, 0, 73, 73, 0, 73,
666 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668 134, 0, 0, 74, 0, 0, 74, 0, 0, 73,
669 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
670 74, 74, 0, 74, 0, 74, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 74, 0, 74, 0, 0, 0, 0,
674 124, 124, 124, 124, 0, 0, 0, 0, 0, 124,
675 0, 0, 0, 124, 124, 0, 0, 0, 0, 0,
676 0, 0, 0, 124, 124, 74, 124, 124, 124, 124,
677 0, 0, 0, 124, 0, 0, 0, 0, 0, 124,
678 124, 94, 94, 94, 94, 0, 0, 0, 0, 0,
679 94, 0, 0, 0, 94, 94, 0, 0, 0, 0,
680 0, 0, 0, 0, 94, 94, 0, 94, 94, 94,
681 94, 0, 0, 0, 94, 0, 0, 0, 0, 0,
682 94, 94, 0, 134, 134, 134, 134, 0, 0, 0,
683 0, 0, 134, 0, 0, 0, 134, 134, 0, 0,
684 0, 0, 0, 0, 0, 0, 134, 134, 0, 134,
685 134, 134, 134, 0, 0, 0, 134, 0, 0, 0,
686 0, 0, 134, 134, 73, 73, 73, 73, 0, 0,
687 0, 0, 0, 73, 0, 0, 0, 80, 73, 0,
688 80, 0, 0, 0, 0, 0, 0, 73, 73, 0,
689 73, 73, 73, 73, 80, 80, 0, 73, 0, 0,
690 0, 0, 75, 73, 73, 75, 0, 0, 74, 74,
691 74, 74, 0, 0, 0, 0, 0, 74, 0, 75,
692 75, 0, 75, 0, 75, 0, 0, 80, 0, 80,
693 0, 74, 74, 0, 74, 74, 74, 74, 0, 0,
694 0, 74, 0, 76, 0, 0, 76, 74, 74, 0,
695 0, 0, 75, 0, 75, 0, 0, 0, 0, 80,
696 76, 76, 0, 76, 0, 76, 0, 0, 0, 0,
697 0, 0, 78, 0, 0, 78, 0, 0, 0, 0,
698 0, 0, 0, 0, 75, 0, 0, 0, 0, 78,
699 78, 0, 78, 76, 78, 76, 0, 0, 0, 0,
700 0, 79, 0, 0, 79, 0, 0, 0, 0, 0,
701 0, 0, 0, 77, 0, 0, 77, 0, 79, 79,
702 0, 79, 78, 79, 78, 76, 0, 0, 0, 0,
703 77, 77, 0, 77, 0, 77, 0, 0, 0, 0,
704 0, 0, 60, 0, 0, 60, 0, 0, 0, 0,
705 0, 79, 0, 79, 78, 0, 0, 0, 0, 60,
706 60, 62, 0, 77, 62, 77, 0, 0, 0, 0,
707 0, 0, 0, 0, 0, 0, 0, 0, 62, 62,
708 0, 0, 0, 79, 0, 0, 0, 0, 0, 0,
709 0, 0, 60, 0, 60, 77, 0, 0, 0, 0,
710 0, 0, 80, 80, 80, 80, 0, 0, 0, 0,
711 0, 62, 0, 62, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 60, 80, 80, 75, 75, 75,
713 75, 63, 0, 0, 63, 80, 75, 0, 0, 0,
714 0, 80, 80, 62, 0, 0, 0, 0, 63, 63,
715 75, 75, 0, 75, 75, 75, 75, 0, 0, 0,
716 75, 0, 0, 0, 0, 0, 75, 75, 76, 76,
717 76, 76, 0, 0, 0, 0, 0, 76, 0, 0,
718 0, 63, 0, 63, 0, 0, 0, 0, 0, 0,
719 0, 76, 76, 0, 76, 76, 76, 78, 78, 78,
720 78, 76, 0, 0, 0, 0, 78, 76, 76, 0,
721 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
722 78, 78, 0, 78, 78, 0, 79, 79, 79, 79,
723 78, 0, 0, 0, 0, 79, 78, 78, 77, 77,
724 77, 77, 0, 0, 0, 0, 0, 0, 0, 79,
725 79, 0, 79, 0, 0, 0, 0, 0, 0, 79,
726 0, 77, 77, 0, 0, 79, 79, 60, 60, 60,
727 60, 77, 0, 0, 0, 0, 0, 77, 77, 68,
728 0, 0, 68, 0, 0, 0, 62, 62, 62, 62,
729 60, 60, 0, 0, 0, 0, 68, 68, 0, 0,
730 60, 0, 0, 0, 0, 0, 60, 60, 0, 62,
731 62, 0, 0, 0, 0, 0, 0, 0, 0, 62,
732 67, 0, 0, 67, 66, 62, 62, 66, 0, 68,
733 0, 68, 65, 0, 0, 65, 0, 67, 67, 0,
734 0, 66, 66, 0, 0, 0, 0, 0, 0, 65,
735 65, 0, 0, 0, 0, 0, 63, 63, 63, 63,
736 0, 68, 0, 0, 0, 0, 0, 0, 0, 0,
737 67, 0, 67, 0, 66, 64, 66, 0, 64, 63,
738 63, 0, 65, 61, 65, 0, 61, 51, 0, 63,
739 51, 0, 64, 64, 0, 63, 63, 0, 0, 0,
740 61, 61, 67, 0, 51, 51, 66, 0, 0, 0,
741 0, 0, 0, 0, 65, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 64, 0, 64, 87, 0,
743 0, 87, 0, 61, 0, 61, 0, 51, 0, 51,
744 0, 0, 0, 0, 0, 87, 87, 0, 87, 0,
745 87, 0, 0, 0, 0, 0, 0, 64, 0, 0,
746 0, 0, 0, 0, 0, 61, 0, 88, 0, 51,
747 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
748 87, 0, 0, 0, 88, 88, 0, 88, 0, 88,
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 68, 68, 68, 68, 0, 0,
751 0, 0, 89, 0, 0, 89, 0, 0, 0, 88,
752 0, 0, 0, 0, 0, 0, 0, 68, 68, 89,
753 89, 0, 89, 0, 89, 0, 0, 68, 0, 0,
754 0, 0, 0, 68, 68, 67, 67, 67, 67, 66,
755 66, 66, 66, 0, 0, 0, 0, 65, 65, 65,
756 65, 0, 0, 0, 89, 0, 0, 0, 67, 67,
757 0, 0, 66, 66, 0, 0, 0, 0, 67, 0,
758 65, 65, 66, 0, 67, 67, 0, 0, 66, 66,
759 65, 0, 0, 0, 0, 0, 65, 65, 0, 0,
760 64, 64, 64, 64, 0, 0, 0, 0, 61, 61,
761 61, 61, 51, 51, 51, 51, 0, 0, 0, 0,
762 0, 0, 0, 64, 64, 0, 0, 0, 0, 0,
763 0, 61, 61, 64, 0, 0, 0, 0, 0, 64,
764 64, 61, 0, 0, 0, 51, 0, 61, 61, 0,
765 0, 51, 51, 87, 87, 87, 87, 0, 0, 0,
766 0, 0, 87, 0, 0, 0, 87, 87, 87, 87,
767 0, 0, 0, 0, 0, 0, 87, 87, 0, 87,
768 87, 87, 87, 0, 87, 87, 87, 0, 0, 87,
769 0, 0, 88, 88, 88, 88, 0, 0, 0, 0,
770 0, 88, 0, 0, 0, 88, 88, 88, 88, 0,
771 0, 0, 0, 0, 0, 88, 88, 0, 88, 88,
772 88, 88, 0, 88, 88, 88, 0, 92, 88, 0,
773 92, 0, 0, 0, 0, 0, 0, 89, 89, 89,
774 89, 0, 0, 0, 92, 92, 89, 92, 0, 92,
775 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
776 89, 89, 0, 89, 89, 89, 89, 0, 89, 89,
777 89, 93, 0, 89, 93, 0, 0, 0, 0, 92,
778 0, 0, 0, 0, 0, 0, 0, 0, 93, 93,
779 0, 93, 0, 93, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
781 0, 85, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 93, 0, 85, 85, 0, 85, 0,
783 85, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 86, 0, 0, 86, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 85, 0, 86, 86, 0, 86, 0, 86, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 84, 0, 0, 84, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 86, 0, 84,
790 84, 0, 84, 0, 84, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 84, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 92, 92, 92, 92, 0, 0, 0, 0,
796 0, 92, 0, 0, 0, 92, 92, 92, 92, 0,
797 0, 0, 0, 0, 0, 92, 92, 0, 92, 92,
798 92, 92, 0, 92, 92, 92, 0, 0, 92, 0,
799 0, 0, 0, 0, 0, 0, 93, 93, 93, 93,
800 0, 0, 0, 0, 0, 93, 0, 0, 0, 93,
801 93, 93, 93, 0, 0, 0, 0, 0, 0, 93,
802 93, 0, 93, 93, 93, 93, 0, 93, 93, 93,
803 0, 0, 93, 85, 85, 85, 85, 0, 0, 0,
804 0, 0, 85, 0, 0, 0, 85, 85, 85, 85,
805 0, 0, 0, 0, 0, 0, 85, 85, 0, 85,
806 85, 85, 85, 0, 85, 85, 85, 0, 0, 85,
807 86, 86, 86, 86, 100, 102, 0, 0, 0, 86,
808 112, 0, 0, 86, 86, 86, 86, 0, 0, 0,
809 0, 0, 0, 86, 86, 0, 86, 86, 86, 86,
810 0, 86, 86, 86, 0, 0, 86, 84, 84, 84,
811 84, 0, 0, 0, 0, 0, 84, 0, 0, 166,
812 84, 84, 84, 84, 0, 0, 0, 0, 0, 0,
813 84, 84, 0, 84, 84, 84, 84, 0, 84, 84,
814 0, 0, 0, 84, 0, 0, 0, 0, 0, 0,
93a17b20 815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 817 0, 0, 208, 209, 210, 211, 213, 215, 216, 217,
818 218, 219, 221, 223, 225, 227, 229, 230, 232, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 208, 0, 0,
823 0, 0, 0, 0, 0, 208, 0, 208, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 278,
825 0, 279, 0, 0, 0, 0, 0, 281, 0, 282,
826 0, 283, 0, 284, 0, 285, 0, 0, 286, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 299, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 317,
93a17b20 832};
833short yycheck[] = { 5,
463ee0b2 834 81, 91, 36, 91, 175, 59, 12, 40, 12, 40,
835 16, 123, 18, 40, 40, 96, 257, 40, 91, 59,
836 91, 27, 28, 29, 30, 44, 107, 44, 177, 110,
837 40, 37, 125, 123, 59, 123, 40, 43, 91, 44,
838 91, 41, 257, 41, 44, 49, 44, 281, 41, 53,
839 123, 44, 123, 44, 44, 169, 44, 171, 91, 44,
840 58, 59, 44, 61, 298, 63, 44, 36, 302, 59,
841 123, 40, 123, 36, 93, 123, 93, 40, 84, 83,
842 86, 85, 88, 87, 90, 89, 41, 91, 41, 123,
843 123, 95, 123, 91, 243, 93, 123, 123, 123, 0,
844 123, 44, 93, 184, 59, 93, 59, 40, 93, 44,
845 298, 93, 261, 194, 302, 93, 59, 266, 41, 268,
846 41, 44, 41, 129, 59, 123, 40, 131, 132, 133,
847 134, 302, 33, 41, 305, 36, 37, 38, 59, 40,
848 59, 42, 43, 41, 45, 257, 41, 40, 152, 44,
849 44, 59, 156, 157, 158, 159, 160, 161, 59, 281,
850 282, 59, 0, 64, 245, 59, 270, 271, 258, 262,
851 263, 264, 265, 344, 44, 179, 298, 257, 272, 40,
852 302, 185, 186, 278, 188, 41, 300, 301, 44, 59,
853 91, 44, 196, 307, 44, 33, 291, 59, 36, 37,
854 38, 299, 40, 257, 42, 43, 59, 45, 289, 59,
855 279, 299, 281, 282, 40, 40, 297, 305, 306, 333,
856 41, 59, 123, 257, 125, 126, 64, 261, 297, 298,
857 234, 123, 236, 302, 305, 306, 41, 41, 41, 44,
858 44, 44, 36, 249, 125, 251, 44, 253, 254, 91,
859 41, 257, 59, 91, 260, 259, 61, 41, 63, 123,
860 91, 266, 267, 268, 269, 269, 125, 302, 266, 267,
861 268, 269, 276, 266, 267, 268, 269, 275, 40, 40,
862 40, 279, 280, 0, 282, 123, 41, 125, 126, 281,
863 282, 289, 290, 125, 292, 293, 294, 295, 63, 297,
864 304, 299, 308, 125, 41, 297, 298, 305, 306, 125,
865 302, 262, 263, 264, 265, 125, 33, 59, 41, 36,
866 37, 38, 41, 40, 125, 42, 43, 331, 45, 125,
867 279, 280, 281, 282, 340, 125, 41, 41, 59, 345,
868 41, 59, 59, 292, 293, 294, 295, 64, 297, 298,
869 59, 41, 331, 302, 12, 256, 257, 258, 259, 260,
870 261, 262, 263, 264, 265, 266, 267, 268, 269, 259,
871 73, -1, 273, 274, 91, 276, 277, 278, -1, -1,
872 -1, -1, 283, 284, 285, 286, 287, 288, -1, -1,
873 291, -1, 61, -1, 63, 296, -1, -1, 299, -1,
874 301, -1, 303, 304, -1, -1, 123, -1, 125, 126,
875 -1, -1, -1, -1, 279, 280, 281, 282, 256, 257,
93a17b20 876 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
463ee0b2 877 268, 269, 297, 298, -1, 273, 274, 302, 276, 277,
878 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
879 288, 41, -1, 291, -1, -1, -1, -1, 296, -1,
880 -1, -1, 0, 301, -1, 303, 304, -1, -1, -1,
881 275, 61, -1, 63, 279, 280, 281, 282, -1, -1,
882 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
883 295, -1, 297, 298, -1, 33, -1, 302, 36, 37,
884 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
885 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
886 -1, 59, -1, -1, -1, -1, 64, 292, 293, 294,
887 295, -1, 297, 298, -1, -1, -1, 302, -1, 256,
888 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
889 267, 268, 269, 91, -1, -1, 273, 274, -1, 276,
890 277, 278, 61, -1, 63, -1, 283, 284, 285, 286,
891 287, 288, -1, -1, 291, -1, -1, -1, -1, 296,
892 -1, -1, -1, -1, 301, 123, 303, 304, 126, 33,
893 -1, -1, 36, 37, 38, -1, 40, 41, 42, 43,
894 44, 45, -1, -1, -1, -1, 275, -1, -1, -1,
895 279, 280, 281, 282, 58, 59, -1, 61, -1, 63,
896 64, 290, -1, 292, 293, 294, 295, -1, 297, 298,
897 -1, -1, -1, 302, 44, 45, 46, 47, 48, -1,
898 -1, 51, 52, -1, -1, -1, -1, 91, -1, 93,
899 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
900 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
901 -1, -1, -1, -1, -1, 58, 59, -1, 61, 123,
902 63, 64, 126, -1, -1, 275, -1, -1, -1, 279,
903 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
904 290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
905 93, -1, 302, -1, -1, -1, -1, -1, 256, 257,
906 258, 259, 260, 261, -1, 61, -1, 63, 266, 267,
907 268, 269, -1, -1, -1, 273, 274, -1, 276, 277,
908 278, -1, -1, 126, -1, 283, 284, 285, 286, 287,
909 288, -1, -1, 291, -1, -1, -1, -1, 296, -1,
910 -1, -1, -1, 301, -1, 303, 304, -1, -1, -1,
911 -1, -1, 58, -1, -1, 61, 275, 63, -1, -1,
912 279, 280, 281, 282, -1, -1, 279, 280, 281, 282,
913 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
914 293, 294, 295, 302, 297, 298, -1, -1, -1, 302,
93a17b20 915 -1, -1, -1, 257, 258, 259, 260, 261, -1, -1,
916 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
917 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
918 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
463ee0b2 919 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
920 304, 305, 306, -1, -1, -1, -1, -1, -1, -1,
921 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
922 -1, -1, -1, 266, 267, 268, 269, -1, -1, -1,
923 -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
924 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
925 293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
926 303, 304, 305, 306, 33, -1, -1, 36, 37, 38,
927 -1, 40, -1, 42, 43, -1, 45, -1, -1, 275,
928 -1, -1, -1, 279, 280, 281, 282, -1, -1, -1,
929 59, -1, -1, -1, -1, 64, 292, 293, 294, 295,
930 -1, 297, 298, -1, -1, -1, 302, -1, -1, 279,
931 280, 281, 282, -1, 33, -1, -1, 36, 37, 38,
932 -1, 40, 91, 42, 43, 295, 45, 297, 298, 275,
933 -1, -1, 302, 279, 280, 281, 282, -1, -1, -1,
934 59, -1, -1, 289, 290, 64, 292, 293, 294, 295,
935 -1, 297, 298, -1, 123, -1, 302, 126, -1, -1,
936 -1, -1, -1, -1, 33, 23, -1, 36, 37, 38,
937 -1, 40, 91, 42, 43, -1, 45, -1, 36, -1,
938 -1, -1, -1, -1, 42, 41, -1, -1, 44, -1,
939 59, -1, -1, -1, -1, 64, 54, 55, 56, 57,
940 58, -1, 58, 59, 123, -1, -1, 126, -1, -1,
93a17b20 941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 942 33, -1, 91, 36, 37, 38, -1, 40, 41, 42,
943 43, 23, 45, -1, -1, 91, -1, 93, 96, 31,
944 -1, -1, -1, -1, 36, 37, -1, 39, -1, 107,
945 -1, 64, -1, -1, 123, -1, -1, 126, -1, -1,
946 -1, -1, 54, 55, 56, 57, 58, 123, -1, -1,
947 33, -1, -1, 36, 37, 38, -1, 40, 91, 42,
948 43, -1, 45, -1, -1, -1, -1, 256, 257, 258,
949 259, 260, 261, -1, -1, -1, -1, 266, 267, 268,
950 269, 64, -1, -1, 273, 274, -1, 276, 277, 278,
951 123, 103, -1, 126, 283, 284, 285, 286, 287, 288,
952 -1, -1, 291, -1, -1, -1, -1, 296, 91, -1,
953 93, -1, 301, -1, 303, 304, -1, 256, 257, 258,
954 259, 260, 261, -1, -1, -1, -1, 266, 267, 268,
955 269, -1, -1, -1, 273, 274, -1, 276, 277, 278,
956 123, -1, -1, 126, 283, 284, 285, 286, 287, 288,
957 -1, -1, 291, -1, -1, -1, -1, 296, -1, -1,
958 -1, -1, 301, -1, 303, 304, -1, -1, 257, 258,
959 259, 260, 261, -1, 33, -1, -1, 36, 37, 38,
960 -1, 40, -1, 42, 43, 274, 45, 276, 277, 278,
961 266, 267, 268, 269, 283, 284, 285, 286, 287, 288,
962 -1, -1, 291, -1, -1, 64, -1, 296, -1, -1,
963 -1, -1, 301, 289, 303, 304, -1, -1, -1, 279,
964 280, 281, 282, 299, 257, 258, 259, 260, 261, 305,
965 306, -1, 91, -1, 294, 295, -1, 297, 298, -1,
966 -1, 274, 302, 276, 277, 278, -1, -1, -1, -1,
967 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
968 -1, -1, -1, 296, 123, -1, -1, 126, 301, -1,
969 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
970 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
971 43, 274, 45, 276, 277, 278, -1, -1, -1, -1,
972 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
973 -1, 64, -1, 296, -1, -1, -1, -1, 301, -1,
974 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
975 33, -1, -1, 36, 37, 38, -1, 40, 91, 42,
976 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
93a17b20 977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 978 -1, 64, -1, -1, 41, -1, -1, 44, -1, -1,
979 123, -1, -1, 126, -1, -1, -1, -1, -1, -1,
980 33, 58, 59, 36, 37, 38, -1, 40, 91, 42,
981 43, -1, 45, -1, -1, -1, -1, 256, 257, 258,
982 259, 260, 261, -1, -1, -1, -1, -1, 61, -1,
983 -1, 64, -1, -1, 91, 274, 93, 276, 277, 278,
984 123, -1, -1, 126, 283, 284, 285, 286, 287, 288,
985 -1, -1, 291, -1, -1, -1, -1, 296, 91, -1,
986 -1, -1, 301, -1, 303, 304, 123, -1, -1, -1,
987 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
988 42, 43, -1, 45, -1, -1, -1, -1, -1, -1,
989 123, -1, -1, 126, -1, -1, -1, -1, -1, 61,
990 -1, -1, 64, -1, -1, -1, -1, -1, -1, -1,
93a17b20 991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 992 -1, -1, -1, -1, 257, 258, 259, 260, 261, 91,
93a17b20 993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 994 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
463ee0b2 995 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
996 -1, 123, -1, 296, 126, -1, -1, -1, 301, -1,
997 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
93a17b20 998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 999 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
463ee0b2 1000 283, 284, 285, 286, 287, 288, -1, -1, 291, 266,
1001 267, 268, 269, 296, -1, -1, 299, -1, 301, -1,
1002 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
1003 -1, -1, 289, 290, -1, -1, -1, -1, -1, -1,
1004 -1, 274, 299, 276, 277, 278, -1, -1, 305, 306,
1005 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
1006 -1, -1, -1, 296, -1, -1, -1, -1, 301, -1,
1007 303, 304, 33, -1, -1, 36, 37, 38, -1, 40,
1008 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
93a17b20 1009 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
463ee0b2 1010 61, -1, -1, 64, -1, -1, -1, -1, -1, -1,
93a17b20 1011 -1, -1, 274, -1, 276, 277, 278, -1, -1, -1,
463ee0b2 1012 -1, 283, 284, 285, 286, 287, 288, -1, 33, 291,
1013 91, 36, 37, 38, 296, 40, -1, 42, 43, 301,
1014 45, 303, 304, -1, -1, -1, -1, -1, -1, -1,
1015 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1016 -1, -1, 123, -1, -1, 126, -1, -1, -1, -1,
1017 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
1018 -1, 36, 37, 38, -1, 40, 91, 42, 43, -1,
1019 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1020 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1021 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1022 -1, 126, -1, -1, -1, -1, -1, -1, 33, -1,
1023 -1, 36, 37, 38, -1, 40, 91, 42, 43, -1,
1024 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1026 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1027 -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
1028 -1, -1, -1, -1, -1, -1, 91, -1, -1, -1,
1029 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
1030 261, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, 274, -1, 276, 277, 278, 123, -1,
1032 -1, 126, 283, 284, 285, 286, 287, 288, -1, -1,
1033 291, -1, -1, -1, -1, 296, -1, -1, -1, -1,
1034 301, -1, 303, 304, -1, -1, -1, -1, -1, -1,
1035 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
93a17b20 1036 -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
1037 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
463ee0b2 1038 285, 286, 287, 288, -1, -1, 291, -1, -1, -1,
1039 -1, 296, -1, -1, -1, -1, 301, -1, 303, 304,
1040 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
1042 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
1043 285, 286, 287, 288, -1, 33, 291, -1, 36, 37,
1044 38, 296, 40, -1, 42, 43, 301, 45, 303, 304,
1045 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
1046 -1, -1, -1, 61, -1, -1, 64, -1, -1, 274,
1047 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
1048 285, 286, 287, 288, -1, 33, 291, -1, 36, 37,
1049 38, 296, 40, 91, 42, 43, 301, 45, 303, 304,
1050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1051 -1, -1, -1, 61, -1, -1, 64, -1, -1, -1,
1052 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1053 -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
1054 36, 37, 38, 91, 40, 41, 42, 43, -1, 45,
1055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1056 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
1057 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1058 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1059 -1, -1, -1, -1, -1, 91, -1, -1, -1, -1,
93a17b20 1060 -1, -1, -1, -1, -1, -1, 33, -1, -1, 36,
463ee0b2 1061 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
1062 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
1063 126, -1, -1, -1, -1, -1, -1, 64, -1, -1,
93a17b20 1064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
1066 258, 259, 260, 261, 91, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1068 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1069 288, -1, -1, 291, -1, -1, 123, -1, 296, 126,
1070 -1, -1, -1, 301, -1, 303, 304, -1, -1, 257,
1071 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1073 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1074 288, -1, -1, 291, -1, -1, -1, -1, 296, -1,
1075 -1, -1, -1, 301, -1, 303, 304, -1, -1, -1,
1076 -1, 257, 258, 259, 260, 261, 41, -1, -1, 44,
1077 -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
1078 276, 277, 278, 58, 59, -1, 61, 283, 284, 285,
1079 286, 287, 288, -1, 33, 291, -1, 36, 37, 38,
1080 296, 40, 41, 42, 43, 301, 45, 303, 304, -1,
1081 -1, -1, -1, -1, -1, -1, 91, -1, 93, -1,
1082 -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
1083 257, 258, 259, 260, 261, -1, -1, -1, -1, -1,
1084 -1, -1, -1, -1, -1, -1, -1, 274, 123, 276,
1085 277, 278, 91, -1, -1, -1, 283, 284, 285, 286,
1086 287, 288, -1, 33, 291, -1, 36, 37, 38, 296,
1087 40, -1, 42, 43, 301, 45, 303, 304, -1, -1,
1088 -1, -1, -1, -1, 123, -1, -1, 126, -1, 59,
1089 -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
93a17b20 1090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1091 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
1092 38, 91, 40, 41, 42, 43, -1, 45, -1, -1,
93a17b20 1093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1094 -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
1095 -1, -1, -1, 123, -1, -1, 126, -1, -1, -1,
1096 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
1097 38, -1, 40, 91, 42, 43, -1, 45, -1, -1,
1098 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1099 -1, 266, 267, 268, 269, -1, 64, -1, -1, -1,
1100 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1101 -1, -1, -1, -1, 289, 290, -1, -1, 257, 258,
1102 259, 260, 261, 91, 299, 93, -1, -1, -1, -1,
1103 305, 306, -1, -1, -1, 274, -1, 276, 277, 278,
1104 -1, -1, -1, -1, 283, 284, 285, 286, 287, 288,
1105 -1, -1, 291, -1, -1, 123, -1, 296, 126, -1,
1106 -1, -1, 301, -1, 303, 304, -1, -1, -1, -1,
1107 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
1108 42, 43, -1, 45, -1, -1, -1, 257, 258, 259,
1109 260, 261, -1, -1, -1, -1, -1, -1, -1, -1,
1110 -1, -1, 64, -1, 274, -1, 276, 277, 278, -1,
1111 -1, -1, -1, 283, 284, 285, 286, 287, 288, -1,
1112 -1, 291, -1, -1, -1, -1, 296, -1, -1, 91,
1113 -1, 301, -1, 303, 304, -1, -1, -1, -1, 257,
1114 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1115 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1116 278, 123, -1, -1, 126, 283, 284, 285, 286, 287,
1117 288, -1, 33, 291, -1, 36, 37, 38, 296, 40,
1118 -1, 42, 43, 301, 45, 303, 304, -1, -1, 257,
1119 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1120 -1, -1, -1, 64, -1, -1, 274, -1, 276, 277,
1121 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1122 288, 41, -1, 291, 44, -1, -1, -1, 296, -1,
1123 91, -1, -1, 301, -1, 303, 304, -1, 58, 59,
1124 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1126 -1, -1, 123, -1, -1, 126, -1, 41, -1, -1,
1127 44, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1128 -1, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1129 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
1130 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1131 41, -1, 274, 44, 276, 277, 278, 91, -1, 93,
1132 -1, 283, 284, 285, 286, 287, 288, 58, 59, 291,
1133 61, -1, 63, -1, 296, -1, -1, -1, -1, 301,
1134 -1, 303, 304, -1, -1, -1, -1, -1, -1, 123,
1135 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1136 91, -1, 93, -1, -1, -1, -1, -1, 58, 59,
1137 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1138 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1139 -1, -1, 123, -1, -1, -1, 257, 258, 259, 260,
1140 261, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1141 -1, -1, -1, 274, 41, 276, 277, 278, -1, -1,
1142 -1, -1, 283, 284, 285, 286, 287, 288, -1, -1,
1143 291, 58, 59, 123, 61, 296, 63, -1, -1, -1,
1144 301, -1, 303, 304, -1, -1, 266, 267, 268, 269,
1145 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1146 280, 281, 282, -1, 91, -1, 93, -1, -1, 289,
1147 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1148 -1, -1, 302, -1, -1, 305, 306, -1, -1, -1,
1149 -1, -1, 266, 267, 268, 269, 123, -1, -1, -1,
1150 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1151 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1152 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1153 -1, 305, 306, -1, -1, 266, 267, 268, 269, -1,
1154 -1, -1, -1, -1, 275, -1, -1, -1, 279, 280,
1155 281, 282, -1, -1, -1, -1, -1, -1, 289, 290,
1156 -1, 292, 293, 294, 295, -1, 297, 298, 299, -1,
1157 -1, 302, -1, -1, 305, 306, 266, 267, 268, 269,
1158 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1159 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
1160 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1161 -1, -1, 302, -1, -1, 305, 306, -1, -1, -1,
1162 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1163 -1, -1, 44, -1, -1, -1, -1, -1, -1, 266,
1164 267, 268, 269, -1, -1, -1, 58, 59, 275, 61,
1165 -1, 63, 279, 280, 281, 282, -1, -1, -1, -1,
1166 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1167 297, 298, 299, 41, -1, 302, 44, -1, 305, 306,
1168 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 1169 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
463ee0b2 1170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1171 -1, 123, -1, -1, 41, -1, -1, 44, -1, -1,
1172 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
1173 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1175 -1, -1, -1, -1, -1, 123, 41, -1, -1, 44,
1176 -1, -1, -1, -1, 91, -1, 93, -1, -1, -1,
1177 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1179 -1, -1, -1, -1, -1, -1, 123, 41, -1, -1,
1180 44, -1, -1, -1, -1, -1, 91, -1, 93, -1,
1181 -1, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1182 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1183 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1184 -1, -1, -1, -1, 41, -1, -1, 44, -1, 93,
1185 -1, -1, -1, -1, 266, 267, 268, 269, -1, -1,
1186 -1, 58, 59, 275, 61, -1, 63, 279, 280, 281,
1187 282, -1, -1, -1, -1, -1, -1, 289, 290, -1,
1188 292, 293, 294, 295, -1, 297, 298, 299, -1, -1,
1189 302, -1, -1, 305, 306, -1, 93, -1, 266, 267,
1190 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
1191 -1, 279, 280, 281, 282, -1, -1, -1, -1, -1,
1192 -1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
1193 298, 299, -1, -1, 302, -1, -1, 305, 306, 266,
1194 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
93a17b20 1195 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
463ee0b2 1196 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1197 297, 298, 299, -1, -1, -1, -1, -1, 305, 306,
1198 -1, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1199 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
1200 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1201 295, -1, 297, 298, 299, -1, -1, -1, -1, -1,
1202 305, 306, 266, 267, 268, 269, -1, -1, -1, -1,
1203 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1204 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1205 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1206 -1, 305, 306, -1, -1, -1, -1, -1, -1, 266,
93a17b20 1207 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1208 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
463ee0b2 1209 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1210 297, 298, 299, 41, -1, 302, 44, -1, 305, 306,
93a17b20 1211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1212 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1213 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1214 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
1215 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
1216 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1217 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1218 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
1219 -1, -1, -1, -1, -1, -1, 93, -1, -1, -1,
1220 -1, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1222 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1223 -1, -1, -1, -1, -1, 91, -1, 93, -1, -1,
1224 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1225 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1226 -1, -1, -1, -1, -1, -1, -1, 123, 41, -1,
1227 -1, 44, -1, -1, -1, -1, -1, -1, 93, -1,
1228 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1229 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1231 -1, -1, -1, -1, -1, -1, -1, -1, 91, -1,
1232 93, -1, -1, -1, -1, -1, -1, -1, 266, 267,
1233 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
93a17b20 1234 -1, 279, 280, 281, 282, -1, -1, -1, -1, -1,
463ee0b2 1235 123, 289, 290, -1, 292, 293, 294, 295, -1, 297,
1236 298, 299, -1, -1, 302, -1, -1, 305, 306, 266,
1237 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1238 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
1239 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1240 297, 298, 299, -1, -1, 302, -1, -1, 305, 306,
1241 266, 267, 268, 269, -1, -1, -1, -1, -1, 275,
1242 -1, -1, -1, 279, 280, 281, 282, -1, -1, -1,
1243 -1, -1, -1, 289, 290, -1, 292, 293, 294, 295,
1244 -1, 297, -1, 299, -1, -1, -1, -1, -1, 305,
1245 306, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1246 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
1247 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1248 295, -1, 297, 298, -1, -1, -1, 302, -1, -1,
1249 305, 306, -1, 266, 267, 268, 269, -1, -1, -1,
1250 -1, -1, 275, -1, -1, -1, 279, 280, -1, -1,
1251 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1252 293, 294, 295, -1, 297, 41, 299, -1, 44, -1,
1253 -1, -1, 305, 306, -1, -1, -1, -1, -1, -1,
1254 -1, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1256 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1257 -1, -1, -1, -1, -1, 91, -1, 93, -1, -1,
1258 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1260 -1, -1, -1, -1, -1, -1, -1, 123, 41, -1,
1261 -1, 44, -1, -1, -1, -1, 91, -1, 93, -1,
1262 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1263 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1264 -1, -1, -1, -1, -1, -1, -1, -1, 123, 41,
1265 -1, -1, 44, -1, -1, -1, -1, -1, 91, -1,
1266 93, -1, -1, -1, -1, -1, 58, 59, -1, 61,
93a17b20 1267 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1269 123, -1, -1, 41, -1, -1, 44, -1, -1, 91,
1270 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1271 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1273 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1274 -1, -1, -1, 91, -1, 93, -1, -1, -1, -1,
1275 266, 267, 268, 269, -1, -1, -1, -1, -1, 275,
1276 -1, -1, -1, 279, 280, -1, -1, -1, -1, -1,
1277 -1, -1, -1, 289, 290, 123, 292, 293, 294, 295,
1278 -1, -1, -1, 299, -1, -1, -1, -1, -1, 305,
1279 306, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1280 275, -1, -1, -1, 279, 280, -1, -1, -1, -1,
1281 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1282 295, -1, -1, -1, 299, -1, -1, -1, -1, -1,
1283 305, 306, -1, 266, 267, 268, 269, -1, -1, -1,
1284 -1, -1, 275, -1, -1, -1, 279, 280, -1, -1,
1285 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1286 293, 294, 295, -1, -1, -1, 299, -1, -1, -1,
1287 -1, -1, 305, 306, 266, 267, 268, 269, -1, -1,
1288 -1, -1, -1, 275, -1, -1, -1, 41, 280, -1,
1289 44, -1, -1, -1, -1, -1, -1, 289, 290, -1,
1290 292, 293, 294, 295, 58, 59, -1, 299, -1, -1,
1291 -1, -1, 41, 305, 306, 44, -1, -1, 266, 267,
1292 268, 269, -1, -1, -1, -1, -1, 275, -1, 58,
1293 59, -1, 61, -1, 63, -1, -1, 91, -1, 93,
1294 -1, 289, 290, -1, 292, 293, 294, 295, -1, -1,
1295 -1, 299, -1, 41, -1, -1, 44, 305, 306, -1,
1296 -1, -1, 91, -1, 93, -1, -1, -1, -1, 123,
1297 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
93a17b20 1298 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
463ee0b2 1299 -1, -1, -1, -1, 123, -1, -1, -1, -1, 58,
1300 59, -1, 61, 91, 63, 93, -1, -1, -1, -1,
1301 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1302 -1, -1, -1, 41, -1, -1, 44, -1, 58, 59,
1303 -1, 61, 91, 63, 93, 123, -1, -1, -1, -1,
1304 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1305 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1306 -1, 91, -1, 93, 123, -1, -1, -1, -1, 58,
1307 59, 41, -1, 91, 44, 93, -1, -1, -1, -1,
1308 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1309 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1310 -1, -1, 91, -1, 93, 123, -1, -1, -1, -1,
1311 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1312 -1, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1313 -1, -1, -1, -1, 123, 289, 290, 266, 267, 268,
1314 269, 41, -1, -1, 44, 299, 275, -1, -1, -1,
1315 -1, 305, 306, 123, -1, -1, -1, -1, 58, 59,
1316 289, 290, -1, 292, 293, 294, 295, -1, -1, -1,
1317 299, -1, -1, -1, -1, -1, 305, 306, 266, 267,
1318 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
1319 -1, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1320 -1, 289, 290, -1, 292, 293, 294, 266, 267, 268,
1321 269, 299, -1, -1, -1, -1, 275, 305, 306, -1,
1322 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1323 289, 290, -1, 292, 293, -1, 266, 267, 268, 269,
1324 299, -1, -1, -1, -1, 275, 305, 306, 266, 267,
1325 268, 269, -1, -1, -1, -1, -1, -1, -1, 289,
1326 290, -1, 292, -1, -1, -1, -1, -1, -1, 299,
1327 -1, 289, 290, -1, -1, 305, 306, 266, 267, 268,
1328 269, 299, -1, -1, -1, -1, -1, 305, 306, 41,
1329 -1, -1, 44, -1, -1, -1, 266, 267, 268, 269,
1330 289, 290, -1, -1, -1, -1, 58, 59, -1, -1,
1331 299, -1, -1, -1, -1, -1, 305, 306, -1, 289,
1332 290, -1, -1, -1, -1, -1, -1, -1, -1, 299,
1333 41, -1, -1, 44, 41, 305, 306, 44, -1, 91,
1334 -1, 93, 41, -1, -1, 44, -1, 58, 59, -1,
1335 -1, 58, 59, -1, -1, -1, -1, -1, -1, 58,
1336 59, -1, -1, -1, -1, -1, 266, 267, 268, 269,
1337 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1338 91, -1, 93, -1, 91, 41, 93, -1, 44, 289,
1339 290, -1, 91, 41, 93, -1, 44, 41, -1, 299,
1340 44, -1, 58, 59, -1, 305, 306, -1, -1, -1,
1341 58, 59, 123, -1, 58, 59, 123, -1, -1, -1,
1342 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
1343 -1, -1, -1, -1, -1, 91, -1, 93, 41, -1,
1344 -1, 44, -1, 91, -1, 93, -1, 91, -1, 93,
1345 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1346 63, -1, -1, -1, -1, -1, -1, 123, -1, -1,
1347 -1, -1, -1, -1, -1, 123, -1, 41, -1, 123,
1348 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1349 93, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1351 -1, -1, -1, -1, 266, 267, 268, 269, -1, -1,
1352 -1, -1, 41, -1, -1, 44, -1, -1, -1, 93,
1353 -1, -1, -1, -1, -1, -1, -1, 289, 290, 58,
1354 59, -1, 61, -1, 63, -1, -1, 299, -1, -1,
1355 -1, -1, -1, 305, 306, 266, 267, 268, 269, 266,
1356 267, 268, 269, -1, -1, -1, -1, 266, 267, 268,
1357 269, -1, -1, -1, 93, -1, -1, -1, 289, 290,
1358 -1, -1, 289, 290, -1, -1, -1, -1, 299, -1,
1359 289, 290, 299, -1, 305, 306, -1, -1, 305, 306,
1360 299, -1, -1, -1, -1, -1, 305, 306, -1, -1,
1361 266, 267, 268, 269, -1, -1, -1, -1, 266, 267,
1362 268, 269, 266, 267, 268, 269, -1, -1, -1, -1,
1363 -1, -1, -1, 289, 290, -1, -1, -1, -1, -1,
1364 -1, 289, 290, 299, -1, -1, -1, -1, -1, 305,
1365 306, 299, -1, -1, -1, 299, -1, 305, 306, -1,
1366 -1, 305, 306, 266, 267, 268, 269, -1, -1, -1,
1367 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
1368 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1369 293, 294, 295, -1, 297, 298, 299, -1, -1, 302,
1370 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1371 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1372 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1373 294, 295, -1, 297, 298, 299, -1, 41, 302, -1,
1374 44, -1, -1, -1, -1, -1, -1, 266, 267, 268,
93a17b20 1375 269, -1, -1, -1, 58, 59, 275, 61, -1, 63,
1376 279, 280, 281, 282, -1, -1, -1, -1, -1, -1,
463ee0b2 1377 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
1378 299, 41, -1, 302, 44, -1, -1, -1, -1, 93,
1379 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1380 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
93a17b20 1381 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
1382 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1383 -1, -1, -1, 93, -1, 58, 59, -1, 61, -1,
93a17b20 1384 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1385 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
93a17b20 1386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1387 93, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1389 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1390 -1, -1, -1, -1, -1, -1, -1, 93, -1, 58,
93a17b20 1391 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
463ee0b2 1392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1393 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1394 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
1395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1396 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1397 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1398 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1399 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1400 -1, -1, -1, -1, -1, -1, 266, 267, 268, 269,
1401 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1402 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
1403 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1404 -1, -1, 302, 266, 267, 268, 269, -1, -1, -1,
93a17b20 1405 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
463ee0b2 1406 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1407 293, 294, 295, -1, 297, 298, 299, -1, -1, 302,
1408 266, 267, 268, 269, 37, 38, -1, -1, -1, 275,
1409 43, -1, -1, 279, 280, 281, 282, -1, -1, -1,
1410 -1, -1, -1, 289, 290, -1, 292, 293, 294, 295,
1411 -1, 297, 298, 299, -1, -1, 302, 266, 267, 268,
1412 269, -1, -1, -1, -1, -1, 275, -1, -1, 82,
1413 279, 280, 281, 282, -1, -1, -1, -1, -1, -1,
1414 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
1415 -1, -1, -1, 302, -1, -1, -1, -1, -1, -1,
1416 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1418 -1, -1, 135, 136, 137, 138, 139, 140, 141, 142,
1419 143, 144, 145, 146, 147, 148, 149, 150, 151, -1,
1420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 1422 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1423 -1, -1, -1, -1, -1, -1, -1, 190, -1, -1,
1424 -1, -1, -1, -1, -1, 198, -1, 200, -1, -1,
1425 -1, -1, -1, -1, -1, -1, -1, -1, -1, 212,
1426 -1, 214, -1, -1, -1, -1, -1, 220, -1, 222,
1427 -1, 224, -1, 226, -1, 228, -1, -1, 231, -1,
93a17b20 1428 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1429 -1, -1, -1, -1, -1, 248, -1, -1, -1, -1,
1430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1432 -1, -1, -1, -1, -1, -1, -1, 280,
93a17b20 1433};
1434#define YYFINAL 1
79072805 1435#ifndef YYDEBUG
93a17b20 1436#define YYDEBUG 0
79072805 1437#endif
463ee0b2 1438#define YYMAXTOKEN 306
79072805 1439#if YYDEBUG
93a17b20 1440char *yyname[] = {
1441"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1442"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
14430,0,0,0,0,"':'","';'",0,"'='",0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14440,0,0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14450,0,0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","THING",
1449"PMFUNC","PRIVATEREF","LABEL","FORMAT","SUB","PACKAGE","WHILE","UNTIL","IF",
1450"UNLESS","ELSE","ELSIF","CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1",
1451"FUNC","RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","LOCAL","DELETE",
463ee0b2 1452"HASHBRACK","NOAMP","OROP","ANDOP","LSTOP","OROR","ANDAND","BITOROP","BITANDOP",
1453"UNIOP","SHIFTOP","MATCHOP","ARROW","UMINUS","REFGEN","POWOP","PREINC","PREDEC",
93a17b20 1454"POSTINC","POSTDEC",
79072805 1455};
93a17b20 1456char *yyrule[] = {
1457"$accept : prog",
1458"$$1 :",
1459"prog : $$1 lineseq",
1460"block : '{' remember lineseq '}'",
1461"remember :",
1462"lineseq :",
1463"lineseq : lineseq decl",
1464"lineseq : lineseq line",
1465"line : label cond",
1466"line : loop",
1467"line : label ';'",
1468"line : label sideff ';'",
1469"sideff : error",
1470"sideff : expr",
1471"sideff : expr IF expr",
1472"sideff : expr UNLESS expr",
1473"sideff : expr WHILE expr",
1474"sideff : expr UNTIL expr",
1475"else :",
1476"else : ELSE block",
1477"else : ELSIF '(' expr ')' block else",
1478"cond : IF '(' expr ')' block else",
1479"cond : UNLESS '(' expr ')' block else",
1480"cond : IF block block else",
1481"cond : UNLESS block block else",
1482"cont :",
1483"cont : CONTINUE block",
1484"loop : label WHILE '(' texpr ')' block cont",
1485"loop : label UNTIL '(' expr ')' block cont",
1486"loop : label WHILE block block cont",
1487"loop : label UNTIL block block cont",
1488"loop : label FOR scalar '(' expr crp block cont",
1489"loop : label FOR '(' expr crp block cont",
1490"loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1491"loop : label block cont",
1492"nexpr :",
1493"nexpr : sideff",
1494"texpr :",
1495"texpr : expr",
1496"label :",
1497"label : LABEL",
1498"decl : format",
1499"decl : subrout",
1500"decl : package",
1501"format : FORMAT WORD block",
1502"format : FORMAT block",
1503"subrout : SUB WORD block",
1504"subrout : SUB WORD ';'",
1505"package : PACKAGE WORD ';'",
1506"package : PACKAGE ';'",
1507"expr : expr ',' sexpr",
1508"expr : sexpr",
1509"listop : LSTOP indirob listexpr",
1510"listop : FUNC '(' indirob listexpr ')'",
1511"listop : indirob ARROW LSTOP listexpr",
1512"listop : indirob ARROW FUNC '(' listexpr ')'",
1513"listop : term ARROW METHOD '(' listexpr ')'",
1514"listop : METHOD indirob listexpr",
1515"listop : LSTOP listexpr",
1516"listop : FUNC '(' listexpr ')'",
1517"sexpr : sexpr '=' sexpr",
1518"sexpr : sexpr POWOP '=' sexpr",
1519"sexpr : sexpr MULOP '=' sexpr",
1520"sexpr : sexpr ADDOP '=' sexpr",
1521"sexpr : sexpr SHIFTOP '=' sexpr",
1522"sexpr : sexpr BITANDOP '=' sexpr",
1523"sexpr : sexpr BITOROP '=' sexpr",
1524"sexpr : sexpr ANDAND '=' sexpr",
1525"sexpr : sexpr OROR '=' sexpr",
1526"sexpr : sexpr POWOP sexpr",
1527"sexpr : sexpr MULOP sexpr",
1528"sexpr : sexpr ADDOP sexpr",
1529"sexpr : sexpr SHIFTOP sexpr",
1530"sexpr : sexpr RELOP sexpr",
1531"sexpr : sexpr EQOP sexpr",
1532"sexpr : sexpr BITANDOP sexpr",
1533"sexpr : sexpr BITOROP sexpr",
1534"sexpr : sexpr DOTDOT sexpr",
1535"sexpr : sexpr ANDAND sexpr",
1536"sexpr : sexpr OROR sexpr",
463ee0b2 1537"sexpr : sexpr ANDOP sexpr",
1538"sexpr : sexpr OROP sexpr",
93a17b20 1539"sexpr : sexpr '?' sexpr ':' sexpr",
1540"sexpr : sexpr MATCHOP sexpr",
1541"sexpr : term",
1542"term : '-' term",
1543"term : '+' term",
1544"term : '!' term",
1545"term : '~' term",
1546"term : REFGEN term",
1547"term : term POSTINC",
1548"term : term POSTDEC",
1549"term : PREINC term",
1550"term : PREDEC term",
1551"term : LOCAL sexpr",
1552"term : '(' expr crp",
1553"term : '(' ')'",
1554"term : '[' expr crb",
1555"term : '[' ']'",
1556"term : HASHBRACK expr crhb",
1557"term : HASHBRACK ';' '}'",
1558"term : scalar",
1559"term : star",
1560"term : scalar '[' expr ']'",
1561"term : term ARROW '[' expr ']'",
463ee0b2 1562"term : term '[' expr ']'",
93a17b20 1563"term : hsh",
1564"term : ary",
1565"term : arylen",
1566"term : scalar '{' expr ';' '}'",
1567"term : term ARROW '{' expr ';' '}'",
463ee0b2 1568"term : term '{' expr ';' '}'",
93a17b20 1569"term : '(' expr crp '[' expr ']'",
1570"term : '(' ')' '[' expr ']'",
1571"term : ary '[' expr ']'",
1572"term : ary '{' expr ';' '}'",
1573"term : DELETE scalar '{' expr ';' '}'",
1574"term : DELETE '(' scalar '{' expr ';' '}' ')'",
1575"term : THING",
1576"term : amper",
1577"term : amper '(' ')'",
1578"term : amper '(' expr crp",
1579"term : NOAMP WORD listexpr",
463ee0b2 1580"term : NOAMP WORD indirob listexpr",
93a17b20 1581"term : DO sexpr",
1582"term : DO block",
1583"term : DO WORD '(' ')'",
1584"term : DO WORD '(' expr crp",
1585"term : DO scalar '(' ')'",
1586"term : DO scalar '(' expr crp",
1587"term : LOOPEX",
1588"term : LOOPEX WORD",
1589"term : UNIOP",
1590"term : UNIOP block",
1591"term : UNIOP sexpr",
1592"term : FUNC0",
1593"term : FUNC0 '(' ')'",
1594"term : FUNC1 '(' ')'",
1595"term : FUNC1 '(' expr ')'",
1596"term : PMFUNC '(' sexpr ')'",
1597"term : PMFUNC '(' sexpr ',' sexpr ')'",
1598"term : WORD",
1599"term : listop",
1600"listexpr :",
1601"listexpr : expr",
1602"amper : '&' indirob",
1603"scalar : '$' indirob",
1604"ary : '@' indirob",
1605"hsh : '%' indirob",
1606"arylen : DOLSHARP indirob",
1607"star : '*' indirob",
1608"indirob : WORD",
1609"indirob : scalar",
1610"indirob : block",
1611"indirob : PRIVATEREF",
1612"crp : ',' ')'",
1613"crp : ')'",
1614"crb : ',' ']'",
1615"crb : ']'",
1616"crhb : ',' ';' '}'",
1617"crhb : ';' '}'",
79072805 1618};
79072805 1619#endif
93a17b20 1620#define yyclearin (yychar=(-1))
1621#define yyerrok (yyerrflag=0)
1622#ifdef YYSTACKSIZE
1623#ifndef YYMAXDEPTH
1624#define YYMAXDEPTH YYSTACKSIZE
1625#endif
1626#else
1627#ifdef YYMAXDEPTH
1628#define YYSTACKSIZE YYMAXDEPTH
1629#else
1630#define YYSTACKSIZE 500
1631#define YYMAXDEPTH 500
1632#endif
1633#endif
1634int yydebug;
1635int yynerrs;
1636int yyerrflag;
1637int yychar;
1638YYSTYPE yyval;
1639YYSTYPE yylval;
463ee0b2 1640#line 605 "perly.y"
93a17b20 1641 /* PROGRAM */
463ee0b2 1642#line 1648 "y.tab.c"
93a17b20 1643#define YYABORT goto yyabort
1644#define YYACCEPT goto yyaccept
1645#define YYERROR goto yyerrlab
79072805 1646int
1647yyparse()
1648{
93a17b20 1649 register int yym, yyn, yystate;
1650 register short *yyssp;
1651 register YYSTYPE *yyvsp;
1652 short* yyss;
1653 YYSTYPE* yyvs;
1654 unsigned yystacksize = YYSTACKSIZE;
1655 int oldyydebug = yydebug;
1656 int oldyynerrs = yynerrs;
1657 int oldyyerrflag = yyerrflag;
1658 int oldyychar = yychar;
1659 YYSTYPE oldyyval = yyval;
1660 YYSTYPE oldyylval = yylval;
1661 int retval = 0;
79072805 1662
93a17b20 1663#if YYDEBUG
1664 register char *yys;
1665 extern char *getenv();
79072805 1666
93a17b20 1667 if (yys = getenv("YYDEBUG"))
1668 {
1669 yyn = *yys;
1670 if (yyn >= '0' && yyn <= '9')
1671 yydebug = yyn - '0';
1672 }
1673#endif
79072805 1674
93a17b20 1675 yynerrs = 0;
1676 yyerrflag = 0;
1677 yychar = (-1);
79072805 1678
93a17b20 1679 /*
1680 ** Initialize private stacks (yyparse may be called from an action)
1681 */
1682 yyss = (short*)malloc(yystacksize*sizeof(short));
1683 yyvs = (YYSTYPE*)malloc(yystacksize*sizeof(YYSTYPE));
1684 if (!yyvs || !yyss)
1685 goto yyoverflow;
79072805 1686
93a17b20 1687 yyssp = yyss;
1688 yyvsp = yyvs;
1689 *yyssp = yystate = 0;
79072805 1690
93a17b20 1691yyloop:
1692 if (yyn = yydefred[yystate]) goto yyreduce;
1693 if (yychar < 0)
1694 {
1695 if ((yychar = yylex()) < 0) yychar = 0;
79072805 1696#if YYDEBUG
93a17b20 1697 if (yydebug)
1698 {
1699 yys = 0;
1700 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1701 if (!yys) yys = "illegal-symbol";
1702 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1703 yychar, yys);
1704 }
79072805 1705#endif
93a17b20 1706 }
1707 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1708 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1709 {
79072805 1710#if YYDEBUG
93a17b20 1711 if (yydebug)
1712 printf("yydebug: state %d, shifting to state %d\n",
1713 yystate, yytable[yyn]);
79072805 1714#endif
93a17b20 1715 if (yyssp >= yyss + yystacksize - 1)
1716 {
1717 /*
1718 ** reallocate and recover. Note that pointers
1719 ** have to be reset, or bad things will happen
1720 */
1721 int yyps_index = (yyssp - yyss);
1722 int yypv_index = (yyvsp - yyvs);
1723 yystacksize += YYSTACKSIZE;
1724 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1725 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1726 if (!yyvs || !yyss)
1727 goto yyoverflow;
1728 yyssp = yyss + yyps_index;
1729 yyvsp = yyvs + yypv_index;
1730 }
1731 *++yyssp = yystate = yytable[yyn];
1732 *++yyvsp = yylval;
1733 yychar = (-1);
1734 if (yyerrflag > 0) --yyerrflag;
1735 goto yyloop;
1736 }
1737 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1738 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1739 {
1740 yyn = yytable[yyn];
1741 goto yyreduce;
1742 }
1743 if (yyerrflag) goto yyinrecovery;
1744#ifdef lint
1745 goto yynewerror;
1746#endif
1747yynewerror:
1748 yyerror("syntax error");
1749#ifdef lint
1750 goto yyerrlab;
1751#endif
1752yyerrlab:
1753 ++yynerrs;
1754yyinrecovery:
1755 if (yyerrflag < 3)
1756 {
1757 yyerrflag = 3;
1758 for (;;)
1759 {
1760 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1761 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1762 {
79072805 1763#if YYDEBUG
93a17b20 1764 if (yydebug)
1765 printf("yydebug: state %d, error recovery shifting\
1766 to state %d\n", *yyssp, yytable[yyn]);
1767#endif
1768 if (yyssp >= yyss + yystacksize - 1)
1769 {
1770 /*
1771 ** reallocate and recover. Note that pointers
1772 ** have to be reset, or bad things will happen
1773 */
1774 int yyps_index = (yyssp - yyss);
1775 int yypv_index = (yyvsp - yyvs);
1776 yystacksize += YYSTACKSIZE;
1777 yyvs = (YYSTYPE*)realloc((char*)yyvs,
1778 yystacksize * sizeof(YYSTYPE));
1779 yyss = (short*)realloc((char*)yyss,
1780 yystacksize * sizeof(short));
1781 if (!yyvs || !yyss)
1782 goto yyoverflow;
1783 yyssp = yyss + yyps_index;
1784 yyvsp = yyvs + yypv_index;
1785 }
1786 *++yyssp = yystate = yytable[yyn];
1787 *++yyvsp = yylval;
1788 goto yyloop;
1789 }
1790 else
1791 {
79072805 1792#if YYDEBUG
93a17b20 1793 if (yydebug)
1794 printf("yydebug: error recovery discarding state %d\n",
1795 *yyssp);
79072805 1796#endif
93a17b20 1797 if (yyssp <= yyss) goto yyabort;
1798 --yyssp;
1799 --yyvsp;
1800 }
1801 }
1802 }
1803 else
1804 {
1805 if (yychar == 0) goto yyabort;
79072805 1806#if YYDEBUG
93a17b20 1807 if (yydebug)
1808 {
1809 yys = 0;
1810 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1811 if (!yys) yys = "illegal-symbol";
1812 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
1813 yystate, yychar, yys);
1814 }
1815#endif
1816 yychar = (-1);
1817 goto yyloop;
1818 }
1819yyreduce:
79072805 1820#if YYDEBUG
93a17b20 1821 if (yydebug)
1822 printf("yydebug: state %d, reducing by rule %d (%s)\n",
1823 yystate, yyn, yyrule[yyn]);
79072805 1824#endif
93a17b20 1825 yym = yylen[yyn];
1826 yyval = yyvsp[1-yym];
1827 switch (yyn)
1828 {
79072805 1829case 1:
463ee0b2 1830#line 102 "perly.y"
79072805 1831{
1832#if defined(YYDEBUG) && defined(DEBUGGING)
1833 yydebug = (debug & 1);
1834#endif
1835 expect = XBLOCK;
93a17b20 1836 }
1837break;
79072805 1838case 2:
463ee0b2 1839#line 109 "perly.y"
79072805 1840{ if (in_eval) {
93a17b20 1841 eval_root = newUNOP(OP_LEAVEEVAL, 0, yyvsp[0].opval);
79072805 1842 eval_start = linklist(eval_root);
1843 eval_root->op_next = 0;
1844 peep(eval_start);
1845 }
1846 else
93a17b20 1847 main_root = block_head(yyvsp[0].opval, &main_start);
1848 }
1849break;
79072805 1850case 3:
463ee0b2 1851#line 121 "perly.y"
1852{ int nbs = needblockscope;
1853 yyval.opval = scalarseq(yyvsp[-1].opval);
1854 if (copline > (line_t)yyvsp[-3].ival)
1855 copline = yyvsp[-3].ival;
1856 leave_scope(yyvsp[-2].ival);
1857 if (nbs)
1858 needblockscope = TRUE; /* propagate outward */
1859 pad_leavemy(comppadnamefill); }
93a17b20 1860break;
79072805 1861case 4:
463ee0b2 1862#line 132 "perly.y"
1863{ yyval.ival = savestack_ix;
1864 SAVEINT(comppadnamefill);
1865 SAVEINT(needblockscope);
1866 needblockscope = FALSE; }
93a17b20 1867break;
79072805 1868case 5:
463ee0b2 1869#line 139 "perly.y"
93a17b20 1870{ yyval.opval = Nullop; }
1871break;
79072805 1872case 6:
463ee0b2 1873#line 141 "perly.y"
93a17b20 1874{ yyval.opval = yyvsp[-1].opval; }
1875break;
79072805 1876case 7:
463ee0b2 1877#line 143 "perly.y"
1878{ yyval.opval = append_list(OP_LINESEQ,
1879 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval); pad_reset();
1880 if (yyvsp[-1].opval && yyvsp[0].opval) needblockscope = TRUE; }
93a17b20 1881break;
79072805 1882case 8:
463ee0b2 1883#line 149 "perly.y"
93a17b20 1884{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1885break;
79072805 1886case 10:
463ee0b2 1887#line 152 "perly.y"
93a17b20 1888{ if (yyvsp[-1].pval != Nullch) {
1889 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
79072805 1890 }
1891 else {
1892 yyval.opval = Nullop;
1893 copline = NOLINE;
1894 }
93a17b20 1895 expect = XBLOCK; }
1896break;
79072805 1897case 11:
463ee0b2 1898#line 161 "perly.y"
93a17b20 1899{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1900 expect = XBLOCK; }
1901break;
79072805 1902case 12:
463ee0b2 1903#line 166 "perly.y"
93a17b20 1904{ yyval.opval = Nullop; }
1905break;
79072805 1906case 13:
463ee0b2 1907#line 168 "perly.y"
93a17b20 1908{ yyval.opval = yyvsp[0].opval; }
1909break;
79072805 1910case 14:
463ee0b2 1911#line 170 "perly.y"
93a17b20 1912{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1913break;
79072805 1914case 15:
463ee0b2 1915#line 172 "perly.y"
93a17b20 1916{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1917break;
79072805 1918case 16:
463ee0b2 1919#line 174 "perly.y"
93a17b20 1920{ yyval.opval = newLOOPOP(0, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1921break;
79072805 1922case 17:
463ee0b2 1923#line 176 "perly.y"
93a17b20 1924{ yyval.opval = newLOOPOP(0, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1925break;
79072805 1926case 18:
463ee0b2 1927#line 180 "perly.y"
93a17b20 1928{ yyval.opval = Nullop; }
1929break;
79072805 1930case 19:
463ee0b2 1931#line 182 "perly.y"
93a17b20 1932{ yyval.opval = scope(yyvsp[0].opval); }
1933break;
79072805 1934case 20:
463ee0b2 1935#line 184 "perly.y"
93a17b20 1936{ copline = yyvsp[-5].ival;
1937 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1938break;
79072805 1939case 21:
463ee0b2 1940#line 189 "perly.y"
93a17b20 1941{ copline = yyvsp[-5].ival;
1942 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1943break;
79072805 1944case 22:
463ee0b2 1945#line 192 "perly.y"
93a17b20 1946{ copline = yyvsp[-5].ival;
79072805 1947 yyval.opval = newCONDOP(0,
93a17b20 1948 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1949break;
79072805 1950case 23:
463ee0b2 1951#line 196 "perly.y"
93a17b20 1952{ copline = yyvsp[-3].ival;
1953 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1954break;
79072805 1955case 24:
463ee0b2 1956#line 199 "perly.y"
93a17b20 1957{ copline = yyvsp[-3].ival;
1958 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1959 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1960break;
79072805 1961case 25:
463ee0b2 1962#line 205 "perly.y"
93a17b20 1963{ yyval.opval = Nullop; }
1964break;
79072805 1965case 26:
463ee0b2 1966#line 207 "perly.y"
93a17b20 1967{ yyval.opval = scope(yyvsp[0].opval); }
1968break;
79072805 1969case 27:
463ee0b2 1970#line 211 "perly.y"
93a17b20 1971{ copline = yyvsp[-5].ival;
1972 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
463ee0b2 1973 newWHILEOP(0, 1, (LOOP*)Nullop,
1974 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
93a17b20 1975break;
79072805 1976case 28:
463ee0b2 1977#line 216 "perly.y"
93a17b20 1978{ copline = yyvsp[-5].ival;
1979 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
463ee0b2 1980 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20 1981 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1982break;
79072805 1983case 29:
463ee0b2 1984#line 221 "perly.y"
93a17b20 1985{ copline = yyvsp[-3].ival;
1986 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
463ee0b2 1987 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20 1988 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1989break;
79072805 1990case 30:
463ee0b2 1991#line 226 "perly.y"
93a17b20 1992{ copline = yyvsp[-3].ival;
1993 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
463ee0b2 1994 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20 1995 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1996break;
79072805 1997case 31:
463ee0b2 1998#line 231 "perly.y"
1999{ yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
93a17b20 2000 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2001break;
79072805 2002case 32:
463ee0b2 2003#line 234 "perly.y"
93a17b20 2004{ yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2005break;
79072805 2006case 33:
463ee0b2 2007#line 237 "perly.y"
93a17b20 2008{ copline = yyvsp[-8].ival;
79072805 2009 yyval.opval = append_elem(OP_LINESEQ,
93a17b20 2010 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
2011 newSTATEOP(0, yyvsp[-9].pval,
463ee0b2 2012 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20 2013 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
2014break;
79072805 2015case 34:
463ee0b2 2016#line 244 "perly.y"
79072805 2017{ yyval.opval = newSTATEOP(0,
463ee0b2 2018 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
2019 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 2020break;
79072805 2021case 35:
463ee0b2 2022#line 250 "perly.y"
93a17b20 2023{ yyval.opval = Nullop; }
2024break;
79072805 2025case 37:
463ee0b2 2026#line 255 "perly.y"
93a17b20 2027{ (void)scan_num("1"); yyval.opval = yylval.opval; }
2028break;
79072805 2029case 39:
463ee0b2 2030#line 260 "perly.y"
93a17b20 2031{ yyval.pval = Nullch; }
2032break;
79072805 2033case 41:
463ee0b2 2034#line 265 "perly.y"
93a17b20 2035{ yyval.ival = 0; }
2036break;
79072805 2037case 42:
463ee0b2 2038#line 267 "perly.y"
93a17b20 2039{ yyval.ival = 0; }
2040break;
79072805 2041case 43:
463ee0b2 2042#line 269 "perly.y"
93a17b20 2043{ yyval.ival = 0; }
2044break;
79072805 2045case 44:
463ee0b2 2046#line 273 "perly.y"
93a17b20 2047{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2048break;
79072805 2049case 45:
463ee0b2 2050#line 275 "perly.y"
93a17b20 2051{ newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
2052break;
79072805 2053case 46:
463ee0b2 2054#line 279 "perly.y"
93a17b20 2055{ newSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2056break;
79072805 2057case 47:
463ee0b2 2058#line 281 "perly.y"
2059{ newSUB(yyvsp[-2].ival, yyvsp[-1].opval, Nullop); expect = XBLOCK; }
93a17b20 2060break;
79072805 2061case 48:
463ee0b2 2062#line 285 "perly.y"
93a17b20 2063{ package(yyvsp[-1].opval); }
2064break;
2065case 49:
463ee0b2 2066#line 287 "perly.y"
93a17b20 2067{ package(Nullop); }
2068break;
79072805 2069case 50:
463ee0b2 2070#line 291 "perly.y"
93a17b20 2071{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2072break;
79072805 2073case 52:
463ee0b2 2074#line 296 "perly.y"
93a17b20 2075{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2076 prepend_elem(OP_LIST, newGVREF(yyvsp[-1].opval), yyvsp[0].opval) ); }
2077break;
79072805 2078case 53:
463ee0b2 2079#line 299 "perly.y"
93a17b20 2080{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2081 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].opval), yyvsp[-1].opval) ); }
2082break;
79072805 2083case 54:
463ee0b2 2084#line 302 "perly.y"
93a17b20 2085{ yyval.opval = convert(yyvsp[-1].ival, OPf_STACKED,
2086 prepend_elem(OP_LIST, newGVREF(yyvsp[-3].opval), yyvsp[0].opval) ); }
2087break;
79072805 2088case 55:
463ee0b2 2089#line 305 "perly.y"
93a17b20 2090{ yyval.opval = convert(yyvsp[-3].ival, OPf_STACKED,
2091 prepend_elem(OP_LIST, newGVREF(yyvsp[-5].opval), yyvsp[-1].opval) ); }
2092break;
79072805 2093case 56:
463ee0b2 2094#line 308 "perly.y"
93a17b20 2095{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2096 prepend_elem(OP_LIST, newMETHOD(yyvsp[-5].opval,yyvsp[-3].opval), yyvsp[-1].opval)); }
2097break;
79072805 2098case 57:
463ee0b2 2099#line 311 "perly.y"
93a17b20 2100{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2101 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
2102break;
79072805 2103case 58:
463ee0b2 2104#line 314 "perly.y"
93a17b20 2105{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2106break;
79072805 2107case 59:
463ee0b2 2108#line 316 "perly.y"
93a17b20 2109{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2110break;
79072805 2111case 60:
463ee0b2 2112#line 320 "perly.y"
93a17b20 2113{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[0].opval); }
2114break;
79072805 2115case 61:
463ee0b2 2116#line 322 "perly.y"
93a17b20 2117{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2118 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2119break;
79072805 2120case 62:
463ee0b2 2121#line 325 "perly.y"
93a17b20 2122{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2123 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2124break;
79072805 2125case 63:
463ee0b2 2126#line 328 "perly.y"
93a17b20 2127{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2128 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval));}
93a17b20 2129break;
79072805 2130case 64:
463ee0b2 2131#line 331 "perly.y"
93a17b20 2132{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2133 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2134break;
79072805 2135case 65:
463ee0b2 2136#line 334 "perly.y"
93a17b20 2137{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2138 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2139break;
79072805 2140case 66:
463ee0b2 2141#line 337 "perly.y"
93a17b20 2142{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2143 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2144break;
79072805 2145case 67:
463ee0b2 2146#line 340 "perly.y"
93a17b20 2147{ yyval.opval = newLOGOP(OP_ANDASSIGN, 0,
463ee0b2 2148 mod(scalar(yyvsp[-3].opval), OP_ANDASSIGN),
93a17b20 2149 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2150break;
79072805 2151case 68:
463ee0b2 2152#line 344 "perly.y"
93a17b20 2153{ yyval.opval = newLOGOP(OP_ORASSIGN, 0,
463ee0b2 2154 mod(scalar(yyvsp[-3].opval), OP_ORASSIGN),
93a17b20 2155 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2156break;
79072805 2157case 69:
463ee0b2 2158#line 350 "perly.y"
93a17b20 2159{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2160break;
79072805 2161case 70:
463ee0b2 2162#line 352 "perly.y"
93a17b20 2163{ if (yyvsp[-1].ival != OP_REPEAT)
2164 scalar(yyvsp[-2].opval);
2165 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2166break;
79072805 2167case 71:
463ee0b2 2168#line 356 "perly.y"
93a17b20 2169{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2170break;
79072805 2171case 72:
463ee0b2 2172#line 358 "perly.y"
93a17b20 2173{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2174break;
79072805 2175case 73:
463ee0b2 2176#line 360 "perly.y"
93a17b20 2177{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2178break;
79072805 2179case 74:
463ee0b2 2180#line 362 "perly.y"
93a17b20 2181{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2182break;
79072805 2183case 75:
463ee0b2 2184#line 364 "perly.y"
93a17b20 2185{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2186break;
79072805 2187case 76:
463ee0b2 2188#line 366 "perly.y"
93a17b20 2189{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2190break;
79072805 2191case 77:
463ee0b2 2192#line 368 "perly.y"
93a17b20 2193{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2194break;
79072805 2195case 78:
463ee0b2 2196#line 370 "perly.y"
93a17b20 2197{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2198break;
79072805 2199case 79:
463ee0b2 2200#line 372 "perly.y"
93a17b20 2201{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2202break;
79072805 2203case 80:
463ee0b2 2204#line 374 "perly.y"
2205{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2206break;
79072805 2207case 81:
463ee0b2 2208#line 376 "perly.y"
2209{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2210break;
79072805 2211case 82:
463ee0b2 2212#line 378 "perly.y"
2213{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2214break;
79072805 2215case 83:
463ee0b2 2216#line 380 "perly.y"
2217{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2218break;
79072805 2219case 84:
463ee0b2 2220#line 382 "perly.y"
93a17b20 2221{ yyval.opval = yyvsp[0].opval; }
2222break;
79072805 2223case 85:
463ee0b2 2224#line 386 "perly.y"
2225{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
93a17b20 2226break;
79072805 2227case 86:
463ee0b2 2228#line 388 "perly.y"
2229{ yyval.opval = yyvsp[0].opval; }
93a17b20 2230break;
79072805 2231case 87:
463ee0b2 2232#line 390 "perly.y"
2233{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
93a17b20 2234break;
79072805 2235case 88:
463ee0b2 2236#line 392 "perly.y"
2237{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
93a17b20 2238break;
79072805 2239case 89:
463ee0b2 2240#line 394 "perly.y"
2241{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
93a17b20 2242break;
79072805 2243case 90:
463ee0b2 2244#line 396 "perly.y"
2245{ yyval.opval = newUNOP(OP_POSTINC, 0,
2246 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
93a17b20 2247break;
79072805 2248case 91:
463ee0b2 2249#line 399 "perly.y"
2250{ yyval.opval = newUNOP(OP_POSTDEC, 0,
2251 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
93a17b20 2252break;
79072805 2253case 92:
463ee0b2 2254#line 402 "perly.y"
2255{ yyval.opval = newUNOP(OP_PREINC, 0,
2256 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
93a17b20 2257break;
79072805 2258case 93:
463ee0b2 2259#line 405 "perly.y"
2260{ yyval.opval = newUNOP(OP_PREDEC, 0,
2261 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
93a17b20 2262break;
79072805 2263case 94:
463ee0b2 2264#line 408 "perly.y"
2265{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
93a17b20 2266break;
79072805 2267case 95:
463ee0b2 2268#line 410 "perly.y"
2269{ yyval.opval = sawparens(yyvsp[-1].opval); }
93a17b20 2270break;
79072805 2271case 96:
463ee0b2 2272#line 412 "perly.y"
2273{ yyval.opval = newNULLLIST(); }
93a17b20 2274break;
79072805 2275case 97:
463ee0b2 2276#line 414 "perly.y"
2277{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
93a17b20 2278break;
79072805 2279case 98:
463ee0b2 2280#line 416 "perly.y"
2281{ yyval.opval = newANONLIST(Nullop); }
93a17b20 2282break;
79072805 2283case 99:
463ee0b2 2284#line 418 "perly.y"
2285{ yyval.opval = newANONHASH(yyvsp[-1].opval); }
93a17b20 2286break;
79072805 2287case 100:
463ee0b2 2288#line 420 "perly.y"
2289{ yyval.opval = newANONHASH(Nullop); }
93a17b20 2290break;
79072805 2291case 101:
463ee0b2 2292#line 422 "perly.y"
2293{ yyval.opval = yyvsp[0].opval; }
93a17b20 2294break;
79072805 2295case 102:
463ee0b2 2296#line 424 "perly.y"
2297{ yyval.opval = yyvsp[0].opval; }
2298break;
2299case 103:
2300#line 426 "perly.y"
2301{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2302break;
2303case 104:
2304#line 428 "perly.y"
93a17b20 2305{ yyval.opval = newBINOP(OP_AELEM, 0,
2306 scalar(ref(newAVREF(yyvsp[-4].opval),OP_RV2AV)),
2307 scalar(yyvsp[-1].opval));}
2308break;
463ee0b2 2309case 105:
2310#line 432 "perly.y"
2311{ yyval.opval = newBINOP(OP_AELEM, 0,
2312 scalar(ref(newAVREF(yyvsp[-3].opval),OP_RV2AV)),
2313 scalar(yyvsp[-1].opval));}
2314break;
2315case 106:
2316#line 436 "perly.y"
93a17b20 2317{ yyval.opval = yyvsp[0].opval; }
2318break;
463ee0b2 2319case 107:
2320#line 438 "perly.y"
93a17b20 2321{ yyval.opval = yyvsp[0].opval; }
2322break;
463ee0b2 2323case 108:
2324#line 440 "perly.y"
93a17b20 2325{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2326break;
463ee0b2 2327case 109:
2328#line 442 "perly.y"
93a17b20 2329{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2330 expect = XOPERATOR; }
2331break;
463ee0b2 2332case 110:
2333#line 445 "perly.y"
93a17b20 2334{ yyval.opval = newBINOP(OP_HELEM, 0,
2335 scalar(ref(newHVREF(yyvsp[-5].opval),OP_RV2HV)),
2336 jmaybe(yyvsp[-2].opval));
2337 expect = XOPERATOR; }
2338break;
463ee0b2 2339case 111:
2340#line 450 "perly.y"
2341{ yyval.opval = newBINOP(OP_HELEM, 0,
2342 scalar(ref(newHVREF(yyvsp[-4].opval),OP_RV2HV)),
2343 jmaybe(yyvsp[-2].opval));
2344 expect = XOPERATOR; }
2345break;
2346case 112:
2347#line 455 "perly.y"
93a17b20 2348{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2349break;
463ee0b2 2350case 113:
2351#line 457 "perly.y"
93a17b20 2352{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2353break;
463ee0b2 2354case 114:
2355#line 459 "perly.y"
79072805 2356{ yyval.opval = prepend_elem(OP_ASLICE,
2357 newOP(OP_PUSHMARK, 0),
2358 list(
2359 newLISTOP(OP_ASLICE, 0,
93a17b20 2360 list(yyvsp[-1].opval),
2361 ref(yyvsp[-3].opval, OP_ASLICE)))); }
2362break;
463ee0b2 2363case 115:
2364#line 466 "perly.y"
79072805 2365{ yyval.opval = prepend_elem(OP_HSLICE,
2366 newOP(OP_PUSHMARK, 0),
2367 list(
2368 newLISTOP(OP_HSLICE, 0,
93a17b20 2369 list(yyvsp[-2].opval),
2370 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE))));
2371 expect = XOPERATOR; }
2372break;
463ee0b2 2373case 116:
2374#line 474 "perly.y"
93a17b20 2375{ yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2376 expect = XOPERATOR; }
2377break;
463ee0b2 2378case 117:
2379#line 477 "perly.y"
93a17b20 2380{ yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-5].opval), jmaybe(yyvsp[-3].opval));
2381 expect = XOPERATOR; }
2382break;
463ee0b2 2383case 118:
2384#line 480 "perly.y"
93a17b20 2385{ yyval.opval = yyvsp[0].opval; }
2386break;
463ee0b2 2387case 119:
2388#line 482 "perly.y"
93a17b20 2389{ yyval.opval = newUNOP(OP_ENTERSUBR, 0,
2390 scalar(yyvsp[0].opval)); }
2391break;
463ee0b2 2392case 120:
2393#line 485 "perly.y"
93a17b20 2394{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2395break;
463ee0b2 2396case 121:
2397#line 487 "perly.y"
93a17b20 2398{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2399 list(prepend_elem(OP_LIST, scalar(yyvsp[-3].opval), yyvsp[-1].opval))); }
2400break;
463ee0b2 2401case 122:
2402#line 490 "perly.y"
93a17b20 2403{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
79072805 2404 list(prepend_elem(OP_LIST,
93a17b20 2405 newCVREF(scalar(yyvsp[-1].opval)), yyvsp[0].opval))); }
2406break;
463ee0b2 2407case 123:
2408#line 494 "perly.y"
2409{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2410 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
93a17b20 2411break;
463ee0b2 2412case 124:
2413#line 497 "perly.y"
2414{ yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2415break;
2416case 125:
2417#line 499 "perly.y"
93a17b20 2418{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2419break;
463ee0b2 2420case 126:
2421#line 501 "perly.y"
79072805 2422{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2423 list(prepend_elem(OP_LIST,
93a17b20 2424 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST()))); }
2425break;
463ee0b2 2426case 127:
2427#line 505 "perly.y"
93a17b20 2428{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2429 list(prepend_elem(OP_LIST,
2430 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2431 yyvsp[-1].opval))); }
2432break;
463ee0b2 2433case 128:
2434#line 510 "perly.y"
93a17b20 2435{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2436 list(prepend_elem(OP_LIST,
2437 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST())));}
2438break;
463ee0b2 2439case 129:
2440#line 514 "perly.y"
93a17b20 2441{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2442 list(prepend_elem(OP_LIST,
2443 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2444 yyvsp[-1].opval))); }
2445break;
463ee0b2 2446case 130:
2447#line 519 "perly.y"
2448{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL); needblockscope = TRUE; }
93a17b20 2449break;
463ee0b2 2450case 131:
2451#line 521 "perly.y"
93a17b20 2452{ yyval.opval = newPVOP(yyvsp[-1].ival, 0,
463ee0b2 2453 savestr(SvPVx(((SVOP*)yyvsp[0].opval)->op_sv, na)));
2454 op_free(yyvsp[0].opval); needblockscope = TRUE; }
93a17b20 2455break;
463ee0b2 2456case 132:
2457#line 525 "perly.y"
93a17b20 2458{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2459break;
463ee0b2 2460case 133:
2461#line 527 "perly.y"
93a17b20 2462{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2463break;
463ee0b2 2464case 134:
2465#line 529 "perly.y"
93a17b20 2466{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2467break;
463ee0b2 2468case 135:
2469#line 531 "perly.y"
93a17b20 2470{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2471break;
463ee0b2 2472case 136:
2473#line 533 "perly.y"
93a17b20 2474{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
2475break;
463ee0b2 2476case 137:
2477#line 535 "perly.y"
93a17b20 2478{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2479break;
463ee0b2 2480case 138:
2481#line 537 "perly.y"
93a17b20 2482{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2483break;
463ee0b2 2484case 139:
2485#line 539 "perly.y"
93a17b20 2486{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2487break;
463ee0b2 2488case 140:
2489#line 541 "perly.y"
93a17b20 2490{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2491break;
463ee0b2 2492case 143:
2493#line 547 "perly.y"
93a17b20 2494{ yyval.opval = newNULLLIST(); }
2495break;
463ee0b2 2496case 144:
2497#line 549 "perly.y"
93a17b20 2498{ yyval.opval = yyvsp[0].opval; }
2499break;
463ee0b2 2500case 145:
2501#line 553 "perly.y"
93a17b20 2502{ yyval.opval = newCVREF(yyvsp[0].opval); }
2503break;
463ee0b2 2504case 146:
2505#line 557 "perly.y"
93a17b20 2506{ yyval.opval = newSVREF(yyvsp[0].opval); }
2507break;
463ee0b2 2508case 147:
2509#line 561 "perly.y"
93a17b20 2510{ yyval.opval = newAVREF(yyvsp[0].opval); }
2511break;
463ee0b2 2512case 148:
2513#line 565 "perly.y"
93a17b20 2514{ yyval.opval = newHVREF(yyvsp[0].opval); }
2515break;
463ee0b2 2516case 149:
2517#line 569 "perly.y"
93a17b20 2518{ yyval.opval = newAVREF(yyvsp[0].opval); }
2519break;
463ee0b2 2520case 150:
2521#line 573 "perly.y"
93a17b20 2522{ yyval.opval = newGVREF(yyvsp[0].opval); }
2523break;
463ee0b2 2524case 151:
2525#line 577 "perly.y"
93a17b20 2526{ yyval.opval = scalar(yyvsp[0].opval); }
2527break;
463ee0b2 2528case 152:
2529#line 579 "perly.y"
2530{ yyval.opval = scalar(yyvsp[0].opval); }
93a17b20 2531break;
463ee0b2 2532case 153:
2533#line 581 "perly.y"
93a17b20 2534{ yyval.opval = scalar(scope(yyvsp[0].opval)); }
2535break;
463ee0b2 2536case 154:
2537#line 584 "perly.y"
93a17b20 2538{ yyval.opval = yyvsp[0].opval; }
2539break;
463ee0b2 2540case 155:
2541#line 588 "perly.y"
93a17b20 2542{ yyval.ival = 1; }
2543break;
463ee0b2 2544case 156:
2545#line 590 "perly.y"
93a17b20 2546{ yyval.ival = 0; }
2547break;
463ee0b2 2548case 157:
2549#line 594 "perly.y"
93a17b20 2550{ yyval.ival = 1; }
2551break;
463ee0b2 2552case 158:
2553#line 596 "perly.y"
93a17b20 2554{ yyval.ival = 0; }
2555break;
463ee0b2 2556case 159:
2557#line 600 "perly.y"
93a17b20 2558{ yyval.ival = 1; }
2559break;
463ee0b2 2560case 160:
2561#line 602 "perly.y"
93a17b20 2562{ yyval.ival = 0; }
2563break;
463ee0b2 2564#line 2523 "y.tab.c"
93a17b20 2565 }
2566 yyssp -= yym;
2567 yystate = *yyssp;
2568 yyvsp -= yym;
2569 yym = yylhs[yyn];
2570 if (yystate == 0 && yym == 0)
2571 {
2572#if YYDEBUG
2573 if (yydebug)
2574 printf("yydebug: after reduction, shifting from state 0 to\
2575 state %d\n", YYFINAL);
2576#endif
2577 yystate = YYFINAL;
2578 *++yyssp = YYFINAL;
2579 *++yyvsp = yyval;
2580 if (yychar < 0)
2581 {
2582 if ((yychar = yylex()) < 0) yychar = 0;
2583#if YYDEBUG
2584 if (yydebug)
2585 {
2586 yys = 0;
2587 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2588 if (!yys) yys = "illegal-symbol";
2589 printf("yydebug: state %d, reading %d (%s)\n",
2590 YYFINAL, yychar, yys);
2591 }
2592#endif
2593 }
2594 if (yychar == 0) goto yyaccept;
2595 goto yyloop;
2596 }
2597 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2598 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2599 yystate = yytable[yyn];
2600 else
2601 yystate = yydgoto[yym];
2602#if YYDEBUG
2603 if (yydebug)
2604 printf("yydebug: after reduction, shifting from state %d \
2605to state %d\n", *yyssp, yystate);
2606#endif
2607 if (yyssp >= yyss + yystacksize - 1)
2608 {
2609 /*
2610 ** reallocate and recover. Note that pointers
2611 ** have to be reset, or bad things will happen
2612 */
2613 int yyps_index = (yyssp - yyss);
2614 int yypv_index = (yyvsp - yyvs);
2615 yystacksize += YYSTACKSIZE;
2616 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2617 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2618 if (!yyvs || !yyss)
2619 goto yyoverflow;
2620 yyssp = yyss + yyps_index;
2621 yyvsp = yyvs + yypv_index;
2622 }
2623 *++yyssp = yystate;
2624 *++yyvsp = yyval;
2625 goto yyloop;
2626yyoverflow:
2627 yyerror("Out of memory for yacc stack");
2628yyabort:
2629 retval = 1;
2630yyaccept:
2631 if (yyss) free(yyss);
2632 if (yyvs) free(yyvs);
2633 yydebug = oldyydebug;
2634 yynerrs = oldyynerrs;
2635 yyerrflag = oldyyerrflag;
2636 yychar = oldyychar;
2637 yyval = oldyyval;
2638 yylval = oldyylval;
2639 return retval;
79072805 2640}