2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
85 #define PRE_PARSED_CLASS_DECL 335
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
96 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string = "GNU C++";
116 extern tree void_list_node;
117 extern struct obstack permanent_obstack;
119 extern int end_of_file;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword;
131 static tree empty_parms PROTO((void));
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec;
135 int used_extern_spec;
137 /* Cons up an empty parameter list. */
147 || current_class_type != NULL)
148 parms = void_list_node;
156 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs;
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes;
169 /* When defining an aggregate, this is the most recent one being defined. */
170 static tree current_aggr;
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
174 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
175 extern void yyprint PROTO((FILE *, int, YYSTYPE));
176 extern tree combine_strings PROTO((tree));
179 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
188 split_specs_attrs (specs_attrs, ¤t_declspecs, &prefix_attributes);
189 if (current_declspecs
190 && TREE_CODE (current_declspecs) != TREE_LIST)
191 current_declspecs = get_decl_list (current_declspecs);
192 if (have_extern_spec && !used_extern_spec)
194 current_declspecs = decl_tree_cons (NULL_TREE,
195 get_identifier ("extern"),
197 used_extern_spec = 1;
199 sm = suspend_momentary ();
200 *decl = start_decl (declarator, current_declspecs, initialized,
201 attributes, prefix_attributes);
215 #define YYFLAG -32768
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 392)
220 static const char yytranslate[] = { 0,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
225 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
227 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
247 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
251 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
252 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
253 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
254 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
259 static const short yyprhs[] = { 0,
260 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
261 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
262 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
263 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
264 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
265 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
266 180, 182, 186, 189, 192, 195, 199, 203, 206, 209,
267 212, 215, 218, 220, 222, 224, 225, 227, 230, 231,
268 233, 238, 242, 246, 247, 256, 262, 263, 273, 280,
269 281, 290, 296, 297, 307, 314, 317, 320, 322, 325,
270 327, 334, 339, 346, 351, 354, 356, 359, 362, 364,
271 367, 369, 372, 375, 380, 383, 387, 388, 389, 391,
272 395, 398, 402, 404, 409, 412, 417, 420, 425, 428,
273 430, 432, 434, 436, 438, 440, 442, 444, 446, 448,
274 450, 451, 458, 459, 466, 467, 473, 474, 480, 481,
275 489, 490, 498, 499, 506, 507, 514, 515, 516, 521,
276 526, 528, 533, 535, 537, 538, 540, 542, 546, 548,
277 550, 552, 554, 556, 558, 560, 562, 564, 566, 568,
278 572, 574, 578, 579, 581, 583, 584, 592, 594, 596,
279 600, 605, 609, 610, 614, 616, 620, 624, 628, 632,
280 634, 636, 638, 641, 644, 647, 650, 653, 656, 659,
281 664, 667, 672, 675, 679, 683, 688, 694, 701, 708,
282 716, 719, 724, 730, 733, 736, 738, 739, 744, 749,
283 753, 755, 759, 762, 766, 771, 773, 776, 782, 784,
284 788, 792, 796, 800, 804, 808, 812, 816, 820, 824,
285 828, 832, 836, 840, 844, 848, 852, 856, 860, 866,
286 870, 874, 876, 879, 883, 885, 887, 889, 891, 893,
287 894, 900, 906, 912, 918, 924, 926, 928, 930, 932,
288 935, 938, 942, 947, 952, 954, 956, 958, 962, 964,
289 966, 968, 970, 974, 978, 982, 983, 988, 993, 996,
290 1001, 1004, 1009, 1012, 1015, 1017, 1022, 1024, 1032, 1040,
291 1048, 1056, 1061, 1066, 1069, 1072, 1075, 1077, 1082, 1085,
292 1088, 1094, 1098, 1101, 1104, 1110, 1114, 1120, 1124, 1129,
293 1136, 1139, 1141, 1144, 1146, 1149, 1151, 1153, 1155, 1158,
294 1159, 1162, 1165, 1169, 1173, 1177, 1180, 1183, 1186, 1188,
295 1190, 1192, 1195, 1198, 1201, 1204, 1206, 1208, 1210, 1212,
296 1215, 1218, 1222, 1226, 1230, 1235, 1237, 1240, 1243, 1246,
297 1248, 1250, 1252, 1255, 1258, 1261, 1263, 1265, 1268, 1271,
298 1275, 1277, 1280, 1282, 1284, 1286, 1291, 1296, 1301, 1306,
299 1308, 1310, 1312, 1314, 1318, 1320, 1324, 1326, 1330, 1331,
300 1336, 1337, 1344, 1348, 1349, 1354, 1356, 1360, 1364, 1365,
301 1370, 1374, 1375, 1377, 1379, 1382, 1389, 1391, 1395, 1396,
302 1398, 1403, 1410, 1415, 1417, 1419, 1421, 1423, 1425, 1429,
303 1430, 1433, 1435, 1438, 1442, 1447, 1449, 1451, 1455, 1460,
304 1464, 1470, 1472, 1477, 1481, 1485, 1486, 1490, 1494, 1498,
305 1499, 1502, 1505, 1506, 1514, 1519, 1520, 1527, 1531, 1534,
306 1537, 1540, 1541, 1542, 1552, 1554, 1555, 1557, 1558, 1560,
307 1562, 1565, 1568, 1571, 1574, 1577, 1580, 1583, 1587, 1592,
308 1596, 1599, 1603, 1604, 1606, 1610, 1613, 1616, 1618, 1620,
309 1621, 1624, 1628, 1630, 1635, 1637, 1641, 1643, 1645, 1650,
310 1655, 1658, 1661, 1665, 1669, 1671, 1672, 1674, 1677, 1682,
311 1686, 1688, 1691, 1694, 1697, 1700, 1703, 1706, 1709, 1711,
312 1714, 1717, 1721, 1724, 1727, 1732, 1737, 1740, 1742, 1748,
313 1753, 1755, 1756, 1758, 1762, 1763, 1765, 1769, 1771, 1773,
314 1775, 1777, 1782, 1787, 1792, 1797, 1802, 1806, 1811, 1816,
315 1821, 1826, 1830, 1832, 1836, 1838, 1842, 1845, 1847, 1855,
316 1856, 1859, 1861, 1864, 1865, 1868, 1873, 1878, 1881, 1886,
317 1890, 1894, 1897, 1900, 1904, 1906, 1908, 1911, 1913, 1915,
318 1918, 1921, 1926, 1931, 1935, 1939, 1942, 1944, 1948, 1952,
319 1955, 1958, 1962, 1964, 1968, 1972, 1975, 1978, 1982, 1984,
320 1989, 1993, 1998, 2002, 2004, 2007, 2010, 2013, 2016, 2019,
321 2021, 2024, 2029, 2034, 2037, 2039, 2041, 2043, 2045, 2048,
322 2053, 2056, 2059, 2062, 2065, 2067, 2070, 2073, 2076, 2079,
323 2083, 2085, 2088, 2092, 2097, 2100, 2103, 2106, 2109, 2112,
324 2115, 2120, 2123, 2125, 2128, 2131, 2135, 2137, 2141, 2144,
325 2148, 2151, 2154, 2158, 2160, 2164, 2169, 2173, 2176, 2179,
326 2181, 2185, 2188, 2191, 2193, 2196, 2200, 2202, 2206, 2208,
327 2215, 2220, 2225, 2229, 2235, 2239, 2243, 2247, 2250, 2252,
328 2254, 2257, 2260, 2263, 2264, 2266, 2268, 2271, 2275, 2277,
329 2280, 2281, 2285, 2286, 2287, 2293, 2295, 2296, 2299, 2301,
330 2303, 2305, 2308, 2309, 2314, 2316, 2317, 2318, 2324, 2325,
331 2326, 2334, 2335, 2336, 2337, 2338, 2351, 2352, 2353, 2361,
332 2362, 2368, 2369, 2377, 2378, 2383, 2386, 2389, 2392, 2396,
333 2403, 2412, 2423, 2436, 2441, 2445, 2448, 2451, 2453, 2455,
334 2457, 2459, 2461, 2462, 2463, 2470, 2471, 2472, 2478, 2480,
335 2483, 2484, 2485, 2491, 2493, 2495, 2499, 2503, 2506, 2509,
336 2512, 2515, 2518, 2520, 2523, 2524, 2526, 2527, 2529, 2531,
337 2532, 2534, 2536, 2540, 2545, 2547, 2551, 2552, 2554, 2556,
338 2558, 2561, 2564, 2567, 2569, 2572, 2575, 2576, 2580, 2582,
339 2584, 2586, 2589, 2592, 2595, 2600, 2603, 2606, 2609, 2612,
340 2615, 2618, 2620, 2623, 2625, 2628, 2630, 2632, 2633, 2634,
341 2636, 2637, 2642, 2645, 2647, 2649, 2653, 2654, 2658, 2662,
342 2666, 2668, 2671, 2674, 2677, 2680, 2683, 2686, 2689, 2692,
343 2695, 2698, 2701, 2704, 2707, 2710, 2713, 2716, 2719, 2722,
344 2725, 2728, 2731, 2734, 2737, 2741, 2744, 2747, 2750, 2753,
345 2757, 2760, 2763, 2768, 2773, 2777
348 static const short yyrhs[] = { -1,
349 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
350 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
351 122, 0, 146, 145, 0, 142, 0, 141, 0, 119,
352 93, 214, 108, 60, 0, 133, 58, 115, 109, 0,
353 133, 116, 146, 117, 145, 0, 133, 116, 142, 117,
354 0, 0, 44, 161, 58, 123, 115, 109, 0, 0,
355 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
356 0, 129, 0, 118, 122, 0, 0, 44, 161, 64,
357 126, 132, 60, 0, 46, 306, 0, 46, 320, 306,
358 0, 46, 320, 205, 0, 46, 131, 161, 0, 46,
359 320, 161, 0, 46, 320, 131, 161, 0, 0, 46,
360 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
361 54, 0, 205, 0, 306, 0, 320, 306, 0, 320,
362 205, 0, 98, 0, 133, 98, 0, 0, 48, 74,
363 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
364 136, 59, 140, 0, 161, 0, 0, 263, 137, 0,
365 45, 137, 0, 134, 263, 137, 0, 138, 0, 138,
366 64, 220, 0, 383, 0, 383, 64, 200, 0, 139,
367 0, 139, 64, 180, 0, 134, 122, 0, 134, 1,
368 0, 231, 60, 0, 224, 230, 60, 0, 221, 229,
369 60, 0, 224, 60, 0, 164, 60, 0, 221, 60,
370 0, 1, 60, 0, 1, 109, 0, 60, 0, 215,
371 0, 157, 0, 0, 156, 0, 156, 60, 0, 0,
372 107, 0, 152, 144, 143, 330, 0, 152, 144, 354,
373 0, 152, 144, 1, 0, 0, 311, 5, 93, 148,
374 374, 108, 293, 386, 0, 311, 5, 47, 293, 386,
375 0, 0, 320, 311, 5, 93, 149, 374, 108, 293,
376 386, 0, 320, 311, 5, 47, 293, 386, 0, 0,
377 311, 176, 93, 150, 374, 108, 293, 386, 0, 311,
378 176, 47, 293, 386, 0, 0, 320, 311, 176, 93,
379 151, 374, 108, 293, 386, 0, 320, 311, 176, 47,
380 293, 386, 0, 221, 218, 0, 224, 303, 0, 303,
381 0, 224, 147, 0, 147, 0, 5, 93, 374, 108,
382 293, 386, 0, 5, 47, 293, 386, 0, 176, 93,
383 374, 108, 293, 386, 0, 176, 47, 293, 386, 0,
384 224, 153, 0, 153, 0, 221, 218, 0, 224, 303,
385 0, 303, 0, 224, 147, 0, 147, 0, 25, 3,
386 0, 155, 248, 0, 155, 93, 192, 108, 0, 155,
387 47, 0, 62, 158, 159, 0, 0, 0, 160, 0,
388 159, 59, 160, 0, 159, 1, 0, 93, 192, 108,
389 0, 47, 0, 162, 93, 192, 108, 0, 162, 47,
390 0, 299, 93, 192, 108, 0, 299, 47, 0, 313,
391 93, 192, 108, 0, 313, 47, 0, 3, 0, 4,
392 0, 5, 0, 56, 0, 57, 0, 3, 0, 56,
393 0, 57, 0, 104, 0, 103, 0, 105, 0, 0,
394 48, 173, 227, 60, 165, 174, 0, 0, 48, 173,
395 221, 218, 166, 174, 0, 0, 48, 173, 303, 167,
396 174, 0, 0, 48, 173, 147, 168, 174, 0, 0,
397 7, 48, 173, 227, 60, 169, 174, 0, 0, 7,
398 48, 173, 221, 218, 170, 174, 0, 0, 7, 48,
399 173, 303, 171, 174, 0, 0, 7, 48, 173, 147,
400 172, 174, 0, 0, 0, 56, 74, 178, 177, 0,
401 4, 74, 178, 177, 0, 176, 0, 5, 74, 178,
402 177, 0, 75, 0, 77, 0, 0, 179, 0, 180,
403 0, 179, 59, 180, 0, 220, 0, 56, 0, 200,
404 0, 79, 0, 78, 0, 86, 0, 87, 0, 110,
405 0, 191, 0, 200, 0, 47, 0, 93, 182, 108,
406 0, 47, 0, 93, 186, 108, 0, 0, 186, 0,
407 1, 0, 0, 364, 218, 232, 241, 64, 187, 249,
408 0, 182, 0, 109, 0, 327, 325, 109, 0, 327,
409 325, 1, 109, 0, 327, 1, 109, 0, 0, 58,
410 190, 188, 0, 339, 0, 200, 59, 200, 0, 200,
411 59, 1, 0, 191, 59, 200, 0, 191, 59, 1,
412 0, 200, 0, 191, 0, 209, 0, 118, 199, 0,
413 80, 199, 0, 70, 199, 0, 88, 199, 0, 181,
414 199, 0, 67, 161, 0, 13, 193, 0, 13, 93,
415 220, 108, 0, 29, 193, 0, 29, 93, 220, 108,
416 0, 211, 292, 0, 211, 292, 197, 0, 211, 196,
417 292, 0, 211, 196, 292, 197, 0, 211, 93, 195,
418 220, 194, 0, 211, 93, 195, 220, 194, 197, 0,
419 211, 196, 93, 195, 220, 194, 0, 211, 196, 93,
420 195, 220, 194, 197, 0, 212, 199, 0, 212, 94,
421 111, 199, 0, 212, 94, 182, 111, 199, 0, 34,
422 199, 0, 35, 199, 0, 108, 0, 0, 93, 195,
423 192, 108, 0, 58, 195, 192, 109, 0, 93, 192,
424 108, 0, 47, 0, 93, 227, 108, 0, 64, 249,
425 0, 93, 220, 108, 0, 198, 93, 220, 108, 0,
426 193, 0, 198, 193, 0, 198, 58, 250, 261, 109,
427 0, 199, 0, 200, 83, 200, 0, 200, 84, 200,
428 0, 200, 78, 200, 0, 200, 79, 200, 0, 200,
429 80, 200, 0, 200, 81, 200, 0, 200, 82, 200,
430 0, 200, 76, 200, 0, 200, 77, 200, 0, 200,
431 73, 200, 0, 200, 74, 200, 0, 200, 75, 200,
432 0, 200, 72, 200, 0, 200, 71, 200, 0, 200,
433 70, 200, 0, 200, 68, 200, 0, 200, 69, 200,
434 0, 200, 67, 200, 0, 200, 66, 200, 0, 200,
435 65, 369, 62, 200, 0, 200, 64, 200, 0, 200,
436 63, 200, 0, 61, 0, 61, 200, 0, 88, 384,
437 161, 0, 203, 0, 391, 0, 3, 0, 56, 0,
438 57, 0, 0, 6, 74, 202, 178, 177, 0, 391,
439 74, 202, 178, 177, 0, 48, 161, 74, 178, 177,
440 0, 48, 6, 74, 178, 177, 0, 48, 391, 74,
441 178, 177, 0, 201, 0, 4, 0, 5, 0, 201,
442 0, 80, 206, 0, 70, 206, 0, 93, 206, 108,
443 0, 3, 74, 178, 177, 0, 57, 74, 179, 177,
444 0, 305, 0, 201, 0, 207, 0, 93, 206, 108,
445 0, 201, 0, 10, 0, 213, 0, 214, 0, 93,
446 182, 108, 0, 93, 206, 108, 0, 93, 1, 108,
447 0, 0, 93, 210, 331, 108, 0, 201, 93, 192,
448 108, 0, 201, 47, 0, 209, 93, 192, 108, 0,
449 209, 47, 0, 209, 94, 182, 111, 0, 209, 86,
450 0, 209, 87, 0, 40, 0, 9, 93, 192, 108,
451 0, 309, 0, 50, 74, 220, 75, 93, 182, 108,
452 0, 51, 74, 220, 75, 93, 182, 108, 0, 52,
453 74, 220, 75, 93, 182, 108, 0, 53, 74, 220,
454 75, 93, 182, 108, 0, 49, 93, 182, 108, 0,
455 49, 93, 220, 108, 0, 320, 3, 0, 320, 203,
456 0, 320, 391, 0, 308, 0, 308, 93, 192, 108,
457 0, 308, 47, 0, 216, 204, 0, 216, 204, 93,
458 192, 108, 0, 216, 204, 47, 0, 216, 205, 0,
459 216, 308, 0, 216, 205, 93, 192, 108, 0, 216,
460 205, 47, 0, 216, 308, 93, 192, 108, 0, 216,
461 308, 47, 0, 216, 88, 8, 47, 0, 216, 8,
462 54, 88, 8, 47, 0, 216, 1, 0, 39, 0,
463 320, 39, 0, 38, 0, 320, 212, 0, 42, 0,
464 43, 0, 11, 0, 214, 11, 0, 0, 209, 92,
465 0, 209, 91, 0, 227, 229, 60, 0, 221, 229,
466 60, 0, 224, 230, 60, 0, 221, 60, 0, 224,
467 60, 0, 118, 217, 0, 298, 0, 303, 0, 47,
468 0, 219, 47, 0, 225, 323, 0, 294, 323, 0,
469 227, 323, 0, 225, 0, 294, 0, 225, 0, 222,
470 0, 224, 227, 0, 227, 223, 0, 227, 226, 223,
471 0, 224, 227, 223, 0, 224, 227, 226, 0, 224,
472 227, 226, 223, 0, 7, 0, 223, 228, 0, 223,
473 7, 0, 223, 242, 0, 242, 0, 294, 0, 7,
474 0, 224, 9, 0, 224, 7, 0, 224, 242, 0,
475 242, 0, 227, 0, 294, 227, 0, 227, 226, 0,
476 294, 227, 226, 0, 228, 0, 226, 228, 0, 256,
477 0, 8, 0, 300, 0, 28, 93, 182, 108, 0,
478 28, 93, 220, 108, 0, 30, 93, 182, 108, 0,
479 30, 93, 220, 108, 0, 8, 0, 9, 0, 256,
480 0, 237, 0, 229, 59, 233, 0, 238, 0, 230,
481 59, 233, 0, 239, 0, 231, 59, 233, 0, 0,
482 119, 93, 214, 108, 0, 0, 218, 232, 241, 64,
483 234, 249, 0, 218, 232, 241, 0, 0, 241, 64,
484 236, 249, 0, 241, 0, 218, 232, 235, 0, 303,
485 232, 235, 0, 0, 303, 232, 240, 235, 0, 147,
486 232, 241, 0, 0, 242, 0, 243, 0, 242, 243,
487 0, 31, 93, 93, 244, 108, 108, 0, 245, 0,
488 244, 59, 245, 0, 0, 246, 0, 246, 93, 3,
489 108, 0, 246, 93, 3, 59, 192, 108, 0, 246,
490 93, 192, 108, 0, 161, 0, 7, 0, 8, 0,
491 9, 0, 161, 0, 247, 59, 161, 0, 0, 64,
492 249, 0, 200, 0, 58, 109, 0, 58, 250, 109,
493 0, 58, 250, 59, 109, 0, 1, 0, 249, 0,
494 250, 59, 249, 0, 94, 200, 111, 249, 0, 161,
495 62, 249, 0, 250, 59, 161, 62, 249, 0, 97,
496 0, 251, 144, 143, 330, 0, 251, 144, 354, 0,
497 251, 144, 1, 0, 0, 253, 252, 145, 0, 102,
498 200, 107, 0, 102, 1, 107, 0, 0, 255, 254,
499 0, 255, 1, 0, 0, 14, 161, 58, 257, 290,
500 262, 109, 0, 14, 161, 58, 109, 0, 0, 14,
501 58, 258, 290, 262, 109, 0, 14, 58, 109, 0,
502 14, 161, 0, 14, 318, 0, 45, 313, 0, 0,
503 0, 270, 276, 278, 109, 241, 259, 255, 260, 253,
504 0, 270, 0, 0, 59, 0, 0, 59, 0, 36,
505 0, 263, 7, 0, 263, 8, 0, 263, 9, 0,
506 263, 36, 0, 263, 242, 0, 263, 161, 0, 263,
507 163, 0, 263, 311, 161, 0, 263, 320, 311, 161,
508 0, 263, 320, 161, 0, 263, 175, 0, 263, 311,
509 175, 0, 0, 264, 0, 265, 267, 271, 0, 266,
510 271, 0, 263, 58, 0, 269, 0, 268, 0, 0,
511 62, 384, 0, 62, 384, 272, 0, 273, 0, 272,
512 59, 384, 273, 0, 274, 0, 275, 384, 274, 0,
513 313, 0, 299, 0, 30, 93, 182, 108, 0, 30,
514 93, 220, 108, 0, 37, 384, 0, 7, 384, 0,
515 275, 37, 384, 0, 275, 7, 384, 0, 58, 0,
516 0, 277, 0, 277, 279, 0, 278, 37, 62, 279,
517 0, 278, 37, 62, 0, 280, 0, 279, 280, 0,
518 281, 60, 0, 281, 109, 0, 154, 62, 0, 154,
519 95, 0, 154, 25, 0, 154, 58, 0, 60, 0,
520 118, 280, 0, 134, 280, 0, 134, 221, 60, 0,
521 221, 282, 0, 224, 283, 0, 303, 232, 241, 248,
522 0, 147, 232, 241, 248, 0, 62, 200, 0, 1,
523 0, 224, 153, 232, 241, 248, 0, 153, 232, 241,
524 248, 0, 127, 0, 0, 284, 0, 282, 59, 285,
525 0, 0, 287, 0, 283, 59, 289, 0, 286, 0,
526 287, 0, 288, 0, 289, 0, 298, 232, 241, 248,
527 0, 4, 62, 200, 241, 0, 303, 232, 241, 248,
528 0, 147, 232, 241, 248, 0, 3, 62, 200, 241,
529 0, 62, 200, 241, 0, 298, 232, 241, 248, 0,
530 4, 62, 200, 241, 0, 303, 232, 241, 248, 0,
531 3, 62, 200, 241, 0, 62, 200, 241, 0, 291,
532 0, 290, 59, 291, 0, 161, 0, 161, 64, 200,
533 0, 364, 321, 0, 364, 0, 93, 195, 220, 194,
534 94, 182, 111, 0, 0, 293, 9, 0, 9, 0,
535 294, 9, 0, 0, 295, 182, 0, 295, 93, 192,
536 108, 0, 295, 93, 374, 108, 0, 295, 47, 0,
537 295, 93, 1, 108, 0, 80, 294, 298, 0, 70,
538 294, 298, 0, 80, 298, 0, 70, 298, 0, 319,
539 293, 298, 0, 302, 0, 310, 0, 320, 310, 0,
540 299, 0, 301, 0, 320, 301, 0, 311, 310, 0,
541 302, 297, 293, 386, 0, 302, 94, 296, 111, 0,
542 302, 94, 111, 0, 93, 298, 108, 0, 311, 310,
543 0, 310, 0, 80, 294, 303, 0, 70, 294, 303,
544 0, 80, 303, 0, 70, 303, 0, 319, 293, 303,
545 0, 208, 0, 80, 294, 303, 0, 70, 294, 303,
546 0, 80, 304, 0, 70, 304, 0, 319, 293, 303,
547 0, 305, 0, 208, 297, 293, 386, 0, 93, 304,
548 108, 0, 208, 94, 296, 111, 0, 208, 94, 111,
549 0, 307, 0, 311, 207, 0, 311, 205, 0, 311,
550 204, 0, 311, 201, 0, 311, 204, 0, 307, 0,
551 320, 307, 0, 227, 93, 192, 108, 0, 227, 93,
552 206, 108, 0, 227, 219, 0, 4, 0, 5, 0,
553 175, 0, 312, 0, 311, 312, 0, 311, 48, 317,
554 54, 0, 4, 54, 0, 5, 54, 0, 57, 54,
555 0, 175, 54, 0, 314, 0, 320, 314, 0, 315,
556 161, 0, 315, 175, 0, 315, 317, 0, 315, 48,
557 317, 0, 316, 0, 315, 316, 0, 315, 317, 54,
558 0, 315, 48, 317, 54, 0, 4, 54, 0, 5,
559 54, 0, 175, 54, 0, 56, 54, 0, 3, 54,
560 0, 57, 54, 0, 161, 74, 178, 177, 0, 320,
561 310, 0, 301, 0, 320, 301, 0, 311, 80, 0,
562 320, 311, 80, 0, 54, 0, 80, 293, 321, 0,
563 80, 293, 0, 70, 293, 321, 0, 70, 293, 0,
564 319, 293, 0, 319, 293, 321, 0, 322, 0, 94,
565 182, 111, 0, 322, 94, 296, 111, 0, 80, 294,
566 323, 0, 80, 323, 0, 80, 294, 0, 80, 0,
567 70, 294, 323, 0, 70, 323, 0, 70, 294, 0,
568 70, 0, 319, 293, 0, 319, 293, 323, 0, 324,
569 0, 93, 323, 108, 0, 90, 0, 324, 93, 374,
570 108, 293, 386, 0, 324, 47, 293, 386, 0, 324,
571 94, 296, 111, 0, 324, 94, 111, 0, 93, 375,
572 108, 293, 386, 0, 198, 293, 386, 0, 219, 293,
573 386, 0, 94, 296, 111, 0, 94, 111, 0, 338,
574 0, 326, 0, 325, 338, 0, 325, 326, 0, 1,
575 60, 0, 0, 328, 0, 329, 0, 328, 329, 0,
576 33, 247, 60, 0, 331, 0, 1, 331, 0, 0,
577 58, 332, 188, 0, 0, 0, 15, 334, 184, 335,
578 336, 0, 331, 0, 0, 337, 339, 0, 331, 0,
579 339, 0, 217, 0, 182, 60, 0, 0, 333, 16,
580 340, 336, 0, 333, 0, 0, 0, 17, 341, 184,
581 342, 189, 0, 0, 0, 18, 343, 336, 17, 344,
582 183, 60, 0, 0, 0, 0, 0, 19, 345, 93,
583 367, 346, 185, 60, 347, 369, 108, 348, 189, 0,
584 0, 0, 20, 349, 93, 186, 108, 350, 336, 0,
585 0, 21, 200, 62, 351, 338, 0, 0, 21, 200,
586 12, 200, 62, 352, 338, 0, 0, 22, 62, 353,
587 338, 0, 23, 60, 0, 24, 60, 0, 25, 60,
588 0, 25, 182, 60, 0, 119, 368, 93, 214, 108,
589 60, 0, 119, 368, 93, 214, 62, 370, 108, 60,
590 0, 119, 368, 93, 214, 62, 370, 62, 370, 108,
591 60, 0, 119, 368, 93, 214, 62, 370, 62, 370,
592 62, 373, 108, 60, 0, 26, 80, 182, 60, 0,
593 26, 161, 60, 0, 366, 338, 0, 366, 109, 0,
594 60, 0, 357, 0, 129, 0, 128, 0, 125, 0,
595 0, 0, 95, 355, 143, 331, 356, 360, 0, 0,
596 0, 95, 358, 331, 359, 360, 0, 361, 0, 360,
597 361, 0, 0, 0, 96, 362, 365, 363, 331, 0,
598 225, 0, 294, 0, 93, 12, 108, 0, 93, 383,
599 108, 0, 3, 62, 0, 56, 62, 0, 4, 62,
600 0, 5, 62, 0, 369, 60, 0, 217, 0, 58,
601 188, 0, 0, 9, 0, 0, 182, 0, 1, 0,
602 0, 371, 0, 372, 0, 371, 59, 372, 0, 11,
603 93, 182, 108, 0, 11, 0, 373, 59, 11, 0,
604 0, 375, 0, 220, 0, 379, 0, 380, 12, 0,
605 379, 12, 0, 220, 12, 0, 12, 0, 379, 62,
606 0, 220, 62, 0, 0, 64, 377, 378, 0, 101,
607 0, 249, 0, 381, 0, 383, 376, 0, 380, 382,
608 0, 380, 385, 0, 380, 385, 64, 249, 0, 379,
609 59, 0, 220, 59, 0, 222, 218, 0, 225, 218,
610 0, 227, 218, 0, 222, 323, 0, 222, 0, 224,
611 303, 0, 383, 0, 383, 376, 0, 381, 0, 220,
612 0, 0, 0, 303, 0, 0, 61, 93, 388, 108,
613 0, 61, 47, 0, 220, 0, 387, 0, 388, 59,
614 387, 0, 0, 80, 293, 389, 0, 70, 293, 389,
615 0, 319, 293, 389, 0, 41, 0, 390, 80, 0,
616 390, 81, 0, 390, 82, 0, 390, 78, 0, 390,
617 79, 0, 390, 70, 0, 390, 68, 0, 390, 69,
618 0, 390, 88, 0, 390, 59, 0, 390, 73, 0,
619 390, 74, 0, 390, 75, 0, 390, 72, 0, 390,
620 63, 0, 390, 64, 0, 390, 76, 0, 390, 77,
621 0, 390, 86, 0, 390, 87, 0, 390, 67, 0,
622 390, 66, 0, 390, 110, 0, 390, 65, 62, 0,
623 390, 71, 0, 390, 91, 0, 390, 83, 0, 390,
624 47, 0, 390, 94, 111, 0, 390, 39, 0, 390,
625 38, 0, 390, 39, 94, 111, 0, 390, 38, 94,
626 111, 0, 390, 364, 389, 0, 390, 1, 0
632 static const short yyrline[] = { 0,
633 331, 333, 341, 344, 345, 349, 351, 354, 359, 363,
634 369, 373, 376, 380, 383, 385, 387, 390, 392, 395,
635 398, 400, 402, 404, 406, 407, 409, 410, 414, 417,
636 426, 429, 431, 435, 438, 440, 444, 447, 459, 466,
637 474, 476, 477, 479, 483, 486, 492, 495, 497, 502,
638 505, 509, 512, 515, 518, 522, 527, 537, 539, 541,
639 543, 545, 558, 567, 577, 579, 581, 585, 587, 588,
640 595, 596, 597, 600, 603, 607, 609, 610, 613, 615,
641 618, 621, 623, 627, 630, 632, 636, 638, 640, 644,
642 646, 648, 652, 654, 656, 662, 666, 669, 672, 675,
643 680, 683, 685, 687, 693, 703, 705, 708, 711, 713,
644 716, 720, 729, 732, 734, 738, 751, 771, 774, 776,
645 777, 780, 787, 793, 795, 797, 799, 801, 804, 809,
646 811, 812, 813, 814, 817, 819, 820, 823, 825, 826,
647 829, 834, 834, 838, 838, 841, 841, 844, 844, 848,
648 848, 853, 853, 856, 856, 859, 861, 864, 871, 878,
649 884, 887, 896, 898, 906, 909, 912, 915, 919, 922,
650 924, 927, 930, 932, 934, 936, 940, 943, 946, 951,
651 955, 960, 964, 967, 968, 972, 991, 998, 1001, 1003,
652 1004, 1005, 1008, 1012, 1013, 1017, 1021, 1024, 1026, 1030,
653 1033, 1036, 1040, 1043, 1045, 1047, 1049, 1052, 1056, 1058,
654 1060, 1062, 1068, 1071, 1074, 1077, 1089, 1094, 1098, 1102,
655 1107, 1109, 1113, 1117, 1119, 1128, 1132, 1135, 1138, 1143,
656 1146, 1148, 1156, 1169, 1174, 1180, 1182, 1184, 1197, 1200,
657 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220,
658 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1240,
659 1244, 1246, 1248, 1265, 1268, 1269, 1270, 1271, 1272, 1275,
660 1278, 1281, 1285, 1288, 1290, 1295, 1297, 1298, 1301, 1303,
661 1305, 1307, 1311, 1314, 1318, 1320, 1321, 1322, 1326, 1334,
662 1335, 1336, 1344, 1346, 1349, 1351, 1361, 1366, 1368, 1370,
663 1372, 1374, 1376, 1378, 1381, 1383, 1427, 1428, 1432, 1436,
664 1440, 1444, 1446, 1450, 1452, 1454, 1462, 1464, 1466, 1468,
665 1472, 1474, 1476, 1478, 1483, 1485, 1487, 1489, 1492, 1494,
666 1496, 1540, 1543, 1547, 1550, 1554, 1557, 1562, 1564, 1568,
667 1581, 1584, 1591, 1598, 1603, 1605, 1610, 1612, 1619, 1621,
668 1625, 1629, 1635, 1639, 1642, 1645, 1648, 1658, 1660, 1663,
669 1667, 1670, 1673, 1676, 1679, 1685, 1691, 1693, 1698, 1700,
670 1709, 1712, 1714, 1717, 1723, 1725, 1735, 1739, 1742, 1745,
671 1750, 1753, 1761, 1763, 1765, 1767, 1770, 1773, 1788, 1807,
672 1810, 1812, 1815, 1817, 1820, 1822, 1825, 1827, 1830, 1833,
673 1837, 1843, 1844, 1856, 1863, 1866, 1872, 1876, 1881, 1887,
674 1888, 1896, 1899, 1903, 1906, 1910, 1915, 1918, 1922, 1925,
675 1927, 1929, 1931, 1938, 1940, 1941, 1942, 1946, 1949, 1953,
676 1956, 1962, 1964, 1967, 1970, 1973, 1979, 1982, 1985, 1987,
677 1989, 1993, 1999, 2007, 2009, 2013, 2015, 2020, 2023, 2026,
678 2028, 2030, 2034, 2038, 2043, 2047, 2050, 2055, 2059, 2062,
679 2065, 2069, 2081, 2083, 2086, 2106, 2108, 2111, 2113, 2118,
680 2120, 2122, 2124, 2126, 2128, 2132, 2137, 2142, 2148, 2153,
681 2158, 2160, 2164, 2169, 2172, 2179, 2207, 2213, 2215, 2218,
682 2221, 2223, 2227, 2229, 2233, 2259, 2288, 2291, 2292, 2313,
683 2336, 2338, 2342, 2353, 2367, 2372, 2379, 2382, 2390, 2401,
684 2410, 2414, 2429, 2432, 2437, 2439, 2441, 2443, 2445, 2447,
685 2450, 2452, 2456, 2462, 2464, 2467, 2470, 2472, 2483, 2488,
686 2491, 2496, 2499, 2500, 2511, 2514, 2515, 2526, 2528, 2531,
687 2533, 2536, 2543, 2551, 2558, 2564, 2570, 2578, 2582, 2587,
688 2591, 2594, 2603, 2605, 2609, 2612, 2617, 2621, 2627, 2638,
689 2641, 2645, 2649, 2657, 2662, 2668, 2671, 2673, 2675, 2681,
690 2684, 2686, 2688, 2690, 2694, 2697, 2715, 2725, 2727, 2728,
691 2732, 2737, 2740, 2742, 2744, 2746, 2750, 2756, 2759, 2761,
692 2763, 2765, 2769, 2772, 2775, 2777, 2779, 2781, 2785, 2788,
693 2791, 2793, 2795, 2797, 2809, 2820, 2824, 2829, 2833, 2838,
694 2840, 2844, 2847, 2849, 2853, 2855, 2856, 2859, 2861, 2863,
695 2869, 2884, 2890, 2896, 2910, 2912, 2916, 2930, 2932, 2934,
696 2938, 2944, 2957, 2959, 2963, 2976, 2982, 2984, 2985, 2986,
697 2994, 2999, 3008, 3009, 3013, 3016, 3022, 3028, 3031, 3033,
698 3035, 3037, 3041, 3045, 3049, 3052, 3057, 3060, 3062, 3064,
699 3066, 3068, 3070, 3072, 3074, 3078, 3082, 3086, 3090, 3091,
700 3093, 3095, 3097, 3099, 3101, 3103, 3105, 3107, 3115, 3117,
701 3118, 3119, 3122, 3128, 3130, 3135, 3137, 3140, 3154, 3157,
702 3160, 3164, 3167, 3174, 3176, 3179, 3181, 3183, 3186, 3189,
703 3192, 3195, 3197, 3200, 3204, 3206, 3212, 3214, 3215, 3217,
704 3222, 3224, 3226, 3228, 3230, 3233, 3234, 3236, 3239, 3240,
705 3243, 3243, 3246, 3246, 3249, 3249, 3251, 3253, 3255, 3257,
706 3263, 3269, 3272, 3275, 3281, 3283, 3285, 3289, 3291, 3292,
707 3293, 3295, 3298, 3305, 3310, 3318, 3322, 3324, 3327, 3329,
708 3332, 3336, 3338, 3341, 3343, 3346, 3363, 3369, 3377, 3379,
709 3381, 3385, 3388, 3389, 3397, 3401, 3405, 3408, 3409, 3415,
710 3418, 3421, 3423, 3427, 3432, 3435, 3445, 3450, 3451, 3458,
711 3461, 3464, 3466, 3469, 3471, 3481, 3495, 3499, 3502, 3504,
712 3508, 3512, 3515, 3518, 3520, 3524, 3526, 3533, 3540, 3543,
713 3546, 3550, 3554, 3560, 3564, 3569, 3571, 3574, 3579, 3585,
714 3596, 3599, 3601, 3605, 3610, 3612, 3619, 3622, 3624, 3626,
715 3632, 3637, 3640, 3642, 3644, 3646, 3648, 3650, 3652, 3654,
716 3656, 3658, 3660, 3662, 3664, 3666, 3668, 3670, 3672, 3674,
717 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690, 3692, 3694,
718 3696, 3698, 3700, 3702, 3705, 3707
723 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
725 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
726 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
727 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
728 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
729 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
730 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
731 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
732 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
733 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
734 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
735 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
736 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
737 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
738 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
739 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
740 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
741 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
742 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
743 "template_type_parm","template_template_parm","template_parm","template_def",
744 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
745 "constructor_declarator","@8","@9","@10","@11","fn.def1","component_constructor_declarator",
746 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
747 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
748 "@12","@13","@14","@15","@16","@17","@18","@19","begin_explicit_instantiation",
749 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
750 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
751 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
752 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
753 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
754 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
755 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
756 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
757 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
758 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
759 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
760 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
761 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
762 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
763 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
764 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
765 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
766 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
767 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
768 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
769 "component_decl_1","components","notype_components","component_declarator0",
770 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
771 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
772 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
773 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
774 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
775 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
776 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
777 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
778 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
779 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
780 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
781 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
782 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
783 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
784 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
785 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
786 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
787 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
788 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
792 static const short yyr1[] = { 0,
793 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
794 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
795 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
796 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
797 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
798 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
799 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
800 142, 142, 142, 143, 143, 144, 144, 144, 145, 145,
801 146, 146, 146, 148, 147, 147, 149, 147, 147, 150,
802 147, 147, 151, 147, 147, 152, 152, 152, 152, 152,
803 153, 153, 153, 153, 154, 154, 154, 154, 154, 154,
804 154, 155, 156, 156, 156, 157, 158, 159, 159, 159,
805 159, 160, 160, 160, 160, 160, 160, 160, 160, 161,
806 161, 161, 161, 161, 162, 162, 162, 163, 163, 163,
807 165, 164, 166, 164, 167, 164, 168, 164, 169, 164,
808 170, 164, 171, 164, 172, 164, 173, 174, 175, 175,
809 175, 176, 177, 177, 178, 178, 179, 179, 180, 180,
810 180, 181, 181, 181, 181, 181, 182, 182, 183, 183,
811 184, 184, 185, 185, 185, 187, 186, 186, 188, 188,
812 188, 188, 190, 189, 189, 191, 191, 191, 191, 192,
813 192, 193, 193, 193, 193, 193, 193, 193, 193, 193,
814 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
815 193, 193, 193, 193, 193, 194, 195, 196, 196, 197,
816 197, 197, 197, 198, 198, 199, 199, 199, 200, 200,
817 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
818 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
819 200, 200, 200, 201, 201, 201, 201, 201, 201, 202,
820 203, 203, 204, 204, 204, 205, 205, 205, 206, 206,
821 206, 206, 207, 207, 208, 208, 208, 208, 209, 209,
822 209, 209, 209, 209, 209, 210, 209, 209, 209, 209,
823 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
824 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
825 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
826 209, 211, 211, 212, 212, 213, 213, 214, 214, 215,
827 216, 216, 217, 217, 217, 217, 217, 217, 218, 218,
828 219, 219, 220, 220, 220, 220, 220, 221, 221, 222,
829 222, 222, 222, 222, 222, 223, 223, 223, 223, 223,
830 224, 224, 224, 224, 224, 224, 225, 225, 225, 225,
831 226, 226, 227, 227, 227, 227, 227, 227, 227, 228,
832 228, 228, 229, 229, 230, 230, 231, 231, 232, 232,
833 234, 233, 233, 236, 235, 235, 237, 238, 240, 239,
834 239, 241, 241, 242, 242, 243, 244, 244, 245, 245,
835 245, 245, 245, 246, 246, 246, 246, 247, 247, 248,
836 248, 249, 249, 249, 249, 249, 250, 250, 250, 250,
837 250, 251, 252, 252, 252, 253, 253, 254, 254, 255,
838 255, 255, 257, 256, 256, 258, 256, 256, 256, 256,
839 256, 259, 260, 256, 256, 261, 261, 262, 262, 263,
840 263, 263, 263, 263, 263, 264, 265, 266, 266, 266,
841 266, 266, 267, 268, 268, 268, 269, 270, 270, 271,
842 271, 271, 272, 272, 273, 273, 274, 274, 274, 274,
843 275, 275, 275, 275, 276, 277, 278, 278, 278, 278,
844 279, 279, 280, 280, 280, 280, 280, 280, 280, 280,
845 280, 280, 281, 281, 281, 281, 281, 281, 281, 281,
846 281, 282, 282, 282, 283, 283, 283, 284, 284, 285,
847 285, 286, 286, 287, 287, 287, 287, 288, 288, 289,
848 289, 289, 290, 290, 291, 291, 292, 292, 292, 293,
849 293, 294, 294, 295, 296, 297, 297, 297, 297, 298,
850 298, 298, 298, 298, 298, 299, 299, 300, 300, 300,
851 301, 302, 302, 302, 302, 302, 302, 303, 303, 303,
852 303, 303, 303, 304, 304, 304, 304, 304, 304, 305,
853 305, 305, 305, 305, 305, 306, 306, 307, 307, 308,
854 308, 309, 309, 309, 310, 310, 310, 311, 311, 311,
855 312, 312, 312, 312, 313, 313, 314, 314, 314, 314,
856 315, 315, 315, 315, 316, 316, 316, 316, 316, 316,
857 317, 318, 318, 318, 319, 319, 320, 321, 321, 321,
858 321, 321, 321, 321, 322, 322, 323, 323, 323, 323,
859 323, 323, 323, 323, 323, 323, 323, 324, 324, 324,
860 324, 324, 324, 324, 324, 324, 324, 324, 325, 325,
861 325, 325, 326, 327, 327, 328, 328, 329, 330, 330,
862 332, 331, 334, 335, 333, 336, 337, 336, 338, 338,
863 339, 339, 340, 339, 339, 341, 342, 339, 343, 344,
864 339, 345, 346, 347, 348, 339, 349, 350, 339, 351,
865 339, 352, 339, 353, 339, 339, 339, 339, 339, 339,
866 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
867 339, 339, 355, 356, 354, 358, 359, 357, 360, 360,
868 362, 363, 361, 364, 364, 365, 365, 366, 366, 366,
869 366, 367, 367, 367, 368, 368, 369, 369, 369, 370,
870 370, 371, 371, 372, 373, 373, 374, 374, 374, 375,
871 375, 375, 375, 375, 375, 375, 377, 376, 378, 378,
872 379, 379, 379, 379, 379, 380, 380, 381, 381, 381,
873 381, 381, 381, 382, 382, 383, 383, 384, 385, 385,
874 386, 386, 386, 387, 388, 388, 389, 389, 389, 389,
875 390, 391, 391, 391, 391, 391, 391, 391, 391, 391,
876 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
877 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
878 391, 391, 391, 391, 391, 391
881 static const short yyr2[] = { 0,
882 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
883 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
884 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
885 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
886 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
887 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
888 1, 3, 2, 2, 2, 3, 3, 2, 2, 2,
889 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
890 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
891 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
892 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
893 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
894 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
895 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
896 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
897 0, 7, 0, 6, 0, 6, 0, 0, 4, 4,
898 1, 4, 1, 1, 0, 1, 1, 3, 1, 1,
899 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
900 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
901 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
902 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
903 2, 4, 2, 3, 3, 4, 5, 6, 6, 7,
904 2, 4, 5, 2, 2, 1, 0, 4, 4, 3,
905 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
906 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
907 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
908 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
909 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
910 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
911 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
912 2, 4, 2, 2, 1, 4, 1, 7, 7, 7,
913 7, 4, 4, 2, 2, 2, 1, 4, 2, 2,
914 5, 3, 2, 2, 5, 3, 5, 3, 4, 6,
915 2, 1, 2, 1, 2, 1, 1, 1, 2, 0,
916 2, 2, 3, 3, 3, 2, 2, 2, 1, 1,
917 1, 2, 2, 2, 2, 1, 1, 1, 1, 2,
918 2, 3, 3, 3, 4, 1, 2, 2, 2, 1,
919 1, 1, 2, 2, 2, 1, 1, 2, 2, 3,
920 1, 2, 1, 1, 1, 4, 4, 4, 4, 1,
921 1, 1, 1, 3, 1, 3, 1, 3, 0, 4,
922 0, 6, 3, 0, 4, 1, 3, 3, 0, 4,
923 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
924 4, 6, 4, 1, 1, 1, 1, 1, 3, 0,
925 2, 1, 2, 3, 4, 1, 1, 3, 4, 3,
926 5, 1, 4, 3, 3, 0, 3, 3, 3, 0,
927 2, 2, 0, 7, 4, 0, 6, 3, 2, 2,
928 2, 0, 0, 9, 1, 0, 1, 0, 1, 1,
929 2, 2, 2, 2, 2, 2, 2, 3, 4, 3,
930 2, 3, 0, 1, 3, 2, 2, 1, 1, 0,
931 2, 3, 1, 4, 1, 3, 1, 1, 4, 4,
932 2, 2, 3, 3, 1, 0, 1, 2, 4, 3,
933 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
934 2, 3, 2, 2, 4, 4, 2, 1, 5, 4,
935 1, 0, 1, 3, 0, 1, 3, 1, 1, 1,
936 1, 4, 4, 4, 4, 4, 3, 4, 4, 4,
937 4, 3, 1, 3, 1, 3, 2, 1, 7, 0,
938 2, 1, 2, 0, 2, 4, 4, 2, 4, 3,
939 3, 2, 2, 3, 1, 1, 2, 1, 1, 2,
940 2, 4, 4, 3, 3, 2, 1, 3, 3, 2,
941 2, 3, 1, 3, 3, 2, 2, 3, 1, 4,
942 3, 4, 3, 1, 2, 2, 2, 2, 2, 1,
943 2, 4, 4, 2, 1, 1, 1, 1, 2, 4,
944 2, 2, 2, 2, 1, 2, 2, 2, 2, 3,
945 1, 2, 3, 4, 2, 2, 2, 2, 2, 2,
946 4, 2, 1, 2, 2, 3, 1, 3, 2, 3,
947 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
948 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
949 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
950 2, 2, 2, 0, 1, 1, 2, 3, 1, 2,
951 0, 3, 0, 0, 5, 1, 0, 2, 1, 1,
952 1, 2, 0, 4, 1, 0, 0, 5, 0, 0,
953 7, 0, 0, 0, 0, 12, 0, 0, 7, 0,
954 5, 0, 7, 0, 4, 2, 2, 2, 3, 6,
955 8, 10, 12, 4, 3, 2, 2, 1, 1, 1,
956 1, 1, 0, 0, 6, 0, 0, 5, 1, 2,
957 0, 0, 5, 1, 1, 3, 3, 2, 2, 2,
958 2, 2, 1, 2, 0, 1, 0, 1, 1, 0,
959 1, 1, 3, 4, 1, 3, 0, 1, 1, 1,
960 2, 2, 2, 1, 2, 2, 0, 3, 1, 1,
961 1, 2, 2, 2, 4, 2, 2, 2, 2, 2,
962 2, 1, 2, 1, 2, 1, 1, 0, 0, 1,
963 0, 4, 2, 1, 1, 3, 0, 3, 3, 3,
964 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
965 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
966 2, 2, 2, 2, 3, 2, 2, 2, 2, 3,
970 static const short yydefact[] = { 3,
971 12, 12, 5, 0, 4, 0, 267, 615, 616, 0,
972 372, 384, 562, 0, 11, 0, 0, 0, 10, 470,
973 821, 0, 0, 0, 157, 647, 268, 269, 73, 0,
974 0, 808, 0, 45, 0, 0, 13, 25, 0, 27,
975 8, 0, 16, 15, 79, 100, 76, 0, 617, 161,
976 286, 265, 287, 593, 0, 359, 0, 358, 377, 0,
977 397, 376, 414, 383, 0, 484, 483, 490, 489, 488,
978 465, 371, 578, 385, 579, 98, 285, 604, 576, 0,
979 618, 560, 0, 0, 266, 71, 72, 165, 621, 165,
980 622, 165, 270, 157, 130, 131, 132, 133, 134, 456,
981 459, 0, 643, 0, 460, 0, 0, 0, 0, 131,
982 132, 133, 134, 23, 0, 0, 0, 0, 0, 0,
983 0, 461, 625, 0, 631, 0, 0, 0, 37, 0,
984 0, 31, 0, 0, 47, 0, 165, 623, 0, 0,
985 591, 0, 0, 0, 590, 0, 0, 0, 0, 286,
986 0, 564, 0, 285, 560, 28, 0, 26, 3, 46,
987 0, 64, 63, 80, 14, 0, 412, 0, 0, 430,
988 77, 69, 624, 564, 0, 560, 70, 0, 0, 0,
989 96, 0, 393, 349, 575, 350, 587, 0, 560, 374,
990 373, 68, 99, 360, 0, 395, 375, 97, 366, 390,
991 391, 361, 379, 381, 370, 392, 0, 65, 415, 471,
992 472, 473, 474, 487, 139, 138, 140, 476, 477, 481,
993 475, 0, 0, 490, 808, 486, 505, 506, 563, 378,
994 0, 409, 616, 0, 645, 161, 608, 609, 605, 581,
995 619, 0, 580, 577, 0, 856, 852, 851, 849, 831,
996 836, 837, 0, 843, 842, 828, 829, 827, 846, 835,
997 832, 833, 834, 838, 839, 825, 826, 822, 823, 824,
998 848, 840, 841, 830, 847, 0, 844, 754, 377, 755,
999 817, 270, 267, 562, 290, 338, 0, 0, 0, 0,
1000 334, 332, 305, 336, 337, 0, 0, 0, 0, 0,
1001 268, 269, 262, 0, 0, 173, 172, 0, 174, 175,
1002 0, 0, 176, 0, 0, 166, 167, 0, 236, 0,
1003 239, 171, 289, 202, 0, 0, 291, 292, 0, 169,
1004 356, 377, 357, 610, 317, 307, 0, 0, 0, 0,
1005 165, 0, 458, 0, 453, 0, 644, 642, 0, 177,
1006 178, 0, 0, 0, 419, 3, 21, 29, 639, 635,
1007 636, 638, 640, 637, 130, 131, 132, 0, 133, 134,
1008 627, 628, 632, 629, 626, 0, 277, 278, 276, 607,
1009 606, 33, 32, 49, 0, 372, 147, 0, 0, 377,
1010 145, 0, 0, 589, 0, 588, 264, 281, 0, 597,
1011 280, 0, 596, 0, 288, 601, 0, 0, 12, 0,
1012 157, 9, 9, 0, 411, 413, 112, 83, 117, 743,
1013 0, 75, 74, 82, 115, 0, 0, 113, 78, 603,
1014 0, 0, 568, 0, 811, 0, 573, 0, 572, 0,
1015 0, 0, 0, 560, 412, 0, 67, 564, 560, 586,
1016 0, 363, 364, 0, 66, 412, 368, 367, 369, 362,
1017 382, 399, 398, 478, 482, 480, 0, 485, 491, 0,
1018 0, 380, 412, 560, 84, 0, 0, 0, 0, 560,
1019 90, 561, 592, 616, 646, 161, 0, 0, 845, 850,
1020 379, 560, 560, 0, 560, 855, 165, 0, 0, 0,
1021 209, 0, 0, 211, 224, 225, 0, 0, 0, 0,
1022 0, 263, 208, 205, 204, 206, 0, 0, 0, 0,
1023 0, 289, 0, 0, 0, 203, 163, 164, 283, 0,
1024 207, 0, 0, 237, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 299, 0, 301, 303,
1027 304, 342, 341, 0, 0, 227, 227, 0, 213, 558,
1028 0, 221, 339, 331, 0, 0, 808, 320, 323, 324,
1029 0, 0, 351, 664, 660, 669, 0, 564, 560, 560,
1030 560, 353, 667, 0, 614, 355, 0, 0, 354, 319,
1031 0, 314, 333, 315, 335, 611, 0, 316, 160, 162,
1032 0, 155, 0, 377, 153, 555, 468, 553, 455, 0,
1033 0, 386, 0, 0, 387, 388, 389, 425, 426, 427,
1034 424, 0, 417, 420, 0, 3, 0, 630, 165, 633,
1035 0, 41, 42, 0, 53, 0, 0, 0, 57, 61,
1036 50, 807, 802, 0, 356, 377, 53, 357, 806, 59,
1037 158, 143, 141, 158, 159, 284, 595, 594, 288, 598,
1038 0, 18, 20, 79, 0, 118, 340, 0, 691, 81,
1039 689, 436, 0, 432, 431, 201, 0, 200, 565, 602,
1040 0, 784, 0, 779, 377, 0, 778, 780, 809, 791,
1041 0, 0, 600, 571, 570, 0, 0, 585, 0, 407,
1042 406, 394, 584, 0, 811, 574, 365, 396, 408, 412,
1043 479, 615, 616, 808, 0, 808, 617, 492, 493, 495,
1044 808, 498, 497, 0, 528, 616, 0, 519, 0, 0,
1045 531, 0, 111, 106, 0, 161, 532, 535, 0, 511,
1046 0, 109, 0, 412, 410, 811, 777, 165, 165, 620,
1047 165, 811, 777, 560, 87, 560, 93, 854, 853, 817,
1048 817, 817, 0, 0, 0, 0, 614, 0, 0, 0,
1049 0, 377, 0, 0, 0, 295, 0, 293, 294, 0,
1050 234, 168, 267, 615, 616, 268, 269, 0, 0, 437,
1051 466, 0, 261, 260, 769, 768, 0, 258, 257, 255,
1052 256, 254, 253, 252, 249, 250, 251, 247, 248, 242,
1053 243, 244, 245, 246, 240, 241, 0, 0, 0, 0,
1054 0, 227, 215, 231, 0, 0, 214, 560, 560, 0,
1055 560, 557, 654, 0, 0, 0, 0, 0, 322, 0,
1056 326, 0, 328, 0, 663, 662, 659, 658, 807, 0,
1057 0, 678, 0, 0, 811, 352, 811, 665, 560, 777,
1058 564, 664, 660, 0, 0, 560, 0, 0, 0, 0,
1059 0, 271, 158, 151, 149, 158, 0, 469, 0, 468,
1060 199, 198, 197, 196, 419, 0, 0, 24, 0, 0,
1061 634, 0, 38, 44, 43, 55, 52, 53, 0, 48,
1062 0, 0, 664, 660, 0, 798, 560, 801, 803, 0,
1063 799, 800, 54, 476, 0, 148, 158, 158, 146, 17,
1064 19, 400, 135, 123, 136, 137, 0, 116, 119, 0,
1065 0, 0, 0, 690, 684, 433, 0, 114, 569, 566,
1066 783, 797, 786, 0, 567, 782, 796, 785, 781, 810,
1067 793, 804, 794, 787, 792, 813, 0, 404, 583, 582,
1068 403, 502, 0, 501, 808, 808, 808, 0, 560, 777,
1069 527, 520, 532, 521, 412, 412, 517, 518, 515, 516,
1070 560, 777, 267, 615, 0, 399, 107, 523, 533, 538,
1071 539, 399, 399, 0, 0, 399, 105, 524, 536, 399,
1072 512, 513, 514, 412, 0, 462, 86, 0, 0, 0,
1073 0, 92, 0, 811, 777, 811, 777, 819, 818, 820,
1074 272, 306, 210, 212, 312, 313, 0, 0, 0, 0,
1075 294, 297, 0, 0, 0, 0, 235, 0, 298, 300,
1076 302, 0, 0, 0, 0, 216, 233, 0, 0, 651,
1077 649, 0, 652, 564, 222, 0, 0, 165, 329, 0,
1078 0, 0, 661, 657, 668, 560, 677, 675, 676, 666,
1079 811, 0, 673, 0, 612, 613, 0, 318, 156, 158,
1080 158, 154, 556, 554, 457, 0, 418, 416, 267, 0,
1081 22, 30, 641, 56, 51, 58, 62, 663, 659, 664,
1082 660, 0, 576, 0, 560, 665, 60, 144, 142, 0,
1083 121, 0, 125, 0, 127, 0, 129, 0, 744, 0,
1084 189, 692, 0, 685, 686, 0, 434, 664, 660, 0,
1085 289, 0, 610, 805, 0, 0, 814, 815, 0, 0,
1086 401, 0, 0, 0, 504, 503, 496, 811, 0, 522,
1087 430, 430, 811, 0, 0, 0, 412, 412, 0, 412,
1088 412, 0, 412, 0, 430, 0, 450, 560, 274, 273,
1089 275, 560, 89, 0, 95, 0, 0, 0, 0, 0,
1090 0, 440, 0, 438, 238, 259, 229, 228, 226, 217,
1091 0, 230, 232, 650, 648, 655, 653, 0, 223, 0,
1092 0, 321, 325, 327, 811, 671, 560, 672, 152, 150,
1093 454, 0, 421, 423, 663, 659, 581, 665, 122, 120,
1094 0, 0, 0, 0, 428, 0, 0, 267, 615, 616,
1095 693, 706, 709, 712, 717, 0, 0, 0, 0, 0,
1096 0, 0, 0, 268, 738, 746, 0, 765, 742, 741,
1097 740, 0, 701, 0, 0, 377, 0, 680, 699, 705,
1098 679, 700, 739, 0, 687, 435, 0, 613, 795, 789,
1099 790, 788, 0, 812, 405, 0, 499, 500, 494, 102,
1100 560, 526, 530, 104, 560, 412, 412, 547, 430, 267,
1101 615, 0, 534, 540, 541, 399, 399, 430, 430, 0,
1102 430, 537, 525, 0, 811, 811, 560, 560, 0, 0,
1103 0, 0, 439, 0, 0, 218, 219, 656, 330, 273,
1104 674, 811, 0, 124, 126, 128, 751, 745, 749, 0,
1105 688, 683, 192, 758, 760, 761, 0, 0, 697, 0,
1106 0, 0, 724, 726, 727, 728, 0, 0, 0, 0,
1107 0, 0, 0, 759, 0, 348, 766, 0, 702, 346,
1108 399, 0, 347, 0, 399, 0, 0, 0, 190, 682,
1109 681, 703, 737, 736, 294, 816, 402, 811, 811, 546,
1110 543, 545, 0, 0, 412, 412, 412, 542, 544, 529,
1111 452, 0, 451, 446, 85, 91, 811, 811, 308, 309,
1112 310, 311, 441, 0, 220, 670, 422, 0, 750, 429,
1113 181, 0, 694, 707, 696, 0, 0, 0, 0, 0,
1114 720, 0, 729, 0, 735, 39, 134, 34, 134, 0,
1115 35, 747, 0, 344, 345, 0, 0, 0, 343, 191,
1116 697, 101, 103, 412, 412, 552, 430, 430, 0, 0,
1117 464, 88, 94, 559, 0, 752, 188, 0, 377, 0,
1118 697, 0, 710, 698, 684, 763, 713, 0, 0, 0,
1119 0, 725, 734, 40, 36, 0, 0, 704, 551, 549,
1120 548, 550, 449, 448, 442, 76, 79, 0, 0, 0,
1121 182, 399, 695, 193, 708, 195, 0, 764, 0, 762,
1122 718, 722, 721, 748, 770, 0, 0, 447, 756, 757,
1123 753, 412, 684, 179, 0, 0, 185, 0, 184, 697,
1124 0, 0, 0, 771, 772, 730, 445, 0, 444, 0,
1125 194, 0, 711, 714, 719, 723, 0, 770, 0, 0,
1126 443, 186, 180, 0, 0, 0, 731, 773, 0, 0,
1127 774, 0, 0, 187, 715, 775, 0, 732, 0, 0,
1128 0, 716, 776, 733, 0, 0, 0
1131 static const short yydefgoto[] = { 1575,
1132 409, 2, 410, 161, 673, 314, 166, 3, 4, 37,
1133 636, 356, 1259, 637, 741, 1260, 1261, 376, 1362, 641,
1134 41, 742, 385, 648, 906, 649, 650, 651, 43, 44,
1135 421, 169, 165, 45, 743, 757, 1025, 763, 1027, 47,
1136 744, 745, 170, 171, 422, 676, 938, 939, 616, 940,
1137 219, 48, 928, 927, 664, 661, 1091, 1090, 886, 883,
1138 136, 926, 49, 50, 529, 315, 316, 317, 318, 1262,
1139 1526, 1423, 1528, 1468, 1559, 1132, 1505, 1523, 350, 875,
1140 319, 1200, 830, 568, 837, 320, 321, 351, 323, 341,
1141 52, 238, 642, 398, 53, 54, 324, 524, 325, 326,
1142 327, 328, 423, 329, 1263, 462, 590, 330, 1264, 56,
1143 202, 654, 331, 203, 502, 204, 182, 195, 60, 445,
1144 463, 1286, 710, 1150, 183, 196, 61, 473, 711, 62,
1145 63, 632, 633, 634, 1236, 428, 800, 801, 1496, 1497,
1146 1461, 1403, 1314, 64, 620, 344, 1177, 1404, 1046, 889,
1147 65, 66, 67, 68, 224, 69, 70, 71, 226, 728,
1148 729, 730, 731, 228, 470, 471, 749, 750, 751, 998,
1149 1008, 999, 1303, 1000, 1001, 1304, 1305, 617, 618, 569,
1150 865, 333, 431, 432, 176, 184, 73, 74, 75, 185,
1151 186, 153, 77, 132, 334, 335, 336, 79, 337, 81,
1152 733, 123, 124, 125, 478, 105, 82, 338, 842, 843,
1153 860, 593, 1267, 1268, 1133, 1134, 1135, 680, 1269, 945,
1154 1270, 1347, 1471, 1426, 1427, 1271, 1272, 1451, 1348, 1472,
1155 1349, 1507, 1350, 1509, 1554, 1569, 1351, 1530, 1481, 1531,
1156 1432, 424, 677, 1234, 1273, 1365, 1486, 1338, 1339, 1418,
1157 1500, 1470, 1466, 1274, 1477, 1368, 807, 1533, 1534, 1535,
1158 1567, 696, 697, 965, 1146, 1282, 698, 699, 700, 961,
1159 701, 146, 963, 703, 1148, 1149, 496, 84, 85
1162 static const short yypact[] = { 134,
1163 138,-32768,-32768, 10213,-32768, 87, 69, 82, 169, 173,
1164 105,-32768,-32768, 1068,-32768, 201, 238, 256,-32768,-32768,
1165 -32768, 1293, 1461, 421, 293,-32768, 317, 214,-32768, 2334,
1166 2334,-32768, 5172,-32768, 10213, 313,-32768,-32768, 349,-32768,
1167 241, 10291,-32768,-32768, 312, 809, 431, 386, 407,-32768,
1168 -32768,-32768,-32768, 339, 1633,-32768, 3469,-32768, 1297, 170,
1169 -32768, 443,-32768,-32768, 1544,-32768,-32768, 438,-32768,-32768,
1170 460, 3228,-32768,-32768,-32768, 872,-32768,-32768,-32768, 221,
1171 -32768,-32768, 351, 7512, 465,-32768,-32768, 9107,-32768, 9107,
1172 -32768, 9107,-32768,-32768,-32768, 82, 169, 317, 508, 458,
1173 524, 407,-32768, 1030,-32768, 351, 9193, 9193, 499,-32768,
1174 -32768,-32768,-32768,-32768, 552, 571, 304, 416, 461, 597,
1175 616,-32768,-32768, 1666,-32768, 393, 82, 169,-32768, 317,
1176 508,-32768, 1186, 2003, 589, 5290, 9107,-32768, 9107, 2912,
1177 -32768, 432, 372, 2912,-32768, 1195, 3728, 3728, 5172, 565,
1178 593, 626, 606, 629,-32768,-32768, 754,-32768, 660,-32768,
1179 5465, 87,-32768,-32768,-32768, 679, 443, 793, 109, 420,
1180 757,-32768,-32768, 709, 181,-32768,-32768, 3984, 3984, 5406,
1181 872, 798,-32768,-32768, 401,-32768,-32768, 683,-32768,-32768,
1182 -32768,-32768,-32768, 1297, 892,-32768, 443, 872,-32768,-32768,
1183 -32768, 1892, 1297,-32768, 443,-32768, 5525,-32768,-32768,-32768,
1184 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 407,
1185 443, 1759, 1334, 438,-32768,-32768,-32768,-32768,-32768, 1119,
1186 351,-32768, 484, 1604,-32768, 324,-32768,-32768,-32768,-32768,
1187 -32768, 4485,-32768,-32768, 383,-32768, 739, 760,-32768,-32768,
1188 -32768,-32768, 786,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1189 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1190 -32768,-32768,-32768,-32768,-32768, 750,-32768,-32768, 1119, 3228,
1191 601,-32768,-32768, 774,-32768,-32768, 9801, 9887, 9973, 9973,
1192 -32768,-32768,-32768,-32768,-32768, 787, 814, 839, 849, 854,
1193 776, 508, 9279, 1195, 9973,-32768,-32768, 9973,-32768,-32768,
1194 9973, 6990,-32768, 9973, 801, 880,-32768, 9973,-32768, 9365,
1195 -32768, 10451, 434, 893, 2242, 9451,-32768, 934, 3012,-32768,
1196 2460, 2092, 10456,-32768, 450,-32768, 1693, 2029, 801, 801,
1197 9107, 5290,-32768, 1195, 838, 1195,-32768,-32768, 856, 898,
1198 10579, 860, 862, 887, 1392, 660,-32768,-32768,-32768,-32768,
1199 -32768,-32768,-32768,-32768, 571, 304, 416, 1195, 461, 597,
1200 923, 616,-32768, 912,-32768, 868, 82, 169,-32768,-32768,
1201 -32768,-32768,-32768,-32768, 3169,-32768,-32768, 5525, 5741, 2492,
1202 -32768, 801, 532,-32768, 704,-32768,-32768,-32768, 2912,-32768,
1203 -32768, 2912,-32768, 904,-32768,-32768, 4485, 90, 913, 922,
1204 -32768,-32768,-32768, 754,-32768, 443,-32768,-32768,-32768,-32768,
1205 126,-32768,-32768,-32768,-32768, 7081, 9279,-32768,-32768,-32768,
1206 9279, 925,-32768, 6344, 119, 4762,-32768, 4762,-32768, 4825,
1207 4825, 5406, 939,-32768, 443, 5525,-32768, 928,-32768,-32768,
1208 4882, 1892, 1297, 5525,-32768, 443,-32768,-32768, 443, 1892,
1209 -32768, 1015,-32768,-32768, 407,-32768, 1759,-32768, 2120, 4745,
1210 86, 1119, 443,-32768,-32768, 984, 985, 1006, 988,-32768,
1211 -32768,-32768,-32768, 628,-32768, 462, 952, 954,-32768,-32768,
1212 1119,-32768,-32768, 858,-32768,-32768, 9107, 9279, 774, 6990,
1213 -32768, 500, 6990,-32768,-32768,-32768, 9193, 3383, 3383, 3383,
1214 3383, 10624,-32768,-32768,-32768,-32768, 959, 10059, 10059, 6990,
1215 960, 141, 966, 1018, 969,-32768,-32768,-32768,-32768, 9107,
1216 -32768, 6620, 6990,-32768, 9279, 9279, 7172, 9279, 9279, 9279,
1217 9279, 9279, 9279, 9279, 9279, 9279, 9279, 9279, 9279, 9279,
1218 9279, 9279, 9279, 9279, 9279, 9279,-32768, 9279,-32768,-32768,
1219 -32768,-32768,-32768, 9279, 9279,-32768,-32768, 1166, 478, 785,
1220 7872,-32768,-32768,-32768, 1025, 1604, 1074, 531, 570, 573,
1221 2750, 372,-32768, 364, 364,-32768, 4645, 973, 992, 1043,
1222 -32768,-32768, 417, 8562, 286,-32768, 878, 351,-32768,-32768,
1223 9279,-32768,-32768,-32768,-32768,-32768, 203, 465,-32768,-32768,
1224 801,-32768, 5525, 2527,-32768, 1027, 1035,-32768,-32768, 1195,
1225 923,-32768, 7604, 7695,-32768,-32768,-32768,-32768,-32768,-32768,
1226 -32768, 93,-32768, 1007, 994, 660, 868, 1053, 9107,-32768,
1227 1050,-32768,-32768, 2003, 1805, 293, 1079, 271, 1052, 1054,
1228 -32768,-32768, 3481, 5642, 3481, 2856, 1544, 4426,-32768, 1059,
1229 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1009,-32768,
1230 1070,-32768,-32768, 312, 103, 146, 1072, 1018,-32768,-32768,
1231 -32768,-32768, 6526, 10624,-32768, 898, 1024, 10579,-32768,-32768,
1232 1029,-32768, 1033, 196, 3588, 1036,-32768, 255, 4371, 1071,
1233 1083, 583,-32768,-32768,-32768, 4762, 4762,-32768, 4882,-32768,
1234 1084,-32768,-32768, 1032, 119,-32768, 1892,-32768,-32768, 443,
1235 -32768, 304, 416,-32768, 1057,-32768, 616, 1092,-32768,-32768,
1236 132,-32768,-32768, 1406,-32768, 756, 1041,-32768, 9279, 3079,
1237 -32768, 3079, 211, 211, 223, 612, 2852, 10350, 7940,-32768,
1238 191, 211, 1090, 443,-32768, 119, 3758, 9107, 9107,-32768,
1239 9107, 119, 3758,-32768,-32768,-32768,-32768,-32768,-32768, 541,
1240 541, 541, 801, 1065, 1073, 9543, 1043, 1075, 1080, 1087,
1241 1101, 5039, 1103, 1104, 1107,-32768, 1089,-32768,-32768, 1093,
1242 -32768,-32768, 1096, 290, 702, 68, 653, 9279, 1125,-32768,
1243 1144, 1100, 10624, 10624,-32768,-32768, 1147, 5820, 5841, 3806,
1244 4535, 10548, 5233, 2578, 2745, 2745, 2745, 2316, 2316, 1232,
1245 1232, 891, 891, 891,-32768,-32768, 1105, 1108, 1106, 9279,
1246 9193,-32768, 478,-32768, 7081, 9279,-32768,-32768,-32768, 9279,
1247 -32768,-32768, 1121, 9973, 1110, 1131, 1154, 1182,-32768, 9279,
1248 -32768, 9279,-32768, 9279, 1911,-32768, 1911,-32768, 101, 1122,
1249 1124,-32768, 1126, 3383, 119,-32768, 119, 2439,-32768, 3758,
1250 1127, 8746, 8746, 6156, 1132, 9365, 1136, 1789, 2029, 1000,
1251 1138,-32768,-32768,-32768,-32768,-32768, 9279, 1195, 1130, 1035,
1252 -32768, 10624,-32768, 10624, 1392, 1140, 9629,-32768, 1148, 1173,
1253 -32768, 801,-32768,-32768,-32768,-32768,-32768, 2156, 3169,-32768,
1254 3383, 9107, 2235, 2235, 4164,-32768,-32768,-32768,-32768, 683,
1255 -32768,-32768,-32768, 800, 9279,-32768,-32768,-32768,-32768,-32768,
1256 -32768,-32768, 571,-32768, 461, 597, 9279, 1176,-32768, 618,
1257 620, 625, 1018,-32768, 108,-32768, 65,-32768,-32768,-32768,
1258 -32768,-32768,-32768, 8654,-32768,-32768,-32768,-32768,-32768,-32768,
1259 -32768, 1083, 1192,-32768,-32768,-32768, 3383,-32768,-32768,-32768,
1260 1196,-32768, 9193,-32768,-32768,-32768,-32768, 623,-32768, 3758,
1261 10624,-32768, 1795,-32768, 443, 443,-32768,-32768,-32768,-32768,
1262 -32768, 3758, 310, 733, 9279, 1015,-32768, 1205,-32768,-32768,
1263 -32768, 365, 494, 221, 372, 561, 211, 1206,-32768, 794,
1264 -32768,-32768,-32768, 443, 8010,-32768,-32768, 1159, 801, 801,
1265 801,-32768, 1160, 119, 3758, 119, 3758,-32768,-32768,-32768,
1266 -32768,-32768,-32768,-32768,-32768,-32768, 1178, 1179, 1180, 1184,
1267 1009,-32768, 4078, 7081, 6714, 1169,-32768, 9279,-32768,-32768,
1268 -32768, 1175, 1167, 1174, 3383,-32768,-32768, 1183, 199, 724,
1269 724, 1188, 724,-32768,-32768, 9973, 1278, 9107,-32768, 1185,
1270 1193, 1199,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1271 119, 1202,-32768, 1189,-32768,-32768, 1822,-32768,-32768,-32768,
1272 -32768,-32768, 10624,-32768,-32768, 1194,-32768,-32768, 228, 1210,
1273 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 2361, 2361, 2593,
1274 2593, 4164,-32768, 683,-32768, 3892, 10451,-32768,-32768, 1211,
1275 -32768, 146,-32768, 9279,-32768, 9279,-32768, 9279,-32768, 1195,
1276 -32768,-32768, 6063, 1261,-32768, 6805,-32768, 8838, 8838, 6250,
1277 79, 1214, 84,-32768, 7081, 6896,-32768,-32768, 251, 7081,
1278 -32768, 1215, 1216, 2120,-32768,-32768,-32768, 119, 1227,-32768,
1279 1272, 1272, 119, 1235, 9279, 9279, 10512, 443, 5131, 443,
1280 443, 1013, 443, 5192, 1272, 8080,-32768,-32768,-32768, 1286,
1281 -32768,-32768,-32768, 1236,-32768, 1237, 9279, 9279, 9279, 9279,
1282 7081,-32768, 1284,-32768,-32768, 10624,-32768,-32768,-32768, 408,
1283 1174,-32768,-32768,-32768,-32768,-32768,-32768, 1242,-32768, 1300,
1284 801,-32768,-32768,-32768, 119,-32768,-32768,-32768,-32768,-32768,
1285 -32768, 9279,-32768,-32768, 2361, 2361,-32768, 3892,-32768,-32768,
1286 1246, 1247, 1248, 1263,-32768, 902, 210, 1299, 823, 940,
1287 -32768,-32768,-32768,-32768,-32768, 9279, 1303, 1302, 1325, 8930,
1288 209, 1195, 678, 572,-32768,-32768, 9021, 1384,-32768,-32768,
1289 -32768, 1342,-32768, 4628, 10418, 4264, 5946,-32768,-32768, 1378,
1290 -32768,-32768,-32768, 8173,-32768,-32768, 1295, 510,-32768,-32768,
1291 -32768,-32768, 3383,-32768,-32768, 7081,-32768,-32768,-32768,-32768,
1292 -32768,-32768,-32768,-32768,-32768, 10512, 10512,-32768, 1272, 772,
1293 953, 9279,-32768,-32768,-32768, 1015, 1015, 1272, 1272, 628,
1294 1272,-32768,-32768, 5775, 119, 119,-32768,-32768, 1296, 1305,
1295 1306, 1307,-32768, 7081, 9279,-32768, 408,-32768,-32768,-32768,
1296 -32768, 119, 1309,-32768,-32768,-32768,-32768, 1263,-32768, 1195,
1297 -32768,-32768,-32768,-32768,-32768,-32768, 637, 637, 1018, 1315,
1298 1326, 10490,-32768,-32768,-32768,-32768, 1360, 9279, 1366, 1363,
1299 1376, 1565, 1628,-32768, 1018,-32768,-32768, 1338,-32768,-32768,
1300 1015, 931,-32768, 950, 1015, 9715, 990, 305,-32768,-32768,
1301 -32768,-32768,-32768,-32768, 281,-32768,-32768, 119, 119,-32768,
1302 -32768,-32768, 9279, 9279, 10512, 443, 443,-32768,-32768,-32768,
1303 -32768, 7786,-32768,-32768,-32768,-32768, 119, 119,-32768,-32768,
1304 -32768,-32768,-32768, 1321,-32768,-32768,-32768, 1340,-32768,-32768,
1305 -32768, 9193,-32768,-32768,-32768, 1417, 8469, 6435, 9193, 9279,
1306 -32768, 8281,-32768, 1375,-32768,-32768, 1385,-32768, 1376, 1565,
1307 -32768,-32768, 754,-32768,-32768, 10145, 10145, 7263,-32768,-32768,
1308 1018,-32768,-32768, 10512, 10512,-32768, 1272, 1272, 1331, 10534,
1309 1345,-32768,-32768,-32768, 5377,-32768,-32768, 1335, 540, 5525,
1310 1018, 8375,-32768,-32768, 108,-32768,-32768, 1393, 1350, 10602,
1311 8281,-32768,-32768,-32768,-32768, 1263, 78,-32768,-32768,-32768,
1312 -32768,-32768,-32768,-32768,-32768, 431, 312, 1351, 1361, 1018,
1313 -32768, 1015,-32768,-32768,-32768,-32768, 695,-32768, 7354,-32768,
1314 -32768,-32768,-32768, 1263, 1459, 1411, 121,-32768,-32768,-32768,
1315 -32768, 443, 108,-32768, 9279, 1412,-32768, 1413,-32768, 1018,
1316 8281, 1383, 586, 1420,-32768,-32768,-32768, 126,-32768, 1416,
1317 -32768, 1381,-32768,-32768,-32768,-32768, 9279, 1459, 1422, 1459,
1318 -32768,-32768,-32768, 7445, 1387, 700,-32768,-32768, 7081, 1389,
1319 -32768, 1472, 1426,-32768,-32768,-32768, 307,-32768, 8375, 1480,
1320 1438,-32768,-32768,-32768, 1499, 1504,-32768
1323 static const short yypgoto[] = {-32768,
1324 1508,-32768, -295,-32768, 1097, 60, 13, 1510,-32768, 648,
1325 -32768,-32768, 441,-32768, 610,-32768, 744,-32768, 150, 883,
1326 -32768, 10,-32768,-32768, -603,-32768,-32768, 613,-32768, 1365,
1327 -670, 32, -652, 1368, 58,-32768,-32768,-32768,-32768,-32768,
1328 782,-32768,-32768,-32768,-32768,-32768,-32768, 409, 1562,-32768,
1329 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1330 1439, -604, 4957, -23, -321, -55, 1395, -490,-32768, 384,
1331 -32768, 187,-32768, -1312,-32768, -1211, -33,-32768, 2477, 395,
1332 -191, 337, -526,-32768, -799, 3250, 1671, 828, 3310, 1260,
1333 -311, -56, -84, 1172, -77, 664,-32768,-32768,-32768, -314,
1334 -32768, -153,-32768,-32768, -1178, -54, -312, 129, 1, 1327,
1335 -128, 9, 74, -188, -4, -156, -354, 278,-32768, 23,
1336 328,-32768, -308,-32768,-32768,-32768,-32768,-32768, -8, 2574,
1337 -6,-32768, 650,-32768,-32768, -1055, -353, 867,-32768,-32768,
1338 -32768,-32768,-32768, -48,-32768,-32768,-32768,-32768,-32768, 666,
1339 -356,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1330,-32768,
1340 403, 580,-32768,-32768,-32768,-32768, 545, -659,-32768,-32768,
1341 -32768,-32768,-32768,-32768, 813,-32768, 389, 944, 693, 998,
1342 1979, 28, 33, -420, 1400, 2267, -444,-32768, 2,-32768,
1343 4528, -138, 965, -104, 3895, 1259,-32768, 4460, 1611, 1374,
1344 -2, -103,-32768, 1466, -57,-32768, 4290, 2553, -262,-32768,
1345 3001,-32768,-32768, 325,-32768,-32768, 459, 57, -419,-32768,
1346 -32768,-32768,-32768, -1290,-32768, -1149, -1306,-32768,-32768,-32768,
1347 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1348 -32768, 89,-32768,-32768,-32768,-32768,-32768, 113, -1262,-32768,
1349 -32768, -45,-32768,-32768,-32768,-32768, -1334, 55,-32768, 61,
1350 -32768, -665, -561, 654,-32768,-32768,-32768,-32768, -377,-32768,
1351 -373, -151,-32768, 1017, 329,-32768, 124,-32768, -219
1355 #define YYLAST 10708
1358 static const short yytable[] = { 59,
1359 181, 681, 239, 408, 55, 453, 943, 659, 400, 403,
1360 206, 660, 57, 42, 479, 103, 36, 609, 610, 595,
1361 122, 931, 375, 605, 732, 861, 604, 714, 657, 383,
1362 59, 72, 861, 1056, 339, 55, 340, 59, 281, 792,
1363 831, 472, 55, 57, 42, 458, 461, 36, 381, 382,
1364 57, 42, 194, 923, 36, 209, 236, 140, 144, 929,
1365 635, 46, 72, 35, 239, 452, 374, 230, 167, 72,
1366 665, 666, 685, 469, 460, 1419, 380, 58, 1366, 279,
1367 982, 392, 984, 332, 243, 332, 175, 332, 573, 1011,
1368 491, 1018, 46, 1478, 35, 501, 504, 1023, 232, 46,
1369 573, 35, 332, 332, 790, 1292, 1293, 347, 58, 418,
1370 239, 280, 951, 573, 193, 58, 1479, 1381, 608, 1313,
1371 1474, 1537, 753, 1136, 1384, 557, 678, 482, 534, -133,
1372 -604, 390, 332, -1, 332, 89, 388, -2, 976, 1515,
1373 1130, 137, 88, 491, 389, 206, 86, 719, 933, 722,
1374 723, 895, 94, 206, 206, 90, 59, 278, 415, 952,
1375 1488, 55, 953, 72, 755, 1506, -340, 863, 977, 57,
1376 419, 558, -286, 1137, 399, 402, -604, -604, -340, 702,
1377 1503, 206, 419, 679, 175, 1516, -279, 557, 72, 777,
1378 209, -604, 934, 387, 754, 87, 1529, 671, 209, 26,
1379 896, 935, 936, 420, 1082, 436, 438, 951, 791, 58,
1380 932, 95, 110, 111, 209, 420, 1131, 175, 46, 1560,
1381 456, 486, 91, 7, 8, 233, 10, 433, 207, 208,
1382 206, 941, 243, 558, 58, 352, 354, 15, 937, 1545,
1383 291, -399, 92, 1392, 579, 583, 93, 987, -279, 1476,
1384 1012, 1419, 1398, 1399, 952, 1400, 26, 953, 944, -807,
1385 675, 21, 1506, 1508, 112, 113, 956, 138, 234, 1342,
1386 -399, 643, 578, 434, -399, 230, 27, 28, 1089, 570,
1387 988, 1092, 1482, 206, 989, 611, 1222, 139, 1358, 882,
1388 908, 776, 605, 107, -560, 458, 461, -560, 159, 1013,
1389 235, 400, 403, 458, 1104, 1055, 1203, 332, 32, 1283,
1390 638, 1541, 861, 957, 1159, 461, 958, 990, 1343, -399,
1391 279, 659, 1118, 1119, 717, 962, 1164, -288, 230, 909,
1392 108, 1513, 866, 662, 461, 1223, 332, 614, 160, 243,
1393 899, 206, 613, 89, -560, 910, -560, -560, 109, -560,
1394 389, -131, 280, 861, 8, 9, 479, 360, 1284, 1184,
1395 -560, 1186, -560, 90, 1342, 1570, 135, 127, 128, 72,
1396 480, 1165, 13, -288, -288, 127, 128, 90, -560, -560,
1397 656, 1546, 595, 88, 194, -564, 8, 484, -282, -349,
1398 137, 15, 861, -560, 647, 116, 117, 118, 278, 612,
1399 1326, 1491, 1492, 206, 206, 157, 130, 131, 158, 209,
1400 583, 206, 658, 1450, 1571, 58, 481, 26, 164, 130,
1401 131, 1107, -349, 206, 127, 128, -349, 130, 131, 695,
1402 346, -564, 174, 584, 7, 127, 128, 10, 130, 131,
1403 525, 773, 206, 585, 38, 172, 746, -564, 119, 120,
1404 1084, 1031, 209, 586, 834, 168, 587, 588, 655, -349,
1405 173, 658, 485, 869, 129, 59, 425, 706, 707, 361,
1406 747, 835, 21, 18, 26, 38, 130, 131, 748, 234,
1407 557, 1057, 38, 426, 720, 1219, 1220, 27, 28, 92,
1408 349, 353, 332, -564, 448, 332, 600, 72, 332, 225,
1409 836, 1325, 332, 782, 782, 782, 782, 655, 766, 870,
1410 871, 235, 427, 652, 362, 332, 1011, 227, -350, 32,
1411 15, -288, 570, 1129, 834, 332, 558, 1415, 332, 740,
1412 474, 659, 643, 732, 137, 660, -288, 91, 282, 905,
1413 -288, 835, 601, 58, 127, 128, 583, 200, 201, 482,
1414 861, -350, 657, 14, 767, -350, -288, 92, 884, 904,
1415 458, 138, 694, 279, 605, 206, 343, 604, -288, -288,
1416 836, -288, 972, -288, 974, 20, 475, 849, 861, 978,
1417 1103, 345, 656, 902, 23, -110, 583, 15, -350, 695,
1418 530, 355, 776, 491, 26, 280, 130, 131, 916, 243,
1419 921, 922, -288, -288, 127, 128, 527, 206, 528, 357,
1420 492, 855, 857, 39, 658, 358, 851, -288, -110, 853,
1421 493, 658, -110, 850, 359, 116, 722, 723, 775, 966,
1422 375, 778, 776, 1364, 332, 780, 781, 783, 784, 785,
1423 922, 278, 122, 1208, 39, 137, 206, 1548, 525, 194,
1424 363, 39, 725, 230, 26, -110, 130, 131, 991, 608,
1425 655, 802, 852, 384, 1123, 854, 1125, 655, 206, 364,
1426 492, 1127, -279, 942, 764, 967, 26, 941, 119, 120,
1427 493, 91, 156, 1421, 534, 7, 8, 9, 10, 163,
1428 1192, 1194, 997, 1549, 656, 521, 152, 1179, 1180, 1181,
1429 405, 92, 1019, 1020, 992, 1021, 138, 127, 128, 732,
1430 1124, 971, 1126, 406, -134, 859, 746, 1128, 746, 174,
1431 765, 129, 859, 21, 746, 746, 658, 127, 128, 1422,
1432 234, 26, 482, 206, 1361, 59, -599, 59, 27, 28,
1433 747, 1524, 983, 194, 59, 1016, 777, 40, 748, 747,
1434 748, 346, 656, 332, 332, 91, 332, 748, 656, 130,
1435 131, 1562, 235, -132, 286, 985, 986, 72, -7, 72,
1436 32, 414, 655, 712, 1014, 92, 72, 26, 40, 130,
1437 131, 718, 1194, 485, 658, 40, 89, 1525, 127, 128,
1438 658, 1279, 1281, 838, 1166, 417, 1285, 1204, 1205, 740,
1439 1207, 740, 979, 839, 996, 1006, 90, 1563, 740, 91,
1440 152, 152, 152, 58, 689, 58, 429, 840, -108, 430,
1441 15, 687, 58, 1154, 1155, 1156, 332, 652, 693, 92,
1442 655, 1059, 487, 1393, -170, 15, 655, 1323, 26, -399,
1443 130, 131, 239, 152, 1518, 88, 1538, 489, 980, 137,
1444 -170, -108, -170, 488, 838, -108, 446, 447, -52, 782,
1445 490, 127, 128, -52, 839, 656, 498, -399, -399, 695,
1446 283, 377, 378, 10, -52, 527, 89, 528, 840, 507,
1447 243, 8, 9, 521, 1345, 694, 521, 508, -108, 1330,
1448 779, 694, 774, 1028, 1029, 1030, 90, 658, 15, 855,
1449 857, 658, -399, 521, 656, 346, 782, 332, 21, 1372,
1450 656, 1377, 509, 130, 131, 322, 521, 322, 647, 322,
1451 806, 26, 510, 27, 302, 346, 239, 511, 997, 1425,
1452 -399, -399, 1387, 130, 131, -399, 658, 235, 530, 559,
1453 1108, 1109, 658, 655, 573, 1442, 619, 655, 829, 695,
1454 454, 455, 827, 777, 845, 32, 623, 235, 828, 1054,
1455 1340, 1341, 782, 622, 322, 640, 322, 625, 332, 626,
1456 1413, 400, 403, 555, 556, 656, 1161, 1162, 560, 561,
1457 236, 658, 655, 562, 563, 564, 565, 656, 655, 446,
1458 1444, 746, 802, 91, 627, 881, 639, 154, 694, 400,
1459 403, 1346, 859, 8, 9, 1175, 89, 658, 454, 1445,
1460 59, 669, 1211, 92, 1394, 747, 127, 1310, 1168, 658,
1461 656, -6, 656, 748, 1170, 1171, 90, 655, 1168, 1173,
1462 672, 1425, 1171, 8, 9, 690, 239, 652, 713, 1106,
1463 996, 15, 72, 859, 127, 128, 708, 346, 446, 1449,
1464 782, 1425, 658, 655, 658, 130, 131, 758, 759, 760,
1465 346, 761, 768, 332, 769, 655, 786, 788, 130, 131,
1466 95, 96, 97, 789, 740, 679, 791, 346, 846, 485,
1467 1521, 848, 859, 862, 864, 130, 131, 659, 58, 866,
1468 887, 1499, 485, 888, 26, 1147, 130, 131, 655, 897,
1469 655, 1153, 898, 152, 152, 152, 901, 656, 694, 903,
1470 1425, 154, 154, 154, 20, 911, -282, 912, 681, 942,
1471 694, 26, 925, 98, 99, 100, 200, 201, 1266, 930,
1472 512, 948, 14, 419, -806, 695, 949, 1225, 1226, 658,
1473 950, 1265, 969, 955, 154, 1258, 964, 968, 486, 973,
1474 975, 1015, 746, 694, 20, 694, 777, -130, 1298, 1299,
1475 72, 1308, 1309, 23, 1311, 1225, 1226, 658, 322, 8,
1476 9, 59, 1032, 12, 13, 1037, 747, 1038, 1039, 14,
1477 1033, 1040, 1034, 1201, 748, 655, 1044, 1035, 283, 377,
1478 378, 10, 1257, 16, 1036, 17, 1041, 95, 110, 111,
1479 1042, 20, 1045, 72, 151, 1564, 58, 1047, 1048, 1371,
1480 23, 1371, 1049, 655, 1064, 1050, 1051, 206, 1067, 26,
1481 1066, 130, 131, 1062, 1052, 1053, 21, 1068, 1069, 1075,
1482 1058, 1076, 1102, 234, 1122, 740, 1077, 1083, 1095, 1085,
1483 859, 27, 302, 1086, 1070, 1088, 1071, 1098, 1072, 58,
1484 112, 113, 1266, 684, 688, 1145, 1101, 521, 832, 1151,
1485 194, 688, 1266, 1169, 1174, 1265, 1178, 1182, 859, 1266,
1486 1187, 1188, 1189, 32, 1198, 1265, 1190, 1195, 782, 1258,
1487 491, 1199, 1265, 1197, 72, 1210, 1258, 1390, 1391, 1487,
1488 1202, 1100, 1212, 1130, 72, 95, 110, 111, 1206, 1218,
1489 1213, 72, 1221, 199, 200, 201, 1214, 400, 403, 1217,
1490 14, 552, 553, 554, 555, 556, 1257, 1224, 1229, 401,
1491 404, 1278, 1287, 1288, 322, 688, 1257, 18, 1396, 1397,
1492 58, 1120, 20, 1257, 1291, 426, 95, 96, 97, -641,
1493 58, 23, 1295, 1317, 1318, 1324, 1329, 58, 112, 113,
1494 114, 151, 1328, 1334, 1335, 1336, 1152, 322, 1337, 684,
1495 1344, 1354, 803, 804, 1353, 808, 809, 810, 811, 812,
1496 813, 814, 815, 816, 817, 818, 819, 820, 821, 822,
1497 823, 824, 825, 826, 1355, 688, 1456, 1457, 1458, 98,
1498 99, 688, 1367, 1382, 95, 110, 111, 456, 628, 629,
1499 630, 1369, 1385, 1409, 154, 154, 154, 1428, 116, 722,
1500 723, 1147, 1410, 1411, 1412, 1502, 1417, 1469, 1429, 1433,
1501 206, 688, 1266, 1266, 1469, 1435, 358, 1266, 688, 1436,
1502 1443, 1464, 1465, 1473, 1483, 1265, 1265, 1493, 1484, 1258,
1503 1265, 1495, 1501, 332, 1258, 1489, 1490, 112, 113, 280,
1504 892, 894, 1510, 241, 72, 72, 280, 1511, 1519, 72,
1505 656, 119, 120, 116, 117, 118, 322, 1266, 1520, 1532,
1506 1536, 1543, 1544, 706, 707, 1547, 1266, 241, 1550, 1552,
1507 1265, 1557, 1566, 523, 1258, 1568, 1257, 1257, 1553, 1265,
1508 1573, 1257, 658, 1258, 1561, 278, 1565, 1574, 1576, 72,
1509 58, 58, 278, 1577, 1469, 58, 241, 1, 72, 674,
1510 684, 5, 1440, 1540, 26, 241, 119, 120, 1231, 900,
1511 1232, 1105, 1233, 521, 1522, 412, 1266, 1517, 413, 1007,
1512 1230, 1257, 342, 393, 1424, 1572, 280, 1327, 655, 1265,
1513 1257, 497, 1374, 1258, 1097, 58, 95, 96, 97, 947,
1514 210, 211, 212, 468, 58, 1096, 1289, 1157, 72, 1176,
1515 1009, 241, 1312, 890, 1266, 833, 981, 95, 110, 111,
1516 1319, 1320, 1321, 1322, 18, 101, 525, 1265, 152, 213,
1517 1094, 1258, 278, 115, 449, 322, 322, 580, 322, 373,
1518 1257, 1380, 1275, 652, 1551, 241, 72, 26, 1514, 98,
1519 99, 214, 1556, 688, 58, 1539, 95, 110, 111, 476,
1520 1558, 1386, 401, 404, 80, 1144, 1333, 152, 241, 0,
1521 112, 1437, 0, 0, 104, 1043, 218, 0, 1257, 0,
1522 95, 110, 111, 1357, 133, 7, 8, 9, 10, 0,
1523 142, 142, 58, 142, 21, 80, 215, 216, 217, 0,
1524 0, 0, 80, 0, 0, 0, 0, 688, 688, 112,
1525 113, 0, 684, 688, 0, 188, 0, 80, 365, 366,
1526 367, 523, 0, 21, 523, 222, 0, 688, 0, 688,
1527 0, 688, 104, 112, 1439, 371, 26, 0, 27, 28,
1528 401, 787, 177, 245, 104, 283, 8, 9, 10, 0,
1529 0, 0, 178, 0, 523, 0, 0, 397, 1414, 0,
1530 241, 653, 179, 368, 1093, 0, 104, 0, 0, 0,
1531 32, 369, 370, 0, 688, 180, 0, 0, 0, 0,
1532 0, 970, 0, 21, 0, 0, 0, 0, 0, 322,
1533 234, 1434, 0, 0, 133, 0, 80, 0, 27, 302,
1534 142, 0, 1117, 395, 142, 0, 0, 142, 142, 142,
1535 653, 95, 96, 97, 688, 877, 0, 0, 241, 0,
1536 0, 80, 1017, 152, 152, 152, 0, 0, 1022, 0,
1537 32, 688, 0, 464, 466, 0, 0, 0, 188, 188,
1538 188, 283, 8, 9, 10, 477, 0, 993, 994, 9,
1539 10, 152, 152, 152, 0, 1467, 346, 365, 366, 367,
1540 0, 806, 1467, 0, 98, 99, 0, 188, 0, 0,
1541 0, 0, 1167, 0, 283, 8, 9, 10, 0, 21,
1542 0, 521, 0, 467, 0, 21, 234, 0, 0, 0,
1543 241, 104, 0, 0, 27, 302, 0, 0, 26, 0,
1544 27, 28, 142, 0, 1160, 0, 995, 0, 26, 0,
1545 369, 370, 21, 0, 178, 513, 0, 241, 235, 234,
1546 0, 684, 684, 0, 179, 1196, 32, 27, 302, 154,
1547 0, 1078, 32, 1079, 0, 0, 0, 180, 0, 0,
1548 104, 494, 1467, 0, 0, 322, 0, 0, 457, 200,
1549 201, 485, 0, 0, 0, 14, 0, 621, 1542, 32,
1550 0, 0, 0, 653, 127, 128, 631, 0, 154, 229,
1551 653, 0, 18, 0, 0, 0, 0, 20, 0, 621,
1552 1555, 0, 0, 0, 0, 104, 23, 806, 0, 581,
1553 0, 494, 494, 597, 0, 0, 0, 877, 0, 0,
1554 0, 688, 80, 688, 241, 688, 0, 583, 0, 505,
1555 506, 0, 0, 684, 26, 0, 130, 131, 0, 0,
1556 241, 0, 684, 684, 0, 514, 0, 684, 515, 0,
1557 584, 516, 0, 0, 526, 0, 133, 0, 531, 0,
1558 585, 0, 1296, 1297, 0, 104, 572, 0, 188, 104,
1559 586, 0, 0, 587, 588, 283, 377, 378, 10, 142,
1560 0, 0, 142, 0, 0, 0, 0, 142, 684, 0,
1561 0, 0, 0, 0, 0, 653, 0, 0, 721, 0,
1562 0, 602, 8, 9, 10, 0, 0, 0, 0, 152,
1563 1183, 0, 1185, 21, 401, 787, 188, 0, 188, 688,
1564 188, 188, 188, 0, 0, 0, 188, 0, 27, 302,
1565 242, 188, 0, 0, 188, 0, 291, 603, 0, 21,
1566 0, 0, 0, 1352, 154, 154, 154, 0, 0, 0,
1567 80, 0, 26, 653, 130, 131, 151, 0, 0, 653,
1568 32, 0, 0, 799, 0, 127, 128, 1216, 0, 200,
1569 201, 0, 154, 154, 154, 14, 0, 0, 0, 152,
1570 152, 152, 0, 684, 0, 0, 0, 0, 104, 104,
1571 104, 104, 116, 722, 723, 1142, 724, 20, 0, 1395,
1572 0, 0, 0, 407, 0, 0, 23, 847, 583, 0,
1573 0, 0, 0, 0, 0, 26, 0, 130, 131, 725,
1574 0, 684, 0, 0, 435, 0, 726, 0, 95, 110,
1575 111, 584, 210, 211, 212, 0, 0, 451, 0, 0,
1576 0, 585, 0, 26, 1290, 119, 120, 0, 104, 1294,
1577 494, 586, 0, 0, 594, 588, 18, 0, 514, 515,
1578 0, 213, 581, 0, 494, 494, 653, 597, 0, 0,
1579 653, 0, 0, 688, 878, 0, 907, 0, 880, 0,
1580 0, 112, 113, 0, 0, 0, 0, 0, 924, 0,
1581 1454, 1455, 0, 188, 0, 0, 0, 0, 0, 1460,
1582 0, 1331, 0, 0, 0, 653, 0, 7, 8, 9,
1583 10, 653, 0, 13, 799, 8, 9, 133, 0, 12,
1584 13, 241, 0, 241, 133, 14, 0, 1480, 0, 0,
1585 0, 0, 0, 188, 920, 188, 188, 222, 597, 16,
1586 0, 17, 0, 0, 0, 21, 0, 20, 0, 0,
1587 653, 583, 401, 404, 0, 0, 23, 0, 26, 0,
1588 27, 28, 0, 241, 0, 26, 0, 130, 131, 566,
1589 0, 0, 0, 0, 913, 188, 653, 0, 0, 920,
1590 401, 1277, 0, 0, 914, 0, 188, 188, 653, 188,
1591 0, 0, 32, 0, 586, 0, 0, 915, 588, 0,
1592 0, 1405, 1406, 0, 567, 0, 7, 127, 128, 10,
1593 154, 0, 13, 0, 0, 0, 0, 133, 1416, 0,
1594 80, 653, 80, 653, 0, 0, 0, 1004, 80, 80,
1595 0, 0, 0, 7, 8, 9, 10, 104, 0, 229,
1596 0, 0, 0, 104, 21, 0, 0, 241, 0, 0,
1597 494, 494, 494, 0, 0, 0, 684, 26, 0, 27,
1598 28, 0, 494, 550, 551, 552, 553, 554, 555, 556,
1599 0, 21, 0, 30, 1452, 1453, 0, 583, 0, 0,
1600 154, 154, 154, 31, 26, 0, 27, 28, 0, 0,
1601 0, 32, 709, 1462, 1463, 0, 33, 715, 0, 0,
1602 913, 0, 0, 0, 0, 0, 0, 0, 653, 0,
1603 914, 0, 127, 128, 437, 439, 443, 482, 32, 0,
1604 586, 0, 756, 915, 588, 0, 631, 0, 762, 0,
1605 241, 0, 0, 127, 128, 494, 653, 494, 0, 907,
1606 770, 771, 0, 772, 104, 0, 0, 0, 494, 0,
1607 104, 0, 878, 878, 878, 583, 0, 241, 0, 1087,
1608 0, 0, 26, 0, 130, 131, 0, 0, 199, 200,
1609 201, 0, 0, 0, 0, 14, 583, 0, 584, 0,
1610 0, 0, 0, 26, 1065, 130, 131, 0, 585, 104,
1611 0, 104, 18, 188, 188, 1114, 0, 20, 586, 584,
1612 0, 587, 588, 199, 200, 201, 23, 0, 0, 585,
1613 14, 0, 514, 515, 0, 241, 0, 1142, 0, 586,
1614 0, 663, 587, 588, 0, 0, 83, 18, 0, 0,
1615 0, 0, 20, 0, 1114, 0, 106, 0, 867, 868,
1616 0, 23, 0, 867, 0, 126, 134, 104, 0, 0,
1617 0, 0, 143, 143, 0, 143, 885, 83, 0, 0,
1618 104, 0, 0, 1004, 83, 7, 8, 9, 10, 0,
1619 0, 13, 104, 0, 0, 0, 1193, 143, 0, 83,
1620 0, 0, 0, 0, 0, 1172, 0, 223, 401, 1277,
1621 0, 0, 0, 0, 231, 80, 0, 0, 0, 0,
1622 197, 0, 205, 21, 0, 104, 231, 104, 221, 583,
1623 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1624 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1625 555, 556, 1110, 0, 0, 104, 0, 0, 0, 0,
1626 494, 494, 1111, 494, 0, 0, 0, 0, 0, 0,
1627 32, 0, 586, 0, 0, 1112, 588, 0, 83, 0,
1628 0, 1235, 143, 0, 0, 0, 143, 1193, 0, 143,
1629 143, 143, 704, 0, 705, 0, 437, 439, 443, 0,
1630 0, 0, 0, 83, 0, 0, 0, 716, 188, 188,
1631 188, 188, 1114, 0, 0, 0, 188, 0, 0, 0,
1632 143, 143, 143, 0, 0, 0, 1209, 0, 0, 0,
1633 416, 0, 1024, 0, 1026, 0, 0, 0, 1114, 1114,
1634 1114, 0, 283, 127, 128, 10, 0, 0, 0, 143,
1635 0, 0, 0, 0, 0, 0, 0, 205, 0, 0,
1636 0, 0, 0, 0, 0, 459, 205, 0, 0, 188,
1637 0, 0, 0, 0, 142, 0, 80, 0, 0, 0,
1638 21, 653, 0, 0, 143, 0, 0, 234, 0, 0,
1639 0, 0, 0, 0, 0, 27, 302, 0, 514, 515,
1640 0, 0, 1359, 1360, 0, 0, 1060, 1061, 0, 1063,
1641 548, 549, 550, 551, 552, 553, 554, 555, 556, 0,
1642 0, 0, 231, 143, 0, 188, 188, 32, 188, 0,
1643 0, 0, 0, 0, 0, 0, 0, 1081, 0, 0,
1644 0, 0, 0, 0, 993, 994, 9, 10, 7, 8,
1645 9, 10, 199, 200, 201, 0, 0, 0, 0, 14,
1646 0, 0, 0, 0, 188, 920, 188, 231, 0, 0,
1647 0, 582, 0, 143, 143, 598, 18, 0, 0, 0,
1648 607, 20, 21, 104, 83, 1116, 21, 0, 0, 0,
1649 23, 1420, 583, 686, 0, 26, 0, 27, 28, 26,
1650 686, 27, 28, 995, 7, 127, 128, 10, 0, 0,
1651 229, 178, 0, 1438, 1441, 913, 0, 526, 644, 0,
1652 0, 179, 0, 0, 0, 914, 0, 231, 0, 32,
1653 143, 231, 0, 32, 180, 586, 0, 0, 915, 588,
1654 0, 143, 21, 0, 143, 0, 0, 1158, 0, 143,
1655 0, 0, 197, 205, 0, 26, 0, 27, 28, 1163,
1656 0, 0, 704, 705, 686, 716, 0, 0, 0, 0,
1657 0, 30, 0, 0, 0, 0, 1114, 0, 143, 0,
1658 143, 31, 143, 143, 143, 0, 0, 0, 143, 32,
1659 0, 1485, 0, 143, 33, 0, 143, 0, 0, 0,
1660 0, 0, 574, 1002, 283, 377, 378, 10, 416, 575,
1661 0, 734, 83, 0, 0, 459, 205, 0, 0, 416,
1662 0, 0, 0, 459, 686, 0, 0, 0, 0, 0,
1663 686, 0, 0, 0, 0, 0, 416, 0, 0, 0,
1664 0, 0, 21, 0, 1215, 0, 1114, 1114, 1114, 576,
1665 231, 231, 231, 231, 0, 26, 0, 27, 302, 0,
1666 686, 0, 0, 0, 0, 104, 0, 686, 0, 735,
1667 188, 7, 8, 736, 10, 386, 12, 13, 0, 0,
1668 0, 0, 14, 1228, 0, 0, 0, 0, 0, 577,
1669 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
1670 19, 0, 0, 0, 20, 0, 514, 515, 0, 21,
1671 231, 0, 143, 23, 737, 0, 646, 0, 0, 0,
1672 0, 0, 26, 0, 27, 28, 143, 143, 738, 598,
1673 739, 0, 0, 0, 0, 0, 879, 0, 30, 0,
1674 0, 0, 0, 0, 0, 0, 1315, 0, 31, 607,
1675 1316, 0, 0, 0, 0, 143, 32, 0, 0, 0,
1676 0, 33, 8, 9, 0, 386, 12, 13, 0, 437,
1677 439, 443, 14, 0, 0, 0, 0, 205, 0, 644,
1678 0, 0, 0, 0, 0, 1332, 16, 126, 17, 18,
1679 0, 0, 0, 0, 20, 143, 598, 143, 143, 223,
1680 598, 0, 0, 645, 0, 0, 646, 0, 0, 0,
1681 443, 0, 26, 0, 130, 131, 0, 197, 734, 205,
1682 221, 8, 9, 0, 0, 12, 229, 0, 0, 0,
1683 0, 14, 0, 0, 0, 0, 0, 143, 0, 1002,
1684 0, 598, 686, 0, 0, 16, 0, 17, 143, 143,
1685 0, 143, 0, 20, 0, 0, 0, 0, 205, 1388,
1686 0, 0, 23, 1389, 0, 0, 0, 0, 0, 0,
1687 0, 26, 0, 130, 131, 0, 0, 0, 0, 134,
1688 459, 0, 83, 416, 83, 1407, 1408, 0, 0, 1005,
1689 83, 83, 0, 0, 0, 0, 686, 686, 0, 231,
1690 0, 0, 686, 51, 0, 231, 0, 0, 0, 0,
1691 0, 197, 143, 143, 143, 0, 686, 416, 686, 0,
1692 686, 592, 596, 599, 143, 0, 0, 0, 0, 51,
1693 51, 0, 150, 0, 51, 0, 0, 0, 0, 0,
1694 0, 51, 0, 0, 0, 0, 0, 0, 0, 0,
1695 0, 0, 0, 0, 51, 0, 51, 0, 0, 0,
1696 0, 0, 0, 686, 704, 705, 437, 439, 443, 0,
1697 0, 0, 716, 0, 0, 0, 8, 9, 0, 237,
1698 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1699 0, 0, 0, 0, 437, 439, 443, 143, 0, 143,
1700 16, 0, 17, 686, 0, 0, 231, 0, 20, 0,
1701 143, 0, 231, 0, 879, 879, 879, 23, 0, 0,
1702 686, 607, 0, 0, 0, 1306, 26, 0, 130, 131,
1703 0, 0, 379, 379, 0, 51, 0, 0, 0, 51,
1704 0, 237, 0, 51, 0, 0, 150, 150, 150, 0,
1705 0, 231, 0, 231, 0, 143, 143, 598, 0, 0,
1706 51, 7, 8, 9, 10, 190, 12, 191, 0, 0,
1707 0, 221, 14, 7, 8, 9, 10, 51, 51, 150,
1708 0, 704, 705, 0, 716, 0, 16, 237, 17, 18,
1709 0, 0, 0, 0, 20, 0, 879, 0, 0, 21,
1710 0, 0, 0, 23, 0, 0, 51, 0, 0, 231,
1711 0, 21, 26, 0, 27, 28, 0, 583, 192, 0,
1712 734, 0, 231, 0, 26, 1005, 27, 28, 30, 0,
1713 0, 0, 0, 0, 231, 0, 0, 0, 31, 0,
1714 913, 51, 0, 0, 0, 0, 32, 0, 416, 416,
1715 914, 33, 0, 0, 0, 0, 0, 83, 32, 0,
1716 586, 0, 0, 915, 588, 0, 0, 231, 0, 231,
1717 589, 589, 589, 0, 856, 858, 0, 416, 0, 0,
1718 7, 8, 9, 10, 199, 200, 201, 0, 0, 0,
1719 686, 14, 686, 0, 686, 0, 0, 231, 0, 0,
1720 0, 0, 143, 143, 0, 143, 0, 0, 18, 0,
1721 0, 522, 0, 20, 0, 0, 0, 0, 21, 0,
1722 0, 0, 23, 0, 583, 0, 0, 0, 379, 0,
1723 0, 26, 443, 27, 28, 0, 237, 0, 0, 0,
1724 0, 51, 0, 918, 0, 592, 596, 913, 599, 0,
1725 143, 143, 143, 143, 598, 0, 0, 914, 143, 0,
1726 0, 0, 0, 0, 734, 32, 0, 586, 0, 0,
1727 954, 588, 0, 0, 0, 379, 0, 0, 0, 0,
1728 879, 879, 879, 0, 0, 596, 0, 51, 686, 0,
1729 0, 0, 0, 0, 0, 0, 734, 0, 51, 0,
1730 0, 51, 437, 439, 443, 0, 51, 0, 0, 0,
1731 0, 143, 0, 0, 0, 0, 143, 0, 83, 0,
1732 7, 127, 128, 10, 0, 0, 13, 0, 0, 0,
1733 416, 416, 0, 416, 416, 51, 416, 51, 0, 150,
1734 150, 150, 0, 0, 0, 51, 0, 0, 0, 0,
1735 51, 8, 9, 51, 386, 12, 13, 0, 21, 692,
1736 0, 14, 0, 0, 0, 0, 0, 143, 143, 51,
1737 143, 26, 596, 27, 28, 16, 0, 17, 18, 0,
1738 0, 0, 0, 20, 0, 0, 0, 147, 0, 0,
1739 0, 0, 23, 0, 0, 1363, 0, 148, 0, 522,
1740 0, 26, 522, 130, 131, 32, 143, 598, 143, 0,
1741 149, 0, 0, 0, 0, 0, 0, 522, 522, 522,
1742 0, 0, 0, 589, 589, 231, 589, 0, 197, 205,
1743 0, 0, 522, 876, 0, 0, 0, 0, 0, 0,
1744 0, 0, 686, 0, 0, 1073, 0, 1074, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 1080, 416,
1746 416, 0, 856, 858, 541, 542, 543, 544, 545, 546,
1747 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
1748 237, 0, 0, 0, 7, 8, 9, 10, 78, 0,
1749 482, 0, 589, 522, 589, 589, 0, 589, 0, 0,
1750 0, 0, 0, 856, 858, 0, 0, 0, 0, 0,
1751 0, 0, 51, 0, 78, 78, 0, 78, 879, 78,
1752 0, 0, 21, 0, 0, 0, 78, 0, 583, 0,
1753 0, 0, 0, 0, 589, 26, 379, 27, 28, 78,
1754 0, 78, 0, 379, 0, 0, 0, 0, 0, 0,
1755 0, 913, 51, 51, 51, 51, 0, 0, 416, 416,
1756 416, 914, 0, 0, 0, 0, 0, 0, 0, 32,
1757 0, 586, 0, 0, 915, 588, 7, 8, 9, 10,
1758 0, 0, 13, 0, 0, 0, 0, 0, 879, 879,
1759 879, 0, 0, 0, 51, 0, 0, 0, 51, 0,
1760 0, 0, 0, 0, 0, 51, 51, 231, 51, 0,
1761 0, 0, 143, 0, 21, 0, 0, 416, 416, 0,
1762 78, 589, 0, 0, 78, 0, 0, 26, 78, 27,
1763 28, 78, 78, 78, 0, 0, 0, 0, 0, 51,
1764 0, 51, 0, 178, 0, 78, 51, 51, 51, 0,
1765 0, 0, 0, 179, 0, 0, 0, 0, 0, 0,
1766 0, 32, 78, 78, 78, 0, 180, 0, 0, 0,
1767 0, 0, 0, 0, 0, 522, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
1769 0, 78, 0, 0, 589, 0, 589, 0, 1073, 1074,
1770 856, 858, 0, 0, 0, 0, 1080, 589, 0, 0,
1771 0, 876, 876, 876, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 78, 0, 856, 858,
1773 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1774 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1775 555, 556, 589, 589, 589, 0, 7, 8, 9, 10,
1776 386, 12, 13, 0, 0, 692, 0, 14, 0, 0,
1777 0, 522, 522, 522, 0, 0, 0, 237, 1191, 0,
1778 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
1779 0, 0, 0, 876, 21, 0, 0, 0, 23, 0,
1780 583, 0, 0, 0, 0, 0, 0, 26, 0, 27,
1781 28, 0, 51, 51, 150, 1073, 1074, 0, 1080, 237,
1782 0, 0, 606, 1110, 0, 0, 78, 0, 0, 0,
1783 0, 0, 0, 1111, 0, 0, 0, 0, 0, 0,
1784 0, 32, 0, 586, 0, 0, 1112, 588, 0, 0,
1785 0, 0, 0, 1141, 0, 0, 7, 8, 9, 10,
1786 199, 200, 201, 0, 0, 0, 0, 14, 0, 0,
1787 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 51, 78, 18, 0, 78, 0, 0, 20,
1789 0, 78, 0, 0, 21, 0, 0, 0, 23, 0,
1790 583, 0, 0, 237, 0, 0, 0, 26, 0, 27,
1791 28, 0, 155, 0, 51, 0, 0, 0, 0, 0,
1792 78, 0, 78, 178, 78, 78, 78, 0, 0, 0,
1793 78, 0, 0, 179, 189, 78, 0, 0, 78, 0,
1794 0, 32, 0, 0, 0, 0, 1376, 589, 589, 589,
1795 589, 589, 0, 0, 78, 589, 0, 0, 0, 0,
1796 0, 0, 0, 7, 8, 9, 10, 386, 12, 13,
1797 0, 0, 959, 0, 14, 0, 0, 876, 876, 876,
1798 0, 0, 0, 0, 0, 0, 237, 0, 16, 0,
1799 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
1800 0, 21, 0, 0, 0, 23, 0, 51, 51, 150,
1801 150, 150, 0, 237, 26, 51, 27, 28, -371, 8,
1802 9, -371, -371, 12, 229, 0, 155, 155, 155, 14,
1803 30, 0, 0, 0, 0, 0, 0, 1141, 1141, 1141,
1804 31, 0, 0, 16, 0, 17, -371, 0, 32, 0,
1805 0, 20, 0, 33, 0, 0, -371, 189, 189, 444,
1806 23, 0, 583, 0, 589, 589, 606, 589, 51, 26,
1807 0, 130, 131, 51, 0, 51, 0, 7, 127, 128,
1808 10, 0, 0, 482, 0, 584, 189, 0, 0, 0,
1809 0, 0, 0, 0, 0, 585, 0, 78, 0, 0,
1810 0, 0, 0, -371, 187, 586, 0, 0, 587, 588,
1811 0, 0, 0, 0, 0, 21, 0, 0, 0, 0,
1812 0, 76, 0, 0, 51, 51, 0, 51, 26, 240,
1813 27, 28, 244, 0, 0, 0, 0, 78, 78, 78,
1814 78, 0, 0, 0, 30, 0, 0, 141, 145, 0,
1815 0, 0, 76, 240, 31, 348, 0, 0, 0, 76,
1816 495, 0, 32, 51, 51, 51, 0, 33, 0, 0,
1817 0, 0, 0, 0, 198, 0, 0, 0, 0, 78,
1818 0, 0, 0, 78, 0, 0, 0, 0, 0, 0,
1819 78, 78, 0, 78, 542, 543, 544, 545, 546, 547,
1820 548, 549, 550, 551, 552, 553, 554, 555, 556, 0,
1821 591, 591, 591, 0, 0, 0, 0, 0, 0, 0,
1822 7, 8, 9, 10, 78, 0, 78, 187, 187, 187,
1823 0, 78, 78, 78, 0, 0, 0, 450, 8, 9,
1824 0, 386, 12, 13, 0, 0, 692, 0, 14, 0,
1825 0, 0, 0, 391, 0, 0, 187, 394, 21, 0,
1826 0, 396, 16, 0, 17, 18, 0, 189, 0, 0,
1827 20, 26, 0, 27, 28, 1141, 0, 1370, 76, 23,
1828 244, 583, 0, 0, 0, 0, 0, 178, 26, 0,
1829 130, 131, 0, 0, 240, 141, 145, 179, 0, 0,
1830 0, 0, 0, 0, 584, 32, 0, 0, 0, 0,
1831 180, 0, 0, 0, 585, 189, 0, 189, 0, 444,
1832 444, 444, 0, 0, 586, 189, 0, 587, 588, 0,
1833 189, 0, 0, 189, 0, 735, 0, 7, 8, 736,
1834 10, 386, 12, 13, 0, 1141, 1141, 1141, 14, 0,
1835 0, 0, 0, 0, 7, 8, 9, 10, 0, 483,
1836 229, 0, 16, 606, 17, 18, 19, 0, 0, 51,
1837 20, -507, 0, 0, 0, 21, 0, 0, 0, 23,
1838 737, 0, 646, 0, 0, 0, 240, 244, 26, 0,
1839 27, 28, 21, 0, 738, 0, 739, 78, 78, 78,
1840 0, 0, 0, 0, 30, 26, 0, 27, 28, 0,
1841 0, 0, 0, 0, 31, 0, 0, 7, 8, 9,
1842 10, 178, 32, 13, 0, 0, 0, 33, 0, 0,
1843 0, 179, 0, 0, 0, 0, 0, 187, 1143, 32,
1844 0, 0, 0, -507, 180, 0, 0, 0, 0, 841,
1845 0, 0, 0, 0, 0, 21, 0, 0, 0, 615,
1846 0, 0, 0, 591, 591, 0, 591, 78, 26, 0,
1847 27, 28, 0, 591, 7, 8, 9, 10, 0, 0,
1848 482, 0, 0, 0, 440, 187, 0, 187, 0, 187,
1849 187, 187, 189, 0, 441, 187, 0, 0, 0, 78,
1850 187, 0, 32, 187, 0, 0, 0, 442, 0, 0,
1851 0, 0, 21, 0, 0, 0, 667, 0, 0, 668,
1852 0, 0, 0, 0, 670, 26, 0, 27, 28, 0,
1853 0, 0, 917, 0, 917, 917, 0, 591, 0, 0,
1854 0, 178, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 179, 0, 394, 0, 396, 0, 0, 0, 32,
1856 102, 0, 0, 0, 180, 0, 0, 0, 483, 121,
1857 102, 0, 0, 0, 917, 0, 102, 102, 0, 102,
1858 0, 0, 0, 0, 0, 189, 189, 752, 189, 0,
1859 0, 0, 78, 78, 78, 78, 78, 0, 0, 0,
1860 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 220, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 1143, 1143, 1143, 0, 189, 0, 0, 0,
1863 0, 0, 127, 128, 0, 0, 200, 201, 0, 0,
1864 0, 0, 14, 0, 0, 0, 240, 244, 0, 495,
1865 495, 495, 0, 78, 0, 0, 0, 0, 78, 0,
1866 78, 591, 187, 0, 20, 0, 0, 0, 0, 0,
1867 372, 0, 121, 23, 0, 583, 0, 0, 0, 102,
1868 102, 0, 26, 0, 130, 131, 102, 0, 102, 102,
1869 102, 0, 0, 102, 102, 102, 0, 0, 584, 0,
1870 0, 0, 187, 0, 187, 187, 0, 0, 585, 78,
1871 78, 0, 78, 0, 0, 0, 0, 0, 586, 0,
1872 0, 587, 588, 1300, 1301, 9, 10, 0, 0, 0,
1873 0, 0, 0, 0, 591, 0, 591, 0, 0, 0,
1874 0, 0, 0, 0, 187, 0, 0, 591, 78, 78,
1875 78, 591, 591, 591, 0, 187, 187, 0, 187, 0,
1876 0, 21, 0, 0, 7, 127, 128, 10, 465, 102,
1877 0, 919, 0, 0, 26, 0, 27, 28, 0, 0,
1878 0, 0, 1302, 244, 1300, 127, 128, 10, 102, 0,
1879 178, 0, 917, 917, 1115, 0, 187, 0, 0, 0,
1880 179, 0, 21, 0, 0, 0, 0, 0, 32, 0,
1881 0, 0, 0, 180, 0, 26, 960, 27, 28, 0,
1882 0, 0, 21, 667, 668, 0, 670, 102, 0, 0,
1883 0, 147, 0, 1115, 0, 26, 0, 27, 28, 0,
1884 0, 148, 0, 1302, 0, 0, 0, 0, 0, 32,
1885 0, 30, 0, 0, 149, 0, 0, 752, 0, 752,
1886 1143, 31, 189, 0, 1003, 1010, 752, 0, 0, 32,
1887 0, 0, 0, 0, 33, 102, 0, 102, 102, 0,
1888 0, 0, 7, 8, 9, 10, 386, 12, 13, 0,
1889 0, 0, 0, 14, 544, 545, 546, 547, 548, 549,
1890 550, 551, 552, 553, 554, 555, 556, 16, 0, 17,
1891 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1892 21, 0, 102, 0, 23, 0, 0, 240, 244, 240,
1893 1143, 1143, 1143, 26, 0, 27, 28, 0, 0, 841,
1894 841, 102, 841, 0, 0, 102, 0, 0, 102, 30,
1895 0, 0, 0, 102, 78, 0, 0, 0, 0, 31,
1896 0, 0, 187, 187, 1113, 0, 0, 32, 0, 240,
1897 8, 9, 33, 386, 12, 13, 0, 0, 1498, 0,
1898 14, 0, 0, 0, 0, 0, 0, 917, 917, 1115,
1899 1115, 1115, 0, 0, 16, 917, 17, 18, 7, 8,
1900 9, 10, 20, 1113, 0, 0, 0, 0, 0, 0,
1901 0, 23, 0, 102, 0, 727, 0, 1115, 1115, 1115,
1902 26, 0, 130, 131, 0, 0, 0, 0, 0, 0,
1903 141, 145, 187, 0, 0, 0, 21, 0, 0, 0,
1904 102, 0, 0, 0, 0, 0, 0, 0, 189, 26,
1905 0, 27, 28, 450, 0, 6, 0, 7, 8, 9,
1906 10, 11, 12, 13, 0, 440, 0, 0, 14, 0,
1907 0, 0, 0, 0, 0, 441, 0, 0, 0, 0,
1908 0, 0, 16, 32, 17, 18, 0, 0, 442, 0,
1909 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
1910 1003, 0, 411, 0, 917, 917, 0, 917, 26, 0,
1911 27, 28, 0, 0, 29, 0, 102, 7, 8, 9,
1912 10, 0, 0, 0, 30, 0, 0, 102, 102, 0,
1913 102, 102, 752, 0, 31, 0, 240, 0, 0, 0,
1914 0, 0, 32, 189, 0, 189, 0, 33, 0, 0,
1915 0, 0, 0, 0, 0, 21, 0, 187, 187, 187,
1916 187, 1113, 0, 1227, 0, 187, 0, 0, 26, 0,
1917 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 102, 178, 0, 0, 1113, 1113, 1113,
1919 102, 121, 0, 0, 179, 0, 0, 0, 0, 0,
1920 0, 0, 32, 220, 0, 0, 0, 180, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 187, 0,
1922 0, 0, 727, 0, 0, 394, 396, 0, 0, 0,
1923 0, 0, 0, 483, 7, 8, 9, 10, 190, 12,
1924 191, 0, 0, 0, 0, 14, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 444, 0, 0, 0, 16,
1926 0, 17, 18, 0, 0, 0, 0, 20, 0, 0,
1927 0, 0, 21, 0, 187, 187, 23, 187, 0, 0,
1928 727, 0, 0, 102, 0, 26, 1307, 27, 28, 0,
1929 0, 1307, 0, 752, 0, 0, 0, 0, 0, 0,
1930 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 31, 0, 187, 0, 187, 102, 102, 102, 32,
1932 0, 0, 0, 0, 33, 444, 444, 444, 102, 0,
1933 0, 0, 0, 0, 8, 9, 0, 190, 12, 191,
1934 0, 0, 667, 668, 14, 670, 0, 0, 0, 189,
1935 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
1936 17, 18, 0, 0, 0, 1401, 20, -463, -463, -463,
1937 -463, -463, -463, -463, 0, 23, -463, 0, -463, 0,
1938 0, 0, 1375, 0, 26, 0, 130, 131, 0, -463,
1939 0, -463, 0, 0, 0, -463, 0, 0, 0, 0,
1940 -463, 102, 0, 102, 0, -463, 0, 0, 0, -463,
1941 0, -463, 0, 0, 102, 0, 0, 0, -463, 0,
1942 -463, -463, -463, -463, -463, 1113, -463, -463, -463, -463,
1943 -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
1944 -463, -463, -463, -463, -463, -463, -463, -463, -463, 0,
1945 -463, -463, -463, 0, -463, -463, -463, -463, -463, -463,
1946 0, -463, 0, 0, 0, 0, 1402, 0, 0, 0,
1947 0, -463, -463, -463, 0, -463, 539, 540, 541, 542,
1948 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
1949 553, 554, 555, 556, 0, 1113, 1113, 1113, 540, 541,
1950 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1951 552, 553, 554, 555, 556, 0, 0, 0, 0, 187,
1952 0, 0, 0, 0, 727, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 1378, 0, 1238, 1239,
1954 1240, 10, 386, 12, 284, 285, 286, 0, 287, 14,
1955 1241, 102, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249,
1956 1250, 1251, 15, 16, 288, 17, 18, 19, 0, 289,
1957 290, 20, 0, 291, 292, 293, 21, 294, 295, 1252,
1958 23, 1253, 0, 0, 296, 297, 298, 299, 300, 26,
1959 0, 1254, 302, 679, 0, 1255, 303, 0, 0, 0,
1960 0, 0, 304, 0, 0, 305, 102, 102, 0, 102,
1961 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
1962 0, 309, 310, 311, 0, 0, 0, 0, 312, 0,
1963 1256, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 1379, 313, 0, 0, 0, 0,
1965 0, 0, 0, 1237, 0, 1238, 1239, 1240, 10, 386,
1966 12, 284, 285, 286, 0, 287, 14, 1241, 727, 1242,
1967 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 15,
1968 16, 288, 17, 18, 19, 0, 289, 290, 20, 0,
1969 291, 292, 293, 21, 294, 295, 1252, 23, 1253, 0,
1970 727, 296, 297, 298, 299, 300, 26, 0, 1254, 302,
1971 679, 0, 1255, 303, 0, 0, 0, 0, 102, 304,
1972 102, 0, 305, 0, 0, 0, 0, 0, 0, 0,
1973 306, 307, 308, 0, 0, 0, 0, 0, 309, 310,
1974 311, 0, 0, 0, 0, 312, 517, 1256, 283, 8,
1975 9, 10, 386, 12, 284, 285, 286, 692, 287, 14,
1976 0, 0, 313, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 16, 288, 17, 18, 19, 0, 289,
1978 290, 20, 0, 291, 292, 293, 21, 294, 295, 0,
1979 23, 0, 583, 0, 296, 297, 298, 299, 300, 26,
1980 0, 27, 302, -296, 0, 0, 303, 0, 0, 0,
1981 0, 0, 304, 0, 0, 872, 0, 0, 0, 0,
1982 0, 0, 0, 306, 307, 873, 0, 0, 0, 0,
1983 0, 309, 310, 311, 0, 586, 0, 0, 874, 588,
1984 517, 0, 7, 8, 9, 10, 386, 12, 284, 285,
1985 286, 692, 287, 14, 0, 313, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 16, 288, 17,
1987 18, 19, 0, 289, 290, 20, 0, 291, 292, 293,
1988 21, 294, 295, 0, 23, 0, 583, 0, 296, 297,
1989 298, 299, 300, 26, 0, 27, 28, -296, 0, 0,
1990 303, 0, 0, 0, 0, 0, 304, 0, 0, 1138,
1991 0, 0, 0, 0, 0, 0, 0, 306, 307, 1139,
1992 0, 0, 0, 0, 0, 309, 310, 311, 0, 586,
1993 0, 0, 1140, 588, 691, 0, 283, 8, 9, 10,
1994 386, 12, 284, 285, 286, 692, 287, 14, 0, 313,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 16, 288, 17, 18, 19, 0, 289, 290, 20,
1997 0, 291, 292, 293, 21, 294, 295, 0, 23, 0,
1998 0, 0, 296, 297, 298, 299, 300, 26, 0, 27,
1999 302, 0, 0, 0, 303, 0, 0, 0, 0, 0,
2000 304, 0, 0, 305, 0, 0, 0, 0, 0, 0,
2001 0, 306, 307, 308, 0, 0, 0, 0, 0, 309,
2002 310, 311, 0, 0, 0, 805, 312, 283, 8, 9,
2003 10, 386, 12, 284, 285, 286, 0, 287, 14, 0,
2004 0, -777, 0, 313, 0, 0, 0, 0, 0, 0,
2005 0, 0, 16, 288, 17, 18, 19, 0, 289, 290,
2006 20, 0, 291, 292, 293, 21, 294, 295, 0, 23,
2007 0, 0, 0, 296, 297, 298, 299, 300, 26, 0,
2008 27, 302, 1475, 0, -767, 303, 0, 0, 0, 0,
2009 0, 304, 0, 0, 305, 0, 0, 0, 0, 0,
2010 0, 0, 306, 307, 308, 0, 0, 0, 0, 0,
2011 309, 310, 311, 0, 0, 0, 682, 312, 793, 794,
2012 795, 10, 0, 12, 499, 285, 286, 0, 287, 14,
2013 0, 0, 0, 0, 313, 0, 0, 0, 0, 0,
2014 0, 0, 0, 16, 288, 17, 0, 19, 0, 289,
2015 290, 20, 0, 291, 292, 293, 21, 294, 295, 0,
2016 23, 0, 0, 0, 296, 297, 298, 299, 300, 26,
2017 0, 796, 797, 683, 0, 0, 303, 0, 0, 0,
2018 0, 0, 304, 0, 0, 305, 0, 0, 0, 0,
2019 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
2020 0, 309, 310, 311, 0, 0, 0, 0, 312, 798,
2021 682, 0, 793, 794, 795, 10, 0, 12, 499, 285,
2022 286, 0, 287, 14, 946, 313, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 16, 288, 17,
2024 0, 19, 0, 289, 290, 20, 0, 291, 292, 293,
2025 21, 294, 295, 0, 23, 0, 0, 0, 296, 297,
2026 298, 299, 300, 26, 0, 796, 797, 683, 0, 0,
2027 303, 0, 0, 0, 0, 0, 304, 0, 0, 305,
2028 0, 0, 0, 0, 0, 0, 0, 306, 307, 308,
2029 0, 0, 0, 0, 0, 309, 310, 311, 0, 0,
2030 0, 0, 312, 798, 682, 0, 793, 794, 795, 10,
2031 0, 12, 499, 285, 286, 0, 287, 14, 0, 313,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 16, 288, 17, 0, 19, 0, 289, 290, 20,
2034 0, 291, 292, 293, 21, 294, 295, 0, 23, 0,
2035 0, 0, 296, 297, 298, 299, 300, 26, 0, 796,
2036 797, 683, 0, 0, 303, 0, 0, 0, 0, 0,
2037 304, 0, 0, 305, 0, 0, 0, 0, 0, 0,
2038 0, 306, 307, 308, 0, 0, 0, 0, 0, 309,
2039 310, 311, 0, 0, 0, 682, 312, 793, 794, 795,
2040 10, 0, 12, 499, 285, 286, 0, 287, 14, 0,
2041 0, 0, -467, 313, 0, 0, 0, 0, 0, 0,
2042 0, 0, 16, 288, 17, 0, 19, 0, 289, 290,
2043 20, 0, 291, 292, 293, 21, 294, 295, 0, 23,
2044 0, 0, 0, 296, 297, 298, 299, 300, 26, 0,
2045 796, 797, 683, 0, 0, 303, 0, 0, 0, 0,
2046 0, 304, 0, 0, 305, 0, 0, 0, 0, 0,
2047 0, 0, 306, 307, 308, 0, 0, 0, 0, 0,
2048 309, 310, 311, 0, 0, 0, 682, 312, 283, 8,
2049 9, 10, 0, 12, 499, 285, 286, 0, 287, 14,
2050 0, 0, 0, 1276, 313, 0, 0, 0, 0, 0,
2051 0, 0, 0, 16, 288, 17, 0, 19, 0, 289,
2052 290, 20, 0, 291, 292, 293, 21, 294, 295, 0,
2053 23, 0, 0, 0, 296, 297, 298, 299, 300, 26,
2054 0, 27, 302, 683, 0, 0, 303, 0, 0, 0,
2055 0, 0, 304, 0, 0, 305, 0, 0, 0, 0,
2056 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
2057 0, 309, 310, 311, 0, 0, 0, 0, 312, 0,
2058 517, 0, 283, 8, 9, 10, 1280, 12, 284, 285,
2059 286, 0, 287, 14, 0, 313, 0, 0, 0, 0,
2060 0, 0, 0, 0, 0, 0, 0, 16, 288, 17,
2061 0, 19, 0, 289, 290, 20, 0, 291, 292, 293,
2062 21, 294, 295, 0, 23, 0, 0, 0, 296, 297,
2063 298, 299, 300, 26, 0, 27, 302, -296, 0, 0,
2064 303, 0, 0, 0, 0, 0, 304, 0, 0, 518,
2065 0, 0, 0, 0, 0, 0, 0, 306, 307, 519,
2066 0, 0, 0, 0, 0, 309, 310, 311, 0, 0,
2067 0, 682, 520, 283, 8, 9, 10, 0, 12, 499,
2068 285, 286, 0, 287, 14, 0, 0, 0, 0, 313,
2069 0, 0, 0, 0, 0, 0, 0, 0, 16, 288,
2070 17, 0, 19, 0, 289, 290, 20, 0, 291, 292,
2071 293, 21, 294, 295, 0, 23, 0, 0, 0, 296,
2072 297, 298, 299, 300, 26, 0, 27, 302, 683, 0,
2073 0, 303, 0, 0, 0, 0, 0, 304, 0, 0,
2074 305, 0, 0, 0, 0, 0, 0, 0, 306, 307,
2075 308, 0, 0, 0, 0, 0, 309, 310, 311, 0,
2076 0, 0, 805, 312, 283, 8, 9, 10, 0, 12,
2077 499, 285, 286, 0, 287, 14, 0, 0, 0, 0,
2078 313, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2079 288, 17, 0, 19, 0, 289, 290, 20, 0, 291,
2080 292, 293, 21, 294, 295, 0, 23, 0, 0, 0,
2081 296, 297, 298, 299, 300, 26, 0, 27, 302, 0,
2082 0, 0, 303, -767, 0, 0, 0, 0, 304, 0,
2083 0, 305, 0, 0, 0, 0, 0, 0, 0, 306,
2084 307, 308, 0, 0, 0, 0, 0, 309, 310, 311,
2085 0, 0, 0, 517, 312, 7, 8, 9, 10, 0,
2086 12, 284, 285, 286, 0, 287, 14, 0, 0, 0,
2087 0, 313, 0, 0, 0, 0, 0, 0, 0, 0,
2088 16, 288, 17, 0, 19, 0, 289, 290, 20, 0,
2089 291, 292, 293, 21, 294, 295, 0, 23, 0, 0,
2090 0, 296, 297, 298, 299, 300, 26, 0, 27, 28,
2091 -296, 0, 0, 303, 0, 0, 0, 0, 0, 304,
2092 0, 0, 1446, 0, 0, 0, 0, 0, 0, 0,
2093 306, 307, 1447, 0, 0, 0, 0, 0, 309, 310,
2094 311, 0, 0, 0, 1527, 1448, 283, 8, 9, 10,
2095 0, 12, 284, 285, 286, 0, 287, 14, 0, 0,
2096 0, 0, 313, 0, 0, 0, 0, 0, 0, 0,
2097 0, 16, 288, 17, 0, 19, 0, 289, 290, 20,
2098 0, 291, 292, 293, 21, 294, 295, 0, 23, 0,
2099 0, 0, 296, 297, 298, 299, 300, 26, 0, 27,
2100 302, 0, 0, -183, 303, 0, 0, 0, 0, 0,
2101 304, 0, 0, 305, 0, 0, 0, 0, 0, 0,
2102 0, 306, 307, 308, 0, 0, 0, 0, 0, 309,
2103 310, 311, 0, 0, 0, 805, 312, 283, 8, 9,
2104 10, 0, 12, 499, 285, 286, 0, 287, 14, 0,
2105 0, 0, 0, 313, 0, 0, 0, 0, 0, 0,
2106 0, 0, 16, 288, 17, 0, 19, 0, 289, 290,
2107 20, 0, 291, 292, 293, 21, 294, 295, 0, 23,
2108 0, 0, 0, 296, 297, 298, 299, 300, 26, 0,
2109 27, 302, 0, 0, 0, 303, 0, 0, 0, 0,
2110 0, 304, 246, 0, 305, 8, 9, 0, 0, 12,
2111 13, 0, 306, 307, 308, 14, 0, 0, 0, 0,
2112 309, 310, 311, 0, 0, 0, 0, 312, 0, 16,
2113 0, 17, 0, 0, 0, 0, 0, 20, 0, 247,
2114 248, 0, -767, 0, 313, 0, 23, 0, 249, 0,
2115 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
2116 250, 0, 0, 0, 251, 252, 253, 254, 255, 256,
2117 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2118 267, 268, 269, 270, 271, 0, 0, 272, 273, 274,
2119 0, 0, 275, 0, 891, 276, 283, 8, 9, 10,
2120 0, 12, 499, 285, 286, 0, 287, 14, 0, 0,
2121 0, 277, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 16, 288, 17, 0, 19, 0, 289, 290, 20,
2123 0, 291, 292, 293, 21, 294, 295, 0, 23, 0,
2124 0, 0, 296, 297, 298, 299, 300, 26, 0, 27,
2125 302, 0, 0, 0, 303, 0, 0, 0, 0, 0,
2126 304, 0, 0, 305, 0, 0, 0, 0, 0, 0,
2127 0, 306, 307, 308, 0, 0, 0, 0, 0, 309,
2128 310, 311, 0, 0, 0, 893, 312, 283, 8, 9,
2129 10, 0, 12, 499, 285, 286, 0, 287, 14, 0,
2130 0, 0, 0, 313, 0, 0, 0, 0, 0, 0,
2131 0, 0, 16, 288, 17, 0, 19, 0, 289, 290,
2132 20, 0, 291, 292, 293, 21, 294, 295, 0, 23,
2133 0, 0, 0, 296, 297, 298, 299, 300, 26, 0,
2134 27, 302, 0, 0, 0, 303, 0, 0, 0, 0,
2135 0, 304, 0, 0, 305, 0, 0, 0, 0, 0,
2136 0, 0, 306, 307, 308, 0, 0, 0, 0, 0,
2137 309, 310, 311, 0, 0, 0, 1459, 312, 283, 8,
2138 9, 10, 0, 12, 499, 285, 286, 0, 287, 14,
2139 0, 0, 0, 0, 313, 0, 0, 0, 0, 0,
2140 0, 0, 0, 16, 288, 17, 0, 19, 0, 289,
2141 290, 20, 0, 291, 292, 293, 21, 294, 295, 0,
2142 23, 0, 0, 0, 296, 297, 298, 299, 300, 26,
2143 0, 27, 302, 0, 0, 0, 303, 0, 0, 0,
2144 0, 0, 304, 0, 0, 305, 0, 0, 0, 0,
2145 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
2146 0, 309, 310, 311, 283, 8, 9, 10, 312, 12,
2147 499, 285, 286, 0, 287, 14, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 313, 0, 0, 0, 16,
2149 288, 17, 0, 19, 0, 289, 290, 20, 0, 291,
2150 292, 293, 21, 294, 295, 0, 23, 0, 0, 0,
2151 296, 297, 298, 299, 300, 26, 0, 27, 302, 0,
2152 0, 0, 303, 0, 0, 0, 0, 0, 304, 0,
2153 735, 305, 7, 8, 736, 10, 386, 12, 13, 306,
2154 307, 308, 0, 14, 0, 0, 0, 309, 310, 311,
2155 0, 0, 0, 0, 312, 0, 0, 16, 0, 17,
2156 18, 19, 0, 0, 0, 20, -508, 0, 0, 0,
2157 21, 313, 844, 0, 23, 737, 0, 646, 0, 0,
2158 0, 0, 0, 26, 0, 27, 28, 0, 0, 738,
2159 0, 739, 0, 0, 0, 0, 0, 0, 0, 30,
2160 735, 0, 7, 8, 736, 10, 386, 12, 13, 31,
2161 0, 0, 0, 14, 0, 0, 0, 32, 0, 0,
2162 0, 0, 33, 0, 0, 0, 0, 16, 0, 17,
2163 18, 19, 0, 0, 0, 20, -510, 0, -508, 0,
2164 21, 0, 0, 0, 23, 737, 0, 646, 0, 0,
2165 0, 0, 0, 26, 0, 27, 28, 0, 0, 738,
2166 0, 739, 0, 0, 0, 0, 0, 0, 0, 30,
2167 735, 0, 7, 8, 736, 10, 386, 12, 13, 31,
2168 0, 0, 0, 14, 0, 0, 0, 32, 0, 0,
2169 0, 0, 33, 0, 0, 0, 0, 16, 0, 17,
2170 18, 19, 0, 0, 0, 20, -509, 0, -510, 0,
2171 21, 0, 0, 0, 23, 737, 0, 646, 0, 0,
2172 0, 0, 0, 26, 0, 27, 28, 0, 0, 738,
2173 0, 739, 0, 0, 0, 0, 0, 0, 0, 30,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2175 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
2176 0, 0, 33, 0, 0, 1238, 1239, 1240, 10, 386,
2177 12, 284, 285, 286, 0, 287, 14, 1241, -509, 1242,
2178 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 15,
2179 16, 288, 17, 18, 19, 0, 289, 290, 20, 0,
2180 291, 292, 293, 21, 294, 295, 1252, 23, 1253, 0,
2181 0, 296, 297, 298, 299, 300, 26, 0, 1254, 302,
2182 679, 0, 1255, 303, 0, 0, 0, 0, 0, 304,
2183 0, 0, 305, 0, 0, 0, 0, 0, 0, 0,
2184 306, 307, 308, 0, 0, 0, 0, 0, 309, 310,
2185 311, 0, 0, 0, 0, 312, 0, 1256, 0, 0,
2186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187 0, 1383, 313, 1238, 1239, 1240, 10, 386, 12, 284,
2188 285, 286, 0, 287, 14, 1241, 0, 1242, 1243, 1244,
2189 1245, 1246, 1247, 1248, 1249, 1250, 1251, 15, 16, 288,
2190 17, 18, 19, 0, 289, 290, 20, 0, 291, 292,
2191 293, 21, 294, 295, 1252, 23, 1253, 0, 0, 296,
2192 297, 298, 299, 300, 26, 0, 1254, 302, 679, 0,
2193 1255, 303, 0, 0, 0, 0, 0, 304, 0, 0,
2194 305, 0, 0, 0, 0, 0, 0, 0, 306, 307,
2195 308, 0, 0, 0, 0, 0, 309, 310, 311, 0,
2196 0, 0, 0, 312, 0, 1256, 0, 1238, 1239, 1240,
2197 10, 386, 12, 284, 285, 286, 0, 287, 14, 1241,
2198 313, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250,
2199 1251, 15, 16, 288, 17, 18, 19, 0, 289, 290,
2200 20, 0, 291, 292, 293, 21, 294, 295, 1252, 23,
2201 1253, 0, 0, 296, 297, 298, 299, 300, 26, 0,
2202 1254, 302, 1504, 0, 1255, 303, 0, 0, 0, 0,
2203 0, 304, 0, 0, 305, 0, 0, 0, 0, 0,
2204 0, 0, 306, 307, 308, 0, 0, 0, 0, 0,
2205 309, 310, 311, 0, 0, 0, 0, 312, 0, 1256,
2206 0, 1238, 1239, 1240, 10, 386, 12, 284, 285, 286,
2207 0, 287, 14, 1241, 313, 1242, 1243, 1244, 1245, 1246,
2208 1247, 1248, 1249, 1250, 1251, 15, 16, 288, 17, 18,
2209 19, 0, 289, 290, 20, 0, 291, 292, 293, 21,
2210 294, 295, 1252, 23, 1253, 0, 0, 296, 297, 298,
2211 299, 300, 26, 0, 1254, 302, 0, 0, 1255, 303,
2212 0, 0, 0, 0, 0, 304, 0, 0, 305, 0,
2213 0, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2214 0, 0, 0, 0, 309, 310, 311, 0, 0, 0,
2215 0, 312, 0, 1256, 283, 8, 9, 10, 386, 12,
2216 284, 285, 286, 692, 287, 14, 0, 0, 313, 0,
2217 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2218 288, 17, 18, 19, 0, 289, 290, 20, 0, 291,
2219 292, 293, 21, 294, 295, 0, 23, 0, 583, 0,
2220 296, 297, 298, 299, 300, 26, 0, 27, 302, 0,
2221 0, 0, 303, 0, 0, 0, 0, 0, 304, 0,
2222 0, 872, 0, 0, 0, 0, 0, 0, 0, 306,
2223 307, 873, 0, 0, 0, 0, 0, 309, 310, 311,
2224 0, 586, 0, 0, 874, 588, 7, 8, 9, 10,
2225 386, 12, 284, 285, 286, 692, 287, 14, 0, 0,
2226 0, 313, 0, 0, 0, 0, 0, 0, 0, 0,
2227 0, 16, 288, 17, 18, 19, 0, 289, 290, 20,
2228 0, 291, 292, 293, 21, 294, 295, 0, 23, 0,
2229 583, 0, 296, 297, 298, 299, 300, 26, 0, 27,
2230 28, 0, 0, 0, 303, 0, 0, 0, 0, 0,
2231 304, 0, 0, 1138, 0, 0, 0, 0, 0, 0,
2232 0, 306, 307, 1139, 0, 0, 0, 0, 0, 309,
2233 310, 311, 0, 586, 0, 0, 1140, 588, 283, 8,
2234 9, 10, 0, 12, 284, 285, 286, 0, 287, 14,
2235 0, 0, 0, 313, 0, 0, 0, 0, 0, 0,
2236 0, 0, 0, 16, 288, 17, 0, 19, 0, 289,
2237 290, 20, 0, 291, 292, 293, 21, 294, 295, 0,
2238 23, 0, 583, 0, 296, 297, 298, 299, 300, 26,
2239 0, 27, 302, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 304, 0, 0, 872, 0, 0, 0, 0,
2241 0, 0, 0, 306, 307, 873, 0, 0, 0, 0,
2242 0, 309, 310, 311, 0, 586, 0, 0, 874, 588,
2243 7, 8, 9, 10, 0, 12, 284, 285, 286, 0,
2244 287, 14, 0, 0, 0, 313, 0, 0, 0, 0,
2245 0, 0, 0, 0, 0, 16, 288, 17, 0, 19,
2246 0, 289, 290, 20, 0, 291, 292, 293, 21, 294,
2247 295, 0, 23, 0, 583, 0, 296, 297, 298, 299,
2248 300, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 304, 0, 0, 1138, 0, 0,
2250 0, 0, 0, 0, 0, 306, 307, 1139, 0, 0,
2251 0, 0, 0, 309, 310, 311, 0, 586, 0, 0,
2252 1140, 588, 283, 8, 9, 10, 0, 12, 499, 285,
2253 286, 0, 287, 14, 0, 0, 0, 313, 0, 0,
2254 0, 0, 0, 0, 0, 0, 0, 16, 288, 17,
2255 0, 19, 0, 289, 290, 20, 0, 291, 292, 293,
2256 21, 294, 295, 0, 23, 0, 0, 0, 296, 297,
2257 298, 299, 300, 26, 0, 27, 302, 0, 0, 1356,
2258 303, 0, 0, 0, 0, 0, 304, 0, 0, 305,
2259 0, 0, 0, 0, 0, 0, 0, 306, 307, 308,
2260 0, 0, 0, 0, 0, 309, 310, 311, 0, 0,
2261 0, 0, 312, 283, 8, 9, 10, 386, 12, 284,
2262 285, 286, 0, 287, 14, 0, 0, 0, 0, 313,
2263 0, 0, 0, 0, 0, 0, 0, 0, 16, 288,
2264 17, 18, 19, 0, 289, 290, 20, 0, 291, 292,
2265 293, 21, 294, 295, 0, 23, 0, 0, 0, 296,
2266 297, 298, 299, 300, 26, 0, 27, 302, 0, 0,
2267 0, 0, 0, 0, 0, 0, 0, 304, 0, 0,
2268 305, 0, 0, 0, 0, 0, 0, 0, 306, 307,
2269 308, 0, 0, 0, 0, 0, 309, 310, 311, 283,
2270 8, 9, 10, 312, 12, 284, 285, 286, 0, 287,
2271 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 313, 0, 0, 0, 16, 288, 17, 0, 19, 0,
2273 289, 290, 20, 0, 291, 292, 293, 21, 294, 295,
2274 0, 23, 0, 0, 0, 296, 297, 298, 299, 300,
2275 26, 0, 301, 302, 0, 0, 0, 303, 0, 0,
2276 0, 0, 0, 304, 0, 0, 305, 0, 0, 0,
2277 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2278 0, 0, 309, 310, 311, 283, 8, 9, 10, 312,
2279 12, 284, 285, 286, 0, 287, 14, 0, 0, 0,
2280 0, 0, 0, 0, 0, 0, 313, 0, 0, 0,
2281 16, 288, 17, 0, 19, 0, 289, 290, 20, 0,
2282 291, 292, 293, 21, 294, 295, 0, 23, 0, 0,
2283 0, 296, 297, 298, 299, 300, 26, 0, 27, 302,
2284 0, 0, 0, 303, 0, 0, 0, 0, 0, 304,
2285 0, 0, 305, 0, 0, 0, 0, 0, 0, 0,
2286 306, 307, 308, 0, 0, 0, 0, 0, 309, 310,
2287 311, 283, 8, 9, 10, 312, 12, 499, 285, 286,
2288 0, 287, 14, 0, 0, 0, 0, 0, 0, 0,
2289 0, 0, 313, 0, 0, 0, 16, 288, 17, 0,
2290 19, 0, 289, 290, 20, 0, 291, 292, 293, 21,
2291 294, 295, 0, 23, 0, 0, 0, 296, 297, 298,
2292 299, 300, 26, 0, 27, 302, 0, 0, 0, 303,
2293 0, 0, 0, 0, 0, 304, 0, 0, 305, 0,
2294 0, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2295 0, 0, 0, 0, 309, 310, 311, 283, 8, 9,
2296 10, 312, 12, 499, 285, 286, 0, 287, 14, 0,
2297 0, 0, 0, 0, 0, 0, 0, 0, 313, 0,
2298 0, 0, 16, 288, 17, 0, 19, 0, 289, 290,
2299 20, 0, 291, 292, 293, 21, 294, 295, 0, 23,
2300 0, 0, 0, 296, 297, 298, 299, 300, 26, 0,
2301 27, 302, 532, 0, 0, 0, 0, 0, 0, 0,
2302 0, 304, 0, 0, 305, 0, 0, 0, 0, 0,
2303 0, 0, 306, 307, 308, 0, 0, 0, 0, 0,
2304 309, 310, 311, 283, 8, 9, 10, 533, 12, 499,
2305 285, 286, 0, 287, 14, 0, 0, 0, 0, 0,
2306 0, 0, 0, 0, 313, 0, 0, 0, 16, 288,
2307 17, 0, 19, 0, 289, 290, 20, 0, 291, 292,
2308 293, 21, 294, 295, 0, 23, 0, 0, 0, 296,
2309 297, 298, 299, 300, 26, 0, 27, 302, 0, 0,
2310 0, 0, 0, 0, 0, 0, 0, 304, 0, 0,
2311 305, 0, 0, 0, 0, 0, 0, 0, 306, 307,
2312 308, 0, 0, 0, 0, 0, 309, 310, 311, 0,
2313 0, 0, 0, 312, 571, 283, 8, 9, 10, 0,
2314 12, 499, 285, 286, 0, 287, 14, 0, 0, 0,
2315 313, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2316 16, 288, 17, 0, 19, 0, 289, 290, 20, 0,
2317 291, 292, 293, 21, 294, 295, 0, 23, 0, 0,
2318 0, 296, 297, 298, 299, 300, 26, 0, 27, 302,
2319 0, 0, 0, 303, 0, 0, 0, 0, 0, 304,
2320 0, 0, 518, 0, 0, 0, 0, 0, 0, 0,
2321 306, 307, 519, 0, 0, 0, 0, 0, 309, 310,
2322 311, 1099, 8, 9, 10, 520, 12, 499, 285, 286,
2323 0, 287, 14, 0, 0, 0, 0, 0, 0, 0,
2324 0, 0, 313, 0, 0, 0, 16, 288, 17, 0,
2325 19, 0, 289, 290, 20, 0, 291, 292, 293, 21,
2326 294, 295, 0, 23, 0, 0, 0, 296, 297, 298,
2327 299, 300, 26, 0, 27, 302, 0, 0, 0, 303,
2328 0, 0, 0, 0, 0, 304, 0, 0, 305, 0,
2329 0, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2330 0, 0, 0, 0, 309, 310, 311, 7, 8, 9,
2331 10, 312, 12, 499, 285, 286, 0, 287, 14, 0,
2332 0, 0, 0, 0, 0, 0, 0, 0, 313, 0,
2333 0, 0, 16, 288, 17, 0, 19, 0, 289, 290,
2334 20, 0, 291, 292, 293, 21, 294, 295, 0, 23,
2335 0, 0, 0, 296, 297, 298, 299, 300, 26, 0,
2336 27, 28, 0, 0, 0, 303, 0, 0, 0, 0,
2337 0, 304, 0, 0, 1446, 0, 0, 0, 0, 0,
2338 0, 0, 306, 307, 1447, 0, 0, 0, 0, 0,
2339 309, 310, 311, 283, 8, 9, 10, 1448, 12, 499,
2340 285, 286, 0, 287, 14, 0, 0, 0, 0, 0,
2341 0, 0, 0, 0, 313, 0, 0, 0, 16, 288,
2342 17, 0, 19, 0, 289, 290, 20, 0, 291, 292,
2343 293, 21, 294, 295, 0, 23, 0, 0, 0, 296,
2344 297, 298, 299, 300, 26, 0, 27, 302, 0, 0,
2345 0, 0, 0, 0, 0, 0, 0, 304, 0, 0,
2346 305, 0, 0, 0, 0, 0, 0, 0, 306, 307,
2347 308, 0, 0, 0, 0, 0, 309, 310, 311, 283,
2348 8, 9, 10, 500, 12, 499, 285, 286, 0, 287,
2349 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2350 313, 0, 0, 0, 16, 288, 17, 0, 19, 0,
2351 289, 290, 20, 0, 291, 292, 293, 21, 294, 295,
2352 0, 23, 0, 0, 0, 296, 297, 298, 299, 300,
2353 26, 0, 27, 302, 0, 0, 0, 0, 0, 0,
2354 0, 0, 0, 304, 0, 0, 305, 0, 0, 0,
2355 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2356 0, 0, 309, 310, 311, 283, 8, 9, 10, 503,
2357 12, 499, 285, 286, 0, 287, 14, 0, 0, 0,
2358 0, 0, 0, 0, 0, 0, 313, 0, 0, 0,
2359 16, 288, 17, 0, 19, 0, 289, 290, 20, 0,
2360 291, 292, 293, 21, 294, 295, 0, 23, 0, 0,
2361 0, 296, 297, 298, 299, 300, 26, 0, 27, 302,
2362 0, 0, 0, 0, 0, 0, 0, 0, 0, 304,
2363 0, 0, 305, 0, 0, 0, 0, 0, 0, 0,
2364 306, 307, 308, 0, 0, 0, 0, 0, 309, 310,
2365 311, 283, 8, 9, 10, 312, 12, 499, 285, 286,
2366 0, 287, 14, 0, 0, 0, 0, 0, 0, 0,
2367 0, 0, 313, 0, 0, 0, 16, 288, 17, 0,
2368 19, 0, 289, 290, 20, 0, 291, 292, 293, 21,
2369 294, 295, 0, 23, 0, 0, 0, 296, 297, 298,
2370 299, 300, 26, 0, 27, 302, 0, 0, 0, 0,
2371 0, 0, 0, 0, 0, 304, 0, 0, 518, 0,
2372 0, 0, 0, 0, 0, 0, 306, 307, 519, 0,
2373 0, 0, 0, 0, 309, 310, 311, 7, 8, 9,
2374 10, 520, 12, 284, 285, 286, 0, 287, 14, 0,
2375 0, 0, 0, 0, 0, 0, 0, 0, 313, 0,
2376 0, 0, 16, 288, 17, 0, 19, 0, 289, 290,
2377 20, 0, 291, 292, 293, 21, 294, 295, 0, 23,
2378 0, 0, 0, 296, 297, 298, 299, 300, 26, 0,
2379 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2380 0, 304, 0, 6, 1446, 7, 8, 9, 10, 11,
2381 12, 13, 306, 307, 1447, 0, 14, 0, 0, 0,
2382 309, 310, 311, 0, 0, 0, 0, 1448, 0, 15,
2383 16, 0, 17, 18, 19, 0, 0, 0, 20, 0,
2384 0, 0, 0, 21, 313, 0, 22, 23, 24, 0,
2385 25, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2386 0, 0, 29, 0, 0, 0, 0, 0, 0, 0,
2387 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
2388 0, 162, 31, 7, 8, 9, 10, 11, 12, 13,
2389 32, 0, 0, 0, 14, 33, 0, 0, 0, 0,
2390 34, 0, 0, 0, 0, 0, 0, 15, 16, 0,
2391 17, 18, 19, 0, 0, 0, 20, 0, 0, 0,
2392 0, 21, 0, 0, 22, 23, 24, 0, 25, 0,
2393 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2394 29, 0, 993, 8, 736, 10, 190, 12, 191, 0,
2395 30, 0, 0, 14, 0, 0, 0, 0, 0, 0,
2396 31, 0, 0, 0, 0, 0, 0, 16, 32, 17,
2397 18, 0, 0, 33, 0, 20, 0, 0, 34, 0,
2398 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2399 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
2400 0, 995, 0, 0, 0, 0, 0, 0, 0, 30,
2401 7, 8, 9, 10, 190, 12, 191, 0, 0, 31,
2402 0, 14, 0, 0, 0, 0, 0, 32, 0, 0,
2403 0, 0, 33, 0, 0, 16, 0, 17, 18, 0,
2404 0, 0, 0, 20, 0, 0, 0, 0, 21, 8,
2405 9, 0, 23, 12, 229, 0, 0, 0, 0, 14,
2406 0, 26, 0, 27, 28, 0, 0, 1373, 0, 0,
2407 0, 0, 0, 16, 0, 17, 0, 30, 0, 0,
2408 0, 20, 0, 0, 0, 0, 0, 31, 0, 0,
2409 23, 1430, 583, 0, 0, 32, 0, 0, 0, 26,
2410 33, 130, 131, 535, 536, 537, 538, 539, 540, 541,
2411 542, 543, 544, 545, 546, 584, 548, 549, 550, 551,
2412 552, 553, 554, 555, 556, 585, 0, 0, 0, 0,
2413 0, 0, 18, 0, 0, 586, 0, 0, 587, 588,
2414 0, 1431, 535, 536, 537, 538, 539, 540, 541, 542,
2415 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2416 553, 554, 555, 556, 535, 536, 537, 538, 539, 540,
2417 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2418 551, 552, 553, 554, 555, 556, 535, 536, 537, 538,
2419 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2420 549, 550, 551, 552, 553, 554, 555, 556, 543, 544,
2421 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2422 555, 556, 0, 0, 0, 0, 0, 624, 0, 0,
2423 1494, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2424 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2425 554, 555, 556, 1512, 535, 536, 537, 538, 539, 540,
2426 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2427 551, 552, 553, 554, 555, 556, 535, 536, 537, 538,
2428 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2429 549, 550, 551, 552, 553, 554, 555, 556
2432 static const short yycheck[] = { 4,
2433 55, 421, 80, 157, 4, 194, 677, 385, 147, 148,
2434 59, 385, 4, 4, 234, 14, 4, 339, 340, 332,
2435 23, 674, 126, 338, 469, 587, 338, 448, 385, 134,
2436 35, 4, 594, 833, 90, 35, 92, 42, 84, 530,
2437 567, 230, 42, 35, 35, 202, 203, 35, 133, 134,
2438 42, 42, 57, 657, 42, 62, 80, 30, 31, 664,
2439 356, 4, 35, 4, 142, 194, 124, 72, 46, 42,
2440 392, 393, 426, 225, 203, 1338, 133, 4, 1257, 84,
2441 740, 137, 742, 88, 83, 90, 54, 92, 11, 749,
2442 279, 757, 35, 1428, 35, 287, 288, 763, 76, 42,
2443 11, 42, 107, 108, 524, 1161, 1162, 106, 35, 1,
2444 188, 84, 12, 11, 57, 42, 1429, 1267, 338, 1175,
2445 1427, 1, 37, 59, 1274, 47, 1, 9, 320, 62,
2446 47, 136, 137, 0, 139, 54, 136, 0, 7, 62,
2447 33, 74, 74, 332, 136, 194, 60, 456, 3, 4,
2448 5, 59, 48, 202, 203, 74, 161, 84, 167, 59,
2449 1451, 161, 62, 136, 473, 1472, 58, 588, 37, 161,
2450 62, 93, 94, 109, 147, 148, 93, 94, 58, 61,
2451 1471, 230, 62, 58, 152, 108, 108, 47, 161, 502,
2452 197, 108, 47, 136, 109, 109, 1509, 108, 205, 54,
2453 108, 56, 57, 95, 870, 178, 179, 12, 108, 136,
2454 108, 3, 4, 5, 221, 95, 109, 185, 161, 1554,
2455 198, 245, 54, 3, 4, 5, 6, 47, 59, 60,
2456 279, 676, 231, 93, 161, 107, 108, 27, 93, 1530,
2457 38, 31, 74, 1299, 329, 47, 74, 25, 108, 1428,
2458 60, 1514, 1308, 1309, 59, 1311, 54, 62, 678, 64,
2459 414, 41, 1569, 1475, 56, 57, 12, 54, 48, 60,
2460 60, 376, 329, 93, 64, 280, 56, 57, 883, 325,
2461 58, 886, 1432, 332, 62, 341, 59, 74, 80, 611,
2462 647, 93, 607, 93, 9, 452, 453, 12, 58, 109,
2463 80, 440, 441, 460, 908, 832, 108, 312, 88, 59,
2464 368, 1523, 874, 59, 980, 472, 62, 95, 109, 109,
2465 325, 699, 927, 928, 453, 699, 992, 47, 333, 59,
2466 93, 1481, 47, 388, 491, 108, 341, 342, 98, 338,
2467 636, 390, 342, 54, 59, 75, 61, 62, 93, 64,
2468 342, 62, 325, 915, 4, 5, 576, 54, 108, 1025,
2469 75, 1027, 77, 74, 60, 59, 74, 4, 5, 342,
2470 47, 62, 9, 93, 94, 4, 5, 74, 93, 94,
2471 385, 1531, 695, 74, 389, 47, 4, 5, 108, 25,
2472 74, 27, 954, 108, 385, 3, 4, 5, 325, 342,
2473 1200, 1457, 1458, 452, 453, 93, 56, 57, 60, 416,
2474 47, 460, 385, 109, 108, 342, 93, 54, 107, 56,
2475 57, 912, 58, 472, 4, 5, 62, 56, 57, 434,
2476 48, 93, 94, 70, 3, 4, 5, 6, 56, 57,
2477 312, 497, 491, 80, 4, 60, 470, 47, 56, 57,
2478 871, 773, 459, 90, 47, 25, 93, 94, 385, 95,
2479 54, 434, 80, 47, 44, 470, 47, 440, 441, 54,
2480 470, 64, 41, 31, 54, 35, 56, 57, 470, 48,
2481 47, 835, 42, 64, 462, 1090, 1091, 56, 57, 74,
2482 107, 108, 497, 93, 94, 500, 47, 470, 503, 62,
2483 93, 94, 507, 508, 509, 510, 511, 434, 47, 93,
2484 94, 80, 93, 385, 54, 520, 1176, 58, 25, 88,
2485 27, 12, 568, 943, 47, 530, 93, 1327, 533, 470,
2486 47, 909, 637, 978, 74, 909, 27, 54, 74, 644,
2487 31, 64, 93, 470, 4, 5, 47, 8, 9, 9,
2488 1112, 58, 909, 14, 93, 62, 47, 74, 613, 644,
2489 717, 54, 434, 568, 879, 614, 109, 879, 59, 60,
2490 93, 62, 724, 64, 726, 36, 93, 47, 1140, 731,
2491 902, 58, 587, 639, 45, 25, 47, 27, 95, 594,
2492 59, 93, 93, 782, 54, 568, 56, 57, 653, 598,
2493 655, 656, 93, 94, 4, 5, 75, 656, 77, 58,
2494 70, 584, 585, 4, 587, 64, 47, 108, 58, 47,
2495 80, 594, 62, 93, 54, 3, 4, 5, 500, 47,
2496 734, 503, 93, 62, 639, 507, 508, 509, 510, 511,
2497 695, 568, 645, 1064, 35, 74, 695, 62, 520, 654,
2498 54, 42, 30, 658, 54, 95, 56, 57, 47, 879,
2499 587, 533, 93, 75, 47, 93, 47, 594, 717, 54,
2500 70, 47, 108, 676, 47, 93, 54, 1122, 56, 57,
2501 80, 54, 35, 47, 876, 3, 4, 5, 6, 42,
2502 1044, 1045, 747, 108, 699, 312, 33, 1019, 1020, 1021,
2503 108, 74, 758, 759, 93, 761, 54, 4, 5, 1154,
2504 93, 720, 93, 108, 62, 587, 740, 93, 742, 94,
2505 93, 44, 594, 41, 748, 749, 699, 4, 5, 93,
2506 48, 54, 9, 782, 57, 740, 108, 742, 56, 57,
2507 740, 47, 742, 748, 749, 754, 1059, 4, 740, 749,
2508 742, 48, 757, 758, 759, 54, 761, 749, 763, 56,
2509 57, 62, 80, 62, 11, 743, 744, 740, 109, 742,
2510 88, 93, 699, 446, 752, 74, 749, 54, 35, 56,
2511 57, 454, 1136, 80, 757, 42, 54, 93, 4, 5,
2512 763, 1145, 1146, 70, 62, 3, 1150, 1060, 1061, 740,
2513 1063, 742, 47, 80, 747, 748, 74, 108, 749, 54,
2514 147, 148, 149, 740, 431, 742, 60, 94, 25, 111,
2515 27, 427, 749, 975, 976, 977, 831, 699, 434, 74,
2516 757, 836, 94, 62, 59, 27, 763, 1191, 54, 31,
2517 56, 57, 920, 180, 1497, 74, 1517, 62, 93, 74,
2518 75, 58, 77, 94, 70, 62, 59, 60, 59, 864,
2519 111, 4, 5, 64, 80, 870, 93, 59, 60, 874,
2520 3, 4, 5, 6, 75, 75, 54, 77, 94, 93,
2521 879, 4, 5, 500, 62, 757, 503, 74, 95, 1211,
2522 507, 763, 498, 770, 771, 772, 74, 870, 27, 872,
2523 873, 874, 31, 520, 909, 48, 911, 912, 41, 1264,
2524 915, 1266, 74, 56, 57, 88, 533, 90, 909, 92,
2525 537, 54, 74, 56, 57, 48, 1004, 74, 983, 1349,
2526 59, 60, 1286, 56, 57, 64, 909, 80, 59, 47,
2527 913, 914, 915, 870, 11, 1365, 109, 874, 565, 954,
2528 59, 60, 558, 1266, 571, 88, 59, 80, 564, 831,
2529 59, 60, 967, 108, 137, 54, 139, 108, 973, 108,
2530 1324, 1110, 1111, 83, 84, 980, 985, 986, 86, 87,
2531 1004, 954, 909, 91, 92, 93, 94, 992, 915, 59,
2532 60, 1015, 864, 54, 108, 601, 74, 33, 870, 1138,
2533 1139, 62, 874, 4, 5, 1014, 54, 980, 59, 60,
2534 1015, 108, 1068, 74, 62, 1015, 4, 5, 996, 992,
2535 1025, 109, 1027, 1015, 1002, 1003, 74, 954, 1006, 1007,
2536 109, 1451, 1010, 4, 5, 111, 1114, 909, 111, 911,
2537 983, 27, 1015, 915, 4, 5, 108, 48, 59, 60,
2538 1055, 1471, 1025, 980, 1027, 56, 57, 74, 74, 54,
2539 48, 74, 111, 1068, 111, 992, 108, 108, 56, 57,
2540 3, 4, 5, 108, 1015, 58, 108, 48, 54, 80,
2541 1500, 8, 954, 111, 93, 56, 57, 1465, 1015, 47,
2542 64, 1465, 80, 59, 54, 967, 56, 57, 1025, 93,
2543 1027, 973, 109, 440, 441, 442, 54, 1112, 980, 60,
2544 1530, 147, 148, 149, 36, 64, 108, 64, 1538, 1122,
2545 992, 54, 64, 56, 57, 58, 8, 9, 1133, 60,
2546 303, 108, 14, 62, 64, 1140, 108, 1110, 1111, 1112,
2547 108, 1133, 111, 108, 180, 1133, 64, 64, 1172, 93,
2548 59, 62, 1176, 1025, 36, 1027, 1469, 62, 1167, 1168,
2549 1133, 1170, 1171, 45, 1173, 1138, 1139, 1140, 341, 4,
2550 5, 1176, 108, 8, 9, 75, 1176, 75, 75, 14,
2551 108, 75, 108, 1055, 1176, 1112, 62, 108, 3, 4,
2552 5, 6, 1133, 28, 108, 30, 108, 3, 4, 5,
2553 108, 36, 59, 1176, 33, 1559, 1133, 108, 62, 1264,
2554 45, 1266, 108, 1140, 94, 108, 111, 1266, 88, 54,
2555 111, 56, 57, 840, 830, 831, 41, 74, 47, 108,
2556 836, 108, 60, 48, 59, 1176, 111, 111, 109, 108,
2557 1112, 56, 57, 108, 850, 108, 852, 108, 854, 1176,
2558 56, 57, 1257, 426, 427, 64, 109, 874, 93, 64,
2559 1265, 434, 1267, 59, 59, 1257, 108, 108, 1140, 1274,
2560 93, 93, 93, 88, 108, 1267, 93, 109, 1283, 1267,
2561 1469, 108, 1274, 109, 1257, 8, 1274, 1296, 1297, 1443,
2562 108, 897, 108, 33, 1267, 3, 4, 5, 111, 111,
2563 108, 1274, 109, 7, 8, 9, 108, 1446, 1447, 108,
2564 14, 80, 81, 82, 83, 84, 1257, 108, 108, 148,
2565 149, 108, 108, 108, 497, 498, 1267, 31, 1306, 1307,
2566 1257, 937, 36, 1274, 108, 64, 3, 4, 5, 54,
2567 1267, 45, 108, 108, 108, 62, 47, 1274, 56, 57,
2568 58, 180, 111, 108, 108, 108, 973, 530, 96, 532,
2569 62, 60, 535, 536, 62, 538, 539, 540, 541, 542,
2570 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2571 553, 554, 555, 556, 60, 558, 1395, 1396, 1397, 56,
2572 57, 564, 9, 16, 3, 4, 5, 1375, 7, 8,
2573 9, 60, 108, 108, 440, 441, 442, 93, 3, 4,
2574 5, 1283, 108, 108, 108, 1470, 108, 1422, 93, 60,
2575 1469, 594, 1427, 1428, 1429, 60, 64, 1432, 601, 54,
2576 93, 111, 93, 17, 60, 1427, 1428, 107, 54, 1427,
2577 1432, 97, 108, 1448, 1432, 1454, 1455, 56, 57, 1422,
2578 623, 624, 60, 80, 1427, 1428, 1429, 108, 108, 1432,
2579 1465, 56, 57, 3, 4, 5, 639, 1472, 108, 11,
2580 60, 60, 60, 1446, 1447, 93, 1481, 104, 59, 64,
2581 1472, 60, 11, 312, 1472, 60, 1427, 1428, 108, 1481,
2582 11, 1432, 1465, 1481, 108, 1422, 108, 60, 0, 1472,
2583 1427, 1428, 1429, 0, 1509, 1432, 133, 0, 1481, 413,
2584 683, 2, 1363, 1522, 54, 142, 56, 57, 1124, 637,
2585 1126, 909, 1128, 1140, 1502, 161, 1531, 1496, 161, 748,
2586 1122, 1472, 94, 139, 1348, 1569, 1509, 1201, 1465, 1531,
2587 1481, 282, 1265, 1531, 895, 1472, 3, 4, 5, 683,
2588 7, 8, 9, 224, 1481, 890, 1154, 978, 1531, 1015,
2589 748, 188, 1174, 620, 1569, 568, 739, 3, 4, 5,
2590 1187, 1188, 1189, 1190, 31, 14, 1448, 1569, 915, 36,
2591 888, 1569, 1509, 22, 185, 758, 759, 329, 761, 124,
2592 1531, 1267, 1134, 1465, 1538, 222, 1569, 54, 1486, 56,
2593 57, 58, 1548, 776, 1531, 1517, 3, 4, 5, 6,
2594 1550, 1283, 441, 442, 4, 962, 1222, 954, 245, -1,
2595 56, 57, -1, -1, 14, 798, 65, -1, 1569, -1,
2596 3, 4, 5, 1250, 24, 3, 4, 5, 6, -1,
2597 30, 31, 1569, 33, 41, 35, 103, 104, 105, -1,
2598 -1, -1, 42, -1, -1, -1, -1, 830, 831, 56,
2599 57, -1, 835, 836, -1, 55, -1, 57, 3, 4,
2600 5, 500, -1, 41, 503, 65, -1, 850, -1, 852,
2601 -1, 854, 72, 56, 57, 124, 54, -1, 56, 57,
2602 519, 520, 60, 83, 84, 3, 4, 5, 6, -1,
2603 -1, -1, 70, -1, 533, -1, -1, 146, 1325, -1,
2604 337, 385, 80, 48, 887, -1, 106, -1, -1, -1,
2605 88, 56, 57, -1, 897, 93, -1, -1, -1, -1,
2606 -1, 715, -1, 41, -1, -1, -1, -1, -1, 912,
2607 48, 1358, -1, -1, 134, -1, 136, -1, 56, 57,
2608 140, -1, 925, 143, 144, -1, -1, 147, 148, 149,
2609 434, 3, 4, 5, 937, 594, -1, -1, 395, -1,
2610 -1, 161, 756, 1110, 1111, 1112, -1, -1, 762, -1,
2611 88, 954, -1, 222, 223, -1, -1, -1, 178, 179,
2612 180, 3, 4, 5, 6, 234, -1, 3, 4, 5,
2613 6, 1138, 1139, 1140, -1, 1422, 48, 3, 4, 5,
2614 -1, 1428, 1429, -1, 56, 57, -1, 207, -1, -1,
2615 -1, -1, 995, -1, 3, 4, 5, 6, -1, 41,
2616 -1, 1448, -1, 223, -1, 41, 48, -1, -1, -1,
2617 467, 231, -1, -1, 56, 57, -1, -1, 54, -1,
2618 56, 57, 242, -1, 60, -1, 62, -1, 54, -1,
2619 56, 57, 41, -1, 70, 304, -1, 494, 80, 48,
2620 -1, 1044, 1045, -1, 80, 1048, 88, 56, 57, 915,
2621 -1, 865, 88, 867, -1, -1, -1, 93, -1, -1,
2622 280, 281, 1509, -1, -1, 1068, -1, -1, 7, 8,
2623 9, 80, -1, -1, -1, 14, -1, 346, 1525, 88,
2624 -1, -1, -1, 587, 4, 5, 355, -1, 954, 9,
2625 594, -1, 31, -1, -1, -1, -1, 36, -1, 368,
2626 1547, -1, -1, -1, -1, 325, 45, 1554, -1, 329,
2627 -1, 331, 332, 333, -1, -1, -1, 776, -1, -1,
2628 -1, 1124, 342, 1126, 581, 1128, -1, 47, -1, 289,
2629 290, -1, -1, 1136, 54, -1, 56, 57, -1, -1,
2630 597, -1, 1145, 1146, -1, 305, -1, 1150, 308, -1,
2631 70, 311, -1, -1, 314, -1, 376, -1, 318, -1,
2632 80, -1, 1165, 1166, -1, 385, 326, -1, 388, 389,
2633 90, -1, -1, 93, 94, 3, 4, 5, 6, 399,
2634 -1, -1, 402, -1, -1, -1, -1, 407, 1191, -1,
2635 -1, -1, -1, -1, -1, 699, -1, -1, 467, -1,
2636 -1, 3, 4, 5, 6, -1, -1, -1, -1, 1376,
2637 1024, -1, 1026, 41, 873, 874, 436, -1, 438, 1222,
2638 440, 441, 442, -1, -1, -1, 446, -1, 56, 57,
2639 82, 451, -1, -1, 454, -1, 38, 39, -1, 41,
2640 -1, -1, -1, 1246, 1110, 1111, 1112, -1, -1, -1,
2641 470, -1, 54, 757, 56, 57, 915, -1, -1, 763,
2642 88, -1, -1, 532, -1, 4, 5, 1081, -1, 8,
2643 9, -1, 1138, 1139, 1140, 14, -1, -1, -1, 1446,
2644 1447, 1448, -1, 1286, -1, -1, -1, -1, 508, 509,
2645 510, 511, 3, 4, 5, 954, 7, 36, -1, 1302,
2646 -1, -1, -1, 155, -1, -1, 45, 576, 47, -1,
2647 -1, -1, -1, -1, -1, 54, -1, 56, 57, 30,
2648 -1, 1324, -1, -1, 176, -1, 37, -1, 3, 4,
2649 5, 70, 7, 8, 9, -1, -1, 189, -1, -1,
2650 -1, 80, -1, 54, 1158, 56, 57, -1, 568, 1163,
2651 570, 90, -1, -1, 93, 94, 31, -1, 518, 519,
2652 -1, 36, 582, -1, 584, 585, 870, 587, -1, -1,
2653 874, -1, -1, 1376, 594, -1, 645, -1, 598, -1,
2654 -1, 56, 57, -1, -1, -1, -1, -1, 657, -1,
2655 1393, 1394, -1, 613, -1, -1, -1, -1, -1, 1402,
2656 -1, 1215, -1, -1, -1, 909, -1, 3, 4, 5,
2657 6, 915, -1, 9, 683, 4, 5, 637, -1, 8,
2658 9, 878, -1, 880, 644, 14, -1, 1430, -1, -1,
2659 -1, -1, -1, 653, 654, 655, 656, 657, 658, 28,
2660 -1, 30, -1, -1, -1, 41, -1, 36, -1, -1,
2661 954, 47, 1111, 1112, -1, -1, 45, -1, 54, -1,
2662 56, 57, -1, 920, -1, 54, -1, 56, 57, 58,
2663 -1, -1, -1, -1, 70, 695, 980, -1, -1, 699,
2664 1139, 1140, -1, -1, 80, -1, 706, 707, 992, 709,
2665 -1, -1, 88, -1, 90, -1, -1, 93, 94, -1,
2666 -1, 1315, 1316, -1, 93, -1, 3, 4, 5, 6,
2667 1376, -1, 9, -1, -1, -1, -1, 737, 1332, -1,
2668 740, 1025, 742, 1027, -1, -1, -1, 747, 748, 749,
2669 -1, -1, -1, 3, 4, 5, 6, 757, -1, 9,
2670 -1, -1, -1, 763, 41, -1, -1, 1004, -1, -1,
2671 770, 771, 772, -1, -1, -1, 1559, 54, -1, 56,
2672 57, -1, 782, 78, 79, 80, 81, 82, 83, 84,
2673 -1, 41, -1, 70, 1388, 1389, -1, 47, -1, -1,
2674 1446, 1447, 1448, 80, 54, -1, 56, 57, -1, -1,
2675 -1, 88, 444, 1407, 1408, -1, 93, 449, -1, -1,
2676 70, -1, -1, -1, -1, -1, -1, -1, 1112, -1,
2677 80, -1, 4, 5, 178, 179, 180, 9, 88, -1,
2678 90, -1, 474, 93, 94, -1, 895, -1, 480, -1,
2679 1087, -1, -1, 4, 5, 855, 1140, 857, -1, 908,
2680 492, 493, -1, 495, 864, -1, -1, -1, 868, -1,
2681 870, -1, 872, 873, 874, 47, -1, 1114, -1, 879,
2682 -1, -1, 54, -1, 56, 57, -1, -1, 7, 8,
2683 9, -1, -1, -1, -1, 14, 47, -1, 70, -1,
2684 -1, -1, -1, 54, 844, 56, 57, -1, 80, 909,
2685 -1, 911, 31, 913, 914, 915, -1, 36, 90, 70,
2686 -1, 93, 94, 7, 8, 9, 45, -1, -1, 80,
2687 14, -1, 872, 873, -1, 1172, -1, 1376, -1, 90,
2688 -1, 60, 93, 94, -1, -1, 4, 31, -1, -1,
2689 -1, -1, 36, -1, 954, -1, 14, -1, 590, 591,
2690 -1, 45, -1, 595, -1, 23, 24, 967, -1, -1,
2691 -1, -1, 30, 31, -1, 33, 60, 35, -1, -1,
2692 980, -1, -1, 983, 42, 3, 4, 5, 6, -1,
2693 -1, 9, 992, -1, -1, -1, 1045, 55, -1, 57,
2694 -1, -1, -1, -1, -1, 1005, -1, 65, 1447, 1448,
2695 -1, -1, -1, -1, 72, 1015, -1, -1, -1, -1,
2696 57, -1, 59, 41, -1, 1025, 84, 1027, 65, 47,
2697 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2698 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2699 83, 84, 70, -1, -1, 1055, -1, -1, -1, -1,
2700 1060, 1061, 80, 1063, -1, -1, -1, -1, -1, -1,
2701 88, -1, 90, -1, -1, 93, 94, -1, 136, -1,
2702 -1, 1130, 140, -1, -1, -1, 144, 1136, -1, 147,
2703 148, 149, 436, -1, 438, -1, 440, 441, 442, -1,
2704 -1, -1, -1, 161, -1, -1, -1, 451, 1108, 1109,
2705 1110, 1111, 1112, -1, -1, -1, 1116, -1, -1, -1,
2706 178, 179, 180, -1, -1, -1, 1066, -1, -1, -1,
2707 167, -1, 764, -1, 766, -1, -1, -1, 1138, 1139,
2708 1140, -1, 3, 4, 5, 6, -1, -1, -1, 207,
2709 -1, -1, -1, -1, -1, -1, -1, 194, -1, -1,
2710 -1, -1, -1, -1, -1, 202, 203, -1, -1, 1169,
2711 -1, -1, -1, -1, 1174, -1, 1176, -1, -1, -1,
2712 41, 1465, -1, -1, 242, -1, -1, 48, -1, -1,
2713 -1, -1, -1, -1, -1, 56, 57, -1, 1138, 1139,
2714 -1, -1, 1251, 1252, -1, -1, 838, 839, -1, 841,
2715 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2716 -1, -1, 280, 281, -1, 1225, 1226, 88, 1228, -1,
2717 -1, -1, -1, -1, -1, -1, -1, 869, -1, -1,
2718 -1, -1, -1, -1, 3, 4, 5, 6, 3, 4,
2719 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2720 -1, -1, -1, -1, 1264, 1265, 1266, 325, -1, -1,
2721 -1, 329, -1, 331, 332, 333, 31, -1, -1, -1,
2722 338, 36, 41, 1283, 342, 917, 41, -1, -1, -1,
2723 45, 1340, 47, 427, -1, 54, -1, 56, 57, 54,
2724 434, 56, 57, 62, 3, 4, 5, 6, -1, -1,
2725 9, 70, -1, 1362, 1363, 70, -1, 1257, 376, -1,
2726 -1, 80, -1, -1, -1, 80, -1, 385, -1, 88,
2727 388, 389, -1, 88, 93, 90, -1, -1, 93, 94,
2728 -1, 399, 41, -1, 402, -1, -1, 979, -1, 407,
2729 -1, -1, 389, 390, -1, 54, -1, 56, 57, 991,
2730 -1, -1, 706, 707, 498, 709, -1, -1, -1, -1,
2731 -1, 70, -1, -1, -1, -1, 1376, -1, 436, -1,
2732 438, 80, 440, 441, 442, -1, -1, -1, 446, 88,
2733 -1, 1440, -1, 451, 93, -1, 454, -1, -1, -1,
2734 -1, -1, 1, 747, 3, 4, 5, 6, 445, 8,
2735 -1, 469, 470, -1, -1, 452, 453, -1, -1, 456,
2736 -1, -1, -1, 460, 558, -1, -1, -1, -1, -1,
2737 564, -1, -1, -1, -1, -1, 473, -1, -1, -1,
2738 -1, -1, 41, -1, 1076, -1, 1446, 1447, 1448, 48,
2739 508, 509, 510, 511, -1, 54, -1, 56, 57, -1,
2740 594, -1, -1, -1, -1, 1465, -1, 601, -1, 1,
2741 1470, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2742 -1, -1, 14, 1115, -1, -1, -1, -1, -1, 88,
2743 -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
2744 32, -1, -1, -1, 36, -1, 1446, 1447, -1, 41,
2745 568, -1, 570, 45, 46, -1, 48, -1, -1, -1,
2746 -1, -1, 54, -1, 56, 57, 584, 585, 60, 587,
2747 62, -1, -1, -1, -1, -1, 594, -1, 70, -1,
2748 -1, -1, -1, -1, -1, -1, 1178, -1, 80, 607,
2749 1182, -1, -1, -1, -1, 613, 88, -1, -1, -1,
2750 -1, 93, 4, 5, -1, 7, 8, 9, -1, 913,
2751 914, 915, 14, -1, -1, -1, -1, 614, -1, 637,
2752 -1, -1, -1, -1, -1, 1217, 28, 645, 30, 31,
2753 -1, -1, -1, -1, 36, 653, 654, 655, 656, 657,
2754 658, -1, -1, 45, -1, -1, 48, -1, -1, -1,
2755 954, -1, 54, -1, 56, 57, -1, 654, 676, 656,
2756 657, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2757 -1, 14, -1, -1, -1, -1, -1, 695, -1, 983,
2758 -1, 699, 776, -1, -1, 28, -1, 30, 706, 707,
2759 -1, 709, -1, 36, -1, -1, -1, -1, 695, 1291,
2760 -1, -1, 45, 1295, -1, -1, -1, -1, -1, -1,
2761 -1, 54, -1, 56, 57, -1, -1, -1, -1, 737,
2762 717, -1, 740, 720, 742, 1317, 1318, -1, -1, 747,
2763 748, 749, -1, -1, -1, -1, 830, 831, -1, 757,
2764 -1, -1, 836, 4, -1, 763, -1, -1, -1, -1,
2765 -1, 748, 770, 771, 772, -1, 850, 754, 852, -1,
2766 854, 331, 332, 333, 782, -1, -1, -1, -1, 30,
2767 31, -1, 33, -1, 35, -1, -1, -1, -1, -1,
2768 -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
2769 -1, -1, -1, -1, 55, -1, 57, -1, -1, -1,
2770 -1, -1, -1, 897, 1108, 1109, 1110, 1111, 1112, -1,
2771 -1, -1, 1116, -1, -1, -1, 4, 5, -1, 80,
2772 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2773 -1, -1, -1, -1, 1138, 1139, 1140, 855, -1, 857,
2774 28, -1, 30, 937, -1, -1, 864, -1, 36, -1,
2775 868, -1, 870, -1, 872, 873, 874, 45, -1, -1,
2776 954, 879, -1, -1, -1, 1169, 54, -1, 56, 57,
2777 -1, -1, 133, 134, -1, 136, -1, -1, -1, 140,
2778 -1, 142, -1, 144, -1, -1, 147, 148, 149, -1,
2779 -1, 909, -1, 911, -1, 913, 914, 915, -1, -1,
2780 161, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2781 -1, 908, 14, 3, 4, 5, 6, 178, 179, 180,
2782 -1, 1225, 1226, -1, 1228, -1, 28, 188, 30, 31,
2783 -1, -1, -1, -1, 36, -1, 954, -1, -1, 41,
2784 -1, -1, -1, 45, -1, -1, 207, -1, -1, 967,
2785 -1, 41, 54, -1, 56, 57, -1, 47, 60, -1,
2786 978, -1, 980, -1, 54, 983, 56, 57, 70, -1,
2787 -1, -1, -1, -1, 992, -1, -1, -1, 80, -1,
2788 70, 242, -1, -1, -1, -1, 88, -1, 985, 986,
2789 80, 93, -1, -1, -1, -1, -1, 1015, 88, -1,
2790 90, -1, -1, 93, 94, -1, -1, 1025, -1, 1027,
2791 331, 332, 333, -1, 584, 585, -1, 1014, -1, -1,
2792 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
2793 1124, 14, 1126, -1, 1128, -1, -1, 1055, -1, -1,
2794 -1, -1, 1060, 1061, -1, 1063, -1, -1, 31, -1,
2795 -1, 312, -1, 36, -1, -1, -1, -1, 41, -1,
2796 -1, -1, 45, -1, 47, -1, -1, -1, 329, -1,
2797 -1, 54, 1376, 56, 57, -1, 337, -1, -1, -1,
2798 -1, 342, -1, 653, -1, 655, 656, 70, 658, -1,
2799 1108, 1109, 1110, 1111, 1112, -1, -1, 80, 1116, -1,
2800 -1, -1, -1, -1, 1122, 88, -1, 90, -1, -1,
2801 93, 94, -1, -1, -1, 376, -1, -1, -1, -1,
2802 1138, 1139, 1140, -1, -1, 695, -1, 388, 1222, -1,
2803 -1, -1, -1, -1, -1, -1, 1154, -1, 399, -1,
2804 -1, 402, 1446, 1447, 1448, -1, 407, -1, -1, -1,
2805 -1, 1169, -1, -1, -1, -1, 1174, -1, 1176, -1,
2806 3, 4, 5, 6, -1, -1, 9, -1, -1, -1,
2807 1167, 1168, -1, 1170, 1171, 436, 1173, 438, -1, 440,
2808 441, 442, -1, -1, -1, 446, -1, -1, -1, -1,
2809 451, 4, 5, 454, 7, 8, 9, -1, 41, 12,
2810 -1, 14, -1, -1, -1, -1, -1, 1225, 1226, 470,
2811 1228, 54, 782, 56, 57, 28, -1, 30, 31, -1,
2812 -1, -1, -1, 36, -1, -1, -1, 70, -1, -1,
2813 -1, -1, 45, -1, -1, 1253, -1, 80, -1, 500,
2814 -1, 54, 503, 56, 57, 88, 1264, 1265, 1266, -1,
2815 93, -1, -1, -1, -1, -1, -1, 518, 519, 520,
2816 -1, -1, -1, 584, 585, 1283, 587, -1, 1265, 1266,
2817 -1, -1, 533, 594, -1, -1, -1, -1, -1, -1,
2818 -1, -1, 1376, -1, -1, 855, -1, 857, -1, -1,
2819 -1, -1, -1, -1, -1, -1, -1, -1, 868, 1296,
2820 1297, -1, 872, 873, 69, 70, 71, 72, 73, 74,
2821 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2822 581, -1, -1, -1, 3, 4, 5, 6, 4, -1,
2823 9, -1, 653, 594, 655, 656, -1, 658, -1, -1,
2824 -1, -1, -1, 913, 914, -1, -1, -1, -1, -1,
2825 -1, -1, 613, -1, 30, 31, -1, 33, 1376, 35,
2826 -1, -1, 41, -1, -1, -1, 42, -1, 47, -1,
2827 -1, -1, -1, -1, 695, 54, 637, 56, 57, 55,
2828 -1, 57, -1, 644, -1, -1, -1, -1, -1, -1,
2829 -1, 70, 653, 654, 655, 656, -1, -1, 1395, 1396,
2830 1397, 80, -1, -1, -1, -1, -1, -1, -1, 88,
2831 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
2832 -1, -1, 9, -1, -1, -1, -1, -1, 1446, 1447,
2833 1448, -1, -1, -1, 695, -1, -1, -1, 699, -1,
2834 -1, -1, -1, -1, -1, 706, 707, 1465, 709, -1,
2835 -1, -1, 1470, -1, 41, -1, -1, 1454, 1455, -1,
2836 136, 782, -1, -1, 140, -1, -1, 54, 144, 56,
2837 57, 147, 148, 149, -1, -1, -1, -1, -1, 740,
2838 -1, 742, -1, 70, -1, 161, 747, 748, 749, -1,
2839 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2840 -1, 88, 178, 179, 180, -1, 93, -1, -1, -1,
2841 -1, -1, -1, -1, -1, 776, -1, -1, -1, -1,
2842 -1, -1, -1, -1, -1, 1522, -1, -1, -1, -1,
2843 -1, 207, -1, -1, 855, -1, 857, -1, 1108, 1109,
2844 1110, 1111, -1, -1, -1, -1, 1116, 868, -1, -1,
2845 -1, 872, 873, 874, -1, -1, -1, -1, -1, -1,
2846 -1, -1, -1, -1, -1, -1, 242, -1, 1138, 1139,
2847 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2848 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2849 83, 84, 913, 914, 915, -1, 3, 4, 5, 6,
2850 7, 8, 9, -1, -1, 12, -1, 14, -1, -1,
2851 -1, 872, 873, 874, -1, -1, -1, 878, 111, -1,
2852 -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
2853 -1, -1, -1, 954, 41, -1, -1, -1, 45, -1,
2854 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
2855 57, -1, 913, 914, 915, 1225, 1226, -1, 1228, 920,
2856 -1, -1, 338, 70, -1, -1, 342, -1, -1, -1,
2857 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2858 -1, 88, -1, 90, -1, -1, 93, 94, -1, -1,
2859 -1, -1, -1, 954, -1, -1, 3, 4, 5, 6,
2860 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2861 -1, -1, 388, -1, -1, -1, -1, -1, -1, -1,
2862 -1, -1, 983, 399, 31, -1, 402, -1, -1, 36,
2863 -1, 407, -1, -1, 41, -1, -1, -1, 45, -1,
2864 47, -1, -1, 1004, -1, -1, -1, 54, -1, 56,
2865 57, -1, 33, -1, 1015, -1, -1, -1, -1, -1,
2866 436, -1, 438, 70, 440, 441, 442, -1, -1, -1,
2867 446, -1, -1, 80, 55, 451, -1, -1, 454, -1,
2868 -1, 88, -1, -1, -1, -1, 93, 1108, 1109, 1110,
2869 1111, 1112, -1, -1, 470, 1116, -1, -1, -1, -1,
2870 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
2871 -1, -1, 12, -1, 14, -1, -1, 1138, 1139, 1140,
2872 -1, -1, -1, -1, -1, -1, 1087, -1, 28, -1,
2873 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
2874 -1, 41, -1, -1, -1, 45, -1, 1108, 1109, 1110,
2875 1111, 1112, -1, 1114, 54, 1116, 56, 57, 3, 4,
2876 5, 6, 7, 8, 9, -1, 147, 148, 149, 14,
2877 70, -1, -1, -1, -1, -1, -1, 1138, 1139, 1140,
2878 80, -1, -1, 28, -1, 30, 31, -1, 88, -1,
2879 -1, 36, -1, 93, -1, -1, 41, 178, 179, 180,
2880 45, -1, 47, -1, 1225, 1226, 582, 1228, 1169, 54,
2881 -1, 56, 57, 1174, -1, 1176, -1, 3, 4, 5,
2882 6, -1, -1, 9, -1, 70, 207, -1, -1, -1,
2883 -1, -1, -1, -1, -1, 80, -1, 613, -1, -1,
2884 -1, -1, -1, 88, 55, 90, -1, -1, 93, 94,
2885 -1, -1, -1, -1, -1, 41, -1, -1, -1, -1,
2886 -1, 4, -1, -1, 1225, 1226, -1, 1228, 54, 80,
2887 56, 57, 83, -1, -1, -1, -1, 653, 654, 655,
2888 656, -1, -1, -1, 70, -1, -1, 30, 31, -1,
2889 -1, -1, 35, 104, 80, 106, -1, -1, -1, 42,
2890 281, -1, 88, 1264, 1265, 1266, -1, 93, -1, -1,
2891 -1, -1, -1, -1, 57, -1, -1, -1, -1, 695,
2892 -1, -1, -1, 699, -1, -1, -1, -1, -1, -1,
2893 706, 707, -1, 709, 70, 71, 72, 73, 74, 75,
2894 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2895 331, 332, 333, -1, -1, -1, -1, -1, -1, -1,
2896 3, 4, 5, 6, 740, -1, 742, 178, 179, 180,
2897 -1, 747, 748, 749, -1, -1, -1, 188, 4, 5,
2898 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2899 -1, -1, -1, 136, -1, -1, 207, 140, 41, -1,
2900 -1, 144, 28, -1, 30, 31, -1, 388, -1, -1,
2901 36, 54, -1, 56, 57, 1376, -1, 60, 161, 45,
2902 231, 47, -1, -1, -1, -1, -1, 70, 54, -1,
2903 56, 57, -1, -1, 245, 178, 179, 80, -1, -1,
2904 -1, -1, -1, -1, 70, 88, -1, -1, -1, -1,
2905 93, -1, -1, -1, 80, 436, -1, 438, -1, 440,
2906 441, 442, -1, -1, 90, 446, -1, 93, 94, -1,
2907 451, -1, -1, 454, -1, 1, -1, 3, 4, 5,
2908 6, 7, 8, 9, -1, 1446, 1447, 1448, 14, -1,
2909 -1, -1, -1, -1, 3, 4, 5, 6, -1, 242,
2910 9, -1, 28, 879, 30, 31, 32, -1, -1, 1470,
2911 36, 37, -1, -1, -1, 41, -1, -1, -1, 45,
2912 46, -1, 48, -1, -1, -1, 337, 338, 54, -1,
2913 56, 57, 41, -1, 60, -1, 62, 913, 914, 915,
2914 -1, -1, -1, -1, 70, 54, -1, 56, 57, -1,
2915 -1, -1, -1, -1, 80, -1, -1, 3, 4, 5,
2916 6, 70, 88, 9, -1, -1, -1, 93, -1, -1,
2917 -1, 80, -1, -1, -1, -1, -1, 388, 954, 88,
2918 -1, -1, -1, 109, 93, -1, -1, -1, -1, 570,
2919 -1, -1, -1, -1, -1, 41, -1, -1, -1, 342,
2920 -1, -1, -1, 584, 585, -1, 587, 983, 54, -1,
2921 56, 57, -1, 594, 3, 4, 5, 6, -1, -1,
2922 9, -1, -1, -1, 70, 436, -1, 438, -1, 440,
2923 441, 442, 613, -1, 80, 446, -1, -1, -1, 1015,
2924 451, -1, 88, 454, -1, -1, -1, 93, -1, -1,
2925 -1, -1, 41, -1, -1, -1, 399, -1, -1, 402,
2926 -1, -1, -1, -1, 407, 54, -1, 56, 57, -1,
2927 -1, -1, 653, -1, 655, 656, -1, 658, -1, -1,
2928 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2929 -1, 80, -1, 436, -1, 438, -1, -1, -1, 88,
2930 14, -1, -1, -1, 93, -1, -1, -1, 451, 23,
2931 24, -1, -1, -1, 695, -1, 30, 31, -1, 33,
2932 -1, -1, -1, -1, -1, 706, 707, 470, 709, -1,
2933 -1, -1, 1108, 1109, 1110, 1111, 1112, -1, -1, -1,
2934 1116, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2935 -1, 65, -1, -1, -1, -1, -1, -1, -1, -1,
2936 -1, -1, 1138, 1139, 1140, -1, 747, -1, -1, -1,
2937 -1, -1, 4, 5, -1, -1, 8, 9, -1, -1,
2938 -1, -1, 14, -1, -1, -1, 597, 598, -1, 770,
2939 771, 772, -1, 1169, -1, -1, -1, -1, 1174, -1,
2940 1176, 782, 613, -1, 36, -1, -1, -1, -1, -1,
2941 124, -1, 126, 45, -1, 47, -1, -1, -1, 133,
2942 134, -1, 54, -1, 56, 57, 140, -1, 142, 143,
2943 144, -1, -1, 147, 148, 149, -1, -1, 70, -1,
2944 -1, -1, 653, -1, 655, 656, -1, -1, 80, 1225,
2945 1226, -1, 1228, -1, -1, -1, -1, -1, 90, -1,
2946 -1, 93, 94, 3, 4, 5, 6, -1, -1, -1,
2947 -1, -1, -1, -1, 855, -1, 857, -1, -1, -1,
2948 -1, -1, -1, -1, 695, -1, -1, 868, 1264, 1265,
2949 1266, 872, 873, 874, -1, 706, 707, -1, 709, -1,
2950 -1, 41, -1, -1, 3, 4, 5, 6, 222, 223,
2951 -1, 654, -1, -1, 54, -1, 56, 57, -1, -1,
2952 -1, -1, 62, 734, 3, 4, 5, 6, 242, -1,
2953 70, -1, 913, 914, 915, -1, 747, -1, -1, -1,
2954 80, -1, 41, -1, -1, -1, -1, -1, 88, -1,
2955 -1, -1, -1, 93, -1, 54, 699, 56, 57, -1,
2956 -1, -1, 41, 706, 707, -1, 709, 281, -1, -1,
2957 -1, 70, -1, 954, -1, 54, -1, 56, 57, -1,
2958 -1, 80, -1, 62, -1, -1, -1, -1, -1, 88,
2959 -1, 70, -1, -1, 93, -1, -1, 740, -1, 742,
2960 1376, 80, 983, -1, 747, 748, 749, -1, -1, 88,
2961 -1, -1, -1, -1, 93, 329, -1, 331, 332, -1,
2962 -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2963 -1, -1, -1, 14, 72, 73, 74, 75, 76, 77,
2964 78, 79, 80, 81, 82, 83, 84, 28, -1, 30,
2965 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
2966 41, -1, 376, -1, 45, -1, -1, 878, 879, 880,
2967 1446, 1447, 1448, 54, -1, 56, 57, -1, -1, 1060,
2968 1061, 395, 1063, -1, -1, 399, -1, -1, 402, 70,
2969 -1, -1, -1, 407, 1470, -1, -1, -1, -1, 80,
2970 -1, -1, 913, 914, 915, -1, -1, 88, -1, 920,
2971 4, 5, 93, 7, 8, 9, -1, -1, 12, -1,
2972 14, -1, -1, -1, -1, -1, -1, 1108, 1109, 1110,
2973 1111, 1112, -1, -1, 28, 1116, 30, 31, 3, 4,
2974 5, 6, 36, 954, -1, -1, -1, -1, -1, -1,
2975 -1, 45, -1, 467, -1, 469, -1, 1138, 1139, 1140,
2976 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
2977 913, 914, 983, -1, -1, -1, 41, -1, -1, -1,
2978 494, -1, -1, -1, -1, -1, -1, -1, 1169, 54,
2979 -1, 56, 57, 1004, -1, 1, -1, 3, 4, 5,
2980 6, 7, 8, 9, -1, 70, -1, -1, 14, -1,
2981 -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
2982 -1, -1, 28, 88, 30, 31, -1, -1, 93, -1,
2983 36, -1, -1, -1, -1, 41, -1, -1, -1, 45,
2984 983, -1, 48, -1, 1225, 1226, -1, 1228, 54, -1,
2985 56, 57, -1, -1, 60, -1, 570, 3, 4, 5,
2986 6, -1, -1, -1, 70, -1, -1, 581, 582, -1,
2987 584, 585, 1015, -1, 80, -1, 1087, -1, -1, -1,
2988 -1, -1, 88, 1264, -1, 1266, -1, 93, -1, -1,
2989 -1, -1, -1, -1, -1, 41, -1, 1108, 1109, 1110,
2990 1111, 1112, -1, 1114, -1, 1116, -1, -1, 54, -1,
2991 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
2992 -1, -1, -1, 637, 70, -1, -1, 1138, 1139, 1140,
2993 644, 645, -1, -1, 80, -1, -1, -1, -1, -1,
2994 -1, -1, 88, 657, -1, -1, -1, 93, -1, -1,
2995 -1, -1, -1, -1, -1, -1, -1, -1, 1169, -1,
2996 -1, -1, 676, -1, -1, 1108, 1109, -1, -1, -1,
2997 -1, -1, -1, 1116, 3, 4, 5, 6, 7, 8,
2998 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
2999 -1, -1, -1, -1, -1, 1376, -1, -1, -1, 28,
3000 -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
3001 -1, -1, 41, -1, 1225, 1226, 45, 1228, -1, -1,
3002 734, -1, -1, 737, -1, 54, 1169, 56, 57, -1,
3003 -1, 1174, -1, 1176, -1, -1, -1, -1, -1, -1,
3004 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3005 -1, 80, -1, 1264, -1, 1266, 770, 771, 772, 88,
3006 -1, -1, -1, -1, 93, 1446, 1447, 1448, 782, -1,
3007 -1, -1, -1, -1, 4, 5, -1, 7, 8, 9,
3008 -1, -1, 1225, 1226, 14, 1228, -1, -1, -1, 1470,
3009 -1, -1, -1, -1, -1, -1, -1, -1, 28, -1,
3010 30, 31, -1, -1, -1, 1, 36, 3, 4, 5,
3011 6, 7, 8, 9, -1, 45, 12, -1, 14, -1,
3012 -1, -1, 1265, -1, 54, -1, 56, 57, -1, 25,
3013 -1, 27, -1, -1, -1, 31, -1, -1, -1, -1,
3014 36, 855, -1, 857, -1, 41, -1, -1, -1, 45,
3015 -1, 47, -1, -1, 868, -1, -1, -1, 54, -1,
3016 56, 57, 58, 59, 60, 1376, 62, 63, 64, 65,
3017 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3018 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3019 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
3020 -1, 97, -1, -1, -1, -1, 102, -1, -1, -1,
3021 -1, 107, 108, 109, -1, 111, 67, 68, 69, 70,
3022 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3023 81, 82, 83, 84, -1, 1446, 1447, 1448, 68, 69,
3024 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3025 80, 81, 82, 83, 84, -1, -1, -1, -1, 1470,
3026 -1, -1, -1, -1, 978, -1, -1, -1, -1, -1,
3027 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3028 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3029 15, 1005, 17, 18, 19, 20, 21, 22, 23, 24,
3030 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3031 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3032 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3033 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3034 -1, -1, 67, -1, -1, 70, 1060, 1061, -1, 1063,
3035 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3036 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3037 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3038 -1, -1, -1, -1, 109, 110, -1, -1, -1, -1,
3039 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3040 8, 9, 10, 11, -1, 13, 14, 15, 1122, 17,
3041 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3042 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3043 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3044 1154, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3045 58, -1, 60, 61, -1, -1, -1, -1, 1172, 67,
3046 1174, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3047 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3048 88, -1, -1, -1, -1, 93, 1, 95, 3, 4,
3049 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3050 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3051 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3052 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3053 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3054 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3055 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3056 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3057 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3058 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3059 11, 12, 13, 14, -1, 110, -1, -1, -1, -1,
3060 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3061 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3062 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3063 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3064 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3065 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3066 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3067 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3068 7, 8, 9, 10, 11, 12, 13, 14, -1, 110,
3069 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3070 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3071 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3072 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3073 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3074 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3075 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3076 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3077 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3078 -1, 108, -1, 110, -1, -1, -1, -1, -1, -1,
3079 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3080 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3081 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3082 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3083 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3084 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3085 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3086 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3087 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3088 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3089 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3090 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3091 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3092 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3093 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3094 -1, 86, 87, 88, -1, -1, -1, -1, 93, 94,
3095 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3096 11, -1, 13, 14, 109, 110, -1, -1, -1, -1,
3097 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3098 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3099 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3100 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3101 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3102 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3103 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3104 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3105 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3107 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3108 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3109 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3110 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3111 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3112 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3113 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3114 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3115 -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
3116 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3117 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3118 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3119 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3120 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3121 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3122 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3123 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3124 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3125 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3126 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3127 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3128 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3129 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3130 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3131 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3132 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
3133 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3134 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3135 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3136 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3137 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3138 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3139 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3140 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3141 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3142 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3143 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3144 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3145 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3146 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3147 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3148 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3149 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3150 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3151 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3152 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3153 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3154 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3155 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3156 -1, -1, 61, 62, -1, -1, -1, -1, 67, -1,
3157 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3158 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3159 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3160 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3161 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3162 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3163 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3164 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3165 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3166 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3167 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3168 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3169 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3170 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3171 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3172 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3173 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3174 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3175 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3176 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3177 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3178 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3179 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3180 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3181 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3182 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3183 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3184 -1, 67, 1, -1, 70, 4, 5, -1, -1, 8,
3185 9, -1, 78, 79, 80, 14, -1, -1, -1, -1,
3186 86, 87, 88, -1, -1, -1, -1, 93, -1, 28,
3187 -1, 30, -1, -1, -1, -1, -1, 36, -1, 38,
3188 39, -1, 108, -1, 110, -1, 45, -1, 47, -1,
3189 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3190 59, -1, -1, -1, 63, 64, 65, 66, 67, 68,
3191 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3192 79, 80, 81, 82, 83, -1, -1, 86, 87, 88,
3193 -1, -1, 91, -1, 1, 94, 3, 4, 5, 6,
3194 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3195 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3196 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3197 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3198 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3199 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3200 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3201 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3202 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3203 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3204 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3205 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3206 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3207 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3208 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3209 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3210 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3211 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3212 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3213 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3214 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3215 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3216 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3217 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3218 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3219 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3220 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3221 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3222 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3223 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3224 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3225 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3226 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3227 1, 70, 3, 4, 5, 6, 7, 8, 9, 78,
3228 79, 80, -1, 14, -1, -1, -1, 86, 87, 88,
3229 -1, -1, -1, -1, 93, -1, -1, 28, -1, 30,
3230 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
3231 41, 110, 111, -1, 45, 46, -1, 48, -1, -1,
3232 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3233 -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
3234 1, -1, 3, 4, 5, 6, 7, 8, 9, 80,
3235 -1, -1, -1, 14, -1, -1, -1, 88, -1, -1,
3236 -1, -1, 93, -1, -1, -1, -1, 28, -1, 30,
3237 31, 32, -1, -1, -1, 36, 37, -1, 109, -1,
3238 41, -1, -1, -1, 45, 46, -1, 48, -1, -1,
3239 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3240 -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
3241 1, -1, 3, 4, 5, 6, 7, 8, 9, 80,
3242 -1, -1, -1, 14, -1, -1, -1, 88, -1, -1,
3243 -1, -1, 93, -1, -1, -1, -1, 28, -1, 30,
3244 31, 32, -1, -1, -1, 36, 37, -1, 109, -1,
3245 41, -1, -1, -1, 45, 46, -1, 48, -1, -1,
3246 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3247 -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
3248 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3249 -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
3250 -1, -1, 93, -1, -1, 3, 4, 5, 6, 7,
3251 8, 9, 10, 11, -1, 13, 14, 15, 109, 17,
3252 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3253 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3254 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3255 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3256 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3257 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3258 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3259 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3260 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3261 -1, 109, 110, 3, 4, 5, 6, 7, 8, 9,
3262 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3263 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3264 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3265 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3266 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3267 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3268 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3269 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3270 -1, -1, -1, 93, -1, 95, -1, 3, 4, 5,
3271 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3272 110, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3273 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3274 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3275 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3276 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3277 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3278 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3279 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3280 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3281 -1, 13, 14, 15, 110, 17, 18, 19, 20, 21,
3282 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3283 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3284 42, 43, 44, 45, 46, -1, -1, 49, 50, 51,
3285 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3286 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3287 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3288 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3289 -1, 93, -1, 95, 3, 4, 5, 6, 7, 8,
3290 9, 10, 11, 12, 13, 14, -1, -1, 110, -1,
3291 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3292 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3293 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3294 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3295 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3296 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3297 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3298 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3299 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3300 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3301 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3302 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3303 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3304 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3305 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3306 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3307 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3308 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3309 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3310 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3311 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3312 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3313 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3314 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3315 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3316 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3317 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3318 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3319 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3320 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3321 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3322 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3323 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3324 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3325 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3326 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3327 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3328 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3329 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3330 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3331 51, 52, 53, 54, -1, 56, 57, -1, -1, 60,
3332 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3333 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3334 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3335 -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
3336 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3337 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3338 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3339 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3340 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3341 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3342 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3343 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3344 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3345 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3346 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3347 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3348 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3349 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3350 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3351 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3352 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3353 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3354 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3355 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3356 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3357 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3358 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3359 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3360 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3361 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3362 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3363 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3364 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3365 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3366 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3367 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3368 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3369 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3370 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3371 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3372 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3373 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3374 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3375 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3376 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3377 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3378 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3379 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3380 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3381 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3382 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3383 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3384 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3385 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3386 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3387 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3388 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3389 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3390 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3391 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3392 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3393 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3394 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3395 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3396 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3397 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3398 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3399 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3400 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3401 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3402 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3403 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3404 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3405 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3406 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3407 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3408 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3409 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3410 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3411 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3412 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3413 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3414 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3415 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3416 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3417 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3418 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3419 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3420 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3421 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3422 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3423 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3424 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3425 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3426 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3427 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3428 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3429 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3430 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3431 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3432 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3433 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3434 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3435 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3436 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3437 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3438 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3439 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3440 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3441 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3442 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3443 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3444 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3445 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3446 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3447 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3448 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3449 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3450 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3451 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3452 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3453 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3454 -1, 67, -1, 1, 70, 3, 4, 5, 6, 7,
3455 8, 9, 78, 79, 80, -1, 14, -1, -1, -1,
3456 86, 87, 88, -1, -1, -1, -1, 93, -1, 27,
3457 28, -1, 30, 31, 32, -1, -1, -1, 36, -1,
3458 -1, -1, -1, 41, 110, -1, 44, 45, 46, -1,
3459 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3460 -1, -1, 60, -1, -1, -1, -1, -1, -1, -1,
3461 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3462 -1, 1, 80, 3, 4, 5, 6, 7, 8, 9,
3463 88, -1, -1, -1, 14, 93, -1, -1, -1, -1,
3464 98, -1, -1, -1, -1, -1, -1, 27, 28, -1,
3465 30, 31, 32, -1, -1, -1, 36, -1, -1, -1,
3466 -1, 41, -1, -1, 44, 45, 46, -1, 48, -1,
3467 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3468 60, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3469 70, -1, -1, 14, -1, -1, -1, -1, -1, -1,
3470 80, -1, -1, -1, -1, -1, -1, 28, 88, 30,
3471 31, -1, -1, 93, -1, 36, -1, -1, 98, -1,
3472 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3473 -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
3474 -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
3475 3, 4, 5, 6, 7, 8, 9, -1, -1, 80,
3476 -1, 14, -1, -1, -1, -1, -1, 88, -1, -1,
3477 -1, -1, 93, -1, -1, 28, -1, 30, 31, -1,
3478 -1, -1, -1, 36, -1, -1, -1, -1, 41, 4,
3479 5, -1, 45, 8, 9, -1, -1, -1, -1, 14,
3480 -1, 54, -1, 56, 57, -1, -1, 60, -1, -1,
3481 -1, -1, -1, 28, -1, 30, -1, 70, -1, -1,
3482 -1, 36, -1, -1, -1, -1, -1, 80, -1, -1,
3483 45, 12, 47, -1, -1, 88, -1, -1, -1, 54,
3484 93, 56, 57, 63, 64, 65, 66, 67, 68, 69,
3485 70, 71, 72, 73, 74, 70, 76, 77, 78, 79,
3486 80, 81, 82, 83, 84, 80, -1, -1, -1, -1,
3487 -1, -1, 31, -1, -1, 90, -1, -1, 93, 94,
3488 -1, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3489 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3490 81, 82, 83, 84, 63, 64, 65, 66, 67, 68,
3491 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3492 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3493 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3494 77, 78, 79, 80, 81, 82, 83, 84, 71, 72,
3495 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3496 83, 84, -1, -1, -1, -1, -1, 59, -1, -1,
3497 107, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3498 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3499 82, 83, 84, 62, 63, 64, 65, 66, 67, 68,
3500 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3501 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3502 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3503 77, 78, 79, 80, 81, 82, 83, 84
3505 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3506 #line 3 "/usr/lib/bison.simple"
3508 /* Skeleton output parser for bison,
3509 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3511 This program is free software; you can redistribute it and/or modify
3512 it under the terms of the GNU General Public License as published by
3513 the Free Software Foundation; either version 2, or (at your option)
3516 This program is distributed in the hope that it will be useful,
3517 but WITHOUT ANY WARRANTY; without even the implied warranty of
3518 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3519 GNU General Public License for more details.
3521 You should have received a copy of the GNU General Public License
3522 along with this program; if not, write to the Free Software
3523 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3525 /* As a special exception, when this file is copied by Bison into a
3526 Bison output file, you may use that output file without restriction.
3527 This special exception was added by the Free Software Foundation
3528 in version 1.24 of Bison. */
3532 #define alloca __builtin_alloca
3533 #else /* not GNU C. */
3534 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3536 #else /* not sparc */
3537 #if defined (MSDOS) && !defined (__TURBOC__)
3539 #else /* not MSDOS, or __TURBOC__ */
3543 #else /* not MSDOS, __TURBOC__, or _AIX */
3547 void *alloca (unsigned int);
3549 #else /* not __cplusplus */
3551 #endif /* not __cplusplus */
3553 #endif /* not _AIX */
3554 #endif /* not MSDOS, or __TURBOC__ */
3555 #endif /* not sparc. */
3556 #endif /* not GNU C. */
3557 #endif /* alloca not defined. */
3559 /* This is the parser code that is written into each bison parser
3560 when the %semantic_parser declaration is not specified in the grammar.
3561 It was written by Richard Stallman by simplifying the hairy parser
3562 used when %semantic_parser is specified. */
3564 /* Note: there must be only one dollar sign in this file.
3565 It is replaced by the list of actions, each action
3566 as one case of the switch. */
3568 #define yyerrok (yyerrstatus = 0)
3569 #define yyclearin (yychar = YYEMPTY)
3572 #define YYACCEPT return(0)
3573 #define YYABORT return(1)
3574 #define YYERROR goto yyerrlab1
3575 /* Like YYERROR except do call yyerror.
3576 This remains here temporarily to ease the
3577 transition to the new meaning of YYERROR, for GCC.
3578 Once GCC version 2 has supplanted version 1, this can go. */
3579 #define YYFAIL goto yyerrlab
3580 #define YYRECOVERING() (!!yyerrstatus)
3581 #define YYBACKUP(token, value) \
3583 if (yychar == YYEMPTY && yylen == 1) \
3584 { yychar = (token), yylval = (value); \
3585 yychar1 = YYTRANSLATE (yychar); \
3590 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3594 #define YYERRCODE 256
3597 #define YYLEX yylex()
3603 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3605 #define YYLEX yylex(&yylval, &yylloc)
3607 #else /* not YYLSP_NEEDED */
3609 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3611 #define YYLEX yylex(&yylval)
3613 #endif /* not YYLSP_NEEDED */
3616 /* If nonreentrant, generate the variables here */
3620 int yychar; /* the lookahead symbol */
3621 YYSTYPE yylval; /* the semantic value of the */
3622 /* lookahead symbol */
3625 YYLTYPE yylloc; /* location data for the lookahead */
3629 int yynerrs; /* number of parse errors so far */
3630 #endif /* not YYPURE */
3633 int yydebug; /* nonzero means print parse trace */
3634 /* Since this is uninitialized, it does not stop multiple parsers
3638 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3641 #define YYINITDEPTH 200
3644 /* YYMAXDEPTH is the maximum size the stacks can grow to
3645 (effective only if the built-in stack extension method is used). */
3652 #define YYMAXDEPTH 10000
3655 /* Prevent warning if -Wstrict-prototypes. */
3660 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3661 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3662 #else /* not GNU C or C++ */
3665 /* This is the most reliable way to avoid incompatibilities
3666 in available built-in functions on various systems. */
3668 __yy_memcpy (to, from, count)
3673 register char *f = from;
3674 register char *t = to;
3675 register int i = count;
3681 #else /* __cplusplus */
3683 /* This is the most reliable way to avoid incompatibilities
3684 in available built-in functions on various systems. */
3686 __yy_memcpy (char *to, char *from, int count)
3688 register char *f = from;
3689 register char *t = to;
3690 register int i = count;
3699 #line 196 "/usr/lib/bison.simple"
3701 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3702 into yyparse. The argument should have type void *.
3703 It should actually point to an object.
3704 Grammar actions can access the variable by casting it
3705 to the proper pointer type. */
3707 #ifdef YYPARSE_PARAM
3709 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3710 #define YYPARSE_PARAM_DECL
3711 #else /* not __cplusplus */
3712 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3713 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3714 #endif /* not __cplusplus */
3715 #else /* not YYPARSE_PARAM */
3716 #define YYPARSE_PARAM_ARG
3717 #define YYPARSE_PARAM_DECL
3718 #endif /* not YYPARSE_PARAM */
3721 yyparse(YYPARSE_PARAM_ARG)
3724 register int yystate;
3726 register short *yyssp;
3727 register YYSTYPE *yyvsp;
3728 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3729 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3731 short yyssa[YYINITDEPTH]; /* the state stack */
3732 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3734 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3735 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3738 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3739 YYLTYPE *yyls = yylsa;
3742 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3744 #define YYPOPSTACK (yyvsp--, yyssp--)
3747 int yystacksize = YYINITDEPTH;
3758 YYSTYPE yyval; /* the variable used to return */
3759 /* semantic values from the action */
3766 fprintf(stderr, "Starting parse\n");
3772 yychar = YYEMPTY; /* Cause a token to be read. */
3774 /* Initialize stack pointers.
3775 Waste one element of value and location stack
3776 so that they stay on the same level as the state stack.
3777 The wasted elements are never initialized. */
3785 /* Push a new state, which is found in yystate . */
3786 /* In all cases, when you get here, the value and location stacks
3787 have just been pushed. so pushing a state here evens the stacks. */
3792 if (yyssp >= yyss + yystacksize - 1)
3794 /* Give user a chance to reallocate the stack */
3795 /* Use copies of these so that the &'s don't force the real ones into memory. */
3796 YYSTYPE *yyvs1 = yyvs;
3797 short *yyss1 = yyss;
3799 YYLTYPE *yyls1 = yyls;
3802 /* Get the current used size of the three stacks, in elements. */
3803 int size = yyssp - yyss + 1;
3806 /* Each stack pointer address is followed by the size of
3807 the data in use in that stack, in bytes. */
3809 /* This used to be a conditional around just the two extra args,
3810 but that might be undefined if yyoverflow is a macro. */
3811 yyoverflow("parser stack overflow",
3812 &yyss1, size * sizeof (*yyssp),
3813 &yyvs1, size * sizeof (*yyvsp),
3814 &yyls1, size * sizeof (*yylsp),
3817 yyoverflow("parser stack overflow",
3818 &yyss1, size * sizeof (*yyssp),
3819 &yyvs1, size * sizeof (*yyvsp),
3823 yyss = yyss1; yyvs = yyvs1;
3827 #else /* no yyoverflow */
3828 /* Extend the stack our own way. */
3829 if (yystacksize >= YYMAXDEPTH)
3831 yyerror("parser stack overflow");
3835 if (yystacksize > YYMAXDEPTH)
3836 yystacksize = YYMAXDEPTH;
3837 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3838 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3839 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3840 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3842 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3843 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3845 #endif /* no yyoverflow */
3847 yyssp = yyss + size - 1;
3848 yyvsp = yyvs + size - 1;
3850 yylsp = yyls + size - 1;
3855 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3858 if (yyssp >= yyss + yystacksize - 1)
3864 fprintf(stderr, "Entering state %d\n", yystate);
3870 /* Do appropriate processing given the current state. */
3871 /* Read a lookahead token if we need one and don't already have one. */
3874 /* First try to decide what to do without reference to lookahead token. */
3876 yyn = yypact[yystate];
3880 /* Not known => get a lookahead token if don't already have one. */
3882 /* yychar is either YYEMPTY or YYEOF
3883 or a valid token in external form. */
3885 if (yychar == YYEMPTY)
3889 fprintf(stderr, "Reading a token: ");
3894 /* Convert token to internal form (in yychar1) for indexing tables with */
3896 if (yychar <= 0) /* This means end of input. */
3899 yychar = YYEOF; /* Don't call YYLEX any more */
3903 fprintf(stderr, "Now at end of input.\n");
3908 yychar1 = YYTRANSLATE(yychar);
3913 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3914 /* Give the individual parser a way to print the precise meaning
3915 of a token, for further debugging info. */
3917 YYPRINT (stderr, yychar, yylval);
3919 fprintf (stderr, ")\n");
3925 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3930 /* yyn is what to do for this token type in this state.
3931 Negative => reduce, -yyn is rule number.
3932 Positive => shift, yyn is new state.
3933 New state is final state => don't bother to shift,
3934 just return success.
3935 0, or most negative number => error. */
3950 /* Shift the lookahead token. */
3954 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3957 /* Discard the token being shifted unless it is eof. */
3958 if (yychar != YYEOF)
3966 /* count tokens shifted since error; after three, turn off error status. */
3967 if (yyerrstatus) yyerrstatus--;
3972 /* Do the default action for the current state. */
3975 yyn = yydefact[yystate];
3979 /* Do a reduction. yyn is the number of a rule to reduce with. */
3983 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3990 fprintf (stderr, "Reducing via rule %d (line %d), ",
3993 /* Print the symbols being reduced, and their result. */
3994 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3995 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3996 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4005 { finish_translation_unit (); ;
4009 { yyval.ttype = NULL_TREE; ;
4013 { yyval.ttype = NULL_TREE; ;
4017 { yyval.ttype = NULL_TREE; ;
4021 { have_extern_spec = 1;
4022 used_extern_spec = 0;
4023 yyval.ttype = NULL_TREE; ;
4027 { have_extern_spec = 0; ;
4031 { yyval.itype = pedantic;
4036 { if (pending_lang_change) do_pending_lang_change(); ;
4040 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4041 pop_everything (); ;
4045 { if (pending_inlines) do_pending_inlines (); ;
4049 { if (pending_inlines) do_pending_inlines (); ;
4053 { if (pending_inlines) do_pending_inlines (); ;
4057 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4058 assemble_asm (yyvsp[-2].ttype); ;
4062 { pop_lang_context (); ;
4066 { if (pending_inlines) do_pending_inlines ();
4067 pop_lang_context (); ;
4071 { if (pending_inlines) do_pending_inlines ();
4072 pop_lang_context (); ;
4076 { push_namespace (yyvsp[-1].ttype); ;
4080 { pop_namespace (); ;
4084 { push_namespace (NULL_TREE); ;
4088 { pop_namespace (); ;
4092 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4096 { pedantic = yyvsp[-1].itype; ;
4100 { begin_only_namespace_names (); ;
4105 end_only_namespace_names ();
4107 yyvsp[-1].ttype = lastiddecl;
4108 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4113 { yyval.ttype = yyvsp[0].ttype; ;
4117 { yyval.ttype = yyvsp[0].ttype; ;
4121 { yyval.ttype = yyvsp[0].ttype; ;
4125 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4129 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4133 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4137 { begin_only_namespace_names (); ;
4142 end_only_namespace_names ();
4143 /* If no declaration was found, the using-directive is
4144 invalid. Since that was not reported, we need the
4145 identifier for the error message. */
4146 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4147 yyvsp[-1].ttype = lastiddecl;
4148 do_using_directive (yyvsp[-1].ttype);
4154 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4155 yyval.ttype = lastiddecl;
4156 got_scope = yyval.ttype;
4162 yyval.ttype = yyvsp[-1].ttype;
4163 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4164 yyval.ttype = lastiddecl;
4165 got_scope = yyval.ttype;
4170 { yyval.ttype = yyvsp[0].ttype; ;
4174 { yyval.ttype = yyvsp[0].ttype; ;
4178 { push_lang_context (yyvsp[0].ttype); ;
4182 { if (current_lang_name != yyvsp[0].ttype)
4183 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4184 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4188 { begin_template_parm_list (); ;
4192 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4196 { begin_specialization();
4197 yyval.ttype = NULL_TREE; ;
4201 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4205 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4209 { yyval.ttype = yyvsp[0].ttype; ;
4213 { yyval.ttype = NULL_TREE; ;
4217 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4221 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4225 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4229 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4233 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4237 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4241 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4245 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4250 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4251 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4252 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4254 error ("invalid default template argument");
4255 yyvsp[0].ttype = error_mark_node;
4257 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4263 if (yyvsp[-1].ttype)
4264 end_template_decl ();
4266 end_specialization ();
4272 if (yyvsp[-1].ttype)
4273 end_template_decl ();
4275 end_specialization ();
4285 note_list_got_semicolon (yyvsp[-2].ftype.t);
4290 { pedwarn ("empty declaration"); ;
4296 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4298 note_list_got_semicolon (yyvsp[-1].ftype.t);
4303 { yyval.itype = 0; ;
4307 { yyval.itype = 1; ;
4311 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4323 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4327 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4331 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4332 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4337 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4341 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4345 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4346 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4351 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4355 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4359 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4360 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4365 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4369 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4373 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4374 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4379 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4384 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4389 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4394 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4399 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4404 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4408 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4412 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4416 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4420 { tree specs = strip_attrs (yyvsp[-1].ttype);
4421 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4425 if (yychar == YYEMPTY)
4427 reinit_parse_for_method (yychar, yyval.ttype); ;
4431 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4435 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4436 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4440 { tree specs = strip_attrs (yyvsp[-1].ttype);
4441 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4445 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4449 { tree specs = strip_attrs (yyvsp[-1].ttype);
4450 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4454 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4459 if (! current_function_parms_stored)
4460 store_parm_decls ();
4461 yyval.ttype = yyvsp[0].ttype;
4466 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4470 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4474 { store_return_init (yyval.ttype, NULL_TREE); ;
4479 if (yyvsp[0].itype == 0)
4480 error ("no base initializers given following ':'");
4482 /* Always keep the BLOCK node associated with the outermost
4483 pair of curley braces of a function. These are needed
4484 for correct operation of dwarfout.c. */
4491 if (! current_function_parms_stored)
4492 store_parm_decls ();
4494 if (DECL_CONSTRUCTOR_P (current_function_decl))
4496 /* Make a contour for the initializer list. */
4499 expand_start_bindings (0);
4501 else if (current_class_type == NULL_TREE)
4502 error ("base initializers not allowed for non-member functions");
4503 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4504 error ("only constructors take base initializers");
4509 { yyval.itype = 0; ;
4513 { yyval.itype = 1; ;
4518 if (current_class_name)
4519 pedwarn ("anachronistic old style base class initializer");
4520 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4526 if (current_class_name)
4527 pedwarn ("anachronistic old style base class initializer");
4528 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4533 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4537 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4541 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4545 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4549 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4554 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4559 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4560 yyungetc (';', 1); ;
4564 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4565 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4569 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4573 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4577 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4578 yyungetc (';', 1); ;
4582 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4583 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4587 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4591 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4595 { begin_explicit_instantiation(); ;
4599 { end_explicit_instantiation(); ;
4604 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4605 if (yyval.ttype != error_mark_node)
4606 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4612 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4613 if (yyval.ttype != error_mark_node)
4614 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4620 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4621 if (yyval.ttype != error_mark_node)
4622 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4628 /* Handle `Class<Class<Type>>' without space in the `>>' */
4629 pedwarn ("`>>' should be `> >' in template class name");
4635 { yyval.ttype = NULL_TREE; ;
4639 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4643 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4647 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4651 { yyval.ttype = lastiddecl; ;
4655 { yyval.code = NEGATE_EXPR; ;
4659 { yyval.code = CONVERT_EXPR; ;
4663 { yyval.code = PREINCREMENT_EXPR; ;
4667 { yyval.code = PREDECREMENT_EXPR; ;
4671 { yyval.code = TRUTH_NOT_EXPR; ;
4675 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4679 { error ("ANSI C++ forbids an empty condition for `%s'",
4681 yyval.ttype = integer_zero_node; ;
4685 { yyval.ttype = yyvsp[-1].ttype; ;
4689 { error ("ANSI C++ forbids an empty condition for `%s'",
4691 yyval.ttype = integer_zero_node; ;
4695 { yyval.ttype = yyvsp[-1].ttype; ;
4699 { yyval.ttype = NULL_TREE; ;
4703 { yyval.ttype = NULL_TREE; ;
4709 for (d = getdecls (); d; d = TREE_CHAIN (d))
4710 if (TREE_CODE (d) == TYPE_DECL) {
4711 tree s = TREE_TYPE (d);
4712 if (TREE_CODE (s) == RECORD_TYPE)
4713 cp_error ("definition of class `%T' in condition", s);
4714 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4715 cp_error ("definition of enum `%T' in condition", s);
4718 current_declspecs = yyvsp[-4].ftype.t;
4719 yyvsp[0].itype = suspend_momentary ();
4720 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4721 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4727 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4728 resume_momentary (yyvsp[-2].itype);
4729 yyval.ttype = yyvsp[-1].ttype;
4730 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4731 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4735 #line 1010 "parse.y"
4736 { yyval.ttype = begin_compound_stmt (1); ;
4739 #line 1012 "parse.y"
4740 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4743 #line 1019 "parse.y"
4744 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4745 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4748 #line 1022 "parse.y"
4749 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4750 build_expr_list (NULL_TREE, error_mark_node)); ;
4753 #line 1025 "parse.y"
4754 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4757 #line 1027 "parse.y"
4758 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4761 #line 1032 "parse.y"
4762 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4765 #line 1038 "parse.y"
4766 { yyval.ttype = yyvsp[0].ttype; ;
4769 #line 1041 "parse.y"
4770 { yyval.ttype = yyvsp[0].ttype;
4771 pedantic = yyvsp[-1].itype; ;
4774 #line 1044 "parse.y"
4775 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4778 #line 1046 "parse.y"
4779 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4782 #line 1048 "parse.y"
4783 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4786 #line 1050 "parse.y"
4787 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4790 #line 1053 "parse.y"
4792 pedwarn ("ANSI C++ forbids `&&'");
4793 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4796 #line 1057 "parse.y"
4797 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4800 #line 1059 "parse.y"
4801 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4804 #line 1061 "parse.y"
4805 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4808 #line 1063 "parse.y"
4809 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4810 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4813 #line 1069 "parse.y"
4814 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4815 check_for_new_type ("new", yyvsp[0].ftype); ;
4818 #line 1072 "parse.y"
4819 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4820 check_for_new_type ("new", yyvsp[-1].ftype); ;
4823 #line 1075 "parse.y"
4824 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4825 check_for_new_type ("new", yyvsp[0].ftype); ;
4828 #line 1078 "parse.y"
4829 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4830 check_for_new_type ("new", yyvsp[-1].ftype); ;
4833 #line 1091 "parse.y"
4834 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4835 NULL_TREE, yyvsp[-4].itype);
4836 check_for_new_type ("new", yyvsp[-1].ftype); ;
4839 #line 1096 "parse.y"
4840 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4841 check_for_new_type ("new", yyvsp[-2].ftype); ;
4844 #line 1100 "parse.y"
4845 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
4846 check_for_new_type ("new", yyvsp[-1].ftype); ;
4849 #line 1104 "parse.y"
4850 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
4851 check_for_new_type ("new", yyvsp[-2].ftype); ;
4854 #line 1108 "parse.y"
4855 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4858 #line 1110 "parse.y"
4859 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4860 if (yychar == YYEMPTY)
4864 #line 1114 "parse.y"
4865 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4866 if (yychar == YYEMPTY)
4870 #line 1118 "parse.y"
4871 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4874 #line 1120 "parse.y"
4875 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4878 #line 1130 "parse.y"
4879 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4882 #line 1133 "parse.y"
4883 { yyval.itype = begin_new_placement (); ;
4886 #line 1137 "parse.y"
4887 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4890 #line 1139 "parse.y"
4891 { cp_pedwarn ("old style placement syntax, use () instead");
4892 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4895 #line 1145 "parse.y"
4896 { yyval.ttype = yyvsp[-1].ttype; ;
4899 #line 1147 "parse.y"
4900 { yyval.ttype = NULL_TREE; ;
4903 #line 1149 "parse.y"
4905 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4906 yyval.ttype = error_mark_node;
4910 #line 1157 "parse.y"
4913 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4914 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4915 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4916 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4918 yyval.ttype = yyvsp[0].ttype;
4922 #line 1171 "parse.y"
4923 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4924 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4925 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4928 #line 1175 "parse.y"
4929 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4930 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4931 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4934 #line 1183 "parse.y"
4935 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4938 #line 1185 "parse.y"
4940 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4941 nreverse (yyvsp[-2].ttype));
4943 pedwarn ("ANSI C++ forbids constructor-expressions");
4944 /* Indicate that this was a GNU C constructor expression. */
4945 TREE_HAS_CONSTRUCTOR (init) = 1;
4947 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4951 #line 1201 "parse.y"
4952 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4955 #line 1203 "parse.y"
4956 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4959 #line 1205 "parse.y"
4960 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4963 #line 1207 "parse.y"
4964 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4967 #line 1209 "parse.y"
4968 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4971 #line 1211 "parse.y"
4972 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4975 #line 1213 "parse.y"
4976 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4979 #line 1215 "parse.y"
4980 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4983 #line 1217 "parse.y"
4984 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4987 #line 1219 "parse.y"
4988 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4991 #line 1221 "parse.y"
4992 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4995 #line 1223 "parse.y"
4996 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4999 #line 1225 "parse.y"
5000 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5003 #line 1227 "parse.y"
5004 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5007 #line 1229 "parse.y"
5008 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5011 #line 1231 "parse.y"
5012 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5015 #line 1233 "parse.y"
5016 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5019 #line 1235 "parse.y"
5020 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5023 #line 1237 "parse.y"
5024 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5027 #line 1239 "parse.y"
5028 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5031 #line 1241 "parse.y"
5032 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5033 if (yyval.ttype != error_mark_node)
5034 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5037 #line 1245 "parse.y"
5038 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5041 #line 1247 "parse.y"
5042 { yyval.ttype = build_throw (NULL_TREE); ;
5045 #line 1249 "parse.y"
5046 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5049 #line 1267 "parse.y"
5050 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5053 #line 1276 "parse.y"
5054 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); ;
5057 #line 1280 "parse.y"
5058 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5061 #line 1282 "parse.y"
5062 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5065 #line 1287 "parse.y"
5066 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5069 #line 1289 "parse.y"
5070 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5073 #line 1292 "parse.y"
5074 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5077 #line 1304 "parse.y"
5078 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5081 #line 1306 "parse.y"
5082 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5085 #line 1308 "parse.y"
5086 { yyval.ttype = yyvsp[-1].ttype; ;
5089 #line 1313 "parse.y"
5090 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5093 #line 1315 "parse.y"
5094 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5097 #line 1323 "parse.y"
5098 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5101 #line 1328 "parse.y"
5103 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5104 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5106 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5110 #line 1337 "parse.y"
5112 if (processing_template_decl)
5113 push_obstacks (&permanent_obstack, &permanent_obstack);
5114 yyval.ttype = combine_strings (yyval.ttype);
5115 if (processing_template_decl)
5120 #line 1345 "parse.y"
5121 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5124 #line 1347 "parse.y"
5125 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5126 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5129 #line 1350 "parse.y"
5130 { yyval.ttype = error_mark_node; ;
5133 #line 1352 "parse.y"
5134 { if (current_function_decl == 0)
5136 error ("braced-group within expression allowed only inside a function");
5140 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5141 yyval.ttype = begin_stmt_expr ();
5145 #line 1362 "parse.y"
5146 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5149 #line 1367 "parse.y"
5150 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5153 #line 1369 "parse.y"
5154 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5157 #line 1371 "parse.y"
5158 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5161 #line 1373 "parse.y"
5162 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5165 #line 1375 "parse.y"
5166 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5169 #line 1377 "parse.y"
5170 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5173 #line 1379 "parse.y"
5174 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5177 #line 1382 "parse.y"
5178 { yyval.ttype = finish_this_expr (); ;
5181 #line 1384 "parse.y"
5183 tree type = NULL_TREE;
5184 tree id = yyval.ttype;
5186 /* This is a C cast in C++'s `functional' notation. */
5187 if (yyvsp[-1].ttype == error_mark_node)
5189 yyval.ttype = error_mark_node;
5193 if (yyvsp[-1].ttype == NULL_TREE)
5195 error ("cannot cast null list to type `%s'",
5196 IDENTIFIER_POINTER (TYPE_NAME (id)));
5197 yyval.ttype = error_mark_node;
5202 /* type is not set! (mrs) */
5203 if (type == error_mark_node)
5204 yyval.ttype = error_mark_node;
5208 if (id == ridpointers[(int) RID_CONST])
5209 type = build_type_variant (integer_type_node, 1, 0);
5210 else if (id == ridpointers[(int) RID_VOLATILE])
5211 type = build_type_variant (integer_type_node, 0, 1);
5213 /* should not be able to get here (mrs) */
5214 else if (id == ridpointers[(int) RID_FRIEND])
5216 error ("cannot cast expression to `friend' type");
5217 yyval.ttype = error_mark_node;
5221 else my_friendly_abort (79);
5222 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5227 #line 1429 "parse.y"
5228 { tree type = groktypename (yyvsp[-4].ftype.t);
5229 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5230 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5233 #line 1433 "parse.y"
5234 { tree type = groktypename (yyvsp[-4].ftype.t);
5235 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5236 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5239 #line 1437 "parse.y"
5240 { tree type = groktypename (yyvsp[-4].ftype.t);
5241 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5242 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5245 #line 1441 "parse.y"
5246 { tree type = groktypename (yyvsp[-4].ftype.t);
5247 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5248 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5251 #line 1445 "parse.y"
5252 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5255 #line 1447 "parse.y"
5256 { tree type = groktypename (yyvsp[-1].ftype.t);
5257 check_for_new_type ("typeid", yyvsp[-1].ftype);
5258 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5261 #line 1451 "parse.y"
5262 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5265 #line 1453 "parse.y"
5266 { yyval.ttype = yyvsp[0].ttype; ;
5269 #line 1455 "parse.y"
5271 got_scope = NULL_TREE;
5272 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5273 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5275 yyval.ttype = yyvsp[0].ttype;
5279 #line 1463 "parse.y"
5280 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5283 #line 1465 "parse.y"
5284 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5287 #line 1467 "parse.y"
5288 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5291 #line 1469 "parse.y"
5293 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5297 #line 1473 "parse.y"
5298 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5301 #line 1475 "parse.y"
5302 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5305 #line 1477 "parse.y"
5306 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5309 #line 1479 "parse.y"
5310 { if (processing_template_decl)
5311 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5313 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5316 #line 1484 "parse.y"
5317 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5320 #line 1486 "parse.y"
5321 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5324 #line 1488 "parse.y"
5325 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5328 #line 1490 "parse.y"
5329 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5332 #line 1493 "parse.y"
5333 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5336 #line 1495 "parse.y"
5337 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5340 #line 1497 "parse.y"
5342 yyval.ttype = error_mark_node;
5346 #line 1542 "parse.y"
5347 { yyval.itype = 0; ;
5350 #line 1544 "parse.y"
5351 { got_scope = NULL_TREE; yyval.itype = 1; ;
5354 #line 1549 "parse.y"
5355 { yyval.itype = 0; ;
5358 #line 1551 "parse.y"
5359 { got_scope = NULL_TREE; yyval.itype = 1; ;
5362 #line 1556 "parse.y"
5363 { yyval.ttype = boolean_true_node; ;
5366 #line 1558 "parse.y"
5367 { yyval.ttype = boolean_false_node; ;
5370 #line 1565 "parse.y"
5371 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5374 #line 1570 "parse.y"
5376 if (! current_function_parms_stored)
5377 store_parm_decls ();
5379 /* Always keep the BLOCK node associated with the outermost
5380 pair of curley braces of a function. These are needed
5381 for correct operation of dwarfout.c. */
5386 #line 1583 "parse.y"
5387 { got_object = TREE_TYPE (yyval.ttype); ;
5390 #line 1585 "parse.y"
5392 yyval.ttype = build_x_arrow (yyval.ttype);
5393 got_object = TREE_TYPE (yyval.ttype);
5397 #line 1593 "parse.y"
5399 resume_momentary (yyvsp[-1].itype);
5400 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5401 note_got_semicolon (yyvsp[-2].ftype.t);
5405 #line 1599 "parse.y"
5407 resume_momentary (yyvsp[-1].itype);
5408 note_list_got_semicolon (yyvsp[-2].ftype.t);
5412 #line 1604 "parse.y"
5413 { resume_momentary (yyvsp[-1].itype); ;
5416 #line 1606 "parse.y"
5418 shadow_tag (yyvsp[-1].ftype.t);
5419 note_list_got_semicolon (yyvsp[-1].ftype.t);
5423 #line 1611 "parse.y"
5424 { warning ("empty declaration"); ;
5427 #line 1613 "parse.y"
5428 { pedantic = yyvsp[-1].itype; ;
5431 #line 1627 "parse.y"
5432 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5433 NULL_TREE, NULL_TREE); ;
5436 #line 1630 "parse.y"
5437 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5441 #line 1637 "parse.y"
5442 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5443 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5446 #line 1640 "parse.y"
5447 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5448 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5451 #line 1643 "parse.y"
5452 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5453 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5456 #line 1646 "parse.y"
5457 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5458 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5461 #line 1649 "parse.y"
5462 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5463 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5466 #line 1665 "parse.y"
5467 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5468 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5471 #line 1668 "parse.y"
5472 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5473 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5476 #line 1671 "parse.y"
5477 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5478 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5481 #line 1674 "parse.y"
5482 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5483 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5486 #line 1677 "parse.y"
5487 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5488 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5491 #line 1680 "parse.y"
5492 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5493 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5494 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5497 #line 1687 "parse.y"
5498 { if (extra_warnings)
5499 warning ("`%s' is not at beginning of declaration",
5500 IDENTIFIER_POINTER (yyval.ttype));
5501 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5504 #line 1692 "parse.y"
5505 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5508 #line 1694 "parse.y"
5509 { if (extra_warnings)
5510 warning ("`%s' is not at beginning of declaration",
5511 IDENTIFIER_POINTER (yyvsp[0].ttype));
5512 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5515 #line 1699 "parse.y"
5516 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5519 #line 1701 "parse.y"
5520 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5523 #line 1711 "parse.y"
5524 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5527 #line 1713 "parse.y"
5528 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5531 #line 1715 "parse.y"
5532 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5533 TREE_STATIC (yyval.ttype) = 1; ;
5536 #line 1718 "parse.y"
5537 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5538 warning ("`%s' is not at beginning of declaration",
5539 IDENTIFIER_POINTER (yyvsp[0].ttype));
5540 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5541 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5544 #line 1724 "parse.y"
5545 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5548 #line 1726 "parse.y"
5549 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5552 #line 1737 "parse.y"
5553 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5554 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5557 #line 1740 "parse.y"
5558 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5559 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5562 #line 1743 "parse.y"
5563 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5564 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5567 #line 1746 "parse.y"
5568 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5569 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5572 #line 1752 "parse.y"
5573 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5576 #line 1754 "parse.y"
5577 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5580 #line 1764 "parse.y"
5581 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5584 #line 1766 "parse.y"
5585 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5588 #line 1768 "parse.y"
5589 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5590 yyval.ftype.new_type_flag = 0; ;
5593 #line 1771 "parse.y"
5594 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5595 yyval.ftype.new_type_flag = 0; ;
5598 #line 1774 "parse.y"
5599 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5601 yyval.ftype.new_type_flag = 0;
5602 if (IS_AGGR_TYPE (type))
5604 sorry ("sigof type specifier");
5605 yyval.ftype.t = type;
5609 error ("`sigof' applied to non-aggregate expression");
5610 yyval.ftype.t = error_mark_node;
5615 #line 1789 "parse.y"
5616 { tree type = groktypename (yyvsp[-1].ftype.t);
5618 yyval.ftype.new_type_flag = 0;
5619 if (IS_AGGR_TYPE (type))
5621 sorry ("sigof type specifier");
5622 yyval.ftype.t = type;
5626 error("`sigof' applied to non-aggregate type");
5627 yyval.ftype.t = error_mark_node;
5632 #line 1809 "parse.y"
5633 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5636 #line 1811 "parse.y"
5637 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5640 #line 1832 "parse.y"
5641 { yyval.ttype = NULL_TREE; ;
5644 #line 1834 "parse.y"
5645 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5648 #line 1839 "parse.y"
5649 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5650 yyvsp[-1].ttype, prefix_attributes); ;
5653 #line 1843 "parse.y"
5654 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5657 #line 1845 "parse.y"
5658 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5659 yyvsp[0].ttype, prefix_attributes);
5660 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5663 #line 1858 "parse.y"
5664 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5665 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5668 #line 1863 "parse.y"
5669 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5670 LOOKUP_ONLYCONVERTING);
5671 yyval.itype = yyvsp[-2].itype; ;
5674 #line 1867 "parse.y"
5676 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5677 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5680 #line 1874 "parse.y"
5681 { yyval.itype = yyvsp[0].itype; ;
5684 #line 1878 "parse.y"
5685 { yyval.itype = yyvsp[0].itype; ;
5688 #line 1883 "parse.y"
5689 { /* Set things up as initdcl0_innards expects. */
5690 yyval.ttype = yyvsp[-1].ttype;
5691 yyvsp[-1].ttype = NULL_TREE; ;
5694 #line 1887 "parse.y"
5698 #line 1889 "parse.y"
5700 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5701 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5704 #line 1898 "parse.y"
5705 { yyval.ttype = NULL_TREE; ;
5708 #line 1900 "parse.y"
5709 { yyval.ttype = yyvsp[0].ttype; ;
5712 #line 1905 "parse.y"
5713 { yyval.ttype = yyvsp[0].ttype; ;
5716 #line 1907 "parse.y"
5717 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5720 #line 1912 "parse.y"
5721 { yyval.ttype = yyvsp[-2].ttype; ;
5724 #line 1917 "parse.y"
5725 { yyval.ttype = yyvsp[0].ttype; ;
5728 #line 1919 "parse.y"
5729 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5732 #line 1924 "parse.y"
5733 { yyval.ttype = NULL_TREE; ;
5736 #line 1926 "parse.y"
5737 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5740 #line 1928 "parse.y"
5741 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5744 #line 1930 "parse.y"
5745 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5748 #line 1932 "parse.y"
5749 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5752 #line 1948 "parse.y"
5753 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5756 #line 1950 "parse.y"
5757 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5760 #line 1955 "parse.y"
5761 { yyval.ttype = NULL_TREE; ;
5764 #line 1957 "parse.y"
5765 { yyval.ttype = yyvsp[0].ttype; ;
5768 #line 1965 "parse.y"
5769 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5770 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5773 #line 1968 "parse.y"
5774 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5775 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5778 #line 1971 "parse.y"
5779 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5780 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5783 #line 1974 "parse.y"
5784 { yyval.ttype = NULL_TREE; ;
5787 #line 1981 "parse.y"
5788 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5791 #line 1983 "parse.y"
5792 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5795 #line 1986 "parse.y"
5796 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5799 #line 1988 "parse.y"
5800 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5803 #line 1990 "parse.y"
5804 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5807 #line 1995 "parse.y"
5808 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5810 reinit_parse_for_function (); ;
5813 #line 2001 "parse.y"
5815 int nested = (hack_decl_function_context
5816 (current_function_decl) != NULL_TREE);
5817 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5818 process_next_inline (yyvsp[-3].ttype);
5822 #line 2008 "parse.y"
5823 { process_next_inline (yyvsp[-2].ttype); ;
5826 #line 2010 "parse.y"
5827 { process_next_inline (yyvsp[-2].ttype); ;
5830 #line 2022 "parse.y"
5831 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5834 #line 2024 "parse.y"
5835 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5838 #line 2029 "parse.y"
5839 { do_pending_defargs (); ;
5842 #line 2031 "parse.y"
5843 { do_pending_defargs (); ;
5846 #line 2036 "parse.y"
5847 { yyvsp[0].itype = suspend_momentary ();
5848 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5851 #line 2039 "parse.y"
5852 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5853 yyval.ftype.new_type_flag = 1;
5854 resume_momentary ((int) yyvsp[-4].itype);
5855 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5858 #line 2044 "parse.y"
5859 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5860 yyval.ftype.new_type_flag = 1;
5861 check_for_missing_semicolon (yyval.ftype.t); ;
5864 #line 2048 "parse.y"
5865 { yyvsp[0].itype = suspend_momentary ();
5866 yyval.ttype = start_enum (make_anon_name ()); ;
5869 #line 2051 "parse.y"
5870 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5871 resume_momentary ((int) yyvsp[-5].itype);
5872 check_for_missing_semicolon (yyvsp[-3].ttype);
5873 yyval.ftype.new_type_flag = 1; ;
5876 #line 2056 "parse.y"
5877 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5878 yyval.ftype.new_type_flag = 1;
5879 check_for_missing_semicolon (yyval.ftype.t); ;
5882 #line 2060 "parse.y"
5883 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5884 yyval.ftype.new_type_flag = 0; ;
5887 #line 2063 "parse.y"
5888 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5889 yyval.ftype.new_type_flag = 0; ;
5892 #line 2066 "parse.y"
5893 { yyval.ftype.t = yyvsp[0].ttype;
5894 yyval.ftype.new_type_flag = 0; ;
5897 #line 2071 "parse.y"
5901 if (yychar == YYEMPTY)
5903 semi = yychar == ';';
5905 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5909 #line 2081 "parse.y"
5910 { finish_default_args (); ;
5913 #line 2083 "parse.y"
5914 { yyval.ftype.t = yyvsp[-3].ttype;
5915 yyval.ftype.new_type_flag = 1;
5916 begin_inline_definitions (); ;
5919 #line 2087 "parse.y"
5921 yyval.ftype.new_type_flag = 0;
5922 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5924 cp_error ("%T is not a class type", yyvsp[0].ttype);
5925 yyval.ftype.t = error_mark_node;
5929 yyval.ftype.t = yyvsp[0].ttype;
5930 /* struct B: public A; is not accepted by the WP grammar. */
5931 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5932 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5933 cp_error ("base clause without member specification for `%#T'",
5939 #line 2114 "parse.y"
5940 { if (pedantic && !in_system_header)
5941 pedwarn ("comma at end of enumerator list"); ;
5944 #line 2121 "parse.y"
5945 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5948 #line 2123 "parse.y"
5949 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5952 #line 2125 "parse.y"
5953 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5956 #line 2127 "parse.y"
5957 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5960 #line 2129 "parse.y"
5961 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
5964 #line 2134 "parse.y"
5965 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5968 #line 2139 "parse.y"
5969 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5972 #line 2144 "parse.y"
5974 current_aggr = yyvsp[-2].ttype;
5975 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5979 #line 2149 "parse.y"
5981 current_aggr = yyvsp[-3].ttype;
5982 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5986 #line 2154 "parse.y"
5988 current_aggr = yyvsp[-2].ttype;
5989 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5993 #line 2159 "parse.y"
5994 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5997 #line 2161 "parse.y"
5998 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6001 #line 2166 "parse.y"
6002 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
6005 #line 2171 "parse.y"
6006 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
6009 #line 2174 "parse.y"
6011 yyval.ttype = yyvsp[-1].ttype;
6013 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6017 #line 2180 "parse.y"
6019 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6020 if (TREE_INT_CST_LOW (current_aggr) == union_type
6021 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6022 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6023 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6024 && TREE_INT_CST_LOW (current_aggr) != union_type)
6025 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6028 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
6030 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
6031 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
6033 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6034 if (processing_template_decl)
6035 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6037 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6038 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6040 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6045 #line 2209 "parse.y"
6046 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6047 yyungetc ('{', 1); ;
6050 #line 2220 "parse.y"
6051 { yyval.ttype = NULL_TREE; ;
6054 #line 2222 "parse.y"
6055 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6058 #line 2224 "parse.y"
6059 { yyval.ttype = yyvsp[0].ttype; ;
6062 #line 2230 "parse.y"
6063 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6066 #line 2235 "parse.y"
6068 tree type = TREE_TYPE (yyvsp[0].ttype);
6069 if (! is_aggr_type (type, 1))
6070 yyval.ttype = NULL_TREE;
6071 else if (current_aggr == signature_type_node
6072 && (! type) && (! IS_SIGNATURE (type)))
6074 error ("class name not allowed as base signature");
6075 yyval.ttype = NULL_TREE;
6077 else if (current_aggr == signature_type_node)
6079 sorry ("signature inheritance, base type `%s' ignored",
6080 IDENTIFIER_POINTER (yyval.ttype));
6081 yyval.ttype = build_tree_list (access_public_node, type);
6083 else if (type && IS_SIGNATURE (type))
6085 error ("signature name not allowed as base class");
6086 yyval.ttype = NULL_TREE;
6089 yyval.ttype = build_tree_list (access_default_node, type);
6093 #line 2260 "parse.y"
6095 tree type = TREE_TYPE (yyvsp[0].ttype);
6096 if (current_aggr == signature_type_node)
6097 error ("access and source specifiers not allowed in signature");
6098 if (! is_aggr_type (type, 1))
6099 yyval.ttype = NULL_TREE;
6100 else if (current_aggr == signature_type_node
6101 && (! type) && (! IS_SIGNATURE (type)))
6103 error ("class name not allowed as base signature");
6104 yyval.ttype = NULL_TREE;
6106 else if (current_aggr == signature_type_node)
6108 sorry ("signature inheritance, base type `%s' ignored",
6109 IDENTIFIER_POINTER (yyval.ttype));
6110 yyval.ttype = build_tree_list (access_public_node, type);
6112 else if (type && IS_SIGNATURE (type))
6114 error ("signature name not allowed as base class");
6115 yyval.ttype = NULL_TREE;
6118 yyval.ttype = build_tree_list (yyval.ttype, type);
6122 #line 2290 "parse.y"
6123 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6126 #line 2293 "parse.y"
6128 if (current_aggr == signature_type_node)
6130 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6132 sorry ("`sigof' as base signature specifier");
6133 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6137 error ("`sigof' applied to non-aggregate expression");
6138 yyval.ttype = error_mark_node;
6143 error ("`sigof' in struct or class declaration");
6144 yyval.ttype = error_mark_node;
6149 #line 2314 "parse.y"
6151 if (current_aggr == signature_type_node)
6153 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6155 sorry ("`sigof' as base signature specifier");
6156 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6160 error ("`sigof' applied to non-aggregate expression");
6161 yyval.ttype = error_mark_node;
6166 error ("`sigof' in struct or class declaration");
6167 yyval.ttype = error_mark_node;
6172 #line 2339 "parse.y"
6173 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6174 cp_error ("`%D' access", yyvsp[-1].ttype);
6175 yyval.ttype = access_default_virtual_node; ;
6178 #line 2343 "parse.y"
6180 if (yyvsp[-2].ttype != access_default_virtual_node)
6181 error ("multiple access specifiers");
6182 else if (yyvsp[-1].ttype == access_public_node)
6183 yyval.ttype = access_public_virtual_node;
6184 else if (yyvsp[-1].ttype == access_protected_node)
6185 yyval.ttype = access_protected_virtual_node;
6186 else /* $2 == access_private_node */
6187 yyval.ttype = access_private_virtual_node;
6191 #line 2354 "parse.y"
6192 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6193 cp_error ("`%D' access", yyvsp[-1].ttype);
6194 else if (yyval.ttype == access_public_node)
6195 yyval.ttype = access_public_virtual_node;
6196 else if (yyval.ttype == access_protected_node)
6197 yyval.ttype = access_protected_virtual_node;
6198 else if (yyval.ttype == access_private_node)
6199 yyval.ttype = access_private_virtual_node;
6201 error ("multiple `virtual' specifiers");
6205 #line 2369 "parse.y"
6206 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6209 #line 2374 "parse.y"
6211 yyval.ttype = build_self_reference ();
6215 #line 2381 "parse.y"
6216 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6219 #line 2383 "parse.y"
6221 if (current_aggr == signature_type_node)
6222 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6224 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6225 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6229 #line 2391 "parse.y"
6231 tree visspec = yyvsp[-2].ttype;
6233 if (current_aggr == signature_type_node)
6235 error ("access specifier not allowed in signature");
6236 visspec = access_public_node;
6238 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6242 #line 2402 "parse.y"
6244 if (current_aggr == signature_type_node)
6245 error ("access specifier not allowed in signature");
6249 #line 2412 "parse.y"
6250 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6254 #line 2415 "parse.y"
6255 { /* In pushdecl, we created a reverse list of names
6256 in this binding level. Make sure that the chain
6257 of what we're trying to add isn't the item itself
6258 (which can happen with what pushdecl's doing). */
6259 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6261 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6262 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6264 yyval.ttype = yyvsp[0].ttype;
6269 #line 2431 "parse.y"
6273 #line 2433 "parse.y"
6274 { error ("missing ';' before right brace");
6275 yyungetc ('}', 0); ;
6278 #line 2438 "parse.y"
6279 { yyval.ttype = finish_method (yyval.ttype); ;
6282 #line 2440 "parse.y"
6283 { yyval.ttype = finish_method (yyval.ttype); ;
6286 #line 2442 "parse.y"
6287 { yyval.ttype = finish_method (yyval.ttype); ;
6290 #line 2444 "parse.y"
6291 { yyval.ttype = finish_method (yyval.ttype); ;
6294 #line 2446 "parse.y"
6295 { yyval.ttype = NULL_TREE; ;
6298 #line 2448 "parse.y"
6299 { yyval.ttype = yyvsp[0].ttype;
6300 pedantic = yyvsp[-1].itype; ;
6303 #line 2451 "parse.y"
6304 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6307 #line 2453 "parse.y"
6308 { yyval.ttype = finish_member_class_template (yyvsp[-2].ttype, yyvsp[-1].ftype.t); ;
6311 #line 2461 "parse.y"
6312 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6315 #line 2463 "parse.y"
6316 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6319 #line 2465 "parse.y"
6320 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6321 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6324 #line 2468 "parse.y"
6325 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6326 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6329 #line 2471 "parse.y"
6330 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6333 #line 2473 "parse.y"
6334 { yyval.ttype = NULL_TREE; ;
6337 #line 2484 "parse.y"
6338 { tree specs, attrs;
6339 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6340 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6341 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6344 #line 2489 "parse.y"
6345 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6346 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6349 #line 2492 "parse.y"
6350 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6353 #line 2498 "parse.y"
6354 { yyval.ttype = NULL_TREE; ;
6357 #line 2501 "parse.y"
6359 /* In this context, void_type_node encodes
6360 friends. They have been recorded elsewhere. */
6361 if (yyval.ttype == void_type_node)
6362 yyval.ttype = yyvsp[0].ttype;
6364 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6368 #line 2513 "parse.y"
6369 { yyval.ttype = NULL_TREE; ;
6372 #line 2516 "parse.y"
6374 /* In this context, void_type_node encodes
6375 friends. They have been recorded elsewhere. */
6376 if (yyval.ttype == void_type_node)
6377 yyval.ttype = yyvsp[0].ttype;
6379 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6383 #line 2538 "parse.y"
6384 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6385 &prefix_attributes);
6386 yyvsp[-4].ttype = current_declspecs;
6387 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6388 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6391 #line 2544 "parse.y"
6392 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6393 &prefix_attributes);
6394 yyvsp[-4].ttype = current_declspecs;
6395 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6396 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6399 #line 2553 "parse.y"
6400 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6401 &prefix_attributes);
6402 yyvsp[-4].ttype = current_declspecs;
6403 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6404 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6407 #line 2559 "parse.y"
6408 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6409 &prefix_attributes);
6410 yyvsp[-4].ttype = current_declspecs;
6411 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6412 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6415 #line 2565 "parse.y"
6416 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6417 &prefix_attributes);
6418 yyvsp[-4].ttype = current_declspecs;
6419 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6420 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6423 #line 2571 "parse.y"
6424 { split_specs_attrs (yyvsp[-3].ttype, ¤t_declspecs,
6425 &prefix_attributes);
6426 yyvsp[-3].ttype = current_declspecs;
6427 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6428 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6431 #line 2580 "parse.y"
6432 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6433 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6436 #line 2583 "parse.y"
6437 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6438 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6441 #line 2589 "parse.y"
6442 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6443 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6446 #line 2592 "parse.y"
6447 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6448 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6451 #line 2595 "parse.y"
6452 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6453 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6456 #line 2606 "parse.y"
6457 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6460 #line 2611 "parse.y"
6461 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6464 #line 2613 "parse.y"
6465 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6468 #line 2619 "parse.y"
6469 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6470 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6473 #line 2622 "parse.y"
6474 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6475 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6478 #line 2629 "parse.y"
6481 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6482 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6483 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6484 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6488 #line 2640 "parse.y"
6489 { yyval.ttype = NULL_TREE; ;
6492 #line 2642 "parse.y"
6493 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6496 #line 2647 "parse.y"
6497 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6498 yyval.ftype.new_type_flag = 0; ;
6501 #line 2650 "parse.y"
6502 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6503 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6506 #line 2659 "parse.y"
6507 { yyval.itype = suspend_momentary (); ;
6510 #line 2664 "parse.y"
6511 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6514 #line 2670 "parse.y"
6515 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6518 #line 2672 "parse.y"
6519 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6522 #line 2674 "parse.y"
6523 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6526 #line 2676 "parse.y"
6527 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6530 #line 2683 "parse.y"
6531 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6534 #line 2685 "parse.y"
6535 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6538 #line 2687 "parse.y"
6539 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6542 #line 2689 "parse.y"
6543 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6546 #line 2691 "parse.y"
6547 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6548 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6552 #line 2699 "parse.y"
6554 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6556 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6557 if (current_class_type
6558 && TYPE_BEING_DEFINED (current_class_type)
6559 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6561 /* Remember that this name has been used in the class
6562 definition, as per [class.scope0] */
6563 pushdecl_class_level (yyval.ttype);
6567 yyval.ttype = yyvsp[0].ttype;
6571 #line 2716 "parse.y"
6573 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6574 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6576 yyval.ttype = yyvsp[0].ttype;
6577 got_scope = NULL_TREE;
6581 #line 2729 "parse.y"
6582 { yyval.ttype = yyvsp[0].ttype; ;
6585 #line 2734 "parse.y"
6586 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6589 #line 2739 "parse.y"
6590 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6593 #line 2741 "parse.y"
6594 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6597 #line 2743 "parse.y"
6598 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6601 #line 2745 "parse.y"
6602 { yyval.ttype = yyvsp[-1].ttype; ;
6605 #line 2747 "parse.y"
6606 { push_nested_class (yyvsp[-1].ttype, 3);
6607 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6608 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6611 #line 2758 "parse.y"
6612 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6615 #line 2760 "parse.y"
6616 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6619 #line 2762 "parse.y"
6620 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6623 #line 2764 "parse.y"
6624 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6627 #line 2766 "parse.y"
6628 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6629 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6633 #line 2774 "parse.y"
6634 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6637 #line 2776 "parse.y"
6638 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6641 #line 2778 "parse.y"
6642 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6645 #line 2780 "parse.y"
6646 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6649 #line 2782 "parse.y"
6650 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6651 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6655 #line 2790 "parse.y"
6656 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6659 #line 2792 "parse.y"
6660 { yyval.ttype = yyvsp[-1].ttype; ;
6663 #line 2794 "parse.y"
6664 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6667 #line 2796 "parse.y"
6668 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6671 #line 2798 "parse.y"
6672 { if (TREE_CODE (OP0 (yyvsp[0].ttype)) == NAMESPACE_DECL)
6674 push_decl_namespace (OP0 (yyvsp[0].ttype));
6675 TREE_COMPLEXITY (yyvsp[0].ttype) = -1;
6677 else if (OP0 (yyvsp[0].ttype) != current_class_type)
6679 push_nested_class (OP0 (yyvsp[0].ttype), 3);
6680 TREE_COMPLEXITY (yyvsp[0].ttype) = current_class_depth;
6685 #line 2810 "parse.y"
6686 { got_scope = NULL_TREE;
6687 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6688 if (yyvsp[-1].ttype != current_class_type)
6690 push_nested_class (yyvsp[-1].ttype, 3);
6691 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6696 #line 2822 "parse.y"
6697 { got_scope = NULL_TREE;
6698 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6701 #line 2825 "parse.y"
6702 { got_scope = NULL_TREE;
6703 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6706 #line 2831 "parse.y"
6707 { got_scope = NULL_TREE;
6708 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6711 #line 2834 "parse.y"
6712 { got_scope = NULL_TREE;
6713 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6716 #line 2841 "parse.y"
6717 { yyval.ttype = yyvsp[0].ttype; ;
6720 #line 2846 "parse.y"
6721 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6724 #line 2848 "parse.y"
6725 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6728 #line 2850 "parse.y"
6729 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6732 #line 2862 "parse.y"
6733 { yyval.ttype = yyvsp[0].ttype; ;
6736 #line 2864 "parse.y"
6737 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6740 #line 2871 "parse.y"
6742 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6744 yyval.ttype = lastiddecl;
6745 /* Remember that this name has been used in the class
6746 definition, as per [class.scope0] */
6747 if (current_class_type
6748 && TYPE_BEING_DEFINED (current_class_type)
6749 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6750 pushdecl_class_level (yyval.ttype);
6752 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6756 #line 2885 "parse.y"
6758 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6759 yyval.ttype = lastiddecl;
6760 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6764 #line 2891 "parse.y"
6766 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6767 yyval.ttype = lastiddecl;
6768 got_scope = yyval.ttype;
6772 #line 2897 "parse.y"
6773 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6776 #line 2913 "parse.y"
6777 { yyval.ttype = yyvsp[0].ttype; ;
6780 #line 2918 "parse.y"
6782 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6783 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6784 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6785 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6788 yyval.ttype = yyvsp[0].ttype;
6789 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6790 yyval.ttype = TREE_TYPE (yyval.ttype);
6795 #line 2931 "parse.y"
6796 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6799 #line 2933 "parse.y"
6800 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6803 #line 2935 "parse.y"
6804 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6807 #line 2940 "parse.y"
6809 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6810 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6814 #line 2945 "parse.y"
6816 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6817 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6818 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6819 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6822 yyval.ttype = yyvsp[0].ttype;
6823 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6824 yyval.ttype = TREE_TYPE (yyval.ttype);
6829 #line 2958 "parse.y"
6830 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6833 #line 2960 "parse.y"
6834 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6837 #line 2965 "parse.y"
6839 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6840 yyvsp[-1].ttype = lastiddecl;
6842 /* Retrieve the type for the identifier, which might involve
6843 some computation. */
6844 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6846 if (yyval.ttype == error_mark_node)
6847 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6851 #line 2977 "parse.y"
6853 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6854 yyval.ttype = lastiddecl;
6855 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6859 #line 2983 "parse.y"
6860 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6863 #line 2987 "parse.y"
6865 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6866 yyval.ttype = lastiddecl;
6867 got_scope = yyval.ttype;
6871 #line 2996 "parse.y"
6872 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6875 #line 3001 "parse.y"
6877 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6878 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6880 yyval.ttype = yyvsp[0].ttype;
6881 got_scope = NULL_TREE;
6885 #line 3010 "parse.y"
6886 { yyval.ttype = yyvsp[0].ttype; ;
6889 #line 3015 "parse.y"
6890 { got_scope = NULL_TREE; ;
6893 #line 3017 "parse.y"
6894 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6897 #line 3024 "parse.y"
6898 { got_scope = void_type_node; ;
6901 #line 3030 "parse.y"
6902 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6905 #line 3032 "parse.y"
6906 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6909 #line 3034 "parse.y"
6910 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6913 #line 3036 "parse.y"
6914 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6917 #line 3038 "parse.y"
6918 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6919 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6923 #line 3042 "parse.y"
6924 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6925 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6929 #line 3051 "parse.y"
6930 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6933 #line 3053 "parse.y"
6934 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6937 #line 3059 "parse.y"
6938 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6941 #line 3061 "parse.y"
6942 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6945 #line 3063 "parse.y"
6946 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6949 #line 3065 "parse.y"
6950 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6953 #line 3067 "parse.y"
6954 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6957 #line 3069 "parse.y"
6958 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6961 #line 3071 "parse.y"
6962 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6965 #line 3073 "parse.y"
6966 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
6969 #line 3075 "parse.y"
6970 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6971 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6975 #line 3079 "parse.y"
6976 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6977 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6981 #line 3088 "parse.y"
6982 { yyval.ttype = yyvsp[-1].ttype; ;
6985 #line 3092 "parse.y"
6986 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6989 #line 3094 "parse.y"
6990 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
6993 #line 3096 "parse.y"
6994 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6997 #line 3098 "parse.y"
6998 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7001 #line 3100 "parse.y"
7002 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7005 #line 3102 "parse.y"
7006 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7009 #line 3104 "parse.y"
7010 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7013 #line 3106 "parse.y"
7014 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7017 #line 3108 "parse.y"
7018 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7021 #line 3131 "parse.y"
7023 pedwarn ("ANSI C++ forbids label declarations"); ;
7026 #line 3142 "parse.y"
7028 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7030 tree label = shadow_label (TREE_VALUE (link));
7031 C_DECLARED_LABEL_FLAG (label) = 1;
7032 declare_nonlocal_label (label);
7037 #line 3156 "parse.y"
7041 #line 3162 "parse.y"
7042 { yyval.ttype = begin_compound_stmt (0); ;
7045 #line 3164 "parse.y"
7046 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7049 #line 3169 "parse.y"
7051 yyval.ttype = begin_if_stmt ();
7052 cond_stmt_keyword = "if";
7056 #line 3174 "parse.y"
7057 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7060 #line 3176 "parse.y"
7061 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7064 #line 3181 "parse.y"
7065 { yyval.ttype = begin_compound_stmt (0); ;
7068 #line 3183 "parse.y"
7069 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7072 #line 3188 "parse.y"
7076 #line 3194 "parse.y"
7080 #line 3196 "parse.y"
7081 { finish_expr_stmt (yyvsp[-1].ttype); ;
7084 #line 3198 "parse.y"
7085 { begin_else_clause (); ;
7088 #line 3200 "parse.y"
7090 finish_else_clause (yyvsp[-3].ttype);
7095 #line 3205 "parse.y"
7096 { finish_if_stmt (); ;
7099 #line 3207 "parse.y"
7101 yyval.ttype = begin_while_stmt ();
7102 cond_stmt_keyword = "while";
7106 #line 3212 "parse.y"
7107 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7110 #line 3214 "parse.y"
7111 { finish_while_stmt (yyvsp[-3].ttype); ;
7114 #line 3216 "parse.y"
7115 { yyval.ttype = begin_do_stmt (); ;
7118 #line 3218 "parse.y"
7120 finish_do_body (yyvsp[-2].ttype);
7121 cond_stmt_keyword = "do";
7125 #line 3223 "parse.y"
7126 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7129 #line 3225 "parse.y"
7130 { yyval.ttype = begin_for_stmt (); ;
7133 #line 3227 "parse.y"
7134 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7137 #line 3229 "parse.y"
7138 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7141 #line 3231 "parse.y"
7142 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7145 #line 3233 "parse.y"
7146 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7149 #line 3235 "parse.y"
7150 { begin_switch_stmt (); ;
7153 #line 3237 "parse.y"
7154 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7157 #line 3239 "parse.y"
7158 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7161 #line 3241 "parse.y"
7162 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7165 #line 3244 "parse.y"
7166 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7169 #line 3247 "parse.y"
7170 { finish_case_label (NULL_TREE, NULL_TREE); ;
7173 #line 3250 "parse.y"
7174 { finish_break_stmt (); ;
7177 #line 3252 "parse.y"
7178 { finish_continue_stmt (); ;
7181 #line 3254 "parse.y"
7182 { finish_return_stmt (NULL_TREE); ;
7185 #line 3256 "parse.y"
7186 { finish_return_stmt (yyvsp[-1].ttype); ;
7189 #line 3258 "parse.y"
7191 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7196 #line 3264 "parse.y"
7198 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7203 #line 3270 "parse.y"
7204 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7207 #line 3274 "parse.y"
7208 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7211 #line 3276 "parse.y"
7214 pedwarn ("ANSI C++ forbids computed gotos");
7215 finish_goto_stmt (yyvsp[-1].ttype);
7219 #line 3282 "parse.y"
7220 { finish_goto_stmt (yyvsp[-1].ttype); ;
7223 #line 3284 "parse.y"
7227 #line 3286 "parse.y"
7228 { error ("label must be followed by statement");
7233 #line 3290 "parse.y"
7237 #line 3294 "parse.y"
7238 { do_local_using_decl (yyvsp[0].ttype); ;
7241 #line 3300 "parse.y"
7243 if (! current_function_parms_stored)
7244 store_parm_decls ();
7245 expand_start_early_try_stmts ();
7249 #line 3306 "parse.y"
7251 expand_start_all_catch ();
7255 #line 3310 "parse.y"
7257 int nested = (hack_decl_function_context
7258 (current_function_decl) != NULL_TREE);
7259 expand_end_all_catch ();
7260 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7264 #line 3320 "parse.y"
7265 { yyval.ttype = begin_try_block (); ;
7268 #line 3322 "parse.y"
7269 { finish_try_block (yyvsp[-1].ttype); ;
7272 #line 3324 "parse.y"
7273 { finish_handler_sequence (yyvsp[-3].ttype); ;
7276 #line 3334 "parse.y"
7277 { yyval.ttype = begin_handler(); ;
7280 #line 3336 "parse.y"
7281 { finish_handler_parms (yyvsp[-1].ttype); ;
7284 #line 3338 "parse.y"
7285 { finish_handler (yyvsp[-3].ttype); ;
7288 #line 3348 "parse.y"
7289 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7292 #line 3364 "parse.y"
7293 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7294 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7295 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7298 #line 3371 "parse.y"
7301 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7302 if (label && ! minimal_parse_mode)
7303 expand_label (label);
7307 #line 3378 "parse.y"
7311 #line 3380 "parse.y"
7315 #line 3382 "parse.y"
7319 #line 3387 "parse.y"
7320 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7323 #line 3390 "parse.y"
7325 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7329 #line 3399 "parse.y"
7330 { emit_line_note (input_filename, lineno);
7331 yyval.ttype = NULL_TREE; ;
7334 #line 3402 "parse.y"
7335 { emit_line_note (input_filename, lineno); ;
7338 #line 3407 "parse.y"
7339 { yyval.ttype = NULL_TREE; ;
7342 #line 3410 "parse.y"
7343 { yyval.ttype = NULL_TREE; ;
7346 #line 3417 "parse.y"
7347 { yyval.ttype = NULL_TREE; ;
7350 #line 3424 "parse.y"
7351 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7354 #line 3429 "parse.y"
7355 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7358 #line 3434 "parse.y"
7359 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7362 #line 3436 "parse.y"
7363 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7366 #line 3447 "parse.y"
7368 yyval.ttype = empty_parms();
7372 #line 3452 "parse.y"
7373 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7374 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7377 #line 3460 "parse.y"
7378 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7381 #line 3462 "parse.y"
7382 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7385 #line 3465 "parse.y"
7386 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7389 #line 3467 "parse.y"
7390 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7391 yyvsp[-1].ftype.t), 1); ;
7394 #line 3470 "parse.y"
7395 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7398 #line 3472 "parse.y"
7400 /* This helps us recover from really nasty
7401 parse errors, for example, a missing right
7403 yyerror ("possibly missing ')'");
7404 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7410 #line 3482 "parse.y"
7412 /* This helps us recover from really nasty
7413 parse errors, for example, a missing right
7415 yyerror ("possibly missing ')'");
7416 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7417 yyvsp[-1].ftype.t), 0);
7423 #line 3497 "parse.y"
7424 { maybe_snarf_defarg (); ;
7427 #line 3499 "parse.y"
7428 { yyval.ttype = yyvsp[0].ttype; ;
7431 #line 3510 "parse.y"
7432 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7433 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7436 #line 3513 "parse.y"
7437 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7438 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7441 #line 3516 "parse.y"
7442 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7443 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7446 #line 3519 "parse.y"
7447 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7450 #line 3521 "parse.y"
7451 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7454 #line 3527 "parse.y"
7455 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7456 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7459 #line 3537 "parse.y"
7460 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7461 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7462 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7465 #line 3541 "parse.y"
7466 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7467 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7470 #line 3544 "parse.y"
7471 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7472 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7475 #line 3547 "parse.y"
7476 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7477 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7478 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7481 #line 3551 "parse.y"
7482 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7483 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7484 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7487 #line 3555 "parse.y"
7488 { tree specs = strip_attrs (yyvsp[-1].ttype);
7489 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7490 yyval.ftype.new_type_flag = 0; ;
7493 #line 3562 "parse.y"
7494 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7495 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7498 #line 3565 "parse.y"
7499 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7500 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7503 #line 3576 "parse.y"
7504 { see_typename (); ;
7507 #line 3581 "parse.y"
7509 error ("type specifier omitted for parameter");
7510 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7514 #line 3586 "parse.y"
7516 error ("type specifier omitted for parameter");
7517 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7518 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7519 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7520 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7521 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7525 #line 3598 "parse.y"
7526 { yyval.ttype = NULL_TREE; ;
7529 #line 3600 "parse.y"
7530 { yyval.ttype = yyvsp[-1].ttype; ;
7533 #line 3602 "parse.y"
7534 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7537 #line 3607 "parse.y"
7538 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7541 #line 3613 "parse.y"
7543 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7544 yyval.ttype = yyvsp[0].ttype;
7548 #line 3621 "parse.y"
7549 { yyval.ttype = NULL_TREE; ;
7552 #line 3623 "parse.y"
7553 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7556 #line 3625 "parse.y"
7557 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7560 #line 3627 "parse.y"
7561 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7562 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7566 #line 3634 "parse.y"
7567 { got_scope = NULL_TREE; ;
7570 #line 3639 "parse.y"
7571 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7574 #line 3641 "parse.y"
7575 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7578 #line 3643 "parse.y"
7579 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7582 #line 3645 "parse.y"
7583 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7586 #line 3647 "parse.y"
7587 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7590 #line 3649 "parse.y"
7591 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7594 #line 3651 "parse.y"
7595 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7598 #line 3653 "parse.y"
7599 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7602 #line 3655 "parse.y"
7603 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7606 #line 3657 "parse.y"
7607 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7610 #line 3659 "parse.y"
7611 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7614 #line 3661 "parse.y"
7615 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7618 #line 3663 "parse.y"
7619 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7622 #line 3665 "parse.y"
7623 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7626 #line 3667 "parse.y"
7627 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7630 #line 3669 "parse.y"
7631 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7634 #line 3671 "parse.y"
7635 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7638 #line 3673 "parse.y"
7639 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7642 #line 3675 "parse.y"
7643 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7646 #line 3677 "parse.y"
7647 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7650 #line 3679 "parse.y"
7651 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7654 #line 3681 "parse.y"
7655 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7658 #line 3683 "parse.y"
7659 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7662 #line 3685 "parse.y"
7663 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7666 #line 3687 "parse.y"
7667 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7670 #line 3689 "parse.y"
7671 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7674 #line 3691 "parse.y"
7675 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7678 #line 3693 "parse.y"
7679 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7682 #line 3695 "parse.y"
7683 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7686 #line 3697 "parse.y"
7687 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7690 #line 3699 "parse.y"
7691 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7694 #line 3701 "parse.y"
7695 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7698 #line 3703 "parse.y"
7699 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7702 #line 3706 "parse.y"
7703 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7706 #line 3708 "parse.y"
7707 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7710 /* the action file gets copied in in place of this dollarsign */
7711 #line 498 "/usr/lib/bison.simple"
7722 short *ssp1 = yyss - 1;
7723 fprintf (stderr, "state stack now");
7724 while (ssp1 != yyssp)
7725 fprintf (stderr, " %d", *++ssp1);
7726 fprintf (stderr, "\n");
7736 yylsp->first_line = yylloc.first_line;
7737 yylsp->first_column = yylloc.first_column;
7738 yylsp->last_line = (yylsp-1)->last_line;
7739 yylsp->last_column = (yylsp-1)->last_column;
7744 yylsp->last_line = (yylsp+yylen-1)->last_line;
7745 yylsp->last_column = (yylsp+yylen-1)->last_column;
7749 /* Now "shift" the result of the reduction.
7750 Determine what state that goes to,
7751 based on the state we popped back to
7752 and the rule number reduced by. */
7756 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7757 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7758 yystate = yytable[yystate];
7760 yystate = yydefgoto[yyn - YYNTBASE];
7764 yyerrlab: /* here on detecting error */
7767 /* If not already recovering from an error, report this error. */
7771 #ifdef YYERROR_VERBOSE
7772 yyn = yypact[yystate];
7774 if (yyn > YYFLAG && yyn < YYLAST)
7781 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7782 for (x = (yyn < 0 ? -yyn : 0);
7783 x < (sizeof(yytname) / sizeof(char *)); x++)
7784 if (yycheck[x + yyn] == x)
7785 size += strlen(yytname[x]) + 15, count++;
7786 msg = (char *) malloc(size + 15);
7789 strcpy(msg, "parse error");
7794 for (x = (yyn < 0 ? -yyn : 0);
7795 x < (sizeof(yytname) / sizeof(char *)); x++)
7796 if (yycheck[x + yyn] == x)
7798 strcat(msg, count == 0 ? ", expecting `" : " or `");
7799 strcat(msg, yytname[x]);
7808 yyerror ("parse error; also virtual memory exceeded");
7811 #endif /* YYERROR_VERBOSE */
7812 yyerror("parse error");
7816 yyerrlab1: /* here on error raised explicitly by an action */
7818 if (yyerrstatus == 3)
7820 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7822 /* return failure if at end of input */
7823 if (yychar == YYEOF)
7828 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7834 /* Else will try to reuse lookahead token
7835 after shifting the error token. */
7837 yyerrstatus = 3; /* Each real token shifted decrements this */
7841 yyerrdefault: /* current state does not do anything special for the error token. */
7844 /* This is wrong; only states that explicitly want error tokens
7845 should shift them. */
7846 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7847 if (yyn) goto yydefault;
7850 yyerrpop: /* pop the current state because it cannot handle the error token */
7852 if (yyssp == yyss) YYABORT;
7862 short *ssp1 = yyss - 1;
7863 fprintf (stderr, "Error: state stack now");
7864 while (ssp1 != yyssp)
7865 fprintf (stderr, " %d", *++ssp1);
7866 fprintf (stderr, "\n");
7872 yyn = yypact[yystate];
7877 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7896 fprintf(stderr, "Shifting error token, ");
7907 #line 3711 "parse.y"
7912 debug_yytranslate (value)
7915 return yytname[YYTRANSLATE (value)];