2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.28 */
5 #define YYBISON 1 /* Identify Bison output. */
13 #define CV_QUALIFIER 263
29 #define RETURN_KEYWORD 279
31 #define ASM_KEYWORD 281
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
81 #define EXTERN_LANG_STRING 331
83 #define PRE_PARSED_CLASS_DECL 333
85 #define DEFARG_MARKER 335
86 #define PRE_PARSED_FUNCTION_DECL 336
87 #define TYPENAME_DEFN 337
88 #define IDENTIFIER_DEFN 338
89 #define PTYPENAME_DEFN 339
90 #define END_OF_LINE 340
91 #define END_OF_SAVED_INPUT 341
95 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 const char * const language_string
= "GNU C++";
116 extern struct obstack permanent_obstack
;
118 extern int end_of_file
;
120 /* Like YYERROR but do call yyerror. */
121 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
124 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126 /* Contains the statement keyword (if/while/do) to include in an
127 error message if the user supplies an empty conditional expression. */
128 static const char *cond_stmt_keyword
;
130 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
131 int have_extern_spec
;
132 int used_extern_spec
;
134 /* List of types and structure classes of the current declaration. */
135 static tree current_declspecs
;
137 /* List of prefix attributes in effect.
138 Prefix attributes are parsed by the reserved_declspecs and declmods
139 rules. They create a list that contains *both* declspecs and attrs. */
140 /* ??? It is not clear yet that all cases where an attribute can now appear in
141 a declspec list have been updated. */
142 static tree prefix_attributes
;
144 /* When defining an aggregate, this is the kind of the most recent one
145 being defined. (For example, this might be class_type_node.) */
146 static tree current_aggr
;
148 /* When defining an enumeration, this is the type of the enumeration. */
149 static tree current_enum_type
;
151 static tree empty_parms
PARAMS ((void));
152 static tree parse_decl0
PARAMS ((tree
, tree
, tree
, tree
, int));
153 static tree parse_decl
PARAMS ((tree
, tree
, int));
154 static void parse_end_decl
PARAMS ((tree
, tree
, tree
));
155 static tree parse_field0
PARAMS ((tree
, tree
, tree
, tree
, tree
, tree
));
156 static tree parse_field
PARAMS ((tree
, tree
, tree
, tree
));
157 static tree parse_bitfield0
PARAMS ((tree
, tree
, tree
, tree
, tree
));
158 static tree parse_bitfield
PARAMS ((tree
, tree
, tree
));
159 static tree parse_method
PARAMS ((tree
, tree
, tree
));
160 static void frob_specs
PARAMS ((tree
, tree
));
162 /* Cons up an empty parameter list. */
169 || current_class_type
!= NULL
)
170 parms
= void_list_node
;
176 /* Record the decl-specifiers, attributes and type lookups from the
177 decl-specifier-seq in a declaration. */
180 frob_specs (specs_attrs
, lookups
)
181 tree specs_attrs
, lookups
;
183 save_type_access_control (lookups
);
184 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
185 if (current_declspecs
186 && TREE_CODE (current_declspecs
) != TREE_LIST
)
187 current_declspecs
= build_decl_list (NULL_TREE
, current_declspecs
);
188 if (have_extern_spec
&& !used_extern_spec
)
190 current_declspecs
= decl_tree_cons (NULL_TREE
,
191 get_identifier ("extern"),
193 used_extern_spec
= 1;
198 parse_decl (declarator
, attributes
, initialized
)
199 tree declarator
, attributes
;
202 return start_decl (declarator
, current_declspecs
, initialized
,
203 attributes
, prefix_attributes
);
207 parse_decl0 (declarator
, specs_attrs
, lookups
, attributes
, initialized
)
208 tree declarator
, specs_attrs
, lookups
, attributes
;
211 frob_specs (specs_attrs
, lookups
);
212 return parse_decl (declarator
, attributes
, initialized
);
216 parse_end_decl (decl
, init
, asmspec
)
217 tree decl
, init
, asmspec
;
219 /* If decl is NULL_TREE, then this was a variable declaration using
220 () syntax for the initializer, so we handled it in grokdeclarator. */
222 decl_type_access_control (decl
);
223 cp_finish_decl (decl
, init
, asmspec
, init
? LOOKUP_ONLYCONVERTING
: 0);
227 parse_field (declarator
, attributes
, asmspec
, init
)
228 tree declarator
, attributes
, asmspec
, init
;
230 tree d
= grokfield (declarator
, current_declspecs
, init
, asmspec
,
231 build_tree_list (attributes
, prefix_attributes
));
232 decl_type_access_control (d
);
237 parse_field0 (declarator
, specs_attrs
, lookups
, attributes
, asmspec
, init
)
238 tree declarator
, specs_attrs
, lookups
, attributes
, asmspec
, init
;
240 frob_specs (specs_attrs
, lookups
);
241 return parse_field (declarator
, attributes
, asmspec
, init
);
245 parse_bitfield (declarator
, attributes
, width
)
246 tree declarator
, attributes
, width
;
248 tree d
= grokbitfield (declarator
, current_declspecs
, width
);
249 cplus_decl_attributes (d
, attributes
, prefix_attributes
);
250 decl_type_access_control (d
);
255 parse_bitfield0 (declarator
, specs_attrs
, lookups
, attributes
, width
)
256 tree declarator
, specs_attrs
, lookups
, attributes
, width
;
258 frob_specs (specs_attrs
, lookups
);
259 return parse_bitfield (declarator
, attributes
, width
);
263 parse_method (declarator
, specs_attrs
, lookups
)
264 tree declarator
, specs_attrs
, lookups
;
267 frob_specs (specs_attrs
, lookups
);
268 d
= start_method (current_declspecs
, declarator
, prefix_attributes
);
269 decl_type_access_control (d
);
276 ggc_add_tree_root (¤t_declspecs
, 1);
277 ggc_add_tree_root (&prefix_attributes
, 1);
278 ggc_add_tree_root (¤t_aggr
, 1);
279 ggc_add_tree_root (¤t_enum_type
, 1);
288 flagged_type_tree ftype
;
289 struct pending_inline
*pi
;
293 /* Tell yyparse how to print a token's value, if yydebug is set. */
294 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
295 extern void yyprint
PARAMS ((FILE *, int, YYSTYPE
));
307 #define YYFLAG -32768
310 #define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 397)
312 static const char yytranslate
[] = { 0,
313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
316 2, 2, 110, 2, 2, 2, 83, 71, 2, 93,
317 108, 81, 79, 60, 80, 92, 82, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
319 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 94, 2, 111, 70, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 59, 69, 109, 89, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
339 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
340 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
341 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
342 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
343 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
344 57, 58, 62, 64, 67, 68, 72, 73, 74, 77,
345 78, 84, 85, 86, 87, 88, 90, 91, 95, 96,
346 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
351 static const short yyprhs
[] = { 0,
352 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
353 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
354 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
355 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
356 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
357 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
358 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
359 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
360 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
361 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
362 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
363 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
364 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
365 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
366 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
367 485, 487, 488, 495, 496, 503, 504, 510, 511, 517,
368 518, 526, 527, 535, 536, 543, 544, 551, 552, 553,
369 559, 565, 567, 569, 575, 581, 582, 584, 586, 587,
370 589, 591, 595, 597, 599, 601, 603, 605, 607, 609,
371 611, 613, 615, 617, 621, 623, 627, 628, 630, 632,
372 633, 641, 643, 645, 649, 654, 658, 659, 663, 665,
373 669, 673, 677, 681, 683, 685, 687, 690, 693, 696,
374 699, 702, 705, 708, 713, 716, 721, 724, 728, 732,
375 737, 742, 748, 754, 761, 764, 769, 775, 778, 781,
376 788, 792, 796, 800, 802, 806, 809, 813, 818, 820,
377 823, 829, 831, 835, 839, 843, 847, 851, 855, 859,
378 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
379 903, 907, 913, 917, 921, 923, 926, 930, 934, 936,
380 938, 940, 942, 944, 945, 951, 957, 963, 969, 975,
381 977, 979, 981, 983, 986, 988, 991, 994, 998, 1003,
382 1008, 1010, 1012, 1014, 1018, 1020, 1022, 1024, 1026, 1030,
383 1034, 1038, 1039, 1044, 1049, 1052, 1057, 1060, 1065, 1068,
384 1071, 1073, 1078, 1080, 1088, 1096, 1104, 1112, 1117, 1122,
385 1125, 1128, 1131, 1133, 1138, 1141, 1144, 1150, 1154, 1157,
386 1160, 1166, 1170, 1176, 1180, 1185, 1192, 1195, 1197, 1200,
387 1202, 1205, 1207, 1209, 1211, 1214, 1215, 1218, 1221, 1225,
388 1229, 1233, 1236, 1239, 1242, 1244, 1246, 1248, 1251, 1254,
389 1257, 1260, 1262, 1264, 1266, 1268, 1271, 1274, 1278, 1282,
390 1286, 1291, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1311,
391 1314, 1317, 1319, 1321, 1324, 1327, 1331, 1333, 1336, 1338,
392 1340, 1342, 1347, 1352, 1357, 1362, 1364, 1366, 1368, 1370,
393 1374, 1376, 1380, 1382, 1386, 1387, 1392, 1393, 1400, 1404,
394 1405, 1410, 1412, 1416, 1420, 1421, 1426, 1430, 1431, 1433,
395 1435, 1438, 1445, 1447, 1451, 1452, 1454, 1459, 1466, 1471,
396 1473, 1475, 1477, 1479, 1481, 1485, 1486, 1489, 1491, 1494,
397 1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533,
398 1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562,
399 1569, 1570, 1576, 1579, 1582, 1585, 1586, 1587, 1588, 1599,
400 1601, 1602, 1604, 1605, 1607, 1609, 1612, 1615, 1618, 1621,
401 1624, 1627, 1630, 1633, 1636, 1640, 1645, 1649, 1652, 1656,
402 1658, 1659, 1663, 1666, 1669, 1671, 1673, 1674, 1677, 1681,
403 1683, 1688, 1690, 1694, 1696, 1698, 1701, 1704, 1708, 1712,
404 1713, 1715, 1719, 1722, 1725, 1727, 1730, 1733, 1736, 1739,
405 1742, 1745, 1748, 1750, 1753, 1756, 1760, 1763, 1766, 1771,
406 1776, 1779, 1781, 1787, 1792, 1794, 1795, 1797, 1801, 1802,
407 1804, 1808, 1810, 1812, 1814, 1816, 1821, 1826, 1831, 1836,
408 1841, 1845, 1850, 1855, 1860, 1865, 1869, 1872, 1874, 1876,
409 1880, 1882, 1886, 1889, 1891, 1898, 1899, 1902, 1904, 1907,
410 1911, 1915, 1917, 1921, 1923, 1926, 1930, 1934, 1937, 1940,
411 1944, 1946, 1951, 1956, 1960, 1964, 1967, 1969, 1971, 1974,
412 1976, 1978, 1981, 1984, 1986, 1989, 1993, 1997, 2000, 2003,
413 2007, 2009, 2013, 2017, 2020, 2023, 2027, 2029, 2034, 2038,
414 2043, 2047, 2049, 2052, 2055, 2058, 2061, 2064, 2067, 2070,
415 2072, 2075, 2080, 2085, 2088, 2090, 2092, 2094, 2096, 2099,
416 2104, 2107, 2110, 2113, 2116, 2118, 2121, 2124, 2127, 2130,
417 2134, 2136, 2139, 2143, 2148, 2151, 2154, 2157, 2160, 2163,
418 2166, 2171, 2174, 2176, 2179, 2182, 2186, 2188, 2192, 2195,
419 2199, 2202, 2205, 2209, 2211, 2215, 2220, 2222, 2225, 2229,
420 2232, 2235, 2237, 2241, 2244, 2247, 2249, 2252, 2256, 2258,
421 2262, 2269, 2274, 2279, 2283, 2289, 2293, 2297, 2301, 2304,
422 2306, 2308, 2311, 2314, 2317, 2318, 2320, 2322, 2325, 2329,
423 2331, 2334, 2335, 2339, 2340, 2341, 2347, 2349, 2350, 2353,
424 2355, 2357, 2359, 2362, 2363, 2368, 2370, 2371, 2372, 2378,
425 2379, 2380, 2388, 2389, 2390, 2391, 2392, 2405, 2406, 2407,
426 2415, 2416, 2422, 2423, 2431, 2432, 2437, 2440, 2443, 2446,
427 2450, 2457, 2466, 2477, 2486, 2499, 2510, 2521, 2526, 2530,
428 2533, 2536, 2538, 2540, 2542, 2544, 2546, 2547, 2548, 2555,
429 2556, 2557, 2563, 2565, 2568, 2569, 2570, 2576, 2578, 2580,
430 2584, 2588, 2591, 2594, 2597, 2600, 2603, 2605, 2608, 2609,
431 2611, 2612, 2614, 2616, 2617, 2619, 2621, 2625, 2630, 2632,
432 2636, 2637, 2639, 2641, 2643, 2646, 2649, 2652, 2654, 2657,
433 2660, 2661, 2665, 2667, 2669, 2671, 2674, 2677, 2680, 2685,
434 2688, 2691, 2694, 2697, 2700, 2703, 2705, 2708, 2710, 2713,
435 2715, 2717, 2718, 2719, 2721, 2722, 2727, 2730, 2732, 2734,
436 2738, 2739, 2743, 2747, 2751, 2753, 2756, 2759, 2762, 2765,
437 2768, 2771, 2774, 2777, 2780, 2783, 2786, 2789, 2792, 2795,
438 2798, 2801, 2804, 2807, 2810, 2813, 2816, 2819, 2822, 2826,
439 2829, 2832, 2835, 2838, 2842, 2845, 2848, 2853, 2858, 2862
442 static const short yyrhs
[] = { -1,
443 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
444 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
445 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
446 93, 217, 108, 61, 0, 133, 59, 115, 109, 0,
447 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
448 0, 0, 45, 163, 59, 123, 115, 109, 0, 0,
449 45, 59, 124, 115, 109, 0, 125, 0, 127, 61,
450 0, 129, 0, 118, 122, 0, 0, 45, 163, 65,
451 126, 132, 61, 0, 47, 310, 0, 47, 324, 310,
452 0, 47, 324, 207, 0, 47, 131, 163, 0, 47,
453 324, 163, 0, 47, 324, 131, 163, 0, 0, 47,
454 45, 130, 132, 61, 0, 58, 55, 0, 131, 58,
455 55, 0, 207, 0, 310, 0, 324, 310, 0, 324,
456 207, 0, 97, 0, 133, 97, 0, 0, 49, 75,
457 135, 136, 76, 0, 49, 75, 76, 0, 140, 0,
458 136, 60, 140, 0, 163, 0, 0, 267, 137, 0,
459 46, 137, 0, 134, 267, 137, 0, 138, 0, 138,
460 65, 223, 0, 388, 0, 388, 65, 202, 0, 139,
461 0, 139, 65, 184, 0, 134, 142, 0, 134, 1,
462 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
463 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
464 142, 0, 234, 61, 0, 227, 233, 61, 0, 224,
465 232, 61, 0, 259, 61, 0, 234, 61, 0, 227,
466 233, 61, 0, 224, 232, 61, 0, 227, 61, 0,
467 166, 61, 0, 224, 61, 0, 1, 61, 0, 1,
468 109, 0, 61, 0, 218, 0, 159, 0, 0, 158,
469 0, 158, 61, 0, 0, 107, 0, 154, 146, 145,
470 335, 0, 154, 146, 359, 0, 154, 146, 1, 0,
471 0, 315, 5, 93, 150, 379, 108, 297, 391, 0,
472 315, 5, 48, 297, 391, 0, 0, 324, 315, 5,
473 93, 151, 379, 108, 297, 391, 0, 324, 315, 5,
474 48, 297, 391, 0, 0, 315, 179, 93, 152, 379,
475 108, 297, 391, 0, 315, 179, 48, 297, 391, 0,
476 0, 324, 315, 179, 93, 153, 379, 108, 297, 391,
477 0, 324, 315, 179, 48, 297, 391, 0, 224, 221,
478 0, 227, 307, 0, 307, 0, 227, 149, 0, 149,
479 0, 5, 93, 379, 108, 297, 391, 0, 5, 48,
480 297, 391, 0, 179, 93, 379, 108, 297, 391, 0,
481 179, 48, 297, 391, 0, 227, 155, 0, 155, 0,
482 224, 221, 0, 227, 307, 0, 307, 0, 227, 149,
483 0, 149, 0, 25, 3, 0, 157, 251, 0, 157,
484 93, 196, 108, 0, 157, 48, 0, 63, 160, 161,
485 0, 0, 0, 162, 0, 161, 60, 162, 0, 161,
486 1, 0, 93, 196, 108, 0, 48, 0, 164, 93,
487 196, 108, 0, 164, 48, 0, 303, 93, 196, 108,
488 0, 303, 48, 0, 317, 93, 196, 108, 0, 317,
489 48, 0, 1, 0, 3, 0, 4, 0, 5, 0,
490 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
491 104, 0, 103, 0, 105, 0, 0, 49, 175, 230,
492 61, 167, 176, 0, 0, 49, 175, 224, 221, 168,
493 176, 0, 0, 49, 175, 307, 169, 176, 0, 0,
494 49, 175, 149, 170, 176, 0, 0, 7, 49, 175,
495 230, 61, 171, 176, 0, 0, 7, 49, 175, 224,
496 221, 172, 176, 0, 0, 7, 49, 175, 307, 173,
497 176, 0, 0, 7, 49, 175, 149, 174, 176, 0,
498 0, 0, 57, 75, 182, 181, 180, 0, 4, 75,
499 182, 181, 180, 0, 179, 0, 177, 0, 163, 75,
500 182, 76, 180, 0, 5, 75, 182, 181, 180, 0,
501 0, 76, 0, 78, 0, 0, 183, 0, 184, 0,
502 183, 60, 184, 0, 223, 0, 57, 0, 202, 0,
503 80, 0, 79, 0, 87, 0, 88, 0, 110, 0,
504 195, 0, 202, 0, 48, 0, 93, 186, 108, 0,
505 48, 0, 93, 190, 108, 0, 0, 190, 0, 1,
506 0, 0, 369, 221, 235, 244, 65, 191, 252, 0,
507 186, 0, 109, 0, 332, 330, 109, 0, 332, 330,
508 1, 109, 0, 332, 1, 109, 0, 0, 59, 194,
509 192, 0, 344, 0, 202, 60, 202, 0, 202, 60,
510 1, 0, 195, 60, 202, 0, 195, 60, 1, 0,
511 202, 0, 195, 0, 212, 0, 118, 201, 0, 81,
512 201, 0, 71, 201, 0, 89, 201, 0, 185, 201,
513 0, 68, 163, 0, 13, 197, 0, 13, 93, 223,
514 108, 0, 29, 197, 0, 29, 93, 223, 108, 0,
515 214, 296, 0, 214, 296, 199, 0, 214, 198, 296,
516 0, 214, 198, 296, 199, 0, 214, 93, 223, 108,
517 0, 214, 93, 223, 108, 199, 0, 214, 198, 93,
518 223, 108, 0, 214, 198, 93, 223, 108, 199, 0,
519 215, 201, 0, 215, 94, 111, 201, 0, 215, 94,
520 186, 111, 201, 0, 34, 201, 0, 35, 201, 0,
521 36, 93, 202, 60, 223, 108, 0, 93, 196, 108,
522 0, 59, 196, 109, 0, 93, 196, 108, 0, 48,
523 0, 93, 230, 108, 0, 65, 252, 0, 93, 223,
524 108, 0, 200, 93, 223, 108, 0, 197, 0, 200,
525 197, 0, 200, 59, 253, 265, 109, 0, 201, 0,
526 202, 84, 202, 0, 202, 85, 202, 0, 202, 79,
527 202, 0, 202, 80, 202, 0, 202, 81, 202, 0,
528 202, 82, 202, 0, 202, 83, 202, 0, 202, 77,
529 202, 0, 202, 78, 202, 0, 202, 74, 202, 0,
530 202, 75, 202, 0, 202, 76, 202, 0, 202, 73,
531 202, 0, 202, 72, 202, 0, 202, 71, 202, 0,
532 202, 69, 202, 0, 202, 70, 202, 0, 202, 68,
533 202, 0, 202, 67, 202, 0, 202, 66, 374, 63,
534 202, 0, 202, 65, 202, 0, 202, 64, 202, 0,
535 62, 0, 62, 202, 0, 89, 389, 163, 0, 89,
536 389, 177, 0, 205, 0, 396, 0, 3, 0, 57,
537 0, 58, 0, 0, 6, 75, 204, 182, 181, 0,
538 396, 75, 204, 182, 181, 0, 49, 163, 75, 182,
539 181, 0, 49, 6, 75, 182, 181, 0, 49, 396,
540 75, 182, 181, 0, 203, 0, 4, 0, 5, 0,
541 209, 0, 245, 209, 0, 203, 0, 81, 208, 0,
542 71, 208, 0, 93, 208, 108, 0, 3, 75, 182,
543 181, 0, 58, 75, 183, 181, 0, 309, 0, 203,
544 0, 210, 0, 93, 208, 108, 0, 203, 0, 10,
545 0, 216, 0, 217, 0, 93, 186, 108, 0, 93,
546 208, 108, 0, 93, 1, 108, 0, 0, 93, 213,
547 336, 108, 0, 203, 93, 196, 108, 0, 203, 48,
548 0, 212, 93, 196, 108, 0, 212, 48, 0, 212,
549 94, 186, 111, 0, 212, 87, 0, 212, 88, 0,
550 41, 0, 9, 93, 196, 108, 0, 313, 0, 51,
551 75, 223, 76, 93, 186, 108, 0, 52, 75, 223,
552 76, 93, 186, 108, 0, 53, 75, 223, 76, 93,
553 186, 108, 0, 54, 75, 223, 76, 93, 186, 108,
554 0, 50, 93, 186, 108, 0, 50, 93, 223, 108,
555 0, 324, 3, 0, 324, 205, 0, 324, 396, 0,
556 312, 0, 312, 93, 196, 108, 0, 312, 48, 0,
557 219, 206, 0, 219, 206, 93, 196, 108, 0, 219,
558 206, 48, 0, 219, 207, 0, 219, 312, 0, 219,
559 207, 93, 196, 108, 0, 219, 207, 48, 0, 219,
560 312, 93, 196, 108, 0, 219, 312, 48, 0, 219,
561 89, 8, 48, 0, 219, 8, 55, 89, 8, 48,
562 0, 219, 1, 0, 40, 0, 324, 40, 0, 39,
563 0, 324, 215, 0, 43, 0, 44, 0, 11, 0,
564 217, 11, 0, 0, 212, 92, 0, 212, 91, 0,
565 230, 232, 61, 0, 224, 232, 61, 0, 227, 233,
566 61, 0, 224, 61, 0, 227, 61, 0, 118, 220,
567 0, 301, 0, 307, 0, 48, 0, 222, 48, 0,
568 228, 328, 0, 298, 328, 0, 230, 328, 0, 228,
569 0, 298, 0, 228, 0, 225, 0, 227, 230, 0,
570 230, 226, 0, 230, 229, 226, 0, 227, 230, 226,
571 0, 227, 230, 229, 0, 227, 230, 229, 226, 0,
572 7, 0, 226, 231, 0, 226, 7, 0, 226, 245,
573 0, 245, 0, 298, 0, 7, 0, 227, 9, 0,
574 227, 7, 0, 227, 245, 0, 245, 0, 230, 0,
575 298, 230, 0, 230, 229, 0, 298, 230, 229, 0,
576 231, 0, 229, 231, 0, 259, 0, 8, 0, 304,
577 0, 28, 93, 186, 108, 0, 28, 93, 223, 108,
578 0, 30, 93, 186, 108, 0, 30, 93, 223, 108,
579 0, 8, 0, 9, 0, 259, 0, 240, 0, 232,
580 60, 236, 0, 241, 0, 233, 60, 236, 0, 242,
581 0, 234, 60, 236, 0, 0, 119, 93, 217, 108,
582 0, 0, 221, 235, 244, 65, 237, 252, 0, 221,
583 235, 244, 0, 0, 244, 65, 239, 252, 0, 244,
584 0, 221, 235, 238, 0, 307, 235, 238, 0, 0,
585 307, 235, 243, 238, 0, 149, 235, 244, 0, 0,
586 245, 0, 246, 0, 245, 246, 0, 31, 93, 93,
587 247, 108, 108, 0, 248, 0, 247, 60, 248, 0,
588 0, 249, 0, 249, 93, 3, 108, 0, 249, 93,
589 3, 60, 196, 108, 0, 249, 93, 196, 108, 0,
590 163, 0, 7, 0, 8, 0, 9, 0, 163, 0,
591 250, 60, 163, 0, 0, 65, 252, 0, 202, 0,
592 59, 109, 0, 59, 253, 109, 0, 59, 253, 60,
593 109, 0, 1, 0, 252, 0, 253, 60, 252, 0,
594 94, 202, 111, 252, 0, 163, 63, 252, 0, 253,
595 60, 163, 63, 252, 0, 102, 0, 254, 146, 145,
596 335, 0, 254, 146, 359, 0, 254, 146, 1, 0,
597 0, 256, 255, 147, 0, 101, 202, 107, 0, 101,
598 1, 107, 0, 0, 258, 257, 0, 258, 1, 0,
599 0, 14, 163, 59, 260, 293, 109, 0, 0, 14,
600 59, 261, 293, 109, 0, 14, 163, 0, 14, 322,
601 0, 46, 317, 0, 0, 0, 0, 274, 59, 262,
602 280, 109, 244, 263, 258, 264, 256, 0, 274, 0,
603 0, 60, 0, 0, 60, 0, 37, 0, 267, 7,
604 0, 267, 8, 0, 267, 9, 0, 267, 37, 0,
605 267, 245, 0, 267, 163, 0, 267, 165, 0, 268,
606 59, 0, 268, 63, 0, 267, 315, 163, 0, 267,
607 324, 315, 163, 0, 267, 324, 163, 0, 267, 178,
608 0, 267, 315, 178, 0, 268, 0, 0, 269, 272,
609 275, 0, 270, 275, 0, 267, 59, 0, 273, 0,
610 271, 0, 0, 63, 389, 0, 63, 389, 276, 0,
611 277, 0, 276, 60, 389, 277, 0, 278, 0, 279,
612 389, 278, 0, 317, 0, 303, 0, 38, 389, 0,
613 7, 389, 0, 279, 38, 389, 0, 279, 7, 389,
614 0, 0, 282, 0, 280, 281, 282, 0, 280, 281,
615 0, 38, 63, 0, 283, 0, 282, 283, 0, 284,
616 61, 0, 284, 109, 0, 156, 63, 0, 156, 95,
617 0, 156, 25, 0, 156, 59, 0, 61, 0, 118,
618 283, 0, 134, 283, 0, 134, 224, 61, 0, 224,
619 285, 0, 227, 286, 0, 307, 235, 244, 251, 0,
620 149, 235, 244, 251, 0, 63, 202, 0, 1, 0,
621 227, 155, 235, 244, 251, 0, 155, 235, 244, 251,
622 0, 127, 0, 0, 287, 0, 285, 60, 288, 0,
623 0, 290, 0, 286, 60, 292, 0, 289, 0, 290,
624 0, 291, 0, 292, 0, 301, 235, 244, 251, 0,
625 4, 63, 202, 244, 0, 307, 235, 244, 251, 0,
626 149, 235, 244, 251, 0, 3, 63, 202, 244, 0,
627 63, 202, 244, 0, 301, 235, 244, 251, 0, 4,
628 63, 202, 244, 0, 307, 235, 244, 251, 0, 3,
629 63, 202, 244, 0, 63, 202, 244, 0, 294, 266,
630 0, 266, 0, 295, 0, 294, 60, 295, 0, 163,
631 0, 163, 65, 202, 0, 369, 325, 0, 369, 0,
632 93, 223, 108, 94, 186, 111, 0, 0, 297, 9,
633 0, 9, 0, 298, 9, 0, 93, 196, 108, 0,
634 93, 379, 108, 0, 48, 0, 93, 1, 108, 0,
635 301, 0, 245, 301, 0, 81, 298, 300, 0, 71,
636 298, 300, 0, 81, 300, 0, 71, 300, 0, 323,
637 297, 300, 0, 302, 0, 302, 299, 297, 391, 0,
638 302, 94, 186, 111, 0, 302, 94, 111, 0, 93,
639 300, 108, 0, 315, 314, 0, 314, 0, 314, 0,
640 324, 314, 0, 303, 0, 305, 0, 324, 305, 0,
641 315, 314, 0, 307, 0, 245, 307, 0, 81, 298,
642 306, 0, 71, 298, 306, 0, 81, 306, 0, 71,
643 306, 0, 323, 297, 306, 0, 211, 0, 81, 298,
644 306, 0, 71, 298, 306, 0, 81, 308, 0, 71,
645 308, 0, 323, 297, 306, 0, 309, 0, 211, 299,
646 297, 391, 0, 93, 308, 108, 0, 211, 94, 186,
647 111, 0, 211, 94, 111, 0, 311, 0, 324, 311,
648 0, 324, 203, 0, 315, 210, 0, 315, 207, 0,
649 315, 206, 0, 315, 203, 0, 315, 206, 0, 311,
650 0, 324, 311, 0, 230, 93, 196, 108, 0, 230,
651 93, 208, 108, 0, 230, 222, 0, 4, 0, 5,
652 0, 177, 0, 316, 0, 315, 316, 0, 315, 49,
653 321, 55, 0, 4, 55, 0, 5, 55, 0, 58,
654 55, 0, 177, 55, 0, 318, 0, 324, 318, 0,
655 319, 163, 0, 319, 177, 0, 319, 321, 0, 319,
656 49, 321, 0, 320, 0, 319, 320, 0, 319, 321,
657 55, 0, 319, 49, 321, 55, 0, 4, 55, 0,
658 5, 55, 0, 177, 55, 0, 57, 55, 0, 3,
659 55, 0, 58, 55, 0, 163, 75, 182, 181, 0,
660 324, 314, 0, 305, 0, 324, 305, 0, 315, 81,
661 0, 324, 315, 81, 0, 55, 0, 81, 297, 325,
662 0, 81, 297, 0, 71, 297, 325, 0, 71, 297,
663 0, 323, 297, 0, 323, 297, 325, 0, 326, 0,
664 94, 186, 111, 0, 326, 94, 186, 111, 0, 328,
665 0, 245, 328, 0, 81, 298, 327, 0, 81, 327,
666 0, 81, 298, 0, 81, 0, 71, 298, 327, 0,
667 71, 327, 0, 71, 298, 0, 71, 0, 323, 297,
668 0, 323, 297, 327, 0, 329, 0, 93, 327, 108,
669 0, 329, 93, 379, 108, 297, 391, 0, 329, 48,
670 297, 391, 0, 329, 94, 186, 111, 0, 329, 94,
671 111, 0, 93, 380, 108, 297, 391, 0, 200, 297,
672 391, 0, 222, 297, 391, 0, 94, 186, 111, 0,
673 94, 111, 0, 343, 0, 331, 0, 330, 343, 0,
674 330, 331, 0, 1, 61, 0, 0, 333, 0, 334,
675 0, 333, 334, 0, 33, 250, 61, 0, 336, 0,
676 1, 336, 0, 0, 59, 337, 192, 0, 0, 0,
677 15, 339, 188, 340, 341, 0, 336, 0, 0, 342,
678 344, 0, 336, 0, 344, 0, 220, 0, 186, 61,
679 0, 0, 338, 16, 345, 341, 0, 338, 0, 0,
680 0, 17, 346, 188, 347, 193, 0, 0, 0, 18,
681 348, 341, 17, 349, 187, 61, 0, 0, 0, 0,
682 0, 19, 350, 93, 372, 351, 189, 61, 352, 374,
683 108, 353, 193, 0, 0, 0, 20, 354, 93, 190,
684 108, 355, 341, 0, 0, 21, 202, 63, 356, 343,
685 0, 0, 21, 202, 12, 202, 63, 357, 343, 0,
686 0, 22, 63, 358, 343, 0, 23, 61, 0, 24,
687 61, 0, 25, 61, 0, 25, 186, 61, 0, 119,
688 373, 93, 217, 108, 61, 0, 119, 373, 93, 217,
689 63, 375, 108, 61, 0, 119, 373, 93, 217, 63,
690 375, 63, 375, 108, 61, 0, 119, 373, 93, 217,
691 55, 375, 108, 61, 0, 119, 373, 93, 217, 63,
692 375, 63, 375, 63, 378, 108, 61, 0, 119, 373,
693 93, 217, 55, 375, 63, 378, 108, 61, 0, 119,
694 373, 93, 217, 63, 375, 55, 378, 108, 61, 0,
695 26, 81, 186, 61, 0, 26, 163, 61, 0, 371,
696 343, 0, 371, 109, 0, 61, 0, 362, 0, 129,
697 0, 128, 0, 125, 0, 0, 0, 95, 360, 145,
698 336, 361, 365, 0, 0, 0, 95, 363, 336, 364,
699 365, 0, 366, 0, 365, 366, 0, 0, 0, 96,
700 367, 370, 368, 336, 0, 228, 0, 298, 0, 93,
701 12, 108, 0, 93, 388, 108, 0, 3, 63, 0,
702 57, 63, 0, 4, 63, 0, 5, 63, 0, 374,
703 61, 0, 220, 0, 59, 192, 0, 0, 9, 0,
704 0, 186, 0, 1, 0, 0, 376, 0, 377, 0,
705 376, 60, 377, 0, 11, 93, 186, 108, 0, 11,
706 0, 378, 60, 11, 0, 0, 380, 0, 223, 0,
707 384, 0, 385, 12, 0, 384, 12, 0, 223, 12,
708 0, 12, 0, 384, 63, 0, 223, 63, 0, 0,
709 65, 382, 383, 0, 100, 0, 252, 0, 386, 0,
710 388, 381, 0, 385, 387, 0, 385, 390, 0, 385,
711 390, 65, 252, 0, 384, 60, 0, 223, 60, 0,
712 225, 221, 0, 228, 221, 0, 230, 221, 0, 225,
713 328, 0, 225, 0, 227, 307, 0, 388, 0, 388,
714 381, 0, 386, 0, 223, 0, 0, 0, 307, 0,
715 0, 62, 93, 393, 108, 0, 62, 48, 0, 223,
716 0, 392, 0, 393, 60, 392, 0, 0, 81, 297,
717 394, 0, 71, 297, 394, 0, 323, 297, 394, 0,
718 42, 0, 395, 81, 0, 395, 82, 0, 395, 83,
719 0, 395, 79, 0, 395, 80, 0, 395, 71, 0,
720 395, 69, 0, 395, 70, 0, 395, 89, 0, 395,
721 60, 0, 395, 74, 0, 395, 75, 0, 395, 76,
722 0, 395, 73, 0, 395, 64, 0, 395, 65, 0,
723 395, 77, 0, 395, 78, 0, 395, 87, 0, 395,
724 88, 0, 395, 68, 0, 395, 67, 0, 395, 110,
725 0, 395, 66, 63, 0, 395, 72, 0, 395, 91,
726 0, 395, 84, 0, 395, 48, 0, 395, 94, 111,
727 0, 395, 40, 0, 395, 39, 0, 395, 40, 94,
728 111, 0, 395, 39, 94, 111, 0, 395, 369, 394,
735 static const short yyrline
[] = { 0,
736 432, 435, 443, 446, 447, 451, 453, 456, 461, 465,
737 471, 475, 479, 483, 486, 488, 490, 493, 495, 498,
738 501, 503, 505, 507, 509, 510, 512, 513, 517, 520,
739 529, 532, 534, 538, 541, 543, 547, 550, 562, 569,
740 577, 579, 580, 582, 586, 589, 595, 598, 600, 605,
741 608, 612, 615, 618, 621, 625, 630, 640, 642, 644,
742 646, 648, 661, 664, 668, 671, 673, 675, 678, 681,
743 685, 687, 689, 691, 696, 698, 700, 702, 704, 705,
744 712, 713, 714, 717, 720, 724, 726, 727, 730, 732,
745 735, 738, 740, 744, 747, 749, 753, 755, 757, 761,
746 763, 765, 769, 771, 773, 779, 784, 787, 790, 793,
747 798, 801, 803, 805, 811, 820, 823, 825, 827, 830,
748 832, 837, 846, 849, 851, 855, 865, 881, 887, 892,
749 903, 906, 913, 921, 923, 926, 928, 931, 935, 939,
750 943, 945, 946, 947, 948, 951, 953, 954, 957, 959,
751 960, 963, 968, 968, 972, 972, 975, 975, 978, 978,
752 982, 982, 987, 987, 990, 990, 993, 995, 998, 1005,
753 1009, 1012, 1015, 1017, 1021, 1027, 1036, 1038, 1046, 1049,
754 1052, 1055, 1059, 1062, 1068, 1071, 1074, 1076, 1078, 1080,
755 1084, 1087, 1090, 1095, 1099, 1104, 1108, 1111, 1112, 1116,
756 1133, 1139, 1142, 1144, 1145, 1146, 1149, 1153, 1154, 1158,
757 1162, 1165, 1167, 1171, 1174, 1177, 1181, 1184, 1186, 1188,
758 1190, 1193, 1197, 1199, 1202, 1204, 1210, 1213, 1216, 1219,
759 1222, 1227, 1230, 1233, 1237, 1239, 1243, 1247, 1249, 1251,
760 1256, 1259, 1264, 1267, 1269, 1277, 1290, 1295, 1301, 1303,
761 1305, 1318, 1321, 1323, 1325, 1327, 1329, 1331, 1333, 1335,
762 1337, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1353, 1355,
763 1357, 1359, 1361, 1365, 1367, 1369, 1386, 1389, 1391, 1392,
764 1393, 1394, 1395, 1398, 1410, 1413, 1417, 1420, 1422, 1427,
765 1429, 1430, 1433, 1435, 1443, 1445, 1447, 1449, 1453, 1456,
766 1460, 1464, 1465, 1466, 1470, 1478, 1479, 1480, 1490, 1492,
767 1495, 1497, 1508, 1513, 1515, 1517, 1519, 1521, 1523, 1525,
768 1528, 1530, 1541, 1542, 1546, 1550, 1554, 1558, 1560, 1564,
769 1566, 1568, 1576, 1578, 1580, 1582, 1586, 1588, 1590, 1592,
770 1597, 1599, 1601, 1603, 1606, 1608, 1610, 1654, 1657, 1661,
771 1664, 1668, 1671, 1676, 1678, 1682, 1691, 1694, 1701, 1707,
772 1711, 1713, 1718, 1720, 1727, 1729, 1733, 1737, 1743, 1747,
773 1750, 1754, 1757, 1767, 1770, 1774, 1778, 1781, 1784, 1787,
774 1790, 1796, 1802, 1804, 1809, 1811, 1829, 1832, 1837, 1842,
775 1850, 1852, 1865, 1869, 1872, 1875, 1880, 1883, 1891, 1894,
776 1896, 1898, 1901, 1904, 1919, 1938, 1941, 1943, 1946, 1948,
777 1952, 1954, 1958, 1960, 1964, 1967, 1971, 1976, 1977, 1990,
778 1997, 1998, 2004, 2009, 2014, 2020, 2021, 2028, 2031, 2035,
779 2038, 2042, 2047, 2050, 2054, 2057, 2059, 2061, 2063, 2070,
780 2072, 2073, 2074, 2078, 2081, 2085, 2088, 2094, 2096, 2099,
781 2102, 2105, 2111, 2114, 2117, 2119, 2121, 2125, 2131, 2137,
782 2142, 2148, 2150, 2155, 2158, 2161, 2163, 2165, 2169, 2173,
783 2178, 2181, 2186, 2189, 2192, 2198, 2200, 2212, 2216, 2221,
784 2247, 2249, 2252, 2254, 2259, 2261, 2263, 2265, 2267, 2269,
785 2273, 2281, 2284, 2286, 2290, 2297, 2303, 2309, 2315, 2325,
786 2331, 2335, 2342, 2370, 2380, 2386, 2389, 2392, 2394, 2398,
787 2400, 2404, 2407, 2411, 2419, 2422, 2424, 2428, 2439, 2453,
788 2454, 2455, 2456, 2459, 2468, 2473, 2479, 2481, 2486, 2488,
789 2490, 2492, 2494, 2496, 2499, 2509, 2516, 2541, 2547, 2550,
790 2553, 2555, 2566, 2571, 2574, 2579, 2582, 2589, 2599, 2602,
791 2609, 2619, 2621, 2624, 2626, 2629, 2633, 2638, 2642, 2645,
792 2648, 2653, 2656, 2660, 2663, 2665, 2669, 2671, 2678, 2680,
793 2683, 2686, 2691, 2695, 2700, 2710, 2713, 2717, 2721, 2730,
794 2733, 2735, 2737, 2743, 2745, 2754, 2757, 2759, 2761, 2763,
795 2767, 2770, 2773, 2775, 2777, 2779, 2783, 2786, 2797, 2807,
796 2809, 2810, 2814, 2822, 2824, 2832, 2835, 2837, 2839, 2841,
797 2845, 2848, 2851, 2853, 2855, 2857, 2861, 2864, 2867, 2869,
798 2871, 2873, 2875, 2877, 2881, 2888, 2892, 2897, 2901, 2906,
799 2908, 2912, 2915, 2917, 2921, 2923, 2924, 2927, 2929, 2931,
800 2938, 2949, 2955, 2961, 2975, 2977, 2981, 2995, 2997, 2999,
801 3003, 3009, 3022, 3025, 3030, 3043, 3049, 3051, 3052, 3053,
802 3061, 3066, 3075, 3076, 3080, 3083, 3089, 3095, 3098, 3100,
803 3102, 3104, 3108, 3112, 3116, 3119, 3123, 3125, 3134, 3137,
804 3139, 3141, 3143, 3145, 3147, 3149, 3151, 3155, 3159, 3163,
805 3167, 3169, 3171, 3173, 3175, 3177, 3179, 3181, 3183, 3191,
806 3193, 3194, 3195, 3198, 3204, 3206, 3211, 3213, 3216, 3229,
807 3232, 3235, 3239, 3242, 3249, 3251, 3254, 3256, 3258, 3261,
808 3264, 3267, 3270, 3272, 3275, 3279, 3281, 3287, 3289, 3290,
809 3292, 3297, 3299, 3301, 3303, 3305, 3308, 3309, 3311, 3314,
810 3315, 3318, 3318, 3321, 3321, 3324, 3324, 3326, 3328, 3330,
811 3332, 3338, 3344, 3346, 3349, 3352, 3355, 3358, 3364, 3366,
812 3367, 3370, 3372, 3373, 3374, 3376, 3379, 3382, 3385, 3391,
813 3395, 3397, 3400, 3402, 3405, 3409, 3411, 3414, 3416, 3419,
814 3436, 3444, 3447, 3449, 3451, 3455, 3458, 3459, 3467, 3470,
815 3473, 3476, 3477, 3483, 3486, 3489, 3491, 3495, 3500, 3503,
816 3513, 3518, 3519, 3526, 3529, 3532, 3534, 3537, 3539, 3549,
817 3563, 3567, 3570, 3572, 3576, 3580, 3583, 3586, 3588, 3592,
818 3594, 3601, 3608, 3611, 3615, 3619, 3623, 3629, 3633, 3638,
819 3640, 3643, 3648, 3654, 3665, 3668, 3670, 3674, 3682, 3685,
820 3689, 3692, 3694, 3696, 3702, 3707, 3710, 3712, 3714, 3716,
821 3718, 3720, 3722, 3724, 3726, 3728, 3730, 3732, 3734, 3736,
822 3738, 3740, 3742, 3744, 3746, 3748, 3750, 3752, 3754, 3756,
823 3758, 3760, 3762, 3764, 3766, 3768, 3770, 3772, 3775, 3777
828 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
830 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
831 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
832 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
833 "CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF",
834 "ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG",
835 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
836 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
837 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
838 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
839 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
840 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
841 "POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
842 "DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
843 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
844 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
845 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
846 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
847 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
848 "template_type_parm","template_template_parm","template_parm","template_def",
849 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
850 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
851 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
852 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
853 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
854 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
855 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
856 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
857 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
858 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr","new_placement",
859 "new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas","notype_unqualified_id",
860 "do_id","template_id","object_template_id","unqualified_id","expr_or_declarator_intern",
861 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
862 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
863 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
864 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
865 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
866 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
867 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
868 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
869 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
870 "@29","@30","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
871 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
872 "named_class_head","@31","unnamed_class_head","class_head","maybe_base_class_list",
873 "base_class_list","base_class","base_class.1","base_class_access_list","opt.component_decl_list",
874 "access_specifier","component_decl_list","component_decl","component_decl_1",
875 "components","notype_components","component_declarator0","component_declarator",
876 "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator",
877 "notype_component_declarator","enumlist_opt","enumlist","enumerator","new_type_id",
878 "cv_qualifiers","nonempty_cv_qualifiers","maybe_parmlist","after_type_declarator_intern",
879 "after_type_declarator","direct_after_type_declarator","nonnested_type","complete_type_name",
880 "nested_type","notype_declarator_intern","notype_declarator","complex_notype_declarator",
881 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
882 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
883 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
884 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
885 "absdcl_intern","absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
886 "label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if",
887 "@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37",
888 "@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block",
889 "@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq",
890 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
891 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
892 "complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm",
893 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
894 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
898 static const short yyr1
[] = { 0,
899 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
900 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
901 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
902 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
903 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
904 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
905 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
906 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
907 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
908 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
909 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
910 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
911 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
912 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
913 163, 163, 163, 163, 163, 164, 164, 164, 165, 165,
914 165, 167, 166, 168, 166, 169, 166, 170, 166, 171,
915 166, 172, 166, 173, 166, 174, 166, 175, 176, 177,
916 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
917 183, 183, 184, 184, 184, 185, 185, 185, 185, 185,
918 186, 186, 187, 187, 188, 188, 189, 189, 189, 191,
919 190, 190, 192, 192, 192, 192, 194, 193, 193, 195,
920 195, 195, 195, 196, 196, 197, 197, 197, 197, 197,
921 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
922 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
923 198, 198, 199, 199, 199, 199, 200, 200, 201, 201,
924 201, 202, 202, 202, 202, 202, 202, 202, 202, 202,
925 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
926 202, 202, 202, 202, 202, 202, 203, 203, 203, 203,
927 203, 203, 203, 204, 205, 205, 206, 206, 206, 207,
928 207, 207, 208, 208, 209, 209, 209, 209, 210, 210,
929 211, 211, 211, 211, 212, 212, 212, 212, 212, 212,
930 212, 213, 212, 212, 212, 212, 212, 212, 212, 212,
931 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
932 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
933 212, 212, 212, 212, 212, 212, 212, 214, 214, 215,
934 215, 216, 216, 217, 217, 218, 219, 219, 220, 220,
935 220, 220, 220, 220, 221, 221, 222, 222, 223, 223,
936 223, 223, 223, 224, 224, 225, 225, 225, 225, 225,
937 225, 226, 226, 226, 226, 226, 227, 227, 227, 227,
938 227, 227, 228, 228, 228, 228, 229, 229, 230, 230,
939 230, 230, 230, 230, 230, 231, 231, 231, 232, 232,
940 233, 233, 234, 234, 235, 235, 237, 236, 236, 239,
941 238, 238, 240, 241, 243, 242, 242, 244, 244, 245,
942 245, 246, 247, 247, 248, 248, 248, 248, 248, 249,
943 249, 249, 249, 250, 250, 251, 251, 252, 252, 252,
944 252, 252, 253, 253, 253, 253, 253, 254, 255, 255,
945 255, 256, 256, 257, 257, 258, 258, 258, 260, 259,
946 261, 259, 259, 259, 259, 262, 263, 264, 259, 259,
947 265, 265, 266, 266, 267, 267, 267, 267, 267, 267,
948 268, 269, 269, 269, 270, 270, 270, 270, 270, 271,
949 272, 271, 271, 273, 274, 274, 275, 275, 275, 276,
950 276, 277, 277, 278, 278, 279, 279, 279, 279, 280,
951 280, 280, 280, 281, 282, 282, 283, 283, 283, 283,
952 283, 283, 283, 283, 283, 283, 284, 284, 284, 284,
953 284, 284, 284, 284, 284, 285, 285, 285, 286, 286,
954 286, 287, 287, 288, 288, 289, 289, 290, 290, 290,
955 290, 291, 291, 292, 292, 292, 293, 293, 294, 294,
956 295, 295, 296, 296, 296, 297, 297, 298, 298, 299,
957 299, 299, 299, 300, 300, 301, 301, 301, 301, 301,
958 301, 302, 302, 302, 302, 302, 302, 303, 303, 304,
959 304, 304, 305, 306, 306, 307, 307, 307, 307, 307,
960 307, 308, 308, 308, 308, 308, 308, 309, 309, 309,
961 309, 309, 309, 309, 309, 310, 310, 311, 311, 312,
962 312, 313, 313, 313, 314, 314, 314, 315, 315, 315,
963 316, 316, 316, 316, 317, 317, 318, 318, 318, 318,
964 319, 319, 319, 319, 320, 320, 320, 320, 320, 320,
965 321, 322, 322, 322, 323, 323, 324, 325, 325, 325,
966 325, 325, 325, 325, 326, 326, 327, 327, 328, 328,
967 328, 328, 328, 328, 328, 328, 328, 328, 328, 329,
968 329, 329, 329, 329, 329, 329, 329, 329, 329, 330,
969 330, 330, 330, 331, 332, 332, 333, 333, 334, 335,
970 335, 337, 336, 339, 340, 338, 341, 342, 341, 343,
971 343, 344, 344, 345, 344, 344, 346, 347, 344, 348,
972 349, 344, 350, 351, 352, 353, 344, 354, 355, 344,
973 356, 344, 357, 344, 358, 344, 344, 344, 344, 344,
974 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
975 344, 344, 344, 344, 344, 344, 360, 361, 359, 363,
976 364, 362, 365, 365, 367, 368, 366, 369, 369, 370,
977 370, 371, 371, 371, 371, 372, 372, 372, 373, 373,
978 374, 374, 374, 375, 375, 376, 376, 377, 378, 378,
979 379, 379, 379, 380, 380, 380, 380, 380, 380, 380,
980 382, 381, 383, 383, 384, 384, 384, 384, 384, 385,
981 385, 386, 386, 386, 386, 386, 386, 387, 387, 388,
982 388, 389, 390, 390, 391, 391, 391, 392, 393, 393,
983 394, 394, 394, 394, 395, 396, 396, 396, 396, 396,
984 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
985 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
986 396, 396, 396, 396, 396, 396, 396, 396, 396, 396
989 static const short yyr2
[] = { 0,
990 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
991 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
992 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
993 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
994 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
995 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
996 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
997 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
998 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
999 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
1000 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
1001 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
1002 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
1003 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
1004 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1005 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
1006 7, 0, 7, 0, 6, 0, 6, 0, 0, 5,
1007 5, 1, 1, 5, 5, 0, 1, 1, 0, 1,
1008 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1009 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
1010 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
1011 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
1012 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
1013 4, 5, 5, 6, 2, 4, 5, 2, 2, 6,
1014 3, 3, 3, 1, 3, 2, 3, 4, 1, 2,
1015 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
1016 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1017 3, 5, 3, 3, 1, 2, 3, 3, 1, 1,
1018 1, 1, 1, 0, 5, 5, 5, 5, 5, 1,
1019 1, 1, 1, 2, 1, 2, 2, 3, 4, 4,
1020 1, 1, 1, 3, 1, 1, 1, 1, 3, 3,
1021 3, 0, 4, 4, 2, 4, 2, 4, 2, 2,
1022 1, 4, 1, 7, 7, 7, 7, 4, 4, 2,
1023 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
1024 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
1025 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
1026 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
1027 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
1028 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
1029 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
1030 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
1031 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
1032 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
1033 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
1034 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
1035 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
1036 3, 0, 3, 3, 3, 0, 2, 2, 0, 6,
1037 0, 5, 2, 2, 2, 0, 0, 0, 10, 1,
1038 0, 1, 0, 1, 1, 2, 2, 2, 2, 2,
1039 2, 2, 2, 2, 3, 4, 3, 2, 3, 1,
1040 0, 3, 2, 2, 1, 1, 0, 2, 3, 1,
1041 4, 1, 3, 1, 1, 2, 2, 3, 3, 0,
1042 1, 3, 2, 2, 1, 2, 2, 2, 2, 2,
1043 2, 2, 1, 2, 2, 3, 2, 2, 4, 4,
1044 2, 1, 5, 4, 1, 0, 1, 3, 0, 1,
1045 3, 1, 1, 1, 1, 4, 4, 4, 4, 4,
1046 3, 4, 4, 4, 4, 3, 2, 1, 1, 3,
1047 1, 3, 2, 1, 6, 0, 2, 1, 2, 3,
1048 3, 1, 3, 1, 2, 3, 3, 2, 2, 3,
1049 1, 4, 4, 3, 3, 2, 1, 1, 2, 1,
1050 1, 2, 2, 1, 2, 3, 3, 2, 2, 3,
1051 1, 3, 3, 2, 2, 3, 1, 4, 3, 4,
1052 3, 1, 2, 2, 2, 2, 2, 2, 2, 1,
1053 2, 4, 4, 2, 1, 1, 1, 1, 2, 4,
1054 2, 2, 2, 2, 1, 2, 2, 2, 2, 3,
1055 1, 2, 3, 4, 2, 2, 2, 2, 2, 2,
1056 4, 2, 1, 2, 2, 3, 1, 3, 2, 3,
1057 2, 2, 3, 1, 3, 4, 1, 2, 3, 2,
1058 2, 1, 3, 2, 2, 1, 2, 3, 1, 3,
1059 6, 4, 4, 3, 5, 3, 3, 3, 2, 1,
1060 1, 2, 2, 2, 0, 1, 1, 2, 3, 1,
1061 2, 0, 3, 0, 0, 5, 1, 0, 2, 1,
1062 1, 1, 2, 0, 4, 1, 0, 0, 5, 0,
1063 0, 7, 0, 0, 0, 0, 12, 0, 0, 7,
1064 0, 5, 0, 7, 0, 4, 2, 2, 2, 3,
1065 6, 8, 10, 8, 12, 10, 10, 4, 3, 2,
1066 2, 1, 1, 1, 1, 1, 0, 0, 6, 0,
1067 0, 5, 1, 2, 0, 0, 5, 1, 1, 3,
1068 3, 2, 2, 2, 2, 2, 1, 2, 0, 1,
1069 0, 1, 1, 0, 1, 1, 3, 4, 1, 3,
1070 0, 1, 1, 1, 2, 2, 2, 1, 2, 2,
1071 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
1072 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
1073 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
1074 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
1075 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1076 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
1077 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
1080 static const short yydefact
[] = { 3,
1081 12, 12, 5, 0, 4, 0, 281, 635, 636, 0,
1082 388, 400, 578, 0, 11, 0, 0, 0, 10, 485,
1083 845, 0, 0, 0, 168, 667, 282, 283, 83, 0,
1084 0, 832, 0, 45, 0, 0, 13, 25, 0, 27,
1085 8, 0, 16, 15, 89, 110, 86, 0, 637, 172,
1086 302, 279, 303, 611, 0, 375, 0, 374, 393, 0,
1087 413, 392, 430, 399, 0, 500, 501, 507, 506, 505,
1088 480, 387, 600, 401, 601, 108, 301, 622, 598, 0,
1089 638, 576, 0, 0, 280, 81, 82, 179, 641, 179,
1090 642, 179, 284, 168, 141, 142, 143, 144, 145, 471,
1091 473, 0, 663, 0, 474, 0, 0, 0, 0, 142,
1092 143, 144, 145, 23, 0, 0, 0, 0, 0, 0,
1093 0, 475, 645, 0, 651, 0, 0, 0, 37, 0,
1094 0, 31, 0, 0, 47, 0, 179, 643, 0, 0,
1095 0, 609, 604, 0, 0, 0, 608, 0, 0, 0,
1096 0, 302, 0, 293, 0, 0, 0, 301, 576, 28,
1097 0, 26, 3, 46, 0, 64, 388, 0, 0, 8,
1098 67, 63, 66, 89, 0, 0, 0, 399, 90, 14,
1099 0, 428, 0, 0, 446, 87, 79, 644, 582, 0,
1100 0, 576, 80, 0, 0, 0, 106, 0, 409, 365,
1101 591, 366, 597, 0, 576, 390, 389, 78, 109, 376,
1102 0, 411, 391, 107, 382, 406, 407, 377, 395, 397,
1103 386, 408, 0, 75, 431, 486, 487, 488, 489, 504,
1104 150, 149, 151, 491, 492, 173, 498, 490, 0, 0,
1105 493, 494, 507, 832, 503, 476, 579, 394, 0, 425,
1106 636, 0, 665, 172, 628, 629, 625, 603, 639, 0,
1107 281, 283, 624, 602, 623, 599, 0, 880, 876, 875,
1108 873, 855, 860, 861, 0, 867, 866, 852, 853, 851,
1109 870, 859, 856, 857, 858, 862, 863, 849, 850, 846,
1110 847, 848, 872, 864, 865, 854, 871, 0, 868, 778,
1111 393, 779, 841, 284, 578, 306, 354, 0, 0, 0,
1112 0, 0, 350, 348, 321, 352, 353, 0, 0, 0,
1113 0, 0, 282, 275, 0, 0, 187, 186, 0, 188,
1114 189, 0, 0, 190, 0, 0, 180, 181, 0, 249,
1115 0, 252, 185, 305, 216, 0, 0, 307, 308, 0,
1116 183, 372, 393, 373, 630, 333, 323, 0, 0, 0,
1117 0, 179, 0, 483, 469, 0, 664, 662, 0, 191,
1118 192, 0, 0, 0, 435, 3, 21, 29, 659, 655,
1119 656, 658, 660, 657, 141, 142, 143, 0, 144, 145,
1120 647, 648, 652, 649, 646, 0, 291, 292, 290, 627,
1121 626, 33, 32, 49, 0, 158, 0, 0, 393, 156,
1122 0, 0, 605, 607, 0, 606, 142, 143, 277, 278,
1123 297, 0, 615, 296, 0, 614, 0, 304, 282, 283,
1124 0, 0, 0, 295, 294, 619, 0, 0, 12, 0,
1125 168, 9, 9, 70, 0, 65, 0, 0, 71, 74,
1126 0, 427, 429, 122, 93, 127, 767, 0, 85, 84,
1127 92, 125, 0, 0, 123, 88, 0, 808, 215, 0,
1128 214, 803, 826, 0, 372, 393, 373, 0, 802, 804,
1129 833, 815, 0, 0, 621, 0, 0, 835, 0, 0,
1130 589, 584, 0, 588, 0, 0, 0, 0, 0, 576,
1131 428, 0, 77, 0, 576, 596, 0, 379, 380, 0,
1132 76, 428, 384, 383, 385, 378, 398, 415, 414, 179,
1133 495, 499, 497, 0, 502, 508, 0, 396, 428, 576,
1134 94, 0, 0, 0, 0, 576, 100, 577, 610, 636,
1135 666, 172, 0, 0, 869, 874, 395, 576, 576, 0,
1136 576, 0, 879, 179, 0, 0, 223, 0, 225, 238,
1137 239, 0, 0, 0, 0, 0, 0, 276, 222, 219,
1138 218, 220, 0, 0, 0, 0, 0, 305, 0, 0,
1139 0, 217, 177, 178, 299, 0, 221, 0, 0, 250,
1140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1142 0, 0, 315, 0, 317, 319, 320, 358, 357, 0,
1143 0, 0, 0, 0, 227, 574, 0, 235, 355, 347,
1144 0, 0, 832, 336, 339, 340, 0, 0, 367, 686,
1145 682, 0, 0, 576, 576, 576, 369, 689, 0, 634,
1146 371, 0, 0, 370, 335, 0, 330, 349, 331, 351,
1147 631, 0, 332, 176, 176, 0, 166, 0, 393, 164,
1148 484, 571, 568, 0, 483, 569, 483, 0, 402, 0,
1149 0, 403, 404, 405, 441, 442, 443, 440, 0, 433,
1150 436, 0, 3, 0, 650, 179, 653, 0, 41, 42,
1151 0, 53, 0, 0, 57, 61, 50, 831, 393, 53,
1152 830, 59, 169, 154, 152, 169, 176, 300, 613, 612,
1153 304, 0, 616, 0, 18, 20, 89, 9, 9, 73,
1154 72, 0, 0, 356, 0, 712, 91, 710, 452, 0,
1155 448, 447, 0, 583, 580, 807, 821, 810, 686, 682,
1156 0, 822, 576, 825, 827, 0, 0, 823, 0, 824,
1157 581, 806, 820, 809, 805, 834, 817, 828, 818, 811,
1158 816, 620, 0, 634, 0, 618, 585, 587, 586, 0,
1159 0, 0, 0, 0, 0, 576, 595, 0, 423, 422,
1160 410, 594, 0, 835, 590, 381, 412, 424, 428, 0,
1161 496, 635, 636, 832, 832, 637, 509, 510, 512, 832,
1162 515, 514, 0, 542, 636, 0, 533, 0, 0, 545,
1163 0, 121, 116, 0, 172, 546, 549, 0, 0, 525,
1164 0, 119, 426, 835, 801, 179, 179, 640, 179, 835,
1165 801, 576, 97, 576, 103, 878, 877, 841, 841, 841,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 393,
1167 0, 0, 0, 311, 0, 309, 310, 0, 247, 182,
1168 281, 635, 636, 282, 283, 0, 0, 453, 481, 0,
1169 274, 273, 793, 792, 0, 271, 270, 268, 269, 267,
1170 266, 265, 262, 263, 264, 260, 261, 255, 256, 257,
1171 258, 259, 253, 254, 0, 0, 0, 0, 0, 0,
1172 0, 229, 244, 0, 0, 228, 576, 576, 0, 576,
1173 573, 674, 0, 0, 0, 0, 0, 338, 0, 342,
1174 0, 344, 0, 0, 685, 684, 677, 681, 680, 831,
1175 392, 0, 0, 699, 0, 0, 835, 368, 835, 687,
1176 576, 801, 0, 686, 682, 0, 0, 576, 0, 392,
1177 0, 0, 0, 0, 171, 175, 285, 169, 162, 160,
1178 169, 0, 472, 484, 567, 0, 213, 212, 211, 210,
1179 435, 0, 0, 24, 0, 0, 654, 0, 38, 44,
1180 43, 55, 52, 53, 0, 48, 0, 0, 54, 491,
1181 0, 159, 169, 169, 157, 170, 298, 17, 19, 69,
1182 89, 416, 140, 146, 133, 147, 148, 0, 126, 129,
1183 0, 0, 0, 0, 711, 705, 449, 0, 124, 0,
1184 685, 681, 686, 682, 0, 392, 598, 0, 576, 687,
1185 0, 686, 682, 0, 305, 0, 630, 0, 829, 0,
1186 0, 837, 0, 0, 0, 0, 420, 593, 592, 419,
1187 176, 517, 516, 832, 832, 832, 0, 576, 801, 541,
1188 534, 546, 535, 428, 428, 531, 532, 529, 530, 576,
1189 801, 281, 635, 0, 415, 117, 537, 547, 552, 553,
1190 415, 415, 0, 0, 415, 115, 538, 550, 415, 0,
1191 428, 0, 526, 527, 528, 428, 96, 0, 0, 0,
1192 0, 102, 0, 835, 801, 835, 801, 843, 842, 844,
1193 286, 322, 224, 226, 0, 328, 329, 0, 0, 0,
1194 0, 310, 313, 0, 0, 0, 0, 248, 0, 314,
1195 316, 318, 242, 241, 231, 0, 230, 246, 0, 0,
1196 671, 669, 0, 672, 0, 236, 0, 0, 179, 345,
1197 0, 0, 0, 678, 683, 679, 690, 576, 698, 696,
1198 697, 688, 835, 0, 694, 0, 0, 632, 633, 686,
1199 682, 0, 334, 167, 169, 169, 165, 572, 570, 470,
1200 434, 432, 281, 0, 22, 30, 661, 56, 51, 58,
1201 62, 60, 155, 153, 68, 0, 131, 0, 135, 0,
1202 137, 0, 139, 0, 768, 0, 203, 713, 0, 706,
1203 707, 0, 450, 0, 685, 681, 686, 682, 0, 576,
1204 603, 687, 0, 633, 330, 331, 631, 332, 819, 813,
1205 814, 812, 838, 839, 0, 0, 0, 0, 0, 0,
1206 417, 174, 0, 519, 518, 513, 835, 0, 536, 446,
1207 446, 835, 0, 0, 0, 428, 428, 0, 428, 428,
1208 0, 428, 0, 524, 477, 0, 446, 576, 288, 287,
1209 289, 576, 99, 0, 105, 0, 0, 0, 0, 0,
1210 0, 0, 456, 0, 454, 251, 272, 0, 232, 233,
1211 243, 245, 670, 668, 675, 673, 0, 237, 0, 0,
1212 337, 341, 343, 835, 692, 576, 693, 163, 161, 0,
1213 437, 439, 132, 130, 0, 0, 0, 0, 444, 0,
1214 0, 281, 635, 636, 714, 727, 730, 733, 738, 0,
1215 0, 0, 0, 0, 0, 0, 0, 282, 762, 770,
1216 0, 789, 766, 765, 764, 0, 722, 0, 0, 393,
1217 0, 701, 720, 726, 700, 721, 763, 0, 708, 451,
1218 685, 681, 0, 687, 310, 0, 836, 421, 0, 511,
1219 112, 576, 540, 544, 114, 576, 428, 428, 561, 446,
1220 281, 635, 0, 548, 554, 555, 415, 415, 446, 446,
1221 0, 446, 551, 466, 539, 835, 835, 576, 576, 240,
1222 0, 0, 0, 0, 455, 0, 0, 234, 676, 346,
1223 287, 695, 835, 0, 134, 136, 138, 775, 769, 773,
1224 0, 709, 704, 206, 782, 784, 785, 0, 0, 718,
1225 0, 0, 0, 745, 747, 748, 749, 0, 0, 0,
1226 0, 0, 0, 0, 783, 0, 364, 790, 0, 723,
1227 362, 415, 0, 363, 0, 415, 0, 0, 0, 204,
1228 703, 702, 724, 761, 760, 686, 682, 0, 0, 840,
1229 418, 835, 835, 560, 557, 559, 0, 0, 428, 428,
1230 428, 556, 558, 543, 0, 95, 101, 835, 835, 324,
1231 325, 326, 327, 457, 575, 691, 438, 0, 774, 445,
1232 195, 0, 715, 728, 717, 0, 0, 0, 0, 0,
1233 741, 0, 750, 0, 759, 39, 145, 34, 145, 0,
1234 35, 771, 0, 360, 361, 0, 0, 0, 359, 205,
1235 718, 392, 111, 113, 428, 428, 566, 446, 446, 468,
1236 0, 467, 462, 98, 104, 0, 776, 202, 0, 393,
1237 0, 718, 0, 731, 719, 705, 787, 734, 0, 0,
1238 0, 0, 746, 758, 40, 36, 0, 0, 725, 565,
1239 563, 562, 564, 0, 0, 479, 0, 0, 0, 196,
1240 415, 716, 207, 729, 209, 0, 788, 0, 786, 739,
1241 743, 742, 772, 794, 794, 0, 465, 464, 458, 86,
1242 89, 780, 781, 777, 428, 705, 193, 0, 0, 199,
1243 0, 198, 718, 0, 0, 0, 795, 796, 0, 751,
1244 0, 463, 0, 208, 0, 732, 735, 740, 744, 0,
1245 0, 0, 0, 0, 794, 0, 461, 0, 460, 200,
1246 194, 0, 0, 799, 0, 754, 797, 0, 0, 752,
1247 459, 0, 0, 798, 0, 0, 0, 0, 0, 201,
1248 736, 800, 756, 757, 0, 753, 0, 0, 737, 755,
1252 static const short yydefgoto
[] = { 1681,
1253 439, 2, 440, 165, 726, 335, 181, 3, 4, 37,
1254 693, 376, 1353, 694, 820, 1354, 1355, 396, 1453, 698,
1255 41, 821, 405, 704, 992, 705, 706, 707, 43, 172,
1256 173, 44, 458, 184, 180, 45, 46, 835, 1115, 841,
1257 1117, 47, 823, 824, 185, 186, 459, 733, 1019, 1020,
1258 672, 1021, 235, 48, 1004, 1003, 716, 713, 1186, 1185,
1259 971, 968, 136, 1002, 49, 237, 50, 965, 585, 336,
1260 337, 338, 339, 1356, 1619, 1513, 1621, 1559, 1662, 1218,
1261 1594, 1616, 370, 957, 340, 624, 916, 341, 342, 371,
1262 344, 362, 52, 256, 699, 421, 154, 53, 54, 345,
1263 580, 346, 347, 348, 349, 460, 350, 1357, 518, 645,
1264 351, 1358, 56, 218, 474, 352, 219, 487, 220, 198,
1265 211, 60, 501, 519, 1379, 789, 1250, 199, 212, 61,
1266 529, 790, 62, 63, 689, 690, 691, 1330, 465, 878,
1267 879, 1610, 1611, 1586, 1552, 1495, 64, 677, 364, 527,
1268 1404, 1553, 1137, 673, 65, 66, 67, 68, 69, 243,
1269 70, 71, 245, 807, 808, 809, 810, 828, 1102, 829,
1270 830, 831, 1087, 1097, 1088, 1394, 1089, 1090, 1395, 1396,
1271 674, 675, 676, 625, 947, 354, 192, 499, 492, 201,
1272 73, 74, 75, 142, 143, 157, 77, 132, 355, 356,
1273 357, 79, 358, 81, 812, 123, 124, 125, 534, 105,
1274 82, 359, 921, 922, 942, 937, 648, 1361, 1362, 1219,
1275 1220, 1221, 737, 1363, 1026, 1364, 1438, 1562, 1516, 1517,
1276 1365, 1366, 1541, 1439, 1563, 1440, 1596, 1441, 1598, 1652,
1277 1677, 1442, 1623, 1572, 1624, 1522, 461, 734, 1328, 1367,
1278 1456, 1577, 1429, 1430, 1508, 1589, 1561, 1557, 1368, 1568,
1279 1459, 885, 1626, 1627, 1628, 1655, 478, 943, 771, 1051,
1280 1242, 480, 481, 482, 767, 483, 148, 769, 776, 1244,
1284 static const short yypact
[] = { 124,
1285 226,-32768,-32768, 5543,-32768, 79, 219, 40, 457, 230,
1286 252,-32768,-32768, 323,-32768, 251, 273, 307,-32768,-32768,
1287 -32768, 1013, 1864, 2749, 365,-32768, 383, 572,-32768, 2970,
1288 2970,-32768, 5660,-32768, 5543, 400,-32768,-32768, 453,-32768,
1289 308, 5854,-32768,-32768, 461, 946, 511, 481, 518,-32768,
1290 -32768,-32768,-32768, 451, 1906,-32768, 7363,-32768, 1473, 411,
1291 -32768, 606,-32768,-32768, 647, 88,-32768, 590,-32768,-32768,
1292 601, 4055,-32768,-32768,-32768, 597,-32768,-32768,-32768, 2328,
1293 -32768,-32768, 314, 7509, 588,-32768,-32768, 10997,-32768, 10997,
1294 -32768, 10997,-32768,-32768,-32768, 40, 457, 383, 639,-32768,
1295 641, 518,-32768, 171,-32768, 477, 11088, 11088, 648,-32768,
1296 -32768,-32768,-32768,-32768, 571, 715, 688, 794, 812, 722,
1297 740,-32768,-32768, 1703,-32768, 1132, 40, 457,-32768, 383,
1298 639,-32768, 1058, 2362, 729, 12158, 10997,-32768, 10997, 7058,
1299 5280,-32768,-32768, 2753, 2625, 5280,-32768, 2124, 5641, 5641,
1300 5660, 705, 716,-32768, 451, 1288, 726, 731,-32768,-32768,
1301 844,-32768, 701,-32768, 4480,-32768,-32768, 365, 3308, 763,
1302 -32768,-32768,-32768, 461, 2949, 12218, 545, 821,-32768,-32768,
1303 813, 606, 893, 118, 370, 849,-32768,-32768,-32768, 7157,
1304 9587,-32768,-32768, 6321, 6321, 12342, 597, 655,-32768,-32768,
1305 538,-32768,-32768, 3064,-32768,-32768,-32768,-32768,-32768, 1473,
1306 803,-32768, 606, 597,-32768,-32768,-32768, 3074, 1473,-32768,
1307 606,-32768, 2949,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1308 -32768,-32768,-32768, 838,-32768, 518,-32768, 606, 2015, 2160,
1309 -32768,-32768, 590,-32768,-32768,-32768,-32768, 1247, 477,-32768,
1310 635, 2117,-32768, 130,-32768,-32768,-32768,-32768,-32768, 6728,
1311 -32768, 639,-32768,-32768,-32768,-32768, 3326,-32768, 826, 828,
1312 -32768,-32768,-32768,-32768, 873,-32768,-32768,-32768,-32768,-32768,
1313 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1314 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 827,-32768,-32768,
1315 1247, 4055, 954,-32768, 852,-32768,-32768, 11726, 11817, 11908,
1316 11908, 857,-32768,-32768,-32768,-32768,-32768, 907, 928, 930,
1317 949, 964, 1094, 11179, 2174, 11908,-32768,-32768, 11908,-32768,
1318 -32768, 11908, 8285,-32768, 11908, 320, 887,-32768, 11908,-32768,
1319 11270,-32768, 12657, 349, 2517, 3478, 11361,-32768, 1032, 407,
1320 -32768, 2649, 875, 4100,-32768, 431,-32768, 1686, 3544, 320,
1321 320, 10997, 12158, 584,-32768, 2174,-32768,-32768, 937, 993,
1322 12564, 952, 961, 968, 727, 701,-32768,-32768,-32768,-32768,
1323 -32768,-32768,-32768,-32768, 715, 688, 794, 2174, 812, 722,
1324 1010, 740,-32768, 1035,-32768, 2479, 40, 457,-32768,-32768,
1325 -32768,-32768,-32768,-32768, 7450,-32768, 2949, 12503, 2704,-32768,
1326 320, 810,-32768,-32768, 3662,-32768, 1017, 1024,-32768,-32768,
1327 -32768, 5280,-32768,-32768, 5280,-32768, 998,-32768,-32768,-32768,
1328 1288, 1288, 1288,-32768,-32768,-32768, 6728, 74, 992, 999,
1329 -32768,-32768,-32768,-32768, 12158,-32768, 894, 1036,-32768,-32768,
1330 844,-32768, 606,-32768,-32768,-32768,-32768, 126,-32768,-32768,
1331 -32768,-32768, 8950, 11179,-32768,-32768, 1004,-32768, 993, 1014,
1332 12564, 367, 1707, 12218, 1707, 2638, 6918, 1016,-32768, 243,
1333 11999, 1079, 1080, 852,-32768, 1038, 444, 143, 12384, 7408,
1334 -32768,-32768, 7408,-32768, 12262, 12262, 12342, 12390, 1045,-32768,
1335 606, 2949,-32768, 9678,-32768,-32768, 12279, 3074, 1473, 2949,
1336 -32768, 606,-32768,-32768, 606, 3074,-32768, 1129,-32768, 10997,
1337 838,-32768,-32768, 2015,-32768, 1551, 3070, 1247, 606,-32768,
1338 -32768, 1089, 1092, 1116, 1101,-32768,-32768,-32768,-32768, 663,
1339 -32768, 454, 1066, 1068,-32768,-32768, 1247,-32768,-32768, 429,
1340 -32768, 536,-32768, 10997, 11179, 8285,-32768, 8285,-32768,-32768,
1341 -32768, 11179, 11088, 5912, 5912, 5912, 5912, 12635,-32768,-32768,
1342 -32768,-32768, 1074, 11453, 11453, 8285, 1077, 163, 1085, 1135,
1343 1093,-32768,-32768,-32768,-32768, 10997,-32768, 8490, 8285,-32768,
1344 11179, 11179, 9041, 11179, 11179, 11179, 11179, 11179, 11179, 11179,
1345 11179, 11179, 11179, 11179, 11179, 11179, 11179, 11179, 11179, 11179,
1346 11179, 11179,-32768, 11179,-32768,-32768,-32768,-32768,-32768, 11179,
1347 11179, 11179, 11088, 3603, 516, 1285, 9769,-32768,-32768,-32768,
1348 1145, 2117, 1199, 456, 507, 532, 2322, 536,-32768, 1183,
1349 1183, 3935, 9860, 1117, 1163,-32768,-32768, 581, 10449, 435,
1350 -32768, 691, 477,-32768,-32768, 11179,-32768,-32768,-32768,-32768,
1351 -32768, 256, 588,-32768,-32768, 320,-32768, 2949, 2905,-32768,
1352 -32768, 1147,-32768, 1104, 1157,-32768, 584, 1010,-32768, 9314,
1353 9405,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 152,-32768,
1354 1126, 1111, 701, 2479, 1166, 10997,-32768, 1162,-32768,-32768,
1355 2362, 1868, 1189, 240, 1164, 1168,-32768,-32768, 7010, 647,
1356 -32768, 1170,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1357 1134, 1136,-32768, 1187,-32768,-32768, 461,-32768,-32768,-32768,
1358 -32768, 86, 666, 1194, 1135,-32768,-32768,-32768,-32768, 5416,
1359 12635,-32768, 1142,-32768,-32768,-32768,-32768,-32768, 2431, 2431,
1360 6148,-32768,-32768,-32768,-32768, 3064, 314,-32768, 10541,-32768,
1361 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1080, 1195,-32768,
1362 -32768,-32768, 10633, 1163, 587,-32768,-32768,-32768,-32768, 7408,
1363 7408, 12321, 12321, 12390, 691,-32768,-32768, 12279,-32768, 1200,
1364 -32768,-32768, 1148, 143,-32768, 3074,-32768,-32768, 606, 1192,
1365 -32768, 688, 794,-32768,-32768, 740, 1209,-32768,-32768, 93,
1366 -32768,-32768, 2180,-32768, 1027, 275,-32768, 11179, 6019,-32768,
1367 6019, 200, 200, 213, 592, 6422, 12044, 98, 4739,-32768,
1368 290, 200,-32768, 143, 7613, 10997, 10997,-32768, 10997, 143,
1369 7613,-32768,-32768,-32768,-32768,-32768,-32768, 521, 521, 521,
1370 1806, 320, 1174, 1178, 1190, 12590, 1197, 1198, 1227, 2197,
1371 1231, 1233, 1241,-32768, 1219,-32768,-32768, 1223,-32768,-32768,
1372 1265, 791, 854, 717, 452, 11179, 1271,-32768, 1275, 1236,
1373 12635, 12635,-32768,-32768, 1286, 6755, 12674, 9975, 3700, 6784,
1374 4501, 4541, 3087, 3087, 3087, 1443, 1443, 1240, 1240, 1019,
1375 1019, 1019,-32768,-32768, 1242, 1250, 1237, 1253, 1255, 1257,
1376 5912, 516,-32768, 8950, 11179,-32768,-32768,-32768, 11179,-32768,
1377 -32768, 1274, 11908, 1259, 1291, 1308, 1339,-32768, 11179,-32768,
1378 11179,-32768, 11179, 2542, 1594,-32768,-32768, 1594,-32768, 108,
1379 2542, 1280, 1283,-32768, 1282, 5912, 143,-32768, 143, 1764,
1380 -32768, 7613, 9951, 4993, 4993, 4600, 1289, 11270, 1298, 2191,
1381 3816, 3544, 1826, 1300,-32768,-32768,-32768,-32768,-32768,-32768,
1382 -32768, 11179,-32768, 2174,-32768, 1290,-32768, 12635,-32768, 12635,
1383 727, 1301, 11544,-32768, 1293, 1349,-32768, 320,-32768,-32768,
1384 -32768,-32768,-32768, 1435, 7450,-32768, 5912, 10997,-32768, 1220,
1385 11179,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1386 461,-32768,-32768, 715,-32768, 812, 722, 11179, 1352,-32768,
1387 629, 640, 664, 1135,-32768, 54,-32768, 32,-32768, 2816,
1388 3382, 3382, 4174, 4174, 6148, 4874, 169, 3064,-32768, 4285,
1389 4811, 7958, 7958, 8396, 176, 1305, 764, 2099,-32768, 8950,
1390 8584,-32768, 5912, 847, 847, 1736,-32768,-32768,-32768, 1353,
1391 -32768,-32768,-32768,-32768,-32768,-32768, 2077,-32768, 7613, 12635,
1392 -32768, 4694,-32768, 606, 606,-32768,-32768,-32768,-32768,-32768,
1393 7613, 753, 864, 11179, 1129,-32768, 1354,-32768,-32768,-32768,
1394 506, 702, 2328, 2625, 735, 200, 1359,-32768, 872, 1357,
1395 606, 4881,-32768,-32768,-32768, 606,-32768, 1315, 320, 320,
1396 320,-32768, 1318, 143, 7613, 143, 7613,-32768,-32768,-32768,
1397 -32768,-32768,-32768,-32768, 5912,-32768,-32768, 1335, 1336, 1337,
1398 1341, 1134,-32768, 12498, 8950, 8677, 1323,-32768, 11179,-32768,
1399 -32768,-32768,-32768,-32768, 505, 1327,-32768,-32768, 1328, 241,
1400 1258, 1258, 1326, 1258, 11179,-32768, 11908, 1437, 10997,-32768,
1401 1340, 1344, 1347,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1402 -32768,-32768, 143, 1350,-32768, 1338, 2191,-32768,-32768, 4384,
1403 4384, 6257,-32768,-32768,-32768,-32768,-32768, 12635,-32768,-32768,
1404 -32768,-32768, 177, 1356,-32768,-32768,-32768,-32768,-32768,-32768,
1405 -32768, 12657,-32768,-32768,-32768, 1360,-32768, 359,-32768, 11179,
1406 -32768, 11179,-32768, 11179,-32768, 2174,-32768,-32768, 8192, 1414,
1407 -32768, 8768,-32768, 4874, 3382, 3382, 5186, 5186, 6632,-32768,
1408 867, 4285, 1361, 1218, 878, 986, 1025, 706,-32768,-32768,
1409 -32768,-32768,-32768,-32768, 301, 2438, 2438, 1396, 1396, 8950,
1410 -32768,-32768, 1551,-32768,-32768,-32768, 143, 1367,-32768, 1400,
1411 1400, 143, 1378, 11179, 11179, 7212, 606, 6849, 606, 606,
1412 6251, 606, 8097,-32768,-32768, 5105, 1400,-32768,-32768, 1433,
1413 -32768,-32768,-32768, 1386,-32768, 1387, 1389, 11179, 11179, 11179,
1414 11179, 8950,-32768, 1436,-32768,-32768, 12635, 11179,-32768, 505,
1415 -32768,-32768,-32768,-32768,-32768,-32768, 1392,-32768, 1458, 320,
1416 -32768,-32768,-32768, 143,-32768,-32768,-32768,-32768,-32768, 11179,
1417 -32768,-32768,-32768,-32768, 1399, 1401, 1409, 1439,-32768, 1069,
1418 312, 1470, 927, 929,-32768,-32768,-32768,-32768,-32768, 11179,
1419 1474, 1477, 1479, 10724, 193, 2174, 816, 924,-32768,-32768,
1420 10815, 1535,-32768,-32768,-32768, 1484,-32768, 6378, 12113, 3676,
1421 5757,-32768,-32768, 1532,-32768,-32768,-32768, 10060,-32768,-32768,
1422 1931, 1931, 691, 2043, 1180, 5912,-32768,-32768, 8950,-32768,
1423 -32768,-32768,-32768,-32768,-32768,-32768, 7212, 7212,-32768, 1400,
1424 1020, 958, 11179,-32768,-32768,-32768, 1129, 1129, 1400, 1400,
1425 663, 1400,-32768,-32768,-32768, 143, 143,-32768,-32768,-32768,
1426 1441, 1449, 1456, 1457,-32768, 8950, 1455,-32768,-32768,-32768,
1427 -32768,-32768, 143, 1459,-32768,-32768,-32768,-32768, 1439,-32768,
1428 2174,-32768,-32768,-32768,-32768,-32768,-32768, 689, 689, 1135,
1429 1476, 1482, 12421,-32768,-32768,-32768,-32768, 1509, 11179, 1511,
1430 1517, 1521, 2293, 2302,-32768, 1135,-32768,-32768, 1490,-32768,
1431 -32768, 1129, 1082,-32768, 1102, 1129, 10906, 1113, 315,-32768,
1432 -32768,-32768,-32768,-32768,-32768, 3180, 3180, 4229, 2567,-32768,
1433 -32768, 143, 143,-32768,-32768,-32768, 11179, 11179, 7212, 606,
1434 606,-32768,-32768,-32768, 7720,-32768,-32768, 143, 143,-32768,
1435 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1495,-32768,-32768,
1436 -32768, 11088,-32768,-32768,-32768, 1574, 10356, 6522, 11088, 11179,
1437 -32768, 10168,-32768, 1534,-32768,-32768, 1538,-32768, 1521, 2293,
1438 -32768,-32768, 844,-32768,-32768, 11635, 11635, 8859,-32768,-32768,
1439 1135, 2567,-32768,-32768, 7212, 7212,-32768, 1400, 1400,-32768,
1440 9496,-32768,-32768,-32768,-32768, 8058,-32768,-32768, 1489, 338,
1441 2949, 1135, 10262,-32768,-32768, 54,-32768,-32768, 1540, 1494,
1442 12613, 10168,-32768,-32768,-32768,-32768, 1439, 83,-32768,-32768,
1443 -32768,-32768,-32768, 1497, 12520, 1503, 1499, 1506, 1135,-32768,
1444 1129,-32768,-32768,-32768,-32768, 696,-32768, 9132,-32768,-32768,
1445 -32768,-32768, 1439, 1600, 1600, 1555,-32768,-32768,-32768, 511,
1446 461,-32768,-32768,-32768, 606, 54,-32768, 11179, 1560,-32768,
1447 1563,-32768, 1135, 10168, 1533, 728, 1567,-32768, 191,-32768,
1448 141,-32768, 1565,-32768, 1523,-32768,-32768,-32768,-32768, 11179,
1449 1622, 1575, 1600, 1622, 1600, 1576,-32768, 126,-32768,-32768,
1450 -32768, 9223, 1530,-32768, 335,-32768,-32768, 386, 739,-32768,
1451 -32768, 8950, 1537,-32768, 1632, 1585, 1586, 1622, 1589,-32768,
1452 -32768,-32768,-32768,-32768, 395,-32768, 10262, 1596,-32768,-32768,
1456 static const short yypgoto
[] = {-32768,
1457 1662,-32768, -325, 1493, -406, 95, -1, 1666,-32768, 1629,
1458 -32768,-32768, 255,-32768, 387,-32768, 402,-32768, 218, 980,
1459 39, 15,-32768,-32768, -646,-32768,-32768, 682, 41, 1512,
1460 1239, 1528, -733, 72, -170, 14, -18,-32768,-32768,-32768,
1461 -32768,-32768, 859,-32768,-32768,-32768,-32768,-32768,-32768, 487,
1462 2024,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1463 -32768,-32768, 1603, -664, 7209, 1460, 21, -600, -23, -70,
1464 1559, -550,-32768, 2274,-32768, 264,-32768, -1396,-32768, -1363,
1465 28,-32768, 856, 1128, -279,-32768, -843, 6903, 799, 1294,
1466 5180, 1405, -341, -57, -93, 1818, -133, -37, -6,-32768,
1467 -32768,-32768, -347,-32768, -155,-32768,-32768, -1277, -50, -328,
1468 3365, 145, 381, -140, 56, 122, -199, -4, -173, -162,
1469 -160, 0, -44, 64,-32768, -400,-32768,-32768,-32768,-32768,
1470 -32768, -86, 1520, 455,-32768, 736,-32768,-32768, -1155, -454,
1471 978,-32768,-32768,-32768,-32768,-32768, 30,-32768,-32768,-32768,
1472 -32768,-32768,-32768, 1046, -379,-32768,-32768,-32768,-32768,-32768,
1473 -32768,-32768, 1480,-32768, 471, 658,-32768,-32768,-32768, 624,
1474 -758,-32768,-32768,-32768,-32768,-32768,-32768, 900,-32768, 458,
1475 1052,-32768, 758, 1110, 2844, 24, 1536, 2425, -22,-32768,
1476 -511,-32768, 33, 1440, 1950, -142, 117, -110, 5948, 1397,
1477 -32768, 6647, 2794, 2259, -13, -105,-32768, 1612, -47,-32768,
1478 5846, 4023, -333,-32768, 2771, -243,-32768,-32768, 398,-32768,
1479 -32768, 543, 128, -414,-32768,-32768,-32768,-32768, -1428,-32768,
1480 -1247, -1435,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1481 -32768,-32768,-32768,-32768,-32768,-32768, 125,-32768,-32768,-32768,
1482 -32768,-32768, 189, -1351,-32768,-32768, -49,-32768,-32768,-32768,
1483 -32768, -1443, -1362,-32768, 127, -1429, -679, -132, 1006,-32768,
1484 -32768,-32768,-32768, -391,-32768, -388, -171,-32768, 1084, 401,
1485 -32768, 148,-32768, -204
1489 #define YYLAST 12759
1492 static const short yytable
[] = { 59,
1493 1024, 182, 36, 446, 197, 438, 423, 426, 742, 122,
1494 509, 660, 447, 711, 811, 448, 712, 659, 42, 360,
1495 395, 361, 435, 403, 650, 710, 155, 72, 557, 559,
1496 59, 250, 200, 36, 303, 870, 727, 59, 209, 401,
1497 402, 177, 257, 738, 514, 517, 103, 535, 528, 42,
1498 692, 1005, 210, 141, 146, 174, 42, 479, 72, 57,
1499 1071, 590, 1073, 999, 966, 72, 411, 248, 1147, 508,
1500 1103, 178, 526, 1457, 1569, 400, 394, 1509, 516, 301,
1501 170, 1565, 171, 353, 629, 353, 1216, 353, 222, 711,
1502 57, 1222, 768, 629, 89, 452, 629, 176, 35, 1065,
1503 254, 547, 353, 353, 1383, 1384, 257, 302, 647, 651,
1504 654, 798, 1579, 1472, 90, 264, 1006, 406, 455, 746,
1505 1475, 1405, 1570, -1, 197, 58, 735, 1595, 833, 35,
1506 1066, 409, 353, 1592, 353, 1100, 169, 1604, 367, 86,
1507 1223, 1647, 155, 155, 155, 1605, 241, 650, 55, 158,
1508 242, 538, 200, 547, 663, 1108, 58, 209, 774, 72,
1509 59, 1113, 1217, 58, 59, 868, 257, 747, 177, 512,
1510 748, 210, 422, 425, 8, 9, -356, 536, 443, 55,
1511 456, 724, 174, 42, 736, 476, 175, 87, 72, 155,
1512 1606, 408, 72, 1012, 1638, 95, 110, 111, 178, -356,
1513 200, 1622, 1597, 456, 775, 300, 1101, 170, 1663, 171,
1514 613, 981, 457, 477, 1658, 869, -597, 490, 493, 366,
1515 57, 1022, 537, -302, 176, -2, 15, 130, 131, 754,
1516 -415, 647, 651, 654, 1486, 457, 1320, 1076, 1675, 222,
1517 1567, 1595, 1629, 1492, 1493, 1644, 1494, 222, 222, 112,
1518 113, 1509, 1634, 1645, 762, 614, 635, 58, 38, 982,
1519 -415, -597, -597, 169, -415, 158, 158, 158, -302, -302,
1520 -295, 1077, 1174, 1449, 1573, 1078, -597, 222, 127, 128,
1521 407, 264, 1659, -295, 1321, 700, 58, 542, 639, 38,
1522 58, 666, 634, 88, 313, 732, 626, 248, 1646, 995,
1523 94, 1299, 763, 1184, 93, 764, 1187, 1079, -415, 55,
1524 26, 475, 158, 175, 660, 996, 261, 8, 9, 10,
1525 1025, 1010, 1011, 994, 1602, 95, 96, 97, 353, 26,
1526 222, 130, 131, 773, 514, 517, 664, 665, 1203, 1204,
1527 695, 301, 514, 107, 667, 216, 217, 1198, 1302, 248,
1528 1104, 14, 423, 426, 517, 21, 714, 353, 669, 1013,
1529 1376, 1014, 802, 803, 435, 108, 163, 985, 796, 302,
1530 27, 262, 1433, 517, 20, 1433, 1639, 26, 746, 98,
1531 99, 100, 222, 23, 200, 639, 72, 717, 718, 1258,
1532 39, 264, 1582, 1583, 1665, 583, 613, 584, 1105, 109,
1533 709, 1263, 32, 210, 164, 40, 1015, 630, 1377, 261,
1534 397, 398, 10, 26, 631, 1016, 1017, 462, 408, 703,
1535 1434, 39, 752, 1540, 758, 760, 747, 535, 477, 748,
1536 773, -831, 127, 128, 463, 1284, 40, 1286, 222, 135,
1537 59, 614, 1666, -576, 177, 1665, -576, 1201, 21, 800,
1538 200, 1018, 200, 200, 1665, 632, 1418, 137, 729, 1148,
1539 1252, 26, 464, 27, 262, 651, 777, 300, 72, 210,
1540 223, 224, 248, 799, 178, 777, 709, 366, 655, 200,
1541 8, 9, 948, 852, 58, 130, 131, 200, 155, 155,
1542 155, 639, 161, 1667, -576, 633, -576, -576, 189, -576,
1543 176, 844, 1678, 928, 477, 222, 138, 668, 822, 253,
1544 -576, 91, -576, 162, -145, 353, 225, 1103, 780, 781,
1545 1318, 1319, 59, 656, 127, 128, 475, -576, -576, 538,
1546 -365, 92, 15, 130, 131, 183, 773, 222, 222, 127,
1547 128, 187, -576, 190, 191, 222, 845, 825, 929, 353,
1548 72, 353, 913, 353, 930, 811, 1009, 222, 353, 860,
1549 860, 860, 860, 913, -365, 791, 58, 179, -365, 914,
1550 473, 353, 188, 797, 626, 26, 222, 130, 131, 932,
1551 914, 353, 827, 700, 353, 189, 95, 110, 111, 175,
1552 991, 548, 130, 131, 225, 1239, 1241, 915, 1298, 931,
1553 -365, 549, 475, 711, 223, 449, 712, 990, 915, 1215,
1554 225, 158, 158, 158, 660, 710, 651, 969, 353, 301,
1555 659, 819, 514, 15, 933, 988, 138, -415, 951, 377,
1556 190, 504, 1062, 1063, 1052, 378, 18, 709, 1067, 1080,
1557 112, 113, 967, 671, 476, 200, 139, 302, 58, 95,
1558 96, 97, 244, 226, 227, 228, -415, -415, 760, 246,
1559 547, -415, 304, 935, 938, 477, 1013, 225, 1014, 802,
1560 803, 826, 477, 952, 953, 225, 1209, 18, 590, 1053,
1561 1293, 1295, 530, 229, 1081, 264, 200, 1211, 122, 91,
1562 1164, 353, 225, 138, 8, 9, 1022, 1164, 222, 365,
1563 660, 26, 479, 98, 99, 230, 1236, 395, 479, 92,
1564 842, 1213, 1060, 1015, 502, 503, 1164, 91, 257, 1023,
1565 26, 1210, 1016, 1017, -128, -128, -366, 531, 15, 95,
1566 110, 111, 1212, 685, 686, 687, 1511, 92, 222, 366,
1567 375, 811, 380, 1617, 155, 300, 709, 130, 131, 231,
1568 232, 233, 155, -280, 476, 843, 1214, 663, 1018, -120,
1569 -366, 15, 90, 475, -366, 1109, 1110, 1295, 1111, 379,
1570 475, 253, 1031, 1032, 477, 1086, 383, 1074, 1075, -144,
1571 304, 1512, 477, 112, 113, 473, 1164, 1106, 1618, 264,
1572 1641, 137, 1164, -120, 384, 1378, -366, -120, -280, -280,
1573 822, 1668, 822, 1091, 404, 1054, 1055, 1085, 1095, -7,
1574 822, -622, -295, -280, 59, 1264, 59, 1303, 1304, 479,
1575 1306, 774, 210, 428, 59, 222, 435, 88, 1121, -120,
1576 709, 353, 353, 436, 353, 1642, 709, 1415, -617, 825,
1577 1205, 825, 72, 1238, 72, 89, 1669, 825, 381, 825,
1578 8, 9, 72, -142, 307, 247, -622, -622, 477, 164,
1579 129, 473, 510, 511, 477, 90, 382, 158, 92, 586,
1580 26, -622, 475, 1452, 827, 158, 827, 18, 127, 128,
1581 475, 450, 216, 217, 827, 583, 137, 584, 14, 222,
1582 423, 426, 1253, 1254, 1255, 454, -118, 1648, 15, 423,
1583 426, 26, 435, 130, 131, 451, 860, 225, 91, 466,
1584 1150, 20, 520, 819, -596, 819, -143, 1246, 89, 543,
1585 23, 544, 639, 819, 1481, -281, 1265, 1247, 92, 26,
1586 -118, 130, 131, 1164, -118, 545, 479, 546, 90, 1248,
1587 58, 860, 58, 225, 555, 640, 586, 709, 479, 562,
1588 58, 476, 225, 502, 730, 641, 475, 127, 128, -596,
1589 -596, 1504, 475, 826, 1197, 1072, -118, 649, 643, 225,
1590 -281, -281, 15, 826, -596, 477, -415, 935, 938, 477,
1591 1164, 89, 479, 91, 479, -281, 1455, 1260, 1261, 1436,
1592 709, 1437, 860, 353, 264, 1118, 1119, 1120, 137, 563,
1593 257, 90, 564, 92, 565, -415, -415, 777, 26, 703,
1594 130, 131, 89, 777, 1275, 95, 110, 111, 477, 1277,
1595 1488, 1086, 473, 566, 548, 1515, 155, 155, 155, 473,
1596 709, 774, 90, -279, 549, 155, 155, 155, 567, 476,
1597 1267, 1532, 629, 435, 679, 469, 1269, 1270, 860, 1091,
1598 1267, 1272, 680, 1085, 1270, 257, 1225, 1226, 477, 682,
1599 261, 397, 398, 10, 709, 1225, 1226, 477, 683, 112,
1600 113, 114, -623, 475, 1068, 684, 709, 475, -279, -279,
1601 264, 91, 1487, 822, 696, 1279, 1280, 1281, 1310, 697,
1602 435, 90, 477, -279, 88, 510, 731, 59, 92, 21,
1603 -6, 92, 611, 612, 477, 721, 252, 725, 560, 561,
1604 709, 744, 709, 254, 27, 262, 475, -623, -623, 1069,
1605 860, 745, 825, 761, 570, 72, 1515, 571, 1431, 1432,
1606 572, 473, -623, 582, 116, 117, 118, 587, 477, 473,
1607 477, 502, 1534, -830, 770, 628, 32, 1515, 772, 158,
1608 158, 158, 787, -184, 353, 15, 475, 827, 158, 158,
1609 158, 510, 1535, 836, 711, 475, 837, 1588, 137, -184,
1610 838, -184, 502, 1539, 1614, 839, 846, 709, 847, 1389,
1611 1390, 864, 1399, 1400, 866, 1402, 127, 128, 119, 120,
1612 475, 13, 867, 736, 1023, 1463, 819, 1468, 1465, 925,
1613 869, 777, 475, 935, 938, 477, 927, 1670, 1515, 946,
1614 948, 972, 973, 18, 1360, 473, 974, 1352, 983, 984,
1615 987, 473, 989, 58, 709, 20, 777, -304, 997, -304,
1616 639, 774, 998, 738, 1001, 1164, 475, 26, 475, 130,
1617 131, -298, 72, 1007, -304, 1397, 826, 1008, -304, 1029,
1618 1371, 1372, 477, 640, 216, 217, 456, 822, 1058, 1050,
1619 14, 127, 128, 641, 1057, -304, 538, 1061, 1064, 1054,
1620 1055, 59, -304, -304, 1359, 642, 643, -304, -304, -52,
1621 -304, 1122, -304, 20, -52, 1123, 1421, -298, 127, 128,
1622 261, 542, 23, 10, 520, -52, 825, 1124, 1164, 72,
1623 1484, 1485, 1128, 475, 1126, 1127, 1129, 1462, 1130, 1462,
1624 -304, -304, 26, 1351, 130, 131, 1131, 470, 18, 469,
1625 608, 609, 610, 611, 612, -304, 1132, -141, 917, 21,
1626 1133, 827, 473, 1135, 1136, 200, 473, 200, 918, 26,
1627 58, 130, 131, 1138, 429, 430, 1360, 1142, 1139, 1140,
1628 475, 919, 1490, 1491, 210, 917, 1360, 1141, 431, 1352,
1629 547, 1143, 1144, 1360, 1145, 918, 1352, 1155, 432, 1157,
1630 819, 860, 570, 571, 72, 473, 32, 1578, 919, 1158,
1631 433, 343, 1159, 343, 72, 343, 1160, 1167, 225, 222,
1632 1168, 72, 1169, 423, 426, 225, 1178, 58, 1190, 8,
1633 9, 1195, 1547, 1548, 1549, 1179, 1359, 1183, 1192, 1196,
1634 469, 1208, 1234, 1268, 225, 473, 1359, 1251, 1273, 1274,
1635 826, 512, 1278, 1359, 473, 1282, 18, 1288, 1289, 1290,
1636 343, 1296, 343, 1291, 1300, 1301, 1305, 95, 110, 111,
1637 1632, 226, 227, 228, 1309, 1351, 1216, 1311, 1317, 473,
1638 26, 1312, 130, 131, 1313, 1351, 777, 1316, 1580, 1581,
1639 155, 473, 1351, 1322, 463, 18, 1246, 1323, 1375, 469,
1640 147, 229, 58, 709, 1382, 469, 1247, 469, 469, 215,
1641 216, 217, 58, 471, 225, 1386, 14, -661, 1248, 58,
1642 225, 112, 113, 1408, 1409, 473, 1410, 473, 1416, 1371,
1643 1372, 477, 1419, 18, 469, 1420, 1425, 1560, 1426, 20,
1644 1591, 469, 1360, 1360, 1560, 1352, 1427, 1360, 23, 777,
1645 1352, 606, 607, 608, 609, 610, 611, 612, 1633, 155,
1646 155, 155, 1435, 353, 1428, 302, 1444, 1445, 200, 1446,
1647 72, 72, 302, 1458, 1460, 72, 1615, 1473, 1500, 140,
1648 140, 709, 156, 116, 802, 803, 1501, 804, 1360, 780,
1649 781, 1352, 473, 1502, 1503, 1505, 1507, 1360, 1518, 1523,
1650 1352, 1525, 1359, 1359, 1519, 1526, 213, 1359, 221, 477,
1651 414, 378, 1533, 158, 238, 416, 72, 1556, 805, 222,
1652 1564, 743, 1575, 1560, 1574, 72, 1590, 127, 128, 475,
1653 1599, 1600, 247, 1607, 1609, 26, 1612, 119, 120, 473,
1654 1625, 1351, 1351, 1613, 469, 1630, 1351, 568, 1359, 1360,
1655 1636, 302, 1352, 1637, 18, 1640, 1643, 1359, 469, 1650,
1656 1651, 225, 1654, 300, 147, 1656, 1660, 1664, 58, 58,
1657 300, 639, 1672, 58, 1671, 1673, 1674, 72, 26, 1676,
1658 130, 131, 158, 158, 158, 343, 1680, 1351, 1682, 1683,
1659 140, 1, 445, 160, 640, 140, 1351, 5, 156, 156,
1660 156, 1530, 1360, 986, 641, 1352, 1199, 475, 225, 1359,
1661 444, 1631, 853, 728, 58, 1096, 642, 643, 261, 8,
1662 9, 10, 442, 58, 1324, 213, 363, 412, 522, 539,
1663 72, 453, 1514, 225, 1679, 385, 386, 387, 554, 7,
1664 8, 9, 10, 489, 489, 498, 1191, 1028, 1351, 300,
1665 975, 1156, 525, 1380, 1256, 1276, 1098, 21, 976, 221,
1666 1403, 1189, 1359, 912, 252, 393, 505, 515, 221, 8,
1667 9, 905, 27, 262, 538, 58, 636, 906, 21, 908,
1668 909, 388, 570, 571, 639, 1649, 741, 471, 1471, 389,
1669 390, 26, 1369, 27, 28, 1603, 18, 127, 128, 1657,
1670 469, 1351, 538, 1049, 32, 1661, 1480, 749, 0, 140,
1671 0, 0, 0, 964, 469, 0, 469, 750, 469, 0,
1672 26, 0, 130, 131, 18, 32, 0, 0, 58, 751,
1673 643, 0, 0, 0, 0, 0, 1246, 0, 0, 127,
1674 128, 639, 0, 343, 0, 0, 1247, 0, 26, 0,
1675 130, 131, 0, 0, 0, 0, 0, 0, 1248, 8,
1676 9, 0, 0, 0, 640, 0, 0, 0, 469, 0,
1677 570, 571, 0, 0, 641, 0, 0, 343, 471, 0,
1678 153, 0, 156, 0, 366, 856, 642, 643, 473, 0,
1679 0, 719, 130, 131, 720, 0, 116, 117, 118, 0,
1680 385, 386, 387, 469, 366, 0, 723, 1059, 0, 343,
1681 0, 741, 130, 131, 881, 882, 541, 886, 887, 888,
1682 889, 890, 891, 892, 893, 894, 895, 896, 897, 898,
1683 899, 900, 901, 902, 903, 904, 541, 471, 7, 8,
1684 9, 10, 0, 471, 0, 471, 471, 1107, 26, 0,
1685 119, 120, 26, 1112, 389, 390, 0, 213, 221, 414,
1686 0, 0, 416, 225, 8, 9, 473, 0, 0, 247,
1687 0, 140, 471, 0, 140, 0, 539, 21, 0, 471,
1688 156, 156, 156, 76, 0, 1308, 140, 0, 0, 0,
1689 26, 18, 27, 28, 0, 0, 193, 424, 427, 0,
1690 0, 0, 0, 978, 980, 0, 194, 0, 639, 0,
1691 0, 0, 0, 0, 76, 26, 195, 130, 131, 343,
1692 0, 76, 0, 213, 32, 221, 225, 0, 196, 0,
1693 0, 1476, 0, 0, 202, 0, 214, 0, 0, 489,
1694 0, 1477, 489, 153, 498, 498, 498, 95, 96, 97,
1695 453, 0, 0, 1478, 643, 0, 489, 515, 221, 0,
1696 1170, 453, 1171, 741, 0, 515, 0, 101, 0, 0,
1697 0, 0, 1149, 0, 0, 115, 8, 9, 453, 0,
1698 0, 538, 471, 0, 0, 0, 1161, 0, 1162, 0,
1699 1163, 0, 0, 366, 0, 469, 471, 469, 0, 469,
1700 0, 98, 99, 18, 0, 156, 0, 156, 0, 116,
1701 802, 803, 0, 0, 0, 410, 0, 0, 234, 413,
1702 639, 0, 0, 156, 156, 156, 0, 26, 0, 130,
1703 131, 1235, 8, 9, 10, 0, 0, 0, 156, 0,
1704 1194, 1070, 0, 1476, 76, 0, 0, 0, 76, 95,
1705 110, 111, 532, 1477, 202, 214, 95, 417, 418, 343,
1706 343, 26, 343, 119, 120, 1478, 643, 313, 658, 0,
1707 21, 0, 0, 0, 0, 1206, 0, 391, 0, 582,
1708 579, 0, 0, 26, 0, 27, 262, 0, 21, 934,
1709 934, 941, 95, 96, 97, 0, 0, 0, 960, 1134,
1710 0, 419, 202, 112, 113, 469, 95, 110, 111, 0,
1711 98, 113, 116, 802, 803, 0, 0, 32, 221, 147,
1712 0, 0, 0, 261, 127, 128, 10, 1283, 0, 1285,
1713 127, 128, 0, 0, 216, 217, 0, 741, 471, 0,
1714 14, 0, 0, 0, 0, 0, 98, 99, 0, 719,
1715 720, 18, 471, 0, 471, 0, 471, 723, 221, 238,
1716 112, 113, 21, 20, 0, 0, 119, 120, 639, 0,
1717 0, 0, 23, 0, 639, 26, 0, 27, 262, 424,
1718 722, 26, 0, 130, 131, 0, 1315, 0, 0, 0,
1719 0, 1180, 521, 523, 0, 1188, 0, 640, 1030, 1030,
1720 1036, 1181, 0, 0, 0, 533, 471, 641, 1036, 32,
1721 0, 0, 0, 1182, 643, 0, 0, 0, 0, 642,
1722 643, 343, 156, 0, 1202, 95, 110, 111, 0, 489,
1723 489, 498, 498, 498, 95, 110, 111, 489, 0, 0,
1724 0, 471, 670, 424, 427, 515, 0, 0, 453, 0,
1725 0, 0, 469, 0, 261, 127, 128, 10, 0, 0,
1726 7, 8, 251, 10, 570, 571, 0, 1325, 259, 1326,
1727 1381, 1327, 0, 741, 741, 1385, 213, 0, 569, 112,
1728 1527, 0, 0, 0, 0, 0, 202, 0, 112, 1529,
1729 0, 0, 259, 21, 261, 397, 398, 10, 0, 21,
1730 252, 0, 0, 579, 0, 579, 252, 1266, 27, 262,
1731 369, 373, 0, 0, 27, 28, 0, 0, 0, 678,
1732 0, 259, 424, 865, 76, 0, 0, 1422, 688, 0,
1733 0, 0, 259, 21, 0, 0, 579, 0, 253, 0,
1734 32, 678, 0, 0, 0, 0, 32, 0, 27, 262,
1735 0, 0, 202, 755, 202, 202, 0, 0, 741, 741,
1736 766, 0, 1297, 7, 8, 9, 10, 0, 413, 13,
1737 0, 8, 9, 0, 0, 0, 13, 1424, 0, 0,
1738 32, 202, 343, 0, 934, 0, 0, 934, 0, 202,
1739 0, 18, 259, 0, 486, 0, 959, 0, 18, 934,
1740 414, 416, 21, 1177, 1177, 960, 832, 0, 639, 539,
1741 0, 261, 397, 398, 10, 26, 0, 27, 28, 1496,
1742 1497, 0, 26, 0, 130, 131, 0, 259, 0, 0,
1743 0, 749, 0, 471, 0, 471, 1506, 471, 1246, 0,
1744 0, 750, 0, 238, 0, 741, 0, 0, 1247, 32,
1745 21, 0, 0, 751, 643, 259, 0, 0, 0, 0,
1746 1248, 0, 0, 26, 0, 27, 262, 0, 0, 0,
1747 0, 0, 0, 741, 0, 127, 128, 801, 0, 0,
1748 1030, 1030, 1224, 1224, 1036, 0, 0, 1387, 1388, 1030,
1749 0, 1224, 1224, 1036, 615, 1543, 1544, 32, 153, 0,
1750 8, 9, 18, 1249, 1249, 1249, 1046, 0, 0, 0,
1751 0, 1554, 1555, 0, 0, 741, 0, 0, 0, 639,
1752 959, 0, 0, 453, 453, 0, 26, 18, 130, 131,
1753 424, 722, 0, 616, 617, 0, 577, 618, 619, 620,
1754 621, 877, 640, 471, 639, 0, 259, 202, 491, 494,
1755 453, 26, 641, 130, 131, 453, 0, 261, 127, 128,
1756 10, 0, 0, 1443, 642, 643, 0, 1476, 0, 0,
1757 7, 8, 9, 10, 215, 216, 217, 1477, 0, 0,
1758 0, 14, 127, 128, 0, 926, 0, 0, 202, 1478,
1759 643, 0, 0, 0, 719, 720, 21, 0, 18, 0,
1760 0, 723, 741, 259, 20, 0, 0, 0, 0, 21,
1761 0, 27, 262, 23, 0, 639, 1489, 0, 0, 0,
1762 0, 0, 26, 0, 27, 28, 639, 0, 0, 1177,
1763 1177, 960, 0, 26, 0, 130, 131, 0, 749, 741,
1764 215, 216, 217, 32, 0, 0, 0, 14, 750, 640,
1765 0, 0, 0, 0, 0, 993, 32, 0, 0, 641,
1766 759, 643, 0, 1000, 18, 0, 0, 0, 0, 0,
1767 20, 642, 643, 0, 1030, 1030, 1224, 1224, 1036, 23,
1768 0, 1030, 127, 128, 0, 7, 127, 128, 10, 0,
1769 471, 0, 0, 877, 715, 1249, 1249, 1249, 832, 0,
1770 832, 0, 424, 865, 0, 1092, 1099, 793, 832, 0,
1771 1545, 1546, 259, 0, 0, 453, 453, 0, 453, 453,
1772 0, 453, 0, 129, 21, 0, 0, 80, 0, 0,
1773 0, 252, 0, 26, 0, 130, 131, 104, 259, 27,
1774 28, 0, 0, 1571, 0, 0, 0, 133, 7, 8,
1775 9, 10, 0, 144, 144, 0, 144, 0, 80, 577,
1776 0, 577, 0, 253, 0, 80, 857, 0, 0, 0,
1777 0, 32, 0, 0, 1585, 0, 18, 0, 204, 577,
1778 80, 424, 427, 0, 0, 0, 0, 21, 239, 0,
1779 424, 1233, 577, 639, 0, 104, 884, 0, 0, 0,
1780 26, 0, 27, 28, 0, 0, 267, 104, 213, 221,
1781 0, 0, 0, 0, 0, 0, 749, 0, 0, 0,
1782 1479, 1479, 0, 1479, 907, 259, 750, 0, 0, 104,
1783 924, 0, 0, 0, 32, 0, 453, 453, 751, 643,
1784 259, 215, 216, 217, 778, 0, 945, 779, 14, 491,
1785 494, 0, 0, 0, 0, 260, 0, 133, 0, 80,
1786 0, 795, 0, 144, 144, 18, 0, 0, 415, 144,
1787 0, 20, 144, 144, 144, 0, 0, 0, 0, 0,
1788 23, 7, 8, 9, 10, 741, 0, 0, 80, 0,
1789 0, 0, 80, 0, 0, 970, 0, 0, 204, 80,
1790 0, 0, 7, 127, 128, 10, 0, 0, 13, 413,
1791 0, 0, 0, 0, 0, 0, 498, 204, 204, 204,
1792 21, 0, 0, 0, 0, 1479, 1479, 1542, 424, 722,
1793 18, 0, 437, 26, 688, 27, 28, 0, 453, 453,
1794 453, 21, 0, 0, 259, 0, 204, 993, 0, 194,
1795 0, 1092, 0, 0, 26, 0, 27, 28, 0, 195,
1796 0, 0, 0, 524, 0, 488, 0, 32, 0, 0,
1797 30, 196, 104, 259, 0, 424, 722, 0, 507, 0,
1798 31, 832, 0, 144, 0, 498, 498, 498, 32, 0,
1799 0, 0, 33, 0, 453, 453, 7, 8, 9, 10,
1800 814, 0, 7, 8, 815, 10, 167, 12, 13, 0,
1801 513, 216, 217, 14, 0, 0, 0, 14, 0, 0,
1802 0, 0, 0, 0, 0, 104, 550, 16, 0, 17,
1803 18, 19, 0, 0, 18, 21, 20, -520, 0, 259,
1804 20, 21, 252, 0, 0, 23, 816, 0, 168, 23,
1805 27, 28, 0, 0, 26, 0, 27, 28, 0, 0,
1806 817, 0, 818, 0, 453, 0, 0, 0, 0, 104,
1807 30, 0, 0, 637, 253, 550, 550, 652, 0, 0,
1808 31, 0, 32, 0, 0, 0, 80, 0, 32, 1294,
1809 0, 0, 33, 604, 605, 606, 607, 608, 609, 610,
1810 611, 612, 0, 491, 494, 0, 0, 0, -520, 0,
1811 0, 0, 0, 8, 9, 0, 0, 0, 13, 133,
1812 0, 0, 1153, 0, 0, 0, 0, 0, 104, 0,
1813 204, 104, 0, 0, 778, 779, 491, 494, 0, 0,
1814 18, 0, 795, 0, 0, 144, 0, 1398, 144, 259,
1815 0, 259, 1398, 0, 0, 832, 1176, 639, 0, 577,
1816 144, 0, 0, 0, 26, 0, 130, 131, 80, 1329,
1817 0, 0, 0, 0, 0, 1294, 0, 0, 0, 0,
1818 1476, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 1477, 0, 0, 0, 0, 0, 204, 756, 204, 204,
1820 652, 0, 1478, 643, 756, 0, 0, 0, 0, 0,
1821 0, 0, 204, 204, 1046, 0, 204, 0, 204, 204,
1822 204, 785, 0, 0, 0, 204, 259, 0, 0, 259,
1823 204, 0, 0, 204, 0, 0, 0, 202, 1466, 202,
1824 7, 8, 9, 10, 167, 12, 13, 577, 0, 0,
1825 80, 14, 0, 0, 0, 0, 0, 0, 261, 8,
1826 540, 10, 0, 0, 0, 16, 0, 17, 18, 19,
1827 0, 0, 0, 788, 20, 851, 0, 0, 794, 21,
1828 0, 259, 0, 23, 424, 1233, 168, 104, 104, 104,
1829 104, 0, 26, 0, 27, 28, 0, 21, 1450, 1451,
1830 0, 0, 0, 834, 252, 0, 0, 0, 30, 840,
1831 0, 0, 27, 262, 7, 8, 9, 10, 31, 0,
1832 247, 848, 849, 0, 850, 0, 32, 0, 0, 0,
1833 33, 0, 0, 0, 34, 0, 541, 0, 0, 0,
1834 936, 939, 18, 0, 32, 0, 0, 104, 0, 550,
1835 0, 0, 0, 21, 0, 0, 0, 0, 1307, 639,
1836 0, 637, 0, 550, 550, 652, 26, 0, 27, 28,
1837 0, 0, 961, 0, 0, 0, 963, 0, 0, 0,
1838 0, 0, 749, 0, 1510, 778, 779, 491, 494, 0,
1839 0, 204, 750, 0, 795, 0, 491, 494, 0, 0,
1840 32, 372, 374, 0, 751, 643, 1528, 1531, 778, 779,
1841 795, 8, 9, 0, 0, 12, 13, 133, 949, 950,
1842 0, 14, 0, 949, 133, 0, 0, 0, 0, 0,
1843 0, 0, 204, 239, 0, 16, 0, 17, 0, 0,
1844 202, 0, 0, 0, 20, 0, 0, 0, 0, 936,
1845 939, 0, 0, 23, 0, 0, 0, 0, 0, 259,
1846 0, 0, 26, 0, 130, 131, 622, 0, 0, 0,
1847 0, 0, 204, 204, 1038, 0, 657, 8, 9, 10,
1848 1041, 0, 1038, 1576, 472, 0, 0, 0, 0, 0,
1849 0, 1411, 1412, 1413, 1414, 0, 0, 0, 0, 0,
1850 623, 1417, 0, 204, 204, 785, 785, 785, 0, 0,
1851 0, 204, 313, 658, 0, 21, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 1040, 0, 26, 0,
1853 130, 131, 0, 0, 0, 0, 8, 9, 0, 133,
1854 12, 13, 80, 0, 80, 0, 14, 1448, 0, 1093,
1855 80, 0, 80, 0, 0, 0, 0, 0, 104, 1056,
1856 16, 259, 17, 0, 104, 0, 0, 0, 0, 20,
1857 0, 550, 550, 550, 0, 0, 0, 0, 23, 778,
1858 779, 491, 494, 550, 0, 0, 795, 26, 0, 130,
1859 131, 0, 0, 0, 261, 127, 128, 10, 0, 0,
1860 491, 494, 0, 0, 0, 0, 0, 0, 7, 8,
1861 9, 10, 215, 216, 217, 1114, 0, 1116, 0, 14,
1862 0, 0, 0, 0, 0, 911, 0, 581, 0, 0,
1863 0, 0, 0, 21, 104, 1165, 18, 0, 1166, 0,
1864 252, 0, 20, 0, 0, 0, 0, 21, 27, 262,
1865 1172, 23, 1524, 639, 936, 939, 0, 550, 550, 0,
1866 26, 550, 27, 28, 550, 0, 0, 0, 0, 104,
1867 0, 0, 541, 550, 0, 104, 194, 961, 961, 961,
1868 32, 0, 0, 550, 0, 1041, 195, 0, 0, 0,
1869 1151, 1152, 0, 1154, 32, 0, 0, 0, 1467, 708,
1870 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
1871 608, 609, 610, 611, 612, 1558, 0, 0, 104, 0,
1872 104, 884, 1558, 0, 1173, 778, 779, 0, 795, 0,
1873 0, 1165, 1166, 936, 939, 0, 0, 0, 0, 0,
1874 1172, 577, 936, 939, 0, 0, 0, 0, 261, 8,
1875 9, 10, 0, 204, 204, 204, 204, 204, 1038, 785,
1876 0, 0, 0, 204, 0, 1038, 1038, 1038, 0, 0,
1877 0, 1041, 0, 0, 0, 708, 104, 785, 785, 785,
1878 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
1879 0, 0, 104, 0, 252, 1093, 0, 0, 0, 0,
1880 0, 1558, 27, 262, 104, 0, 0, 0, 0, 0,
1881 0, 0, 1232, 0, 0, 0, 0, 1271, 0, 0,
1882 0, 1635, 0, 0, 0, 80, 253, 0, 0, 0,
1883 491, 494, 0, 0, 32, 0, 0, 0, 104, 0,
1884 104, 1257, 0, 1653, 0, 0, 0, 0, 104, 0,
1885 854, 0, 855, 1262, 0, 884, 0, 858, 859, 861,
1886 862, 863, 0, 0, 0, 0, 0, 0, 8, 9,
1887 581, 167, 12, 13, 550, 550, 468, 550, 14, 0,
1888 936, 939, 0, 880, 0, 0, 0, 0, 0, 0,
1889 491, 494, 16, 0, 17, 18, 0, 0, 0, 0,
1890 550, 20, 0, 550, 550, 652, 0, 0, 0, 0,
1891 23, 0, 639, 0, 0, 0, 0, 910, 0, 26,
1892 0, 130, 131, 0, 0, 1165, 1166, 936, 939, 0,
1893 0, 0, 1172, 0, 0, 640, 940, 0, 0, 0,
1894 0, 1314, 0, 940, 0, 641, 0, 785, 204, 204,
1895 785, 785, 1373, 0, 0, 204, 83, 642, 643, 0,
1896 0, 0, 0, 0, 0, 0, 106, 0, 0, 785,
1897 785, 785, 785, 0, 0, 126, 134, 0, 0, 0,
1898 0, 0, 145, 145, 0, 145, 0, 83, 8, 9,
1899 0, 204, 12, 247, 83, 0, 144, 0, 14, 80,
1900 0, 0, 0, 1374, 0, 0, 0, 145, 0, 83,
1901 0, 0, 16, 0, 17, 0, 0, 240, 0, 0,
1902 0, 20, 0, 0, 249, 0, 0, 0, 0, 0,
1903 23, 0, 0, 8, 9, 0, 249, 12, 247, 26,
1904 0, 130, 131, 14, 0, 940, 0, 0, 0, 0,
1905 0, 1406, 0, 940, 0, 1407, 0, 16, 0, 17,
1906 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
1907 0, 1165, 1166, 0, 1172, 23, 0, 639, 0, 0,
1908 0, 204, 756, 204, 26, 0, 130, 131, 83, 1423,
1909 0, 0, 145, 145, 785, 785, 0, 785, 145, 104,
1910 640, 145, 145, 145, 0, 0, 7, 8, 9, 10,
1911 641, 0, 13, 0, 0, 0, 0, 83, 0, 0,
1912 0, 83, 642, 643, 0, 0, 0, 145, 83, 472,
1913 0, 0, 0, 0, 18, 472, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 21, 145, 145, 145, 0,
1915 0, 639, 0, 0, 0, 1482, 0, 0, 26, 1483,
1916 27, 28, 8, 9, 0, 167, 12, 13, 0, 0,
1917 468, 0, 14, 0, 1033, 145, 936, 939, 0, 0,
1918 0, 1498, 1499, 0, 1034, 0, 16, 0, 17, 18,
1919 1038, 0, 32, 0, 0, 20, 1035, 643, 0, 785,
1920 785, 1373, 785, 0, 23, 1146, 639, 0, 0, 0,
1921 0, 0, 145, 26, 0, 130, 131, 7, 8, 9,
1922 10, 0, 0, 538, 0, 0, 0, 0, 0, 1476,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477,
1924 880, 0, 0, 0, 0, 18, 472, 0, 0, 0,
1925 940, 1478, 643, 0, 249, 552, 21, 0, 0, 1038,
1926 1038, 1038, 639, 0, 0, 785, 0, 0, 0, 26,
1927 0, 27, 28, 0, 0, 0, 0, 0, 0, 104,
1928 0, 0, 0, 0, 204, 749, 0, 0, 0, 708,
1929 0, 1200, 0, 0, 0, 750, 0, 0, 249, 0,
1930 0, 0, 638, 32, 552, 552, 653, 751, 643, 0,
1931 0, 662, 0, 0, 0, 83, 261, 127, 128, 10,
1932 0, 0, 13, 0, 0, 0, 0, 0, 0, 940,
1933 0, 0, 0, 0, 0, 0, 0, 0, 940, 0,
1934 0, 0, 0, 0, 18, 0, 0, 1243, 701, 0,
1935 0, 0, 0, 0, 0, 21, 0, 249, 0, 145,
1936 249, 639, 0, 472, 0, 0, 0, 0, 26, 0,
1937 27, 262, 0, 0, 145, 472, 0, 145, 0, 0,
1938 0, 0, 0, 0, 1180, 0, 0, 0, 0, 145,
1939 0, 0, 0, 0, 1181, 0, 0, 83, 0, 0,
1940 0, 0, 32, 0, 0, 0, 1182, 643, 0, 472,
1941 6, 472, 7, 8, 9, 10, 11, 12, 13, 1287,
1942 0, 0, 0, 14, 0, 145, 757, 145, 145, 653,
1943 0, 0, 0, 757, 0, 0, 0, 16, 0, 17,
1944 18, 145, 145, 0, 0, 145, 20, 145, 145, 145,
1945 552, 21, 0, 0, 145, 23, 0, 0, 441, 145,
1946 0, 0, 145, 0, 26, 0, 27, 28, 0, 0,
1947 29, 0, 0, 0, 0, 0, 940, 0, 813, 83,
1948 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 31, 0, 0, 0, 0, 0, 0, 0, 32, 0,
1950 0, 0, 33, 600, 601, 602, 603, 604, 605, 606,
1951 607, 608, 609, 610, 611, 612, 249, 249, 249, 249,
1952 0, 0, 0, 940, 0, 0, 0, 0, 0, 0,
1953 573, 0, 261, 8, 9, 10, 167, 12, 305, 306,
1954 307, 468, 308, 14, 601, 602, 603, 604, 605, 606,
1955 607, 608, 609, 610, 611, 612, 0, 16, 309, 17,
1956 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
1957 315, 21, 316, 317, 0, 23, 249, 639, 552, 318,
1958 319, 320, 321, 322, 26, 0, 27, 262, -312, 0,
1959 0, 324, 552, 552, 653, 0, 0, 325, 0, 0,
1960 954, 962, 0, 0, 0, 0, 0, 0, 327, 328,
1961 955, 0, 0, 0, 662, 0, 330, 331, 332, 0,
1962 145, 0, 956, 643, 0, 0, 1082, 1083, 9, 10,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 334,
1964 0, 0, 0, 0, 0, 0, 701, 0, 0, 0,
1965 0, 0, 0, 0, 126, 0, 0, 0, 0, 0,
1966 0, 145, 240, 0, 0, 21, 0, 0, 0, 814,
1967 1243, 7, 8, 815, 10, 167, 12, 13, 26, 0,
1968 27, 28, 14, 0, 1259, 813, 1084, 0, 0, 0,
1969 0, 0, 0, 0, 194, 0, 16, 0, 17, 18,
1970 19, 145, 145, 757, 195, 20, -521, 0, 0, 0,
1971 21, 1048, 32, 0, 23, 816, 196, 168, 0, 0,
1972 0, 0, 0, 26, 0, 27, 28, 0, 0, 817,
1973 0, 818, 145, 145, 552, 552, 552, 0, 0, 30,
1974 145, 0, 0, 261, 8, 9, 10, 0, 0, 31,
1975 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
1976 0, 33, 0, 0, 0, 0, 0, 0, 134, 0,
1977 0, 83, 940, 83, 0, 0, 0, -521, 1094, 83,
1978 0, 83, 21, 0, 0, 0, 0, 249, 0, 252,
1979 0, 0, 0, 249, 0, 0, 0, 27, 262, 0,
1980 552, 552, 552, 0, 0, 0, 261, 8, 9, 10,
1981 0, 814, 552, 7, 8, 815, 10, 167, 12, 13,
1982 0, 541, 0, 0, 14, 0, 0, 0, 0, 32,
1983 0, 0, 581, 0, 18, 0, 0, 0, 16, 0,
1984 17, 18, 19, 0, 0, 21, 0, 20, -523, 0,
1985 708, 639, 21, 0, 0, 0, 23, 816, 26, 168,
1986 27, 262, 0, 249, 0, 26, 0, 27, 28, 0,
1987 0, 817, 0, 818, 1227, 0, 0, 0, 0, 0,
1988 0, 30, 0, 0, 1228, 0, 552, 552, 0, 0,
1989 552, 31, 32, 552, 0, 0, 1229, 643, 249, 32,
1990 0, 0, 552, 33, 249, 0, 962, 962, 962, 0,
1991 0, 0, 552, 0, 662, 0, 0, 0, 0, -523,
1992 0, 0, 0, 0, 0, 261, 8, 9, 10, 0,
1993 12, 305, 306, 307, 0, 308, 14, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 249, 0, 249,
1995 16, 309, 17, 18, 19, 0, 310, 311, 312, 20,
1996 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
1997 639, 0, 318, 319, 320, 321, 322, 26, 0, 27,
1998 262, 0, 145, 145, 145, 145, 145, 757, 552, 0,
1999 325, 0, 145, 954, 1048, 1048, 1048, 0, 0, 0,
2000 662, 327, 328, 955, 0, 249, 552, 552, 552, 330,
2001 331, 332, 0, 0, 0, 956, 643, 0, 0, 813,
2002 0, 249, 0, 0, 1094, 0, 0, 0, 0, 0,
2003 0, 0, 334, 249, 0, 814, 0, 7, 8, 815,
2004 10, 167, 12, 13, 0, 0, 0, 0, 14, 0,
2005 0, 0, 0, 0, 83, 0, 0, 0, 0, 0,
2006 0, 0, 16, 0, 17, 18, 19, 249, 0, 249,
2007 0, 20, -522, 0, 0, 0, 21, 249, 0, 0,
2008 23, 816, 0, 168, 0, 0, 0, 0, 0, 26,
2009 0, 27, 28, 0, 0, 817, 0, 818, 0, 0,
2010 0, 0, 0, 552, 552, 30, 552, 0, 0, 0,
2011 0, 0, 0, 51, 0, 31, 0, 0, 261, 8,
2012 9, 10, 0, 32, 13, 0, 0, 33, 0, 552,
2013 0, 0, 552, 552, 653, 0, 0, 0, 0, 51,
2014 51, 0, 152, -522, 51, 0, 18, 0, 0, 0,
2015 0, 51, 0, 0, 0, 0, 0, 21, 0, 0,
2016 813, 0, 0, 639, 51, 0, 51, 0, 0, 0,
2017 26, 0, 27, 262, 0, 0, 552, 145, 145, 552,
2018 552, 653, 0, 0, 145, 0, 1227, 0, 0, 255,
2019 0, 0, 263, 0, 0, 0, 1228, 0, 552, 552,
2020 552, 552, 0, 0, 32, 813, 0, 0, 1229, 643,
2021 0, 0, 7, 127, 128, 10, 0, 0, 247, 0,
2022 145, 0, 0, 0, 0, 145, 0, 0, 83, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 18, 0, 399, 399, 0, 51, 0, 0, 0, 51,
2025 51, 21, 0, 255, 263, 51, 0, 0, 152, 152,
2026 152, 0, 0, 0, 26, 434, 27, 28, 0, 0,
2027 0, 0, 0, 0, 51, 0, 0, 0, 51, 0,
2028 30, 0, 0, 0, 51, 51, 0, 0, 0, 0,
2029 31, 0, 0, 0, 0, 0, 0, 0, 32, 1454,
2030 0, 0, 33, 51, 51, 152, 0, 0, 0, 0,
2031 145, 757, 145, 255, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 552, 552, 0, 552, 0, 249, 0,
2033 0, 0, 51, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 739, 0, 871, 872,
2035 873, 10, 0, 12, 484, 306, 307, 0, 308, 14,
2036 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
2037 0, 0, 0, 16, 309, 17, 255, 19, 0, 310,
2038 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2039 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2040 26, 0, 874, 875, 740, 0, 0, 324, 0, 0,
2041 0, 0, 0, 325, 0, 0, 326, 0, 0, 1048,
2042 0, 0, 0, 0, 327, 328, 329, 0, 552, 552,
2043 653, 552, 330, 331, 332, 0, 0, 0, 333, 876,
2044 0, 0, 578, 0, 0, 0, 0, 0, 0, 0,
2045 0, 0, 0, 0, 1027, 334, 0, 0, 0, 399,
2046 0, 0, 0, 0, 0, 0, 0, 255, 0, 0,
2047 0, 0, 51, 6, 0, 7, 8, 9, 10, 11,
2048 12, 13, 0, 0, 0, 0, 14, 0, 1048, 1048,
2049 1048, 0, 0, 0, 552, 0, 0, 0, 0, 15,
2050 16, 0, 17, 18, 19, 399, 0, 0, 249, 20,
2051 0, 0, 0, 145, 21, 0, 51, 22, 23, 24,
2052 0, 25, 0, 0, 255, 0, 0, 26, 0, 27,
2053 28, 51, 0, 29, 51, 0, 0, 0, 0, 0,
2054 434, 434, 434, 30, 0, 0, 51, 0, 0, 0,
2055 0, 0, 0, 31, 51, 0, 0, 0, 0, 0,
2056 0, 32, 0, 0, 0, 33, 0, 0, 0, 34,
2057 0, 0, 0, 7, 127, 128, 10, 0, 0, 13,
2058 0, 0, 51, 51, 51, 51, 0, 0, 0, 0,
2059 51, 0, 7, 127, 128, 10, 0, 0, 51, 51,
2060 0, 18, 51, 0, 152, 152, 152, 434, 0, 0,
2061 0, 51, 21, 0, 0, 0, 51, 0, 0, 51,
2062 18, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2063 0, 21, 0, 0, 0, 0, 51, 0, 0, 0,
2064 0, 149, 0, 0, 26, 0, 27, 28, 0, 0,
2065 0, 150, 0, 0, 0, 0, 0, 0, 0, 32,
2066 149, 0, 0, 151, 0, 578, 0, 578, 0, 0,
2067 150, 0, 0, 0, 0, 0, 0, 0, 32, 0,
2068 0, 0, 151, 578, 578, 578, 0, 1469, 0, 1332,
2069 1333, 1334, 10, 167, 12, 305, 306, 307, 578, 308,
2070 14, 1335, 0, 1336, 1337, 1338, 1339, 1340, 1341, 1342,
2071 1343, 1344, 1345, 15, 16, 309, 17, 18, 19, 0,
2072 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2073 317, 1346, 23, 1347, 0, 0, 318, 319, 320, 321,
2074 322, 26, 0, 1348, 262, 736, 255, 1349, 324, 0,
2075 0, 0, 0, 0, 325, 0, 0, 326, 578, 0,
2076 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2077 0, 0, 0, 330, 331, 332, 0, 51, 0, 333,
2078 0, 1350, 0, 0, 166, 0, 7, 8, 9, 10,
2079 167, 12, 13, 0, 0, 1470, 334, 14, 0, 0,
2080 0, 0, 0, 399, 0, 0, 0, 0, 159, 0,
2081 399, 16, 0, 17, 18, 19, 0, 0, 51, 0,
2082 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
2083 205, 0, 168, 0, 0, 0, 0, 0, 26, 0,
2084 27, 28, 0, 0, 0, 8, 9, 0, 0, 12,
2085 13, 0, 0, 0, 30, 14, 0, 0, 51, 51,
2086 152, 0, 0, 0, 31, 255, 263, 0, 1045, 16,
2087 0, 17, 32, 0, 0, 0, 33, 0, 20, 0,
2088 34, 78, 578, 0, 0, 0, 0, 23, 0, 51,
2089 51, 434, 434, 434, 0, 0, 26, 51, 130, 131,
2090 0, 0, 0, 0, 0, 0, 0, 78, 78, 0,
2091 78, 0, 78, 0, 0, 0, 0, 0, 0, 78,
2092 0, 0, 0, 0, 159, 159, 159, 0, 51, 0,
2093 51, 0, 78, 0, 78, 51, 51, 0, 51, 0,
2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 814,
2095 205, 7, 8, 815, 10, 167, 12, 13, 0, 0,
2096 265, 0, 14, 0, 0, 0, 0, 0, 0, 205,
2097 205, 500, 0, 0, 0, 0, 16, 0, 17, 18,
2098 19, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2099 21, 0, 0, 0, 23, 816, 0, 168, 205, 0,
2100 0, 0, 0, 26, 0, 27, 28, 0, 0, 817,
2101 0, 818, 0, 78, 0, 0, 0, 78, 78, 30,
2102 0, 0, 265, 78, 0, 0, 78, 78, 78, 31,
2103 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
2104 0, 33, 78, 0, 0, 0, 78, 0, 0, 0,
2105 0, 0, 78, 78, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 578, 578, 578, 0, 0, 0, 434,
2107 255, 78, 78, 78, 0, 0, 0, 0, 551, 0,
2108 7, 8, 9, 10, 167, 12, 13, 0, 0, 468,
2109 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2110 78, 0, 0, 0, 0, 16, 0, 17, 18, 0,
2111 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
2112 0, 0, 0, 23, 0, 639, 0, 646, 646, 646,
2113 0, 0, 26, 0, 27, 28, 0, 78, 0, 51,
2114 51, 51, 152, 152, 152, 434, 0, 255, 1033, 51,
2115 255, 1045, 1045, 1045, 0, 0, 0, 263, 1034, 0,
2116 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2117 1035, 643, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 51, 205, 261, 127, 1401, 10, 0, 0, 261,
2119 8, 9, 10, 167, 12, 13, 0, 0, 468, 0,
2120 14, 0, 255, 263, 0, 0, 0, 0, 0, 0,
2121 0, 51, 0, 0, 16, 0, 17, 18, 0, 0,
2122 0, 0, 21, 20, 0, 0, 0, 0, 21, 252,
2123 0, 0, 23, 0, 639, 0, 661, 27, 262, 0,
2124 78, 26, 0, 27, 262, 0, 0, 0, 753, 0,
2125 753, 753, 646, 7, 8, 9, 10, 1180, 0, 13,
2126 0, 541, 0, 0, 205, 205, 0, 1181, 205, 32,
2127 500, 500, 500, 786, 0, 32, 0, 205, 0, 1182,
2128 643, 18, 205, 0, 78, 205, 434, 0, 0, 434,
2129 434, 434, 21, 0, 0, 0, 0, 0, 0, 78,
2130 0, 0, 78, 0, 0, 26, 0, 27, 28, 0,
2131 7, 8, 9, 10, 78, 0, 0, 0, 0, 0,
2132 0, 194, 78, 0, 0, 0, 0, 0, 0, 0,
2133 0, 195, 0, 434, 51, 51, 434, 434, 434, 32,
2134 0, 51, 0, 196, 0, 0, 0, 0, 0, 21,
2135 78, 78, 78, 78, 1082, 1083, 9, 10, 78, 0,
2136 0, 0, 26, 0, 27, 28, 78, 78, 1461, 0,
2137 78, 0, 78, 78, 78, 0, 0, 51, 194, 78,
2138 255, 0, 51, 0, 78, 51, 0, 78, 195, 0,
2139 0, 0, 0, 21, 0, 0, 32, 0, 0, 0,
2140 196, 920, 0, 0, 78, 0, 26, 0, 27, 28,
2141 0, 0, 0, 0, 1084, 646, 646, 646, 0, 0,
2142 0, 0, 194, 0, 646, 0, 0, 0, 0, 0,
2143 0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
2144 32, 0, 0, 205, 196, 0, 0, 0, 0, 0,
2145 0, 0, 883, 0, 261, 8, 9, 10, 167, 12,
2146 305, 306, 307, 0, 308, 14, 0, 51, 51, 51,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2148 309, 17, 18, 19, 753, 310, 311, 312, 20, 0,
2149 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2150 0, 318, 319, 320, 321, 322, 26, 0, 27, 262,
2151 1566, 0, -791, 324, 0, 661, 0, 0, 0, 325,
2152 0, 0, 326, 0, 753, 753, 1039, 0, 0, 0,
2153 327, 328, 329, 0, 1039, 0, 0, 0, 330, 331,
2154 332, 0, 0, 0, 333, 78, 0, 0, 0, 0,
2155 0, 0, 0, 0, 0, 205, 205, 786, 786, 786,
2156 0, 334, 0, 205, 261, 8, 9, 10, 167, 12,
2157 13, 0, 0, 468, 0, 14, 1045, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 78, 0, 0, 16,
2159 0, 17, 18, 0, 0, 0, 0, 0, 20, 0,
2160 0, 205, 0, 21, 0, 0, 0, 23, 0, 639,
2161 0, 0, 0, 0, 0, 0, 26, 0, 27, 262,
2162 0, 0, 0, 551, 551, 551, 78, 78, 78, 0,
2163 0, 203, 1227, 0, 265, 646, 1047, 0, 0, 0,
2164 0, 0, 1228, 0, 0, 1045, 1045, 1045, 0, 0,
2165 32, 0, 0, 0, 1229, 643, 258, 78, 78, 266,
2166 7, 127, 128, 10, 0, 78, 538, 0, 0, 0,
2167 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 258, 0, 368, 0, 0, 0, 0, 0, 18, 0,
2169 0, 0, 0, 0, 0, 0, 78, 0, 78, 21,
2170 0, 0, 0, 78, 78, 0, 78, 0, 0, 646,
2171 646, 0, 26, 646, 27, 28, 646, 0, 0, 0,
2172 0, 0, 0, 0, 0, 646, 0, 0, 30, 646,
2173 646, 646, 0, 0, 0, 646, 0, 0, 31, 0,
2174 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2175 33, 203, 595, 596, 597, 598, 599, 600, 601, 602,
2176 603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
2177 203, 203, 203, 0, 0, 0, 0, 0, 0, 0,
2178 506, 1391, 1392, 9, 10, 599, 600, 601, 602, 603,
2179 604, 605, 606, 607, 608, 609, 610, 611, 612, 203,
2180 0, 0, 0, 0, 0, 753, 753, 753, 1039, 1039,
2181 1039, 1230, 0, 0, 0, 753, 0, 1039, 1039, 1039,
2182 21, 0, 0, 0, 0, 266, 0, 0, 0, 786,
2183 786, 786, 0, 26, 0, 27, 28, 0, 0, 661,
2184 0, 1393, 0, 258, 0, 0, 0, 205, 0, 194,
2185 -387, 8, 9, -387, -387, 12, 247, 0, 0, 195,
2186 0, 14, 0, 0, 0, 0, 0, 32, 0, 0,
2187 0, 196, 0, 0, 0, 16, 0, 17, -387, 0,
2188 0, 0, 0, 0, 20, 0, 0, 0, 0, -387,
2189 0, 0, 0, 23, 0, 639, 0, 0, 0, 0,
2190 0, 0, 26, 0, 130, 131, 0, 78, 78, 78,
2191 78, 78, 78, 0, 0, 0, 0, 78, 640, 1047,
2192 1047, 1047, 0, 0, 0, 1237, 920, 920, 641, 920,
2193 0, 0, 0, 0, 258, 266, -387, 0, 0, 0,
2194 642, 643, 7, 8, 9, 10, 215, 216, 217, 78,
2195 0, 0, 646, 14, 0, 646, 646, 646, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 18, 265, 0, 0, 0, 0, 20, 0, 0, 78,
2198 0, 21, 0, 203, 0, 23, 0, 639, 0, 0,
2199 7, 127, 128, 10, 26, 0, 27, 28, 0, 1230,
2200 753, 753, 1230, 1230, 1230, 0, 0, 753, 0, 0,
2201 749, 0, 0, 0, 0, 0, 0, 0, 18, 0,
2202 750, 786, 786, 786, 786, 0, 0, 0, 32, 21,
2203 0, 0, 751, 643, 0, 0, 0, 0, 0, 0,
2204 0, 0, 26, 205, 27, 28, 0, 0, 0, 203,
2205 0, 203, 203, 0, 0, 0, 0, 0, 30, 0,
2206 0, 0, 0, 0, 0, 203, 203, 0, 31, 203,
2207 0, 203, 203, 203, 203, 0, 32, 0, 203, 0,
2208 33, 0, 0, 203, 0, 0, 203, 467, 0, 261,
2209 8, 9, 10, 167, 12, 305, 306, 307, 468, 308,
2210 14, 0, 78, 78, 0, 0, 0, 0, 0, 78,
2211 0, 0, 0, 0, 16, 309, 17, 18, 19, 0,
2212 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2213 317, 0, 23, 205, 0, 205, 318, 319, 320, 321,
2214 322, 26, 0, 27, 262, 78, 1230, 1230, 324, 1230,
2215 78, 0, 102, 78, 325, 0, 0, 326, 0, 0,
2216 0, 121, 102, 0, 0, 327, 328, 329, 102, 102,
2217 0, 102, 18, 330, 331, 332, 0, 0, 0, 333,
2218 0, 0, 0, 0, 644, 644, 644, 0, 0, 0,
2219 0, 0, 0, 0, -801, 0, 334, 0, 0, 0,
2220 0, 0, 0, 236, 0, 591, 592, 593, 594, 595,
2221 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
2222 606, 607, 608, 609, 610, 611, 612, 0, 258, 266,
2223 0, 0, 0, 0, 0, 78, 78, 78, 0, 0,
2224 0, 0, 500, 0, 203, 0, 0, 0, 0, 0,
2225 0, 1230, 1230, 1230, 1230, 0, 0, 0, 0, 0,
2226 0, 0, 392, 0, 121, 0, 0, 0, 0, 0,
2227 0, 102, 102, 0, 0, 0, 0, 0, 102, 102,
2228 0, 0, 102, 102, 102, 203, 420, 102, 102, 102,
2229 0, 0, 0, 0, 0, 7, 8, 9, 10, 206,
2230 12, 207, 0, 0, 0, 644, 14, 644, 644, 644,
2231 0, 500, 500, 500, 0, 0, 0, 1230, 0, 0,
2232 16, 0, 17, 18, 0, 203, 203, 1037, 0, 20,
2233 0, 0, 258, 266, 21, 1037, 205, 0, 23, 0,
2234 7, 8, 9, 10, 1047, 0, 247, 26, 0, 27,
2235 28, 0, 0, 208, 0, 0, 203, 203, 203, 203,
2236 203, 506, 0, 30, 203, 0, 0, 0, 18, 0,
2237 0, 0, 0, 31, 0, 0, 0, 236, 102, 21,
2238 0, 32, 0, 8, 9, 33, 167, 12, 13, 266,
2239 0, 0, 26, 14, 27, 28, 0, 0, 102, 0,
2240 0, 0, 203, 0, 0, 0, 0, 16, 194, 17,
2241 18, 0, 0, 1047, 1047, 1047, 20, 0, 195, 0,
2242 0, 0, 0, 0, 0, 702, 32, 0, 168, 0,
2243 196, 0, 0, 0, 26, 0, 130, 131, 78, 268,
2244 0, 102, 8, 9, 0, 0, 12, 13, 0, 0,
2245 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 0, 0, 0, 0, 16, 0, 17, 0,
2247 0, 0, 644, 644, 644, 20, 0, 269, 270, 0,
2248 0, 958, 0, 0, 23, 0, 271, 0, 102, 0,
2249 102, 102, 0, 26, 0, 130, 131, 0, 272, 0,
2250 0, 0, 273, 274, 275, 276, 277, 278, 279, 280,
2251 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2252 291, 292, 293, 0, 0, 294, 295, 296, 0, 297,
2253 0, 0, 298, 0, 102, 0, 0, 258, 266, 258,
2254 0, 644, 0, 0, 0, 0, 8, 9, 299, 167,
2255 12, 13, 0, 102, 468, 0, 14, 0, 0, 0,
2256 102, 0, 0, 102, 0, 0, 0, 0, 0, 0,
2257 16, 0, 17, 18, 0, 102, 0, 0, 0, 20,
2258 0, 644, 644, 644, 0, 0, 0, 0, 23, 0,
2259 0, 958, 0, 0, 0, 0, 0, 26, 0, 130,
2260 131, 0, 0, 0, 0, 0, 203, 203, 203, 203,
2261 203, 1037, 203, 0, 1231, 0, 203, 258, 1037, 1037,
2262 1037, 0, 0, 0, 266, 0, 0, 0, 0, 0,
2263 203, 203, 203, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 203, 0,
2265 1550, 0, -478, -478, -478, -478, -478, -478, -478, 0,
2266 0, -478, 102, -478, 806, 0, 0, 0, 0, 506,
2267 0, 0, 0, 0, -478, 0, -478, 0, 0, 0,
2268 -478, 0, 0, 0, 0, 0, -478, 0, 102, 0,
2269 102, -478, 644, 0, 0, -478, 0, -478, 0, 0,
2270 0, 0, 0, 0, -478, 0, -478, -478, -478, -478,
2271 -478, 0, -478, -478, -478, -478, -478, -478, -478, -478,
2272 -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
2273 -478, -478, -478, -478, -478, 0, -478, -478, -478, 0,
2274 -478, -478, -478, -478, -478, 0, 0, 0, 0, 0,
2275 1551, -478, 0, 0, 0, 0, -478, -478, -478, 0,
2276 -478, 0, 0, 0, 102, 0, 644, 644, 0, 0,
2277 644, 0, 0, 644, 0, 102, 102, 0, 102, 102,
2278 0, 0, 644, 0, 0, 0, 958, 958, 958, 0,
2279 0, 0, 644, 0, 0, 0, 0, 0, 0, 0,
2280 203, 203, 203, 203, 203, 1037, 0, 0, 203, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2282 0, 0, 203, 203, 203, 203, 0, 0, 0, 0,
2283 0, 0, 102, 0, 0, 0, 0, 0, 0, 102,
2284 121, 0, 0, 0, 203, 0, 0, 0, 236, 0,
2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 644, 644, 644, 644, 644, 644, 644, 0,
2287 0, 806, 644, 0, 958, 958, 958, 0, 0, 0,
2288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289 7, 8, 9, 10, 0, 12, 305, 306, 307, 0,
2290 308, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 0, 16, 309, 17, 18, 19,
2292 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2293 316, 317, 0, 23, 203, 639, 203, 318, 319, 320,
2294 321, 322, 26, 0, 27, 28, 0, 203, 203, 1231,
2295 203, 806, 0, 0, 102, 325, 0, 0, 1042, 0,
2296 0, 0, 0, 0, 0, 0, 327, 328, 1043, 0,
2297 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2298 1044, 643, 0, 0, 0, 0, 102, 102, 102, 102,
2299 0, 8, 9, 0, 167, 12, 13, 334, 102, 1587,
2300 0, 14, 0, 0, 0, 0, 0, 0, 0, 644,
2301 0, 0, 644, 644, 644, 16, 0, 17, 18, 0,
2302 0, 0, 0, 0, 20, 0, 0, 0, 0, 1391,
2303 127, 128, 10, 23, 0, 0, 0, 0, 0, 0,
2304 0, 0, 26, 1037, 130, 131, 0, 0, 0, 0,
2305 0, 0, 203, 203, 1037, 203, 644, 644, 644, 644,
2306 644, 644, 0, 0, 644, 0, 0, 0, 21, 0,
2307 0, 0, 102, 102, 0, 0, 102, 0, 0, 102,
2308 0, 26, 0, 27, 28, 0, 0, 0, 102, 1393,
2309 0, 0, 0, 0, 0, 0, 0, 30, 102, 0,
2310 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2311 0, 0, 1037, 1037, 1037, 32, 0, 0, 203, 33,
2312 0, 0, 1331, 0, 1332, 1333, 1334, 10, 167, 12,
2313 305, 306, 307, 0, 308, 14, 1335, 203, 1336, 1337,
2314 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 15, 16,
2315 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
2316 313, 314, 315, 21, 316, 317, 1346, 23, 1347, 0,
2317 0, 318, 319, 320, 321, 322, 26, 0, 1348, 262,
2318 736, 0, 1349, 324, 0, 0, 0, 0, 0, 325,
2319 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2320 327, 328, 329, 644, 644, 806, 644, 0, 330, 331,
2321 332, 0, 0, 0, 333, 573, 1350, 261, 8, 9,
2322 10, 0, 12, 305, 306, 307, 0, 308, 14, 0,
2323 0, 334, 102, 0, 0, 0, 0, 0, 0, 0,
2324 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
2325 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2326 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2327 0, 27, 262, -312, 0, 0, 324, 0, 0, 0,
2328 0, 0, 325, 0, 0, 574, 0, 0, 0, 102,
2329 102, 0, 102, 327, 328, 575, 0, 0, 0, 0,
2330 0, 330, 331, 332, 0, 0, 0, 576, 644, 644,
2331 644, 644, 0, 0, 0, 102, 0, 0, 102, 102,
2332 0, 0, 0, 0, 334, 0, 573, 0, 7, 8,
2333 9, 10, 167, 12, 305, 306, 307, 468, 308, 14,
2334 0, 0, 0, 0, 0, 0, 806, 0, 0, 0,
2335 0, 0, 0, 16, 309, 17, 18, 19, 0, 310,
2336 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2337 0, 23, 0, 639, 644, 318, 319, 320, 321, 322,
2338 26, 0, 27, 28, -312, 0, 0, 324, 0, 0,
2339 0, 806, 0, 325, 0, 0, 1042, 0, 0, 0,
2340 0, 0, 0, 0, 327, 328, 1043, 0, 0, 102,
2341 0, 102, 330, 331, 332, 0, 0, 0, 1044, 643,
2342 739, 0, 871, 872, 873, 10, 0, 12, 484, 306,
2343 307, 0, 308, 14, 0, 334, 0, 0, 0, 0,
2344 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2345 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2346 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2347 319, 320, 321, 322, 26, 0, 874, 875, 740, 0,
2348 0, 324, 0, 0, 0, 0, 0, 325, 0, 0,
2349 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2350 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2351 0, 0, 333, 876, 739, 0, 261, 8, 9, 10,
2352 0, 12, 484, 306, 307, 0, 308, 14, 0, 334,
2353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2354 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2355 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2356 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2357 27, 262, 740, 0, 0, 324, 0, 0, 0, 0,
2358 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2359 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2360 330, 331, 332, 0, 0, 0, 333, 739, 0, 871,
2361 872, 873, 10, 1240, 12, 484, 306, 307, 0, 308,
2362 14, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2363 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2364 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2365 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2366 322, 26, 0, 874, 875, 740, 0, 0, 324, 0,
2367 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2368 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2369 0, 0, 0, 330, 331, 332, 0, 0, 739, 333,
2370 871, 872, 873, 10, 0, 12, 484, 306, 307, 0,
2371 308, 14, 0, 0, 0, -482, 334, 0, 0, 0,
2372 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2373 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2374 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2375 321, 322, 26, 0, 874, 875, 740, 0, 0, 324,
2376 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2377 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2378 0, 0, 0, 0, 330, 331, 332, 0, 0, 573,
2379 333, 7, 8, 9, 10, 0, 12, 305, 306, 307,
2380 0, 308, 14, 0, 0, 0, 1370, 334, 0, 0,
2381 0, 0, 0, 0, 0, 0, 16, 309, 17, 18,
2382 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2383 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2384 320, 321, 322, 26, 0, 27, 28, -312, 0, 0,
2385 324, 0, 0, 0, 0, 0, 325, 0, 0, 1536,
2386 0, 0, 0, 0, 0, 0, 0, 327, 328, 1537,
2387 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2388 739, 1538, 261, 8, 9, 10, 0, 12, 484, 306,
2389 307, 0, 308, 14, 0, 0, 0, 0, 334, 0,
2390 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2391 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2392 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2393 319, 320, 321, 322, 26, 0, 27, 262, 740, 0,
2394 0, 324, 0, 0, 0, 0, 0, 325, 0, 0,
2395 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2396 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2397 0, 883, 333, 261, 8, 9, 10, 0, 12, 484,
2398 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2399 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2400 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
2401 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2402 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2403 0, 0, 324, -791, 0, 0, 0, 0, 325, 0,
2404 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2405 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2406 0, 0, 1620, 333, 261, 8, 9, 10, 0, 12,
2407 305, 306, 307, 0, 308, 14, 0, 0, 0, 0,
2408 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2409 309, 17, 0, 19, 0, 310, 311, 312, 20, 0,
2410 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2411 0, 318, 319, 320, 321, 322, 26, 0, 27, 262,
2412 0, 0, -197, 324, 0, 0, 0, 0, 0, 325,
2413 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2414 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
2415 332, 0, 0, 883, 333, 261, 8, 9, 10, 0,
2416 12, 484, 306, 307, 0, 308, 14, 0, 0, 0,
2417 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
2418 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
2419 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2420 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2421 262, 0, 0, 0, 324, 0, 0, 0, 0, 0,
2422 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2423 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
2424 331, 332, 0, 0, 977, 333, 261, 8, 9, 10,
2425 0, 12, 484, 306, 307, 0, 308, 14, 0, 0,
2426 -791, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2427 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2428 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2429 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2430 27, 262, 0, 0, 0, 324, 0, 0, 0, 0,
2431 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2432 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2433 330, 331, 332, 0, 0, 979, 333, 261, 8, 9,
2434 10, 0, 12, 484, 306, 307, 0, 308, 14, 0,
2435 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2436 0, 0, 16, 309, 17, 0, 19, 0, 310, 311,
2437 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2438 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2439 0, 27, 262, 0, 0, 0, 324, 0, 0, 0,
2440 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
2441 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
2442 0, 330, 331, 332, 0, 0, 1584, 333, 261, 8,
2443 9, 10, 0, 12, 484, 306, 307, 0, 308, 14,
2444 0, 0, 0, 0, 334, 0, 0, 0, 0, 0,
2445 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
2446 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2447 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2448 26, 0, 27, 262, 0, 0, 0, 324, 0, 0,
2449 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2450 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2451 0, 0, 330, 331, 332, 0, 0, 0, 333, 261,
2452 8, 9, 10, 0, 12, 484, 306, 307, 0, 308,
2453 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
2454 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2455 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2456 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2457 322, 26, 0, 27, 262, 0, 0, 0, 324, 0,
2458 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2459 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2460 0, 0, 0, 330, 331, 332, 0, 0, 0, 333,
2461 261, 8, 9, 10, 0, 12, 484, 306, 307, 0,
2462 308, 14, 0, 0, 0, 0, 334, 485, 0, 0,
2463 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2464 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2465 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2466 321, 322, 26, 0, 27, 262, 0, 0, 0, 324,
2467 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2468 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2469 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2470 333, 261, 8, 9, 10, 0, 12, 484, 306, 307,
2471 0, 308, 14, 0, 0, 0, 0, 334, 792, 0,
2472 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
2473 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2474 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2475 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2476 324, 0, 0, 0, 0, 0, 325, 0, 0, 326,
2477 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
2478 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2479 0, 333, 261, 8, 9, 10, 0, 12, 484, 306,
2480 307, 0, 308, 14, 0, 0, 0, 0, 334, 923,
2481 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2482 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2483 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2484 319, 320, 321, 322, 26, 0, 27, 262, 0, 0,
2485 0, 324, 0, 0, 0, 0, 0, 325, 0, 0,
2486 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2487 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2488 0, 0, 333, 261, 8, 9, 10, 0, 12, 484,
2489 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2490 944, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2491 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
2492 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2493 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2494 0, 0, 324, 0, 0, 0, 0, 0, 325, 0,
2495 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2496 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2497 0, 0, 0, 333, 597, 598, 599, 600, 601, 602,
2498 603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
2499 334, 1175, 1332, 1333, 1334, 10, 167, 12, 305, 306,
2500 307, 0, 308, 14, 1335, 0, 1336, 1337, 1338, 1339,
2501 1340, 1341, 1342, 1343, 1344, 1345, 15, 16, 309, 17,
2502 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2503 315, 21, 316, 317, 1346, 23, 1347, 0, 0, 318,
2504 319, 320, 321, 322, 26, 0, 1348, 262, 736, 0,
2505 1349, 324, 0, 0, 0, 0, 0, 325, 0, 0,
2506 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2507 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2508 0, 0, 333, 0, 1350, 0, 0, 0, 0, 0,
2509 0, 0, 0, 0, 0, 0, 0, 0, 1474, 334,
2510 1332, 1333, 1334, 10, 167, 12, 305, 306, 307, 0,
2511 308, 14, 1335, 0, 1336, 1337, 1338, 1339, 1340, 1341,
2512 1342, 1343, 1344, 1345, 15, 16, 309, 17, 18, 19,
2513 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2514 316, 317, 1346, 23, 1347, 0, 0, 318, 319, 320,
2515 321, 322, 26, 0, 1348, 262, 736, 0, 1349, 324,
2516 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2517 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2518 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2519 333, 0, 1350, 0, 1332, 1333, 1334, 10, 167, 12,
2520 305, 306, 307, 0, 308, 14, 1335, 334, 1336, 1337,
2521 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 15, 16,
2522 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
2523 313, 314, 315, 21, 316, 317, 1346, 23, 1347, 0,
2524 0, 318, 319, 320, 321, 322, 26, 0, 1348, 262,
2525 1593, 0, 1349, 324, 0, 0, 0, 0, 0, 325,
2526 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2527 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
2528 332, 0, 0, 0, 333, 0, 1350, 0, 1332, 1333,
2529 1334, 10, 167, 12, 305, 306, 307, 0, 308, 14,
2530 1335, 334, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343,
2531 1344, 1345, 15, 16, 309, 17, 18, 19, 0, 310,
2532 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2533 1346, 23, 1347, 0, 0, 318, 319, 320, 321, 322,
2534 26, 0, 1348, 262, 0, 0, 1349, 324, 0, 0,
2535 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2536 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2537 0, 0, 330, 331, 332, 0, 0, 0, 333, 0,
2538 1350, 261, 8, 9, 10, 167, 12, 305, 306, 307,
2539 468, 308, 14, 0, 0, 334, 0, 0, 0, 0,
2540 0, 0, 0, 0, 0, 0, 16, 309, 17, 18,
2541 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2542 21, 316, 317, 0, 23, 0, 639, 0, 318, 319,
2543 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2544 324, 0, 0, 0, 0, 0, 325, 0, 0, 954,
2545 0, 0, 0, 0, 0, 0, 0, 327, 328, 955,
2546 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2547 0, 956, 643, 7, 8, 9, 10, 167, 12, 305,
2548 306, 307, 468, 308, 14, 0, 0, 0, 334, 0,
2549 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2550 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
2551 314, 315, 21, 316, 317, 0, 23, 0, 639, 0,
2552 318, 319, 320, 321, 322, 26, 0, 27, 28, 0,
2553 0, 0, 324, 0, 0, 0, 0, 0, 325, 0,
2554 0, 1042, 0, 0, 0, 0, 0, 0, 0, 327,
2555 328, 1043, 0, 0, 0, 0, 0, 330, 331, 332,
2556 0, 0, 0, 1044, 643, 261, 8, 9, 10, 0,
2557 12, 484, 306, 307, 0, 308, 14, 0, 0, 0,
2558 334, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559 16, 309, 17, 18, 19, 0, 310, 311, 312, 20,
2560 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2561 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2562 262, 0, 0, 0, 324, 0, 0, 0, 0, 0,
2563 325, 0, 0, 574, 0, 0, 0, 0, 0, 0,
2564 0, 327, 328, 575, 0, 0, 0, 0, 0, 330,
2565 331, 332, 0, 0, 0, 576, 261, 8, 9, 10,
2566 0, 12, 484, 306, 307, 0, 308, 14, 0, 0,
2567 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2568 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2569 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2570 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2571 27, 262, 0, 0, 1447, 324, 0, 0, 0, 0,
2572 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2573 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2574 330, 331, 332, 0, 0, 0, 333, 261, 8, 9,
2575 10, 167, 12, 305, 306, 307, 0, 308, 14, 0,
2576 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2577 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
2578 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2579 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2580 0, 27, 262, 0, 0, 0, 0, 0, 0, 0,
2581 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
2582 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
2583 0, 330, 331, 332, 0, 0, 0, 333, 7, 8,
2584 9, 10, 0, 12, 484, 306, 307, 0, 308, 14,
2585 0, 0, 0, 0, 334, 0, 0, 0, 0, 0,
2586 0, 0, 0, 16, 309, 17, 18, 19, 0, 310,
2587 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2588 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2589 26, 0, 27, 28, 0, 0, 0, 324, 0, 0,
2590 0, 0, 0, 325, 0, 0, 1536, 0, 0, 0,
2591 0, 0, 0, 0, 327, 328, 1537, 0, 0, 0,
2592 0, 0, 330, 331, 332, 0, 0, 0, 1538, 261,
2593 8, 9, 10, 0, 12, 305, 306, 307, 0, 308,
2594 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
2595 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2596 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2597 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2598 322, 26, 0, 323, 262, 0, 0, 0, 324, 0,
2599 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2600 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2601 0, 0, 0, 330, 331, 332, 0, 0, 0, 333,
2602 261, 8, 9, 10, 0, 12, 305, 306, 307, 0,
2603 308, 14, 0, 0, 0, 0, 334, 0, 0, 0,
2604 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2605 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2606 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2607 321, 322, 26, 0, 27, 262, 0, 0, 0, 324,
2608 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2609 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2610 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2611 333, 261, 8, 9, 10, 0, 12, 484, 306, 307,
2612 0, 308, 14, 0, 0, 0, 0, 334, 0, 0,
2613 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
2614 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2615 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2616 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2617 324, 0, 0, 0, 0, 0, 325, 0, 0, 326,
2618 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
2619 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2620 0, 333, 261, 8, 9, 10, 0, 12, 484, 306,
2621 307, 0, 308, 14, 0, 0, 0, 0, 334, 0,
2622 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2623 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2624 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2625 319, 320, 321, 322, 26, 0, 27, 262, 588, 0,
2626 0, 0, 0, 0, 0, 0, 0, 325, 0, 0,
2627 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2628 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2629 0, 0, 589, 261, 8, 9, 10, 0, 12, 484,
2630 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2631 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2632 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
2633 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2634 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2635 0, 0, 0, 0, 0, 0, 0, 0, 325, 0,
2636 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2637 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2638 0, 0, 0, 333, 627, 261, 8, 9, 10, 0,
2639 12, 484, 306, 307, 0, 308, 14, 0, 0, 0,
2640 334, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2641 16, 309, 17, 18, 19, 0, 310, 311, 312, 20,
2642 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2643 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2644 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2645 325, 0, 0, 574, 0, 0, 0, 0, 0, 0,
2646 0, 327, 328, 575, 0, 0, 0, 0, 0, 330,
2647 331, 332, 0, 0, 0, 576, 1193, 8, 9, 10,
2648 0, 12, 484, 306, 307, 0, 308, 14, 0, 0,
2649 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2650 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2651 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2652 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2653 27, 262, 0, 0, 0, 324, 0, 0, 0, 0,
2654 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2655 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2656 330, 331, 332, 0, 0, 0, 333, 7, 8, 9,
2657 10, 0, 12, 305, 306, 307, 0, 308, 14, 0,
2658 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2659 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
2660 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2661 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2662 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
2663 0, 0, 325, 0, 0, 1536, 0, 0, 0, 0,
2664 0, 0, 0, 327, 328, 1537, 0, 0, 0, 0,
2665 0, 330, 331, 332, 0, 0, 0, 1538, 261, 8,
2666 9, 10, 0, 12, 484, 306, 307, 0, 308, 14,
2667 0, 0, 0, 0, 334, 0, 0, 0, 0, 0,
2668 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
2669 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2670 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2671 26, 0, 27, 262, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2673 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2674 0, 0, 330, 331, 332, 0, 0, 0, 556, 261,
2675 8, 9, 10, 0, 12, 484, 306, 307, 0, 308,
2676 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
2677 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2678 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2679 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2680 322, 26, 0, 27, 262, 0, 0, 0, 0, 0,
2681 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2682 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2683 0, 0, 0, 330, 331, 332, 0, 0, 0, 558,
2684 261, 8, 9, 10, 0, 12, 484, 306, 307, 0,
2685 308, 14, 0, 0, 0, 0, 334, 0, 0, 0,
2686 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2687 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2688 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2689 321, 322, 26, 0, 27, 262, 0, 0, 0, 0,
2690 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2691 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2692 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2693 333, 7, 8, 9, 10, 167, 12, 13, 0, 0,
2694 765, 0, 14, 0, 0, 0, 0, 334, 0, 0,
2695 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2696 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2697 21, 0, 0, 0, 23, 0, 1082, 8, 815, 10,
2698 206, 12, 207, 26, 0, 27, 28, 14, 0, 0,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
2700 0, 16, 0, 17, 18, 0, 0, 0, 0, 31,
2701 20, 0, 0, 0, 0, 21, 0, 32, 0, 23,
2702 0, 33, 0, 0, 0, 0, 0, 0, 26, 0,
2703 27, 28, 0, 0, 0, 0, 1084, 0, 0, 0,
2704 0, 0, 0, 0, 30, 7, 8, 9, 10, 206,
2705 12, 207, 0, 0, 31, 0, 14, 0, 0, 0,
2706 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
2707 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2708 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
2709 7, 8, 9, 10, 167, 12, 13, 26, 0, 27,
2710 28, 14, 0, 1464, 0, 0, 0, 0, 0, 0,
2711 0, 0, 0, 30, 0, 16, 0, 17, 18, 0,
2712 0, 0, 0, 31, 20, 0, 0, 0, 0, 21,
2713 0, 32, 0, 23, 0, 33, 0, 0, 0, 0,
2714 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2715 7, 8, 9, 10, 206, 12, 207, 0, 30, 0,
2716 0, 14, 0, 0, 0, 0, 0, 0, 31, 0,
2717 0, 0, 0, 0, 0, 16, 32, 17, 18, 0,
2718 33, 0, 0, 0, 20, 0, 0, 0, 0, 21,
2719 0, 0, 0, 23, 7, 8, 9, 10, 0, 0,
2720 13, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2721 0, 7, 8, 9, 10, 0, 0, 538, 30, 0,
2722 0, 0, 18, 0, 0, 0, 0, 0, 31, 0,
2723 0, 0, 0, 21, 0, 0, 32, 0, 0, 18,
2724 33, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2725 21, 0, 0, 261, 8, 9, 10, 0, 0, 13,
2726 0, 0, 495, 26, 0, 27, 28, 0, 0, 0,
2727 0, 0, 496, 0, 7, 8, 9, 10, 0, 194,
2728 32, 18, 0, 0, 497, 0, 0, 0, 0, 195,
2729 0, 0, 21, 0, 0, 0, 0, 32, 0, 0,
2730 0, 196, 18, 0, 0, 26, 0, 27, 262, 0,
2731 0, 0, 0, 21, 0, 0, 7, 8, 9, 10,
2732 0, 782, 261, 8, 9, 10, 26, 0, 27, 28,
2733 0, 783, 0, 0, 0, 0, 0, 0, 0, 32,
2734 0, 0, 495, 784, 18, 0, 0, 0, 0, 0,
2735 18, 0, 496, 0, 0, 21, 0, 0, 0, 0,
2736 32, 21, 1520, 0, 497, 0, 0, 0, 26, 0,
2737 27, 28, 0, 0, 26, 0, 27, 262, 0, 0,
2738 0, 0, 0, 0, 194, 0, 0, 0, 0, 0,
2739 782, 0, 0, 0, 195, 0, 0, 0, 0, 0,
2740 783, 0, 32, 0, 0, 0, 196, 0, 32, 0,
2741 0, 0, 784, 1521, 591, 592, 593, 594, 595, 596,
2742 597, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2743 607, 608, 609, 610, 611, 612, 8, 9, 0, 206,
2744 12, 207, 0, 0, 0, 0, 14, 0, 0, 0,
2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2746 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2747 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2748 0, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2749 131, 591, 592, 593, 594, 595, 596, 597, 598, 599,
2750 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2751 610, 611, 612, 591, 592, 593, 594, 595, 596, 597,
2752 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2753 608, 609, 610, 611, 612, 0, 0, 0, 1292, 0,
2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2755 0, 0, 0, 681, 0, 0, 1608, 591, 592, 593,
2756 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
2757 604, 605, 606, 607, 608, 609, 610, 611, 612, 1125,
2758 0, 0, 0, 591, 592, 593, 594, 595, 596, 597,
2759 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2760 608, 609, 610, 611, 612, 1601, 591, 592, 593, 594,
2761 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
2762 605, 606, 607, 608, 609, 610, 611, 612, 591, 592,
2763 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2764 603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
2765 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2766 601, 602, 0, 604, 605, 606, 607, 608, 609, 610,
2767 611, 612, 596, 597, 598, 599, 600, 601, 602, 603,
2768 604, 605, 606, 607, 608, 609, 610, 611, 612
2771 static const short yycheck
[] = { 4,
2772 734, 46, 4, 174, 55, 161, 149, 150, 463, 23,
2773 210, 359, 175, 405, 526, 176, 405, 359, 4, 90,
2774 126, 92, 156, 134, 353, 405, 33, 4, 308, 309,
2775 35, 76, 55, 35, 84, 586, 443, 42, 57, 133,
2776 134, 42, 80, 458, 218, 219, 14, 252, 248, 35,
2777 376, 716, 57, 30, 31, 42, 42, 190, 35, 4,
2778 819, 341, 821, 710, 665, 42, 137, 72, 912, 210,
2779 829, 42, 244, 1351, 1518, 133, 124, 1429, 219, 84,
2780 42, 1517, 42, 88, 11, 90, 33, 92, 59, 481,
2781 35, 60, 481, 11, 55, 182, 11, 42, 4, 7,
2782 80, 301, 107, 108, 1260, 1261, 144, 84, 352, 353,
2783 354, 512, 1541, 1361, 75, 83, 717, 136, 1, 12,
2784 1368, 1277, 1519, 0, 175, 4, 1, 1563, 529, 35,
2785 38, 136, 137, 1562, 139, 38, 42, 55, 106, 61,
2786 109, 1, 149, 150, 151, 63, 59, 476, 4, 33,
2787 63, 9, 175, 353, 359, 835, 35, 176, 487, 136,
2788 165, 841, 109, 42, 169, 580, 204, 60, 169, 214,
2789 63, 176, 149, 150, 4, 5, 59, 48, 165, 35,
2790 63, 108, 169, 169, 59, 190, 42, 109, 165, 196,
2791 108, 136, 169, 108, 1623, 3, 4, 5, 169, 59,
2792 223, 1598, 1566, 63, 62, 84, 109, 169, 1652, 169,
2793 48, 60, 95, 190, 1644, 108, 48, 194, 195, 49,
2794 165, 733, 93, 48, 169, 0, 27, 57, 58, 473,
2795 31, 475, 476, 477, 1390, 95, 60, 25, 1668, 210,
2796 1518, 1677, 1605, 1399, 1400, 55, 1402, 218, 219, 57,
2797 58, 1603, 1616, 63, 12, 93, 350, 136, 4, 108,
2798 61, 93, 94, 169, 65, 149, 150, 151, 93, 94,
2799 108, 59, 952, 81, 1522, 63, 108, 248, 4, 5,
2800 136, 249, 1645, 108, 108, 396, 165, 267, 48, 35,
2801 169, 362, 350, 75, 39, 451, 346, 302, 108, 60,
2802 49, 1145, 60, 968, 75, 63, 971, 95, 109, 165,
2803 55, 190, 196, 169, 662, 76, 3, 4, 5, 6,
2804 735, 728, 729, 703, 1572, 3, 4, 5, 333, 55,
2805 301, 57, 58, 93, 508, 509, 360, 361, 1003, 1004,
2806 388, 346, 516, 93, 363, 8, 9, 994, 108, 354,
2807 61, 14, 495, 496, 528, 42, 407, 362, 363, 1,
2808 60, 3, 4, 5, 498, 93, 59, 693, 509, 346,
2809 57, 58, 61, 547, 37, 61, 1624, 55, 12, 57,
2810 58, 59, 353, 46, 407, 48, 363, 411, 412, 1069,
2811 4, 359, 1548, 1549, 60, 76, 48, 78, 109, 93,
2812 405, 1081, 89, 408, 97, 4, 48, 1, 108, 3,
2813 4, 5, 6, 55, 8, 57, 58, 48, 363, 405,
2814 109, 35, 473, 109, 475, 476, 60, 632, 405, 63,
2815 93, 65, 4, 5, 65, 1115, 35, 1117, 409, 75,
2816 445, 93, 108, 9, 445, 60, 12, 998, 42, 520,
2817 473, 93, 475, 476, 60, 49, 1300, 75, 445, 914,
2818 1061, 55, 93, 57, 58, 709, 489, 346, 445, 474,
2819 60, 61, 477, 518, 445, 498, 481, 49, 48, 502,
2820 4, 5, 48, 554, 363, 57, 58, 510, 495, 496,
2821 497, 48, 93, 108, 60, 89, 62, 63, 48, 65,
2822 445, 48, 108, 48, 481, 476, 55, 363, 527, 81,
2823 76, 55, 78, 61, 63, 520, 62, 1276, 495, 496,
2824 1185, 1186, 527, 93, 4, 5, 405, 93, 94, 9,
2825 25, 75, 27, 57, 58, 25, 93, 508, 509, 4,
2826 5, 61, 108, 93, 94, 516, 93, 527, 93, 554,
2827 527, 556, 48, 558, 48, 1067, 727, 528, 563, 564,
2828 565, 566, 567, 48, 59, 502, 445, 107, 63, 65,
2829 190, 576, 55, 510, 624, 55, 547, 57, 58, 48,
2830 65, 586, 527, 694, 589, 48, 3, 4, 5, 445,
2831 701, 71, 57, 58, 140, 1050, 1051, 93, 94, 93,
2832 95, 81, 481, 995, 60, 61, 995, 701, 93, 1024,
2833 156, 495, 496, 497, 962, 995, 860, 668, 623, 624,
2834 962, 527, 796, 27, 93, 696, 55, 31, 48, 59,
2835 93, 94, 804, 805, 48, 65, 31, 642, 810, 48,
2836 57, 58, 666, 60, 649, 668, 75, 624, 527, 3,
2837 4, 5, 63, 7, 8, 9, 60, 61, 709, 59,
2838 860, 65, 75, 640, 641, 642, 1, 213, 3, 4,
2839 5, 527, 649, 93, 94, 221, 48, 31, 958, 93,
2840 1135, 1136, 48, 37, 93, 653, 709, 48, 702, 55,
2841 934, 696, 238, 55, 4, 5, 1208, 941, 669, 59,
2842 1048, 55, 835, 57, 58, 59, 1048, 813, 841, 75,
2843 48, 48, 799, 48, 60, 61, 960, 55, 756, 733,
2844 55, 93, 57, 58, 59, 60, 25, 93, 27, 3,
2845 4, 5, 93, 7, 8, 9, 48, 75, 709, 49,
2846 93, 1253, 55, 48, 751, 624, 751, 57, 58, 103,
2847 104, 105, 759, 48, 759, 93, 93, 962, 93, 25,
2848 59, 27, 75, 642, 63, 836, 837, 1222, 839, 55,
2849 649, 81, 749, 750, 751, 826, 55, 822, 823, 63,
2850 75, 93, 759, 57, 58, 405, 1030, 832, 93, 757,
2851 63, 75, 1036, 59, 55, 1250, 95, 63, 93, 94,
2852 819, 63, 821, 826, 76, 782, 783, 826, 827, 109,
2853 829, 48, 108, 108, 819, 63, 821, 1151, 1152, 952,
2854 1154, 1150, 827, 108, 829, 796, 960, 75, 852, 95,
2855 835, 836, 837, 108, 839, 108, 841, 1292, 108, 819,
2856 1011, 821, 819, 1048, 821, 55, 108, 827, 55, 829,
2857 4, 5, 829, 63, 11, 9, 93, 94, 835, 97,
2858 45, 481, 60, 61, 841, 75, 55, 751, 75, 60,
2859 55, 108, 751, 58, 819, 759, 821, 31, 4, 5,
2860 759, 61, 8, 9, 829, 76, 75, 78, 14, 860,
2861 1033, 1034, 1064, 1065, 1066, 3, 25, 1631, 27, 1042,
2862 1043, 55, 1036, 57, 58, 93, 911, 453, 55, 61,
2863 915, 37, 75, 819, 48, 821, 63, 71, 55, 94,
2864 46, 94, 48, 829, 1379, 48, 63, 81, 75, 55,
2865 59, 57, 58, 1177, 63, 63, 1069, 111, 75, 93,
2866 819, 946, 821, 489, 93, 71, 60, 952, 1081, 93,
2867 829, 956, 498, 60, 61, 81, 835, 4, 5, 93,
2868 94, 1416, 841, 819, 988, 821, 95, 93, 94, 515,
2869 93, 94, 27, 829, 108, 952, 31, 954, 955, 956,
2870 1224, 55, 1115, 55, 1117, 108, 63, 1074, 1075, 63,
2871 995, 63, 997, 998, 962, 848, 849, 850, 75, 93,
2872 1038, 75, 75, 75, 75, 60, 61, 1030, 55, 995,
2873 57, 58, 55, 1036, 1101, 3, 4, 5, 995, 1106,
2874 63, 1072, 642, 75, 71, 1440, 1033, 1034, 1035, 649,
2875 1035, 1360, 75, 48, 81, 1042, 1043, 1044, 75, 1044,
2876 1085, 1456, 11, 1177, 108, 190, 1091, 1092, 1053, 1072,
2877 1095, 1096, 60, 1072, 1099, 1093, 1033, 1034, 1035, 108,
2878 3, 4, 5, 6, 1069, 1042, 1043, 1044, 108, 57,
2879 58, 59, 48, 952, 48, 108, 1081, 956, 93, 94,
2880 1048, 55, 63, 1102, 75, 1109, 1110, 1111, 1159, 55,
2881 1224, 75, 1069, 108, 75, 60, 61, 1102, 75, 42,
2882 109, 75, 84, 85, 1081, 108, 49, 109, 310, 311,
2883 1115, 108, 1117, 1093, 57, 58, 995, 93, 94, 93,
2884 1125, 108, 1102, 108, 326, 1102, 1541, 329, 60, 61,
2885 332, 751, 108, 335, 3, 4, 5, 339, 1115, 759,
2886 1117, 60, 61, 65, 65, 347, 89, 1562, 111, 1033,
2887 1034, 1035, 108, 60, 1159, 27, 1035, 1102, 1042, 1043,
2888 1044, 60, 61, 75, 1556, 1044, 75, 1556, 75, 76,
2889 55, 78, 60, 61, 1589, 75, 111, 1182, 111, 1266,
2890 1267, 108, 1269, 1270, 108, 1272, 4, 5, 57, 58,
2891 1069, 9, 108, 59, 1208, 1358, 1102, 1360, 1359, 55,
2892 108, 1224, 1081, 1180, 1181, 1182, 8, 1662, 1623, 93,
2893 48, 65, 109, 31, 1219, 835, 60, 1219, 93, 109,
2894 55, 841, 61, 1102, 1229, 37, 1249, 48, 65, 12,
2895 48, 1560, 65, 1648, 65, 1479, 1115, 55, 1117, 57,
2896 58, 108, 1219, 108, 27, 1268, 1102, 61, 31, 108,
2897 1227, 1228, 1229, 71, 8, 9, 63, 1276, 111, 65,
2898 14, 4, 5, 81, 65, 48, 9, 76, 60, 1246,
2899 1247, 1276, 93, 94, 1219, 93, 94, 60, 61, 60,
2900 63, 108, 65, 37, 65, 108, 1310, 108, 4, 5,
2901 3, 1271, 46, 6, 75, 76, 1276, 108, 1542, 1276,
2902 1387, 1388, 76, 1182, 108, 108, 76, 1358, 76, 1360,
2903 93, 94, 55, 1219, 57, 58, 76, 190, 31, 464,
2904 81, 82, 83, 84, 85, 108, 108, 63, 71, 42,
2905 108, 1276, 952, 63, 60, 1358, 956, 1360, 81, 55,
2906 1219, 57, 58, 108, 57, 58, 1351, 111, 63, 108,
2907 1229, 94, 1397, 1398, 1359, 71, 1361, 108, 71, 1361,
2908 1560, 109, 108, 1368, 108, 81, 1368, 94, 81, 111,
2909 1276, 1376, 574, 575, 1351, 995, 89, 1533, 94, 89,
2910 93, 88, 75, 90, 1361, 92, 48, 108, 934, 1360,
2911 108, 1368, 111, 1536, 1537, 941, 108, 1276, 109, 4,
2912 5, 109, 1489, 1490, 1491, 108, 1351, 108, 108, 61,
2913 555, 60, 108, 60, 960, 1035, 1361, 65, 60, 63,
2914 1276, 1466, 108, 1368, 1044, 108, 31, 93, 93, 93,
2915 137, 109, 139, 93, 108, 108, 111, 3, 4, 5,
2916 1611, 7, 8, 9, 8, 1351, 33, 108, 111, 1069,
2917 55, 108, 57, 58, 108, 1361, 1479, 108, 1545, 1546,
2918 1467, 1081, 1368, 108, 65, 31, 71, 108, 108, 614,
2919 31, 37, 1351, 1478, 108, 620, 81, 622, 623, 7,
2920 8, 9, 1361, 190, 1030, 108, 14, 55, 93, 1368,
2921 1036, 57, 58, 108, 108, 1115, 108, 1117, 63, 1476,
2922 1477, 1478, 111, 31, 649, 48, 108, 1512, 108, 37,
2923 1561, 656, 1517, 1518, 1519, 1517, 108, 1522, 46, 1542,
2924 1522, 79, 80, 81, 82, 83, 84, 85, 1615, 1536,
2925 1537, 1538, 63, 1538, 96, 1512, 63, 61, 1561, 61,
2926 1517, 1518, 1519, 9, 61, 1522, 1591, 16, 108, 30,
2927 31, 1556, 33, 3, 4, 5, 108, 7, 1563, 1536,
2928 1537, 1563, 1182, 108, 108, 111, 108, 1572, 93, 61,
2929 1572, 61, 1517, 1518, 93, 55, 57, 1522, 59, 1556,
2930 141, 65, 93, 1467, 65, 146, 1563, 93, 38, 1560,
2931 17, 464, 55, 1598, 61, 1572, 108, 4, 5, 1478,
2932 61, 108, 9, 107, 102, 55, 108, 57, 58, 1229,
2933 11, 1517, 1518, 108, 759, 61, 1522, 324, 1563, 1624,
2934 61, 1598, 1624, 61, 31, 93, 60, 1572, 773, 65,
2935 108, 1177, 11, 1512, 195, 61, 61, 108, 1517, 1518,
2936 1519, 48, 11, 1522, 108, 61, 61, 1624, 55, 61,
2937 57, 58, 1536, 1537, 1538, 362, 61, 1563, 0, 0,
2938 141, 0, 170, 35, 71, 146, 1572, 2, 149, 150,
2939 151, 1454, 1677, 694, 81, 1677, 995, 1556, 1224, 1624,
2940 169, 1610, 555, 445, 1563, 827, 93, 94, 3, 4,
2941 5, 6, 165, 1572, 1208, 176, 94, 139, 239, 260,
2942 1677, 182, 1439, 1249, 1677, 3, 4, 5, 304, 3,
2943 4, 5, 6, 194, 195, 196, 981, 740, 1624, 1598,
2944 675, 923, 243, 1253, 1067, 1102, 827, 42, 677, 210,
2945 1273, 974, 1677, 624, 49, 124, 201, 218, 219, 4,
2946 5, 614, 57, 58, 9, 1624, 350, 620, 42, 622,
2947 623, 49, 954, 955, 48, 1631, 463, 464, 1361, 57,
2948 58, 55, 1220, 57, 58, 1577, 31, 4, 5, 1643,
2949 915, 1677, 9, 768, 89, 1648, 1376, 71, -1, 260,
2950 -1, -1, -1, 656, 929, -1, 931, 81, 933, -1,
2951 55, -1, 57, 58, 31, 89, -1, -1, 1677, 93,
2952 94, -1, -1, -1, -1, -1, 71, -1, -1, 4,
2953 5, 48, -1, 520, -1, -1, 81, -1, 55, -1,
2954 57, 58, -1, -1, -1, -1, -1, -1, 93, 4,
2955 5, -1, -1, -1, 71, -1, -1, -1, 983, -1,
2956 1042, 1043, -1, -1, 81, -1, -1, 554, 555, -1,
2957 33, -1, 333, -1, 49, 562, 93, 94, 1478, -1,
2958 -1, 422, 57, 58, 425, -1, 3, 4, 5, -1,
2959 3, 4, 5, 1018, 49, -1, 437, 794, -1, 586,
2960 -1, 588, 57, 58, 591, 592, 81, 594, 595, 596,
2961 597, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2962 607, 608, 609, 610, 611, 612, 81, 614, 3, 4,
2963 5, 6, -1, 620, -1, 622, 623, 834, 55, -1,
2964 57, 58, 55, 840, 57, 58, -1, 408, 409, 490,
2965 -1, -1, 493, 1479, 4, 5, 1556, -1, -1, 9,
2966 -1, 422, 649, -1, 425, -1, 507, 42, -1, 656,
2967 431, 432, 433, 4, -1, 1157, 437, -1, -1, -1,
2968 55, 31, 57, 58, -1, -1, 61, 150, 151, -1,
2969 -1, -1, -1, 680, 681, -1, 71, -1, 48, -1,
2970 -1, -1, -1, -1, 35, 55, 81, 57, 58, 696,
2971 -1, 42, -1, 474, 89, 476, 1542, -1, 93, -1,
2972 -1, 71, -1, -1, 55, -1, 57, -1, -1, 490,
2973 -1, 81, 493, 196, 495, 496, 497, 3, 4, 5,
2974 501, -1, -1, 93, 94, -1, 507, 508, 509, -1,
2975 947, 512, 949, 740, -1, 516, -1, 14, -1, -1,
2976 -1, -1, 915, -1, -1, 22, 4, 5, 529, -1,
2977 -1, 9, 759, -1, -1, -1, 929, -1, 931, -1,
2978 933, -1, -1, 49, -1, 1210, 773, 1212, -1, 1214,
2979 -1, 57, 58, 31, -1, 556, -1, 558, -1, 3,
2980 4, 5, -1, -1, -1, 136, -1, -1, 65, 140,
2981 48, -1, -1, 574, 575, 576, -1, 55, -1, 57,
2982 58, 3, 4, 5, 6, -1, -1, -1, 589, -1,
2983 983, 818, -1, 71, 165, -1, -1, -1, 169, 3,
2984 4, 5, 6, 81, 175, 176, 3, 4, 5, 836,
2985 837, 55, 839, 57, 58, 93, 94, 39, 40, -1,
2986 42, -1, -1, -1, -1, 1018, -1, 124, -1, 1351,
2987 333, -1, -1, 55, -1, 57, 58, -1, 42, 640,
2988 641, 642, 3, 4, 5, -1, -1, -1, 649, 876,
2989 -1, 148, 223, 57, 58, 1320, 3, 4, 5, -1,
2990 57, 58, 3, 4, 5, -1, -1, 89, 669, 750,
2991 -1, -1, -1, 3, 4, 5, 6, 1114, -1, 1116,
2992 4, 5, -1, -1, 8, 9, -1, 914, 915, -1,
2993 14, -1, -1, -1, -1, -1, 57, 58, -1, 780,
2994 781, 31, 929, -1, 931, -1, 933, 788, 709, 710,
2995 57, 58, 42, 37, -1, -1, 57, 58, 48, -1,
2996 -1, -1, 46, -1, 48, 55, -1, 57, 58, 432,
2997 433, 55, -1, 57, 58, -1, 1173, -1, -1, -1,
2998 -1, 71, 239, 240, -1, 972, -1, 71, 749, 750,
2999 751, 81, -1, -1, -1, 252, 983, 81, 759, 89,
3000 -1, -1, -1, 93, 94, -1, -1, -1, -1, 93,
3001 94, 998, 773, -1, 1001, 3, 4, 5, -1, 780,
3002 781, 782, 783, 784, 3, 4, 5, 788, -1, -1,
3003 -1, 1018, 363, 496, 497, 796, -1, -1, 799, -1,
3004 -1, -1, 1467, -1, 3, 4, 5, 6, -1, -1,
3005 3, 4, 5, 6, 1536, 1537, -1, 1210, 80, 1212,
3006 1257, 1214, -1, 1050, 1051, 1262, 827, -1, 325, 57,
3007 58, -1, -1, -1, -1, -1, 407, -1, 57, 58,
3008 -1, -1, 104, 42, 3, 4, 5, 6, -1, 42,
3009 49, -1, -1, 556, -1, 558, 49, 1084, 57, 58,
3010 107, 108, -1, -1, 57, 58, -1, -1, -1, 366,
3011 -1, 133, 575, 576, 445, -1, -1, 1314, 375, -1,
3012 -1, -1, 144, 42, -1, -1, 589, -1, 81, -1,
3013 89, 388, -1, -1, -1, -1, 89, -1, 57, 58,
3014 -1, -1, 473, 474, 475, 476, -1, -1, 1135, 1136,
3015 481, -1, 1139, 3, 4, 5, 6, -1, 489, 9,
3016 -1, 4, 5, -1, -1, -1, 9, 1320, -1, -1,
3017 89, 502, 1159, -1, 935, -1, -1, 938, -1, 510,
3018 -1, 31, 204, -1, 191, -1, 649, -1, 31, 950,
3019 1031, 1032, 42, 954, 955, 956, 527, -1, 48, 1040,
3020 -1, 3, 4, 5, 6, 55, -1, 57, 58, 1406,
3021 1407, -1, 55, -1, 57, 58, -1, 239, -1, -1,
3022 -1, 71, -1, 1210, -1, 1212, 1423, 1214, 71, -1,
3023 -1, 81, -1, 994, -1, 1222, -1, -1, 81, 89,
3024 42, -1, -1, 93, 94, 267, -1, -1, -1, -1,
3025 93, -1, -1, 55, -1, 57, 58, -1, -1, -1,
3026 -1, -1, -1, 1250, -1, 4, 5, 524, -1, -1,
3027 1031, 1032, 1033, 1034, 1035, -1, -1, 1264, 1265, 1040,
3028 -1, 1042, 1043, 1044, 48, 1482, 1483, 89, 751, -1,
3029 4, 5, 31, 1054, 1055, 1056, 759, -1, -1, -1,
3030 -1, 1498, 1499, -1, -1, 1292, -1, -1, -1, 48,
3031 773, -1, -1, 1074, 1075, -1, 55, 31, 57, 58,
3032 783, 784, -1, 87, 88, -1, 333, 91, 92, 93,
3033 94, 588, 71, 1320, 48, -1, 358, 668, 194, 195,
3034 1101, 55, 81, 57, 58, 1106, -1, 3, 4, 5,
3035 6, -1, -1, 1340, 93, 94, -1, 71, -1, -1,
3036 3, 4, 5, 6, 7, 8, 9, 81, -1, -1,
3037 -1, 14, 4, 5, -1, 632, -1, -1, 709, 93,
3038 94, -1, -1, -1, 1225, 1226, 42, -1, 31, -1,
3039 -1, 1232, 1379, 415, 37, -1, -1, -1, -1, 42,
3040 -1, 57, 58, 46, -1, 48, 1393, -1, -1, -1,
3041 -1, -1, 55, -1, 57, 58, 48, -1, -1, 1180,
3042 1181, 1182, -1, 55, -1, 57, 58, -1, 71, 1416,
3043 7, 8, 9, 89, -1, -1, -1, 14, 81, 71,
3044 -1, -1, -1, -1, -1, 702, 89, -1, -1, 81,
3045 93, 94, -1, 710, 31, -1, -1, -1, -1, -1,
3046 37, 93, 94, -1, 1225, 1226, 1227, 1228, 1229, 46,
3047 -1, 1232, 4, 5, -1, 3, 4, 5, 6, -1,
3048 1467, -1, -1, 740, 61, 1246, 1247, 1248, 819, -1,
3049 821, -1, 955, 956, -1, 826, 827, 504, 829, -1,
3050 1487, 1488, 524, -1, -1, 1266, 1267, -1, 1269, 1270,
3051 -1, 1272, -1, 45, 42, -1, -1, 4, -1, -1,
3052 -1, 49, -1, 55, -1, 57, 58, 14, 550, 57,
3053 58, -1, -1, 1520, -1, -1, -1, 24, 3, 4,
3054 5, 6, -1, 30, 31, -1, 33, -1, 35, 556,
3055 -1, 558, -1, 81, -1, 42, 563, -1, -1, -1,
3056 -1, 89, -1, -1, 1551, -1, 31, -1, 55, 576,
3057 57, 1034, 1035, -1, -1, -1, -1, 42, 65, -1,
3058 1043, 1044, 589, 48, -1, 72, 593, -1, -1, -1,
3059 55, -1, 57, 58, -1, -1, 83, 84, 1359, 1360,
3060 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3061 1371, 1372, -1, 1374, 621, 637, 81, -1, -1, 106,
3062 627, -1, -1, -1, 89, -1, 1387, 1388, 93, 94,
3063 652, 7, 8, 9, 490, -1, 643, 493, 14, 495,
3064 496, -1, -1, -1, -1, 82, -1, 134, -1, 136,
3065 -1, 507, -1, 140, 141, 31, -1, -1, 145, 146,
3066 -1, 37, 149, 150, 151, -1, -1, -1, -1, -1,
3067 46, 3, 4, 5, 6, 1662, -1, -1, 165, -1,
3068 -1, -1, 169, -1, -1, 61, -1, -1, 175, 176,
3069 -1, -1, 3, 4, 5, 6, -1, -1, 9, 1030,
3070 -1, -1, -1, -1, -1, -1, 1467, 194, 195, 196,
3071 42, -1, -1, -1, -1, 1476, 1477, 1478, 1181, 1182,
3072 31, -1, 159, 55, 981, 57, 58, -1, 1489, 1490,
3073 1491, 42, -1, -1, 756, -1, 223, 994, -1, 71,
3074 -1, 1072, -1, -1, 55, -1, 57, 58, -1, 81,
3075 -1, -1, -1, 240, -1, 192, -1, 89, -1, -1,
3076 71, 93, 249, 785, -1, 1228, 1229, -1, 205, -1,
3077 81, 1102, -1, 260, -1, 1536, 1537, 1538, 89, -1,
3078 -1, -1, 93, -1, 1545, 1546, 3, 4, 5, 6,
3079 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3080 7, 8, 9, 14, -1, -1, -1, 14, -1, -1,
3081 -1, -1, -1, -1, -1, 302, 303, 28, -1, 30,
3082 31, 32, -1, -1, 31, 42, 37, 38, -1, 851,
3083 37, 42, 49, -1, -1, 46, 47, -1, 49, 46,
3084 57, 58, -1, -1, 55, -1, 57, 58, -1, -1,
3085 61, -1, 63, -1, 1615, -1, -1, -1, -1, 346,
3086 71, -1, -1, 350, 81, 352, 353, 354, -1, -1,
3087 81, -1, 89, -1, -1, -1, 363, -1, 89, 1136,
3088 -1, -1, 93, 77, 78, 79, 80, 81, 82, 83,
3089 84, 85, -1, 749, 750, -1, -1, -1, 109, -1,
3090 -1, -1, -1, 4, 5, -1, -1, -1, 9, 396,
3091 -1, -1, 919, -1, -1, -1, -1, -1, 405, -1,
3092 407, 408, -1, -1, 780, 781, 782, 783, -1, -1,
3093 31, -1, 788, -1, -1, 422, -1, 1268, 425, 961,
3094 -1, 963, 1273, -1, -1, 1276, 953, 48, -1, 956,
3095 437, -1, -1, -1, 55, -1, 57, 58, 445, 1216,
3096 -1, -1, -1, -1, -1, 1222, -1, -1, -1, -1,
3097 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3098 81, -1, -1, -1, -1, -1, 473, 474, 475, 476,
3099 477, -1, 93, 94, 481, -1, -1, -1, -1, -1,
3100 -1, -1, 489, 490, 1467, -1, 493, -1, 495, 496,
3101 497, 498, -1, -1, -1, 502, 1038, -1, -1, 1041,
3102 507, -1, -1, 510, -1, -1, -1, 1358, 1359, 1360,
3103 3, 4, 5, 6, 7, 8, 9, 1044, -1, -1,
3104 527, 14, -1, -1, -1, -1, -1, -1, 3, 4,
3105 5, 6, -1, -1, -1, 28, -1, 30, 31, 32,
3106 -1, -1, -1, 500, 37, 552, -1, -1, 505, 42,
3107 -1, 1093, -1, 46, 1537, 1538, 49, 564, 565, 566,
3108 567, -1, 55, -1, 57, 58, -1, 42, 1345, 1346,
3109 -1, -1, -1, 530, 49, -1, -1, -1, 71, 536,
3110 -1, -1, 57, 58, 3, 4, 5, 6, 81, -1,
3111 9, 548, 549, -1, 551, -1, 89, -1, -1, -1,
3112 93, -1, -1, -1, 97, -1, 81, -1, -1, -1,
3113 640, 641, 31, -1, 89, -1, -1, 624, -1, 626,
3114 -1, -1, -1, 42, -1, -1, -1, -1, 1155, 48,
3115 -1, 638, -1, 640, 641, 642, 55, -1, 57, 58,
3116 -1, -1, 649, -1, -1, -1, 653, -1, -1, -1,
3117 -1, -1, 71, -1, 1431, 1031, 1032, 1033, 1034, -1,
3118 -1, 668, 81, -1, 1040, -1, 1042, 1043, -1, -1,
3119 89, 107, 108, -1, 93, 94, 1453, 1454, 1054, 1055,
3120 1056, 4, 5, -1, -1, 8, 9, 694, 645, 646,
3121 -1, 14, -1, 650, 701, -1, -1, -1, -1, -1,
3122 -1, -1, 709, 710, -1, 28, -1, 30, -1, -1,
3123 1561, -1, -1, -1, 37, -1, -1, -1, -1, 749,
3124 750, -1, -1, 46, -1, -1, -1, -1, -1, 1271,
3125 -1, -1, 55, -1, 57, 58, 59, -1, -1, -1,
3126 -1, -1, 749, 750, 751, -1, 3, 4, 5, 6,
3127 757, -1, 759, 1530, 190, -1, -1, -1, -1, -1,
3128 -1, 1288, 1289, 1290, 1291, -1, -1, -1, -1, -1,
3129 93, 1298, -1, 780, 781, 782, 783, 784, -1, -1,
3130 -1, 788, 39, 40, -1, 42, -1, -1, -1, -1,
3131 -1, -1, -1, -1, -1, -1, 753, -1, 55, -1,
3132 57, 58, -1, -1, -1, -1, 4, 5, -1, 816,
3133 8, 9, 819, -1, 821, -1, 14, 1344, -1, 826,
3134 827, -1, 829, -1, -1, -1, -1, -1, 835, 786,
3135 28, 1373, 30, -1, 841, -1, -1, -1, -1, 37,
3136 -1, 848, 849, 850, -1, -1, -1, -1, 46, 1225,
3137 1226, 1227, 1228, 860, -1, -1, 1232, 55, -1, 57,
3138 58, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3139 1246, 1247, -1, -1, -1, -1, -1, -1, 3, 4,
3140 5, 6, 7, 8, 9, 842, -1, 844, -1, 14,
3141 -1, -1, -1, -1, -1, 93, -1, 333, -1, -1,
3142 -1, -1, -1, 42, 911, 935, 31, -1, 938, -1,
3143 49, -1, 37, -1, -1, -1, -1, 42, 57, 58,
3144 950, 46, 1449, 48, 954, 955, -1, 934, 935, -1,
3145 55, 938, 57, 58, 941, -1, -1, -1, -1, 946,
3146 -1, -1, 81, 950, -1, 952, 71, 954, 955, 956,
3147 89, -1, -1, 960, -1, 962, 81, -1, -1, -1,
3148 917, 918, -1, 920, 89, -1, -1, -1, 93, 405,
3149 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3150 81, 82, 83, 84, 85, 1512, -1, -1, 995, -1,
3151 997, 1518, 1519, -1, 951, 1371, 1372, -1, 1374, -1,
3152 -1, 1031, 1032, 1033, 1034, -1, -1, -1, -1, -1,
3153 1040, 1538, 1042, 1043, -1, -1, -1, -1, 3, 4,
3154 5, 6, -1, 1030, 1031, 1032, 1033, 1034, 1035, 1036,
3155 -1, -1, -1, 1040, -1, 1042, 1043, 1044, -1, -1,
3156 -1, 1048, -1, -1, -1, 481, 1053, 1054, 1055, 1056,
3157 -1, -1, -1, -1, -1, -1, -1, 42, -1, -1,
3158 -1, -1, 1069, -1, 49, 1072, -1, -1, -1, -1,
3159 -1, 1598, 57, 58, 1081, -1, -1, -1, -1, -1,
3160 -1, -1, 1039, -1, -1, -1, -1, 1094, -1, -1,
3161 -1, 1618, -1, -1, -1, 1102, 81, -1, -1, -1,
3162 1476, 1477, -1, -1, 89, -1, -1, -1, 1115, -1,
3163 1117, 1068, -1, 1640, -1, -1, -1, -1, 1125, -1,
3164 556, -1, 558, 1080, -1, 1652, -1, 563, 564, 565,
3165 566, 567, -1, -1, -1, -1, -1, -1, 4, 5,
3166 576, 7, 8, 9, 1151, 1152, 12, 1154, 14, -1,
3167 1180, 1181, -1, 589, -1, -1, -1, -1, -1, -1,
3168 1536, 1537, 28, -1, 30, 31, -1, -1, -1, -1,
3169 1177, 37, -1, 1180, 1181, 1182, -1, -1, -1, -1,
3170 46, -1, 48, -1, -1, -1, -1, 623, -1, 55,
3171 -1, 57, 58, -1, -1, 1225, 1226, 1227, 1228, -1,
3172 -1, -1, 1232, -1, -1, 71, 642, -1, -1, -1,
3173 -1, 1168, -1, 649, -1, 81, -1, 1224, 1225, 1226,
3174 1227, 1228, 1229, -1, -1, 1232, 4, 93, 94, -1,
3175 -1, -1, -1, -1, -1, -1, 14, -1, -1, 1246,
3176 1247, 1248, 1249, -1, -1, 23, 24, -1, -1, -1,
3177 -1, -1, 30, 31, -1, 33, -1, 35, 4, 5,
3178 -1, 1268, 8, 9, 42, -1, 1273, -1, 14, 1276,
3179 -1, -1, -1, 1230, -1, -1, -1, 55, -1, 57,
3180 -1, -1, 28, -1, 30, -1, -1, 65, -1, -1,
3181 -1, 37, -1, -1, 72, -1, -1, -1, -1, -1,
3182 46, -1, -1, 4, 5, -1, 84, 8, 9, 55,
3183 -1, 57, 58, 14, -1, 751, -1, -1, -1, -1,
3184 -1, 1278, -1, 759, -1, 1282, -1, 28, -1, 30,
3185 -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
3186 -1, 1371, 1372, -1, 1374, 46, -1, 48, -1, -1,
3187 -1, 1358, 1359, 1360, 55, -1, 57, 58, 136, 1316,
3188 -1, -1, 140, 141, 1371, 1372, -1, 1374, 146, 1376,
3189 71, 149, 150, 151, -1, -1, 3, 4, 5, 6,
3190 81, -1, 9, -1, -1, -1, -1, 165, -1, -1,
3191 -1, 169, 93, 94, -1, -1, -1, 175, 176, 835,
3192 -1, -1, -1, -1, 31, 841, -1, -1, -1, -1,
3193 -1, -1, -1, -1, -1, 42, 194, 195, 196, -1,
3194 -1, 48, -1, -1, -1, 1382, -1, -1, 55, 1386,
3195 57, 58, 4, 5, -1, 7, 8, 9, -1, -1,
3196 12, -1, 14, -1, 71, 223, 1476, 1477, -1, -1,
3197 -1, 1408, 1409, -1, 81, -1, 28, -1, 30, 31,
3198 1467, -1, 89, -1, -1, 37, 93, 94, -1, 1476,
3199 1477, 1478, 1479, -1, 46, 911, 48, -1, -1, -1,
3200 -1, -1, 260, 55, -1, 57, 58, 3, 4, 5,
3201 6, -1, -1, 9, -1, -1, -1, -1, -1, 71,
3202 -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
3203 946, -1, -1, -1, -1, 31, 952, -1, -1, -1,
3204 956, 93, 94, -1, 302, 303, 42, -1, -1, 1536,
3205 1537, 1538, 48, -1, -1, 1542, -1, -1, -1, 55,
3206 -1, 57, 58, -1, -1, -1, -1, -1, -1, 1556,
3207 -1, -1, -1, -1, 1561, 71, -1, -1, -1, 995,
3208 -1, 997, -1, -1, -1, 81, -1, -1, 346, -1,
3209 -1, -1, 350, 89, 352, 353, 354, 93, 94, -1,
3210 -1, 359, -1, -1, -1, 363, 3, 4, 5, 6,
3211 -1, -1, 9, -1, -1, -1, -1, -1, -1, 1035,
3212 -1, -1, -1, -1, -1, -1, -1, -1, 1044, -1,
3213 -1, -1, -1, -1, 31, -1, -1, 1053, 396, -1,
3214 -1, -1, -1, -1, -1, 42, -1, 405, -1, 407,
3215 408, 48, -1, 1069, -1, -1, -1, -1, 55, -1,
3216 57, 58, -1, -1, 422, 1081, -1, 425, -1, -1,
3217 -1, -1, -1, -1, 71, -1, -1, -1, -1, 437,
3218 -1, -1, -1, -1, 81, -1, -1, 445, -1, -1,
3219 -1, -1, 89, -1, -1, -1, 93, 94, -1, 1115,
3220 1, 1117, 3, 4, 5, 6, 7, 8, 9, 1125,
3221 -1, -1, -1, 14, -1, 473, 474, 475, 476, 477,
3222 -1, -1, -1, 481, -1, -1, -1, 28, -1, 30,
3223 31, 489, 490, -1, -1, 493, 37, 495, 496, 497,
3224 498, 42, -1, -1, 502, 46, -1, -1, 49, 507,
3225 -1, -1, 510, -1, 55, -1, 57, 58, -1, -1,
3226 61, -1, -1, -1, -1, -1, 1182, -1, 526, 527,
3227 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3228 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3229 -1, -1, 93, 73, 74, 75, 76, 77, 78, 79,
3230 80, 81, 82, 83, 84, 85, 564, 565, 566, 567,
3231 -1, -1, -1, 1229, -1, -1, -1, -1, -1, -1,
3232 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3233 11, 12, 13, 14, 74, 75, 76, 77, 78, 79,
3234 80, 81, 82, 83, 84, 85, -1, 28, 29, 30,
3235 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3236 41, 42, 43, 44, -1, 46, 624, 48, 626, 50,
3237 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3238 -1, 62, 640, 641, 642, -1, -1, 68, -1, -1,
3239 71, 649, -1, -1, -1, -1, -1, -1, 79, 80,
3240 81, -1, -1, -1, 662, -1, 87, 88, 89, -1,
3241 668, -1, 93, 94, -1, -1, 3, 4, 5, 6,
3242 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3243 -1, -1, -1, -1, -1, -1, 694, -1, -1, -1,
3244 -1, -1, -1, -1, 702, -1, -1, -1, -1, -1,
3245 -1, 709, 710, -1, -1, 42, -1, -1, -1, 1,
3246 1376, 3, 4, 5, 6, 7, 8, 9, 55, -1,
3247 57, 58, 14, -1, 61, 733, 63, -1, -1, -1,
3248 -1, -1, -1, -1, 71, -1, 28, -1, 30, 31,
3249 32, 749, 750, 751, 81, 37, 38, -1, -1, -1,
3250 42, 759, 89, -1, 46, 47, 93, 49, -1, -1,
3251 -1, -1, -1, 55, -1, 57, 58, -1, -1, 61,
3252 -1, 63, 780, 781, 782, 783, 784, -1, -1, 71,
3253 788, -1, -1, 3, 4, 5, 6, -1, -1, 81,
3254 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
3255 -1, 93, -1, -1, -1, -1, -1, -1, 816, -1,
3256 -1, 819, 1478, 821, -1, -1, -1, 109, 826, 827,
3257 -1, 829, 42, -1, -1, -1, -1, 835, -1, 49,
3258 -1, -1, -1, 841, -1, -1, -1, 57, 58, -1,
3259 848, 849, 850, -1, -1, -1, 3, 4, 5, 6,
3260 -1, 1, 860, 3, 4, 5, 6, 7, 8, 9,
3261 -1, 81, -1, -1, 14, -1, -1, -1, -1, 89,
3262 -1, -1, 1538, -1, 31, -1, -1, -1, 28, -1,
3263 30, 31, 32, -1, -1, 42, -1, 37, 38, -1,
3264 1556, 48, 42, -1, -1, -1, 46, 47, 55, 49,
3265 57, 58, -1, 911, -1, 55, -1, 57, 58, -1,
3266 -1, 61, -1, 63, 71, -1, -1, -1, -1, -1,
3267 -1, 71, -1, -1, 81, -1, 934, 935, -1, -1,
3268 938, 81, 89, 941, -1, -1, 93, 94, 946, 89,
3269 -1, -1, 950, 93, 952, -1, 954, 955, 956, -1,
3270 -1, -1, 960, -1, 962, -1, -1, -1, -1, 109,
3271 -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
3272 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3273 -1, -1, -1, -1, -1, -1, -1, 995, -1, 997,
3274 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3275 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3276 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3277 58, -1, 1030, 1031, 1032, 1033, 1034, 1035, 1036, -1,
3278 68, -1, 1040, 71, 1042, 1043, 1044, -1, -1, -1,
3279 1048, 79, 80, 81, -1, 1053, 1054, 1055, 1056, 87,
3280 88, 89, -1, -1, -1, 93, 94, -1, -1, 1067,
3281 -1, 1069, -1, -1, 1072, -1, -1, -1, -1, -1,
3282 -1, -1, 110, 1081, -1, 1, -1, 3, 4, 5,
3283 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
3284 -1, -1, -1, -1, 1102, -1, -1, -1, -1, -1,
3285 -1, -1, 28, -1, 30, 31, 32, 1115, -1, 1117,
3286 -1, 37, 38, -1, -1, -1, 42, 1125, -1, -1,
3287 46, 47, -1, 49, -1, -1, -1, -1, -1, 55,
3288 -1, 57, 58, -1, -1, 61, -1, 63, -1, -1,
3289 -1, -1, -1, 1151, 1152, 71, 1154, -1, -1, -1,
3290 -1, -1, -1, 4, -1, 81, -1, -1, 3, 4,
3291 5, 6, -1, 89, 9, -1, -1, 93, -1, 1177,
3292 -1, -1, 1180, 1181, 1182, -1, -1, -1, -1, 30,
3293 31, -1, 33, 109, 35, -1, 31, -1, -1, -1,
3294 -1, 42, -1, -1, -1, -1, -1, 42, -1, -1,
3295 1208, -1, -1, 48, 55, -1, 57, -1, -1, -1,
3296 55, -1, 57, 58, -1, -1, 1224, 1225, 1226, 1227,
3297 1228, 1229, -1, -1, 1232, -1, 71, -1, -1, 80,
3298 -1, -1, 83, -1, -1, -1, 81, -1, 1246, 1247,
3299 1248, 1249, -1, -1, 89, 1253, -1, -1, 93, 94,
3300 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
3301 1268, -1, -1, -1, -1, 1273, -1, -1, 1276, -1,
3302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3303 31, -1, 133, 134, -1, 136, -1, -1, -1, 140,
3304 141, 42, -1, 144, 145, 146, -1, -1, 149, 150,
3305 151, -1, -1, -1, 55, 156, 57, 58, -1, -1,
3306 -1, -1, -1, -1, 165, -1, -1, -1, 169, -1,
3307 71, -1, -1, -1, 175, 176, -1, -1, -1, -1,
3308 81, -1, -1, -1, -1, -1, -1, -1, 89, 1347,
3309 -1, -1, 93, 194, 195, 196, -1, -1, -1, -1,
3310 1358, 1359, 1360, 204, -1, -1, -1, -1, -1, -1,
3311 -1, -1, -1, 1371, 1372, -1, 1374, -1, 1376, -1,
3312 -1, -1, 223, -1, -1, -1, -1, -1, -1, -1,
3313 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3314 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3315 -1, -1, -1, -1, -1, -1, -1, -1, -1, 260,
3316 -1, -1, -1, 28, 29, 30, 267, 32, -1, 34,
3317 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3318 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3319 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3320 -1, -1, -1, 68, -1, -1, 71, -1, -1, 1467,
3321 -1, -1, -1, -1, 79, 80, 81, -1, 1476, 1477,
3322 1478, 1479, 87, 88, 89, -1, -1, -1, 93, 94,
3323 -1, -1, 333, -1, -1, -1, -1, -1, -1, -1,
3324 -1, -1, -1, -1, 109, 110, -1, -1, -1, 350,
3325 -1, -1, -1, -1, -1, -1, -1, 358, -1, -1,
3326 -1, -1, 363, 1, -1, 3, 4, 5, 6, 7,
3327 8, 9, -1, -1, -1, -1, 14, -1, 1536, 1537,
3328 1538, -1, -1, -1, 1542, -1, -1, -1, -1, 27,
3329 28, -1, 30, 31, 32, 396, -1, -1, 1556, 37,
3330 -1, -1, -1, 1561, 42, -1, 407, 45, 46, 47,
3331 -1, 49, -1, -1, 415, -1, -1, 55, -1, 57,
3332 58, 422, -1, 61, 425, -1, -1, -1, -1, -1,
3333 431, 432, 433, 71, -1, -1, 437, -1, -1, -1,
3334 -1, -1, -1, 81, 445, -1, -1, -1, -1, -1,
3335 -1, 89, -1, -1, -1, 93, -1, -1, -1, 97,
3336 -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
3337 -1, -1, 473, 474, 475, 476, -1, -1, -1, -1,
3338 481, -1, 3, 4, 5, 6, -1, -1, 489, 490,
3339 -1, 31, 493, -1, 495, 496, 497, 498, -1, -1,
3340 -1, 502, 42, -1, -1, -1, 507, -1, -1, 510,
3341 31, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3342 -1, 42, -1, -1, -1, -1, 527, -1, -1, -1,
3343 -1, 71, -1, -1, 55, -1, 57, 58, -1, -1,
3344 -1, 81, -1, -1, -1, -1, -1, -1, -1, 89,
3345 71, -1, -1, 93, -1, 556, -1, 558, -1, -1,
3346 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3347 -1, -1, 93, 574, 575, 576, -1, 1, -1, 3,
3348 4, 5, 6, 7, 8, 9, 10, 11, 589, 13,
3349 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3350 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3351 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3352 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
3353 54, 55, -1, 57, 58, 59, 637, 61, 62, -1,
3354 -1, -1, -1, -1, 68, -1, -1, 71, 649, -1,
3355 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3356 -1, -1, -1, 87, 88, 89, -1, 668, -1, 93,
3357 -1, 95, -1, -1, 1, -1, 3, 4, 5, 6,
3358 7, 8, 9, -1, -1, 109, 110, 14, -1, -1,
3359 -1, -1, -1, 694, -1, -1, -1, -1, 33, -1,
3360 701, 28, -1, 30, 31, 32, -1, -1, 709, -1,
3361 37, -1, -1, -1, -1, 42, -1, -1, -1, 46,
3362 55, -1, 49, -1, -1, -1, -1, -1, 55, -1,
3363 57, 58, -1, -1, -1, 4, 5, -1, -1, 8,
3364 9, -1, -1, -1, 71, 14, -1, -1, 749, 750,
3365 751, -1, -1, -1, 81, 756, 757, -1, 759, 28,
3366 -1, 30, 89, -1, -1, -1, 93, -1, 37, -1,
3367 97, 4, 773, -1, -1, -1, -1, 46, -1, 780,
3368 781, 782, 783, 784, -1, -1, 55, 788, 57, 58,
3369 -1, -1, -1, -1, -1, -1, -1, 30, 31, -1,
3370 33, -1, 35, -1, -1, -1, -1, -1, -1, 42,
3371 -1, -1, -1, -1, 149, 150, 151, -1, 819, -1,
3372 821, -1, 55, -1, 57, 826, 827, -1, 829, -1,
3373 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1,
3374 175, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3375 83, -1, 14, -1, -1, -1, -1, -1, -1, 194,
3376 195, 196, -1, -1, -1, -1, 28, -1, 30, 31,
3377 32, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3378 42, -1, -1, -1, 46, 47, -1, 49, 223, -1,
3379 -1, -1, -1, 55, -1, 57, 58, -1, -1, 61,
3380 -1, 63, -1, 136, -1, -1, -1, 140, 141, 71,
3381 -1, -1, 145, 146, -1, -1, 149, 150, 151, 81,
3382 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
3383 -1, 93, 165, -1, -1, -1, 169, -1, -1, -1,
3384 -1, -1, 175, 176, -1, -1, -1, -1, -1, -1,
3385 -1, -1, -1, 954, 955, 956, -1, -1, -1, 960,
3386 961, 194, 195, 196, -1, -1, -1, -1, 303, -1,
3387 3, 4, 5, 6, 7, 8, 9, -1, -1, 12,
3388 -1, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3389 223, -1, -1, -1, -1, 28, -1, 30, 31, -1,
3390 -1, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3391 -1, -1, -1, 46, -1, 48, -1, 352, 353, 354,
3392 -1, -1, 55, -1, 57, 58, -1, 260, -1, 1030,
3393 1031, 1032, 1033, 1034, 1035, 1036, -1, 1038, 71, 1040,
3394 1041, 1042, 1043, 1044, -1, -1, -1, 1048, 81, -1,
3395 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
3396 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
3397 -1, 1072, 407, 3, 4, 5, 6, -1, -1, 3,
3398 4, 5, 6, 7, 8, 9, -1, -1, 12, -1,
3399 14, -1, 1093, 1094, -1, -1, -1, -1, -1, -1,
3400 -1, 1102, -1, -1, 28, -1, 30, 31, -1, -1,
3401 -1, -1, 42, 37, -1, -1, -1, -1, 42, 49,
3402 -1, -1, 46, -1, 48, -1, 359, 57, 58, -1,
3403 363, 55, -1, 57, 58, -1, -1, -1, 473, -1,
3404 475, 476, 477, 3, 4, 5, 6, 71, -1, 9,
3405 -1, 81, -1, -1, 489, 490, -1, 81, 493, 89,
3406 495, 496, 497, 498, -1, 89, -1, 502, -1, 93,
3407 94, 31, 507, -1, 407, 510, 1177, -1, -1, 1180,
3408 1181, 1182, 42, -1, -1, -1, -1, -1, -1, 422,
3409 -1, -1, 425, -1, -1, 55, -1, 57, 58, -1,
3410 3, 4, 5, 6, 437, -1, -1, -1, -1, -1,
3411 -1, 71, 445, -1, -1, -1, -1, -1, -1, -1,
3412 -1, 81, -1, 1224, 1225, 1226, 1227, 1228, 1229, 89,
3413 -1, 1232, -1, 93, -1, -1, -1, -1, -1, 42,
3414 473, 474, 475, 476, 3, 4, 5, 6, 481, -1,
3415 -1, -1, 55, -1, 57, 58, 489, 490, 61, -1,
3416 493, -1, 495, 496, 497, -1, -1, 1268, 71, 502,
3417 1271, -1, 1273, -1, 507, 1276, -1, 510, 81, -1,
3418 -1, -1, -1, 42, -1, -1, 89, -1, -1, -1,
3419 93, 626, -1, -1, 527, -1, 55, -1, 57, 58,
3420 -1, -1, -1, -1, 63, 640, 641, 642, -1, -1,
3421 -1, -1, 71, -1, 649, -1, -1, -1, -1, -1,
3422 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
3423 89, -1, -1, 668, 93, -1, -1, -1, -1, -1,
3424 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3425 9, 10, 11, -1, 13, 14, -1, 1358, 1359, 1360,
3426 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3427 29, 30, 31, 32, 709, 34, 35, 36, 37, -1,
3428 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3429 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3430 59, -1, 61, 62, -1, 638, -1, -1, -1, 68,
3431 -1, -1, 71, -1, 749, 750, 751, -1, -1, -1,
3432 79, 80, 81, -1, 759, -1, -1, -1, 87, 88,
3433 89, -1, -1, -1, 93, 668, -1, -1, -1, -1,
3434 -1, -1, -1, -1, -1, 780, 781, 782, 783, 784,
3435 -1, 110, -1, 788, 3, 4, 5, 6, 7, 8,
3436 9, -1, -1, 12, -1, 14, 1467, -1, -1, -1,
3437 -1, -1, -1, -1, -1, -1, 709, -1, -1, 28,
3438 -1, 30, 31, -1, -1, -1, -1, -1, 37, -1,
3439 -1, 826, -1, 42, -1, -1, -1, 46, -1, 48,
3440 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3441 -1, -1, -1, 848, 849, 850, 749, 750, 751, -1,
3442 -1, 55, 71, -1, 757, 860, 759, -1, -1, -1,
3443 -1, -1, 81, -1, -1, 1536, 1537, 1538, -1, -1,
3444 89, -1, -1, -1, 93, 94, 80, 780, 781, 83,
3445 3, 4, 5, 6, -1, 788, 9, -1, -1, -1,
3446 1561, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3447 104, -1, 106, -1, -1, -1, -1, -1, 31, -1,
3448 -1, -1, -1, -1, -1, -1, 819, -1, 821, 42,
3449 -1, -1, -1, 826, 827, -1, 829, -1, -1, 934,
3450 935, -1, 55, 938, 57, 58, 941, -1, -1, -1,
3451 -1, -1, -1, -1, -1, 950, -1, -1, 71, 954,
3452 955, 956, -1, -1, -1, 960, -1, -1, 81, -1,
3453 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
3454 93, 175, 68, 69, 70, 71, 72, 73, 74, 75,
3455 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3456 194, 195, 196, -1, -1, -1, -1, -1, -1, -1,
3457 204, 3, 4, 5, 6, 72, 73, 74, 75, 76,
3458 77, 78, 79, 80, 81, 82, 83, 84, 85, 223,
3459 -1, -1, -1, -1, -1, 1030, 1031, 1032, 1033, 1034,
3460 1035, 1036, -1, -1, -1, 1040, -1, 1042, 1043, 1044,
3461 42, -1, -1, -1, -1, 249, -1, -1, -1, 1054,
3462 1055, 1056, -1, 55, -1, 57, 58, -1, -1, 962,
3463 -1, 63, -1, 267, -1, -1, -1, 1072, -1, 71,
3464 3, 4, 5, 6, 7, 8, 9, -1, -1, 81,
3465 -1, 14, -1, -1, -1, -1, -1, 89, -1, -1,
3466 -1, 93, -1, -1, -1, 28, -1, 30, 31, -1,
3467 -1, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3468 -1, -1, -1, 46, -1, 48, -1, -1, -1, -1,
3469 -1, -1, 55, -1, 57, 58, -1, 1030, 1031, 1032,
3470 1033, 1034, 1035, -1, -1, -1, -1, 1040, 71, 1042,
3471 1043, 1044, -1, -1, -1, 1048, 1151, 1152, 81, 1154,
3472 -1, -1, -1, -1, 358, 359, 89, -1, -1, -1,
3473 93, 94, 3, 4, 5, 6, 7, 8, 9, 1072,
3474 -1, -1, 1177, 14, -1, 1180, 1181, 1182, -1, -1,
3475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3476 31, 1094, -1, -1, -1, -1, 37, -1, -1, 1102,
3477 -1, 42, -1, 407, -1, 46, -1, 48, -1, -1,
3478 3, 4, 5, 6, 55, -1, 57, 58, -1, 1224,
3479 1225, 1226, 1227, 1228, 1229, -1, -1, 1232, -1, -1,
3480 71, -1, -1, -1, -1, -1, -1, -1, 31, -1,
3481 81, 1246, 1247, 1248, 1249, -1, -1, -1, 89, 42,
3482 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
3483 -1, -1, 55, 1268, 57, 58, -1, -1, -1, 473,
3484 -1, 475, 476, -1, -1, -1, -1, -1, 71, -1,
3485 -1, -1, -1, -1, -1, 489, 490, -1, 81, 493,
3486 -1, 495, 496, 497, 498, -1, 89, -1, 502, -1,
3487 93, -1, -1, 507, -1, -1, 510, 1, -1, 3,
3488 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3489 14, -1, 1225, 1226, -1, -1, -1, -1, -1, 1232,
3490 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3491 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3492 44, -1, 46, 1358, -1, 1360, 50, 51, 52, 53,
3493 54, 55, -1, 57, 58, 1268, 1371, 1372, 62, 1374,
3494 1273, -1, 14, 1276, 68, -1, -1, 71, -1, -1,
3495 -1, 23, 24, -1, -1, 79, 80, 81, 30, 31,
3496 -1, 33, 31, 87, 88, 89, -1, -1, -1, 93,
3497 -1, -1, -1, -1, 352, 353, 354, -1, -1, -1,
3498 -1, -1, -1, -1, 108, -1, 110, -1, -1, -1,
3499 -1, -1, -1, 65, -1, 64, 65, 66, 67, 68,
3500 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3501 79, 80, 81, 82, 83, 84, 85, -1, 652, 653,
3502 -1, -1, -1, -1, -1, 1358, 1359, 1360, -1, -1,
3503 -1, -1, 1467, -1, 668, -1, -1, -1, -1, -1,
3504 -1, 1476, 1477, 1478, 1479, -1, -1, -1, -1, -1,
3505 -1, -1, 124, -1, 126, -1, -1, -1, -1, -1,
3506 -1, 133, 134, -1, -1, -1, -1, -1, 140, 141,
3507 -1, -1, 144, 145, 146, 709, 148, 149, 150, 151,
3508 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
3509 8, 9, -1, -1, -1, 473, 14, 475, 476, 477,
3510 -1, 1536, 1537, 1538, -1, -1, -1, 1542, -1, -1,
3511 28, -1, 30, 31, -1, 749, 750, 751, -1, 37,
3512 -1, -1, 756, 757, 42, 759, 1561, -1, 46, -1,
3513 3, 4, 5, 6, 1467, -1, 9, 55, -1, 57,
3514 58, -1, -1, 61, -1, -1, 780, 781, 782, 783,
3515 784, 785, -1, 71, 788, -1, -1, -1, 31, -1,
3516 -1, -1, -1, 81, -1, -1, -1, 239, 240, 42,
3517 -1, 89, -1, 4, 5, 93, 7, 8, 9, 813,
3518 -1, -1, 55, 14, 57, 58, -1, -1, 260, -1,
3519 -1, -1, 826, -1, -1, -1, -1, 28, 71, 30,
3520 31, -1, -1, 1536, 1537, 1538, 37, -1, 81, -1,
3521 -1, -1, -1, -1, -1, 46, 89, -1, 49, -1,
3522 93, -1, -1, -1, 55, -1, 57, 58, 1561, 1,
3523 -1, 303, 4, 5, -1, -1, 8, 9, -1, -1,
3524 -1, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3525 -1, -1, -1, -1, -1, -1, 28, -1, 30, -1,
3526 -1, -1, 640, 641, 642, 37, -1, 39, 40, -1,
3527 -1, 649, -1, -1, 46, -1, 48, -1, 350, -1,
3528 352, 353, -1, 55, -1, 57, 58, -1, 60, -1,
3529 -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
3530 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3531 82, 83, 84, -1, -1, 87, 88, 89, -1, 91,
3532 -1, -1, 94, -1, 396, -1, -1, 961, 962, 963,
3533 -1, 709, -1, -1, -1, -1, 4, 5, 110, 7,
3534 8, 9, -1, 415, 12, -1, 14, -1, -1, -1,
3535 422, -1, -1, 425, -1, -1, -1, -1, -1, -1,
3536 28, -1, 30, 31, -1, 437, -1, -1, -1, 37,
3537 -1, 749, 750, 751, -1, -1, -1, -1, 46, -1,
3538 -1, 759, -1, -1, -1, -1, -1, 55, -1, 57,
3539 58, -1, -1, -1, -1, -1, 1030, 1031, 1032, 1033,
3540 1034, 1035, 1036, -1, 1038, -1, 1040, 1041, 1042, 1043,
3541 1044, -1, -1, -1, 1048, -1, -1, -1, -1, -1,
3542 1054, 1055, 1056, -1, -1, -1, -1, -1, -1, -1,
3543 -1, -1, -1, -1, -1, -1, -1, -1, 1072, -1,
3544 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3545 -1, 12, 524, 14, 526, -1, -1, -1, -1, 1093,
3546 -1, -1, -1, -1, 25, -1, 27, -1, -1, -1,
3547 31, -1, -1, -1, -1, -1, 37, -1, 550, -1,
3548 552, 42, 860, -1, -1, 46, -1, 48, -1, -1,
3549 -1, -1, -1, -1, 55, -1, 57, 58, 59, 60,
3550 61, -1, 63, 64, 65, 66, 67, 68, 69, 70,
3551 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3552 81, 82, 83, 84, 85, -1, 87, 88, 89, -1,
3553 91, 92, 93, 94, 95, -1, -1, -1, -1, -1,
3554 101, 102, -1, -1, -1, -1, 107, 108, 109, -1,
3555 111, -1, -1, -1, 626, -1, 934, 935, -1, -1,
3556 938, -1, -1, 941, -1, 637, 638, -1, 640, 641,
3557 -1, -1, 950, -1, -1, -1, 954, 955, 956, -1,
3558 -1, -1, 960, -1, -1, -1, -1, -1, -1, -1,
3559 1224, 1225, 1226, 1227, 1228, 1229, -1, -1, 1232, -1,
3560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3561 -1, -1, 1246, 1247, 1248, 1249, -1, -1, -1, -1,
3562 -1, -1, 694, -1, -1, -1, -1, -1, -1, 701,
3563 702, -1, -1, -1, 1268, -1, -1, -1, 710, -1,
3564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3565 -1, -1, 1030, 1031, 1032, 1033, 1034, 1035, 1036, -1,
3566 -1, 733, 1040, -1, 1042, 1043, 1044, -1, -1, -1,
3567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3568 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3569 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3570 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3571 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3572 43, 44, -1, 46, 1358, 48, 1360, 50, 51, 52,
3573 53, 54, 55, -1, 57, 58, -1, 1371, 1372, 1373,
3574 1374, 813, -1, -1, 816, 68, -1, -1, 71, -1,
3575 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3576 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3577 93, 94, -1, -1, -1, -1, 848, 849, 850, 851,
3578 -1, 4, 5, -1, 7, 8, 9, 110, 860, 12,
3579 -1, 14, -1, -1, -1, -1, -1, -1, -1, 1177,
3580 -1, -1, 1180, 1181, 1182, 28, -1, 30, 31, -1,
3581 -1, -1, -1, -1, 37, -1, -1, -1, -1, 3,
3582 4, 5, 6, 46, -1, -1, -1, -1, -1, -1,
3583 -1, -1, 55, 1467, 57, 58, -1, -1, -1, -1,
3584 -1, -1, 1476, 1477, 1478, 1479, 1224, 1225, 1226, 1227,
3585 1228, 1229, -1, -1, 1232, -1, -1, -1, 42, -1,
3586 -1, -1, 934, 935, -1, -1, 938, -1, -1, 941,
3587 -1, 55, -1, 57, 58, -1, -1, -1, 950, 63,
3588 -1, -1, -1, -1, -1, -1, -1, 71, 960, -1,
3589 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3590 -1, -1, 1536, 1537, 1538, 89, -1, -1, 1542, 93,
3591 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3592 9, 10, 11, -1, 13, 14, 15, 1561, 17, 18,
3593 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3594 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3595 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
3596 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3597 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3598 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3599 79, 80, 81, 1371, 1372, 1067, 1374, -1, 87, 88,
3600 89, -1, -1, -1, 93, 1, 95, 3, 4, 5,
3601 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3602 -1, 110, 1094, -1, -1, -1, -1, -1, -1, -1,
3603 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3604 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3605 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3606 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3607 -1, -1, 68, -1, -1, 71, -1, -1, -1, 1151,
3608 1152, -1, 1154, 79, 80, 81, -1, -1, -1, -1,
3609 -1, 87, 88, 89, -1, -1, -1, 93, 1476, 1477,
3610 1478, 1479, -1, -1, -1, 1177, -1, -1, 1180, 1181,
3611 -1, -1, -1, -1, 110, -1, 1, -1, 3, 4,
3612 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3613 -1, -1, -1, -1, -1, -1, 1208, -1, -1, -1,
3614 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3615 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3616 -1, 46, -1, 48, 1542, 50, 51, 52, 53, 54,
3617 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3618 -1, 1253, -1, 68, -1, -1, 71, -1, -1, -1,
3619 -1, -1, -1, -1, 79, 80, 81, -1, -1, 1271,
3620 -1, 1273, 87, 88, 89, -1, -1, -1, 93, 94,
3621 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3622 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3623 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3624 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3625 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3626 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3627 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3628 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3629 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3630 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3631 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3632 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3633 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3634 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3635 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3636 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3637 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3638 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3639 87, 88, 89, -1, -1, -1, 93, 1, -1, 3,
3640 4, 5, 6, 100, 8, 9, 10, 11, -1, 13,
3641 14, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3642 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3643 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3644 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3645 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3646 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3647 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3648 -1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
3649 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3650 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3651 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3652 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3653 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3654 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3655 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3656 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3657 -1, -1, -1, -1, 87, 88, 89, -1, -1, 1,
3658 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3659 -1, 13, 14, -1, -1, -1, 109, 110, -1, -1,
3660 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3661 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3662 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3663 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3664 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3665 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3666 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3667 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3668 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3669 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3670 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3671 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3672 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3673 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3674 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3675 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3676 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3677 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3678 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3679 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3680 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3681 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3682 -1, -1, 62, 63, -1, -1, -1, -1, 68, -1,
3683 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3684 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3685 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3686 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3687 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3688 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3689 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3690 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3691 -1, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3692 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3693 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3694 89, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3695 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3696 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3697 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3698 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3699 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3700 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3701 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3702 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3703 88, 89, -1, -1, 1, 93, 3, 4, 5, 6,
3704 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3705 108, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3706 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3707 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3708 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3709 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3710 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3711 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3712 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3713 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3714 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3715 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3716 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3717 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3718 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3719 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3720 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3721 -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
3722 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3723 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3724 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3725 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3726 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3727 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3728 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3729 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3730 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
3731 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3732 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3733 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3734 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3735 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3736 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3737 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3738 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3739 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3740 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3741 13, 14, -1, -1, -1, -1, 110, 111, -1, -1,
3742 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3743 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3744 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3745 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3746 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3747 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3748 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3749 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3750 -1, 13, 14, -1, -1, -1, -1, 110, 111, -1,
3751 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3752 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3753 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3754 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3755 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3756 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3757 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3758 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3759 11, -1, 13, 14, -1, -1, -1, -1, 110, 111,
3760 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3761 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3762 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3763 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3764 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3765 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3766 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3767 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3768 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3769 111, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3770 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3771 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3772 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3773 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3774 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3775 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3776 -1, -1, -1, 93, 70, 71, 72, 73, 74, 75,
3777 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3778 110, 111, 3, 4, 5, 6, 7, 8, 9, 10,
3779 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3780 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3781 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3782 41, 42, 43, 44, 45, 46, 47, -1, -1, 50,
3783 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3784 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3785 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3786 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3787 -1, -1, 93, -1, 95, -1, -1, -1, -1, -1,
3788 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3789 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3790 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3791 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3792 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3793 43, 44, 45, 46, 47, -1, -1, 50, 51, 52,
3794 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
3795 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3796 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3797 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3798 93, -1, 95, -1, 3, 4, 5, 6, 7, 8,
3799 9, 10, 11, -1, 13, 14, 15, 110, 17, 18,
3800 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3801 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3802 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
3803 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3804 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3805 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3806 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3807 89, -1, -1, -1, 93, -1, 95, -1, 3, 4,
3808 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3809 15, 110, 17, 18, 19, 20, 21, 22, 23, 24,
3810 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3811 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3812 45, 46, 47, -1, -1, 50, 51, 52, 53, 54,
3813 55, -1, 57, 58, -1, -1, 61, 62, -1, -1,
3814 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3815 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3816 -1, -1, 87, 88, 89, -1, -1, -1, 93, -1,
3817 95, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3818 12, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3819 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3820 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3821 42, 43, 44, -1, 46, -1, 48, -1, 50, 51,
3822 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3823 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3824 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3825 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3826 -1, 93, 94, 3, 4, 5, 6, 7, 8, 9,
3827 10, 11, 12, 13, 14, -1, -1, -1, 110, -1,
3828 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3829 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3830 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3831 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3832 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3833 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3834 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3835 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3836 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3837 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3838 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3839 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3840 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3841 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3842 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3843 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3844 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3845 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3846 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3847 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3848 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3849 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3850 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3851 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3852 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3853 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3854 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3855 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3856 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3857 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3858 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3859 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3860 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3861 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3862 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3863 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3864 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3865 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3866 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3867 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3868 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3869 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3870 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3871 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
3872 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3873 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3874 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3875 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3876 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3877 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3878 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3879 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3880 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3881 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3882 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3883 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3884 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3885 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3886 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3887 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3888 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3889 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3890 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3891 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3892 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3893 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3894 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3895 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3896 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3897 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3898 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3899 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3900 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3901 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3902 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3903 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3904 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3905 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3906 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3907 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3908 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3909 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3910 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3911 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3912 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3913 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3914 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3915 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3916 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3917 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3918 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3919 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3920 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3921 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3922 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3923 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3924 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3925 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3926 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3927 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3928 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3929 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3930 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3931 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3932 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3933 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3934 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3935 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3936 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3937 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3938 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3939 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3940 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3941 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3942 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3943 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3944 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3945 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3946 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3947 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3948 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3949 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3950 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3951 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3952 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3953 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
3954 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3955 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3956 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3957 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3958 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3959 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3960 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3961 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3962 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3963 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3964 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3965 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3966 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3967 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3968 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3969 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3970 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3971 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3972 93, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3973 12, -1, 14, -1, -1, -1, -1, 110, -1, -1,
3974 -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3975 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3976 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3977 7, 8, 9, 55, -1, 57, 58, 14, -1, -1,
3978 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3979 -1, 28, -1, 30, 31, -1, -1, -1, -1, 81,
3980 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3981 -1, 93, -1, -1, -1, -1, -1, -1, 55, -1,
3982 57, 58, -1, -1, -1, -1, 63, -1, -1, -1,
3983 -1, -1, -1, -1, 71, 3, 4, 5, 6, 7,
3984 8, 9, -1, -1, 81, -1, 14, -1, -1, -1,
3985 -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
3986 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3987 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3988 3, 4, 5, 6, 7, 8, 9, 55, -1, 57,
3989 58, 14, -1, 61, -1, -1, -1, -1, -1, -1,
3990 -1, -1, -1, 71, -1, 28, -1, 30, 31, -1,
3991 -1, -1, -1, 81, 37, -1, -1, -1, -1, 42,
3992 -1, 89, -1, 46, -1, 93, -1, -1, -1, -1,
3993 -1, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3994 3, 4, 5, 6, 7, 8, 9, -1, 71, -1,
3995 -1, 14, -1, -1, -1, -1, -1, -1, 81, -1,
3996 -1, -1, -1, -1, -1, 28, 89, 30, 31, -1,
3997 93, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3998 -1, -1, -1, 46, 3, 4, 5, 6, -1, -1,
3999 9, -1, 55, -1, 57, 58, -1, -1, -1, -1,
4000 -1, 3, 4, 5, 6, -1, -1, 9, 71, -1,
4001 -1, -1, 31, -1, -1, -1, -1, -1, 81, -1,
4002 -1, -1, -1, 42, -1, -1, 89, -1, -1, 31,
4003 93, -1, -1, -1, -1, -1, 55, -1, 57, 58,
4004 42, -1, -1, 3, 4, 5, 6, -1, -1, 9,
4005 -1, -1, 71, 55, -1, 57, 58, -1, -1, -1,
4006 -1, -1, 81, -1, 3, 4, 5, 6, -1, 71,
4007 89, 31, -1, -1, 93, -1, -1, -1, -1, 81,
4008 -1, -1, 42, -1, -1, -1, -1, 89, -1, -1,
4009 -1, 93, 31, -1, -1, 55, -1, 57, 58, -1,
4010 -1, -1, -1, 42, -1, -1, 3, 4, 5, 6,
4011 -1, 71, 3, 4, 5, 6, 55, -1, 57, 58,
4012 -1, 81, -1, -1, -1, -1, -1, -1, -1, 89,
4013 -1, -1, 71, 93, 31, -1, -1, -1, -1, -1,
4014 31, -1, 81, -1, -1, 42, -1, -1, -1, -1,
4015 89, 42, 12, -1, 93, -1, -1, -1, 55, -1,
4016 57, 58, -1, -1, 55, -1, 57, 58, -1, -1,
4017 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
4018 71, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4019 81, -1, 89, -1, -1, -1, 93, -1, 89, -1,
4020 -1, -1, 93, 63, 64, 65, 66, 67, 68, 69,
4021 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
4022 80, 81, 82, 83, 84, 85, 4, 5, -1, 7,
4023 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
4024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4025 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
4026 -1, -1, -1, -1, -1, -1, -1, -1, 46, -1,
4027 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
4028 58, 64, 65, 66, 67, 68, 69, 70, 71, 72,
4029 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
4030 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
4031 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
4032 81, 82, 83, 84, 85, -1, -1, -1, 111, -1,
4033 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4034 -1, -1, -1, 60, -1, -1, 107, 64, 65, 66,
4035 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
4036 77, 78, 79, 80, 81, 82, 83, 84, 85, 60,
4037 -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
4038 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
4039 81, 82, 83, 84, 85, 63, 64, 65, 66, 67,
4040 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
4041 78, 79, 80, 81, 82, 83, 84, 85, 64, 65,
4042 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
4043 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
4044 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
4045 74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
4046 84, 85, 69, 70, 71, 72, 73, 74, 75, 76,
4047 77, 78, 79, 80, 81, 82, 83, 84, 85
4049 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
4050 #line 3 "/usr/lib/bison.simple"
4051 /* This file comes from bison-1.28. */
4053 /* Skeleton output parser for bison,
4054 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
4056 This program is free software; you can redistribute it and/or modify
4057 it under the terms of the GNU General Public License as published by
4058 the Free Software Foundation; either version 2, or (at your option)
4061 This program is distributed in the hope that it will be useful,
4062 but WITHOUT ANY WARRANTY; without even the implied warranty of
4063 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4064 GNU General Public License for more details.
4066 You should have received a copy of the GNU General Public License
4067 along with this program; if not, write to the Free Software
4068 Foundation, Inc., 59 Temple Place - Suite 330,
4069 Boston, MA 02111-1307, USA. */
4071 /* As a special exception, when this file is copied by Bison into a
4072 Bison output file, you may use that output file without restriction.
4073 This special exception was added by the Free Software Foundation
4074 in version 1.24 of Bison. */
4076 /* This is the parser code that is written into each bison parser
4077 when the %semantic_parser declaration is not specified in the grammar.
4078 It was written by Richard Stallman by simplifying the hairy parser
4079 used when %semantic_parser is specified. */
4081 #ifndef YYSTACK_USE_ALLOCA
4083 #define YYSTACK_USE_ALLOCA
4084 #else /* alloca not defined */
4086 #define YYSTACK_USE_ALLOCA
4087 #define alloca __builtin_alloca
4088 #else /* not GNU C. */
4089 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
4090 #define YYSTACK_USE_ALLOCA
4092 #else /* not sparc */
4093 /* We think this test detects Watcom and Microsoft C. */
4094 /* This used to test MSDOS, but that is a bad idea
4095 since that symbol is in the user namespace. */
4096 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
4097 #if 0 /* No need for malloc.h, which pollutes the namespace;
4098 instead, just don't use alloca. */
4101 #else /* not MSDOS, or __TURBOC__ */
4103 /* I don't know what this was needed for, but it pollutes the namespace.
4104 So I turned it off. rms, 2 May 1997. */
4105 /* #include <malloc.h> */
4107 #define YYSTACK_USE_ALLOCA
4108 #else /* not MSDOS, or __TURBOC__, or _AIX */
4110 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
4111 and on HPUX 10. Eventually we can turn this on. */
4112 #define YYSTACK_USE_ALLOCA
4113 #define alloca __builtin_alloca
4116 #endif /* not _AIX */
4117 #endif /* not MSDOS, or __TURBOC__ */
4118 #endif /* not sparc */
4119 #endif /* not GNU C */
4120 #endif /* alloca not defined */
4121 #endif /* YYSTACK_USE_ALLOCA not defined */
4123 #ifdef YYSTACK_USE_ALLOCA
4124 #define YYSTACK_ALLOC alloca
4126 #define YYSTACK_ALLOC malloc
4129 /* Note: there must be only one dollar sign in this file.
4130 It is replaced by the list of actions, each action
4131 as one case of the switch. */
4133 #define yyerrok (yyerrstatus = 0)
4134 #define yyclearin (yychar = YYEMPTY)
4137 #define YYACCEPT goto yyacceptlab
4138 #define YYABORT goto yyabortlab
4139 #define YYERROR goto yyerrlab1
4140 /* Like YYERROR except do call yyerror.
4141 This remains here temporarily to ease the
4142 transition to the new meaning of YYERROR, for GCC.
4143 Once GCC version 2 has supplanted version 1, this can go. */
4144 #define YYFAIL goto yyerrlab
4145 #define YYRECOVERING() (!!yyerrstatus)
4146 #define YYBACKUP(token, value) \
4148 if (yychar == YYEMPTY && yylen == 1) \
4149 { yychar = (token), yylval = (value); \
4150 yychar1 = YYTRANSLATE (yychar); \
4155 { yyerror ("syntax error: cannot back up"); YYERROR; } \
4159 #define YYERRCODE 256
4162 #define YYLEX yylex()
4168 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
4170 #define YYLEX yylex(&yylval, &yylloc)
4172 #else /* not YYLSP_NEEDED */
4174 #define YYLEX yylex(&yylval, YYLEX_PARAM)
4176 #define YYLEX yylex(&yylval)
4178 #endif /* not YYLSP_NEEDED */
4181 /* If nonreentrant, generate the variables here */
4185 int yychar
; /* the lookahead symbol */
4186 YYSTYPE yylval
; /* the semantic value of the */
4187 /* lookahead symbol */
4190 YYLTYPE yylloc
; /* location data for the lookahead */
4194 int yynerrs
; /* number of parse errors so far */
4195 #endif /* not YYPURE */
4198 int yydebug
; /* nonzero means print parse trace */
4199 /* Since this is uninitialized, it does not stop multiple parsers
4203 /* YYINITDEPTH indicates the initial size of the parser's stacks */
4206 #define YYINITDEPTH 200
4209 /* YYMAXDEPTH is the maximum size the stacks can grow to
4210 (effective only if the built-in stack extension method is used). */
4217 #define YYMAXDEPTH 10000
4220 /* Define __yy_memcpy. Note that the size argument
4221 should be passed with type unsigned int, because that is what the non-GCC
4222 definitions require. With GCC, __builtin_memcpy takes an arg
4223 of type size_t, but it can handle unsigned int. */
4225 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
4226 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
4227 #else /* not GNU C or C++ */
4230 /* This is the most reliable way to avoid incompatibilities
4231 in available built-in functions on various systems. */
4233 __yy_memcpy (to
, from
, count
)
4238 register char *f
= from
;
4239 register char *t
= to
;
4240 register int i
= count
;
4246 #else /* __cplusplus */
4248 /* This is the most reliable way to avoid incompatibilities
4249 in available built-in functions on various systems. */
4251 __yy_memcpy (char *to
, char *from
, unsigned int count
)
4253 register char *t
= to
;
4254 register char *f
= from
;
4255 register int i
= count
;
4264 #line 217 "/usr/lib/bison.simple"
4266 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
4267 into yyparse. The argument should have type void *.
4268 It should actually point to an object.
4269 Grammar actions can access the variable by casting it
4270 to the proper pointer type. */
4272 #ifdef YYPARSE_PARAM
4274 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
4275 #define YYPARSE_PARAM_DECL
4276 #else /* not __cplusplus */
4277 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
4278 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
4279 #endif /* not __cplusplus */
4280 #else /* not YYPARSE_PARAM */
4281 #define YYPARSE_PARAM_ARG
4282 #define YYPARSE_PARAM_DECL
4283 #endif /* not YYPARSE_PARAM */
4285 /* Prevent warning if -Wstrict-prototypes. */
4287 #ifdef YYPARSE_PARAM
4288 int yyparse (void *);
4295 yyparse(YYPARSE_PARAM_ARG
)
4298 register int yystate
;
4300 register short *yyssp
;
4301 register YYSTYPE
*yyvsp
;
4302 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
4303 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
4305 short yyssa
[YYINITDEPTH
]; /* the state stack */
4306 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
4308 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
4309 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
4312 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
4313 YYLTYPE
*yyls
= yylsa
;
4316 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
4318 #define YYPOPSTACK (yyvsp--, yyssp--)
4321 int yystacksize
= YYINITDEPTH
;
4322 int yyfree_stacks
= 0;
4333 YYSTYPE yyval
; /* the variable used to return */
4334 /* semantic values from the action */
4341 fprintf(stderr
, "Starting parse\n");
4347 yychar
= YYEMPTY
; /* Cause a token to be read. */
4349 /* Initialize stack pointers.
4350 Waste one element of value and location stack
4351 so that they stay on the same level as the state stack.
4352 The wasted elements are never initialized. */
4360 /* Push a new state, which is found in yystate . */
4361 /* In all cases, when you get here, the value and location stacks
4362 have just been pushed. so pushing a state here evens the stacks. */
4367 if (yyssp
>= yyss
+ yystacksize
- 1)
4369 /* Give user a chance to reallocate the stack */
4370 /* Use copies of these so that the &'s don't force the real ones into memory. */
4371 YYSTYPE
*yyvs1
= yyvs
;
4372 short *yyss1
= yyss
;
4374 YYLTYPE
*yyls1
= yyls
;
4377 /* Get the current used size of the three stacks, in elements. */
4378 int size
= yyssp
- yyss
+ 1;
4381 /* Each stack pointer address is followed by the size of
4382 the data in use in that stack, in bytes. */
4384 /* This used to be a conditional around just the two extra args,
4385 but that might be undefined if yyoverflow is a macro. */
4386 yyoverflow("parser stack overflow",
4387 &yyss1
, size
* sizeof (*yyssp
),
4388 &yyvs1
, size
* sizeof (*yyvsp
),
4389 &yyls1
, size
* sizeof (*yylsp
),
4392 yyoverflow("parser stack overflow",
4393 &yyss1
, size
* sizeof (*yyssp
),
4394 &yyvs1
, size
* sizeof (*yyvsp
),
4398 yyss
= yyss1
; yyvs
= yyvs1
;
4402 #else /* no yyoverflow */
4403 /* Extend the stack our own way. */
4404 if (yystacksize
>= YYMAXDEPTH
)
4406 yyerror("parser stack overflow");
4418 if (yystacksize
> YYMAXDEPTH
)
4419 yystacksize
= YYMAXDEPTH
;
4420 #ifndef YYSTACK_USE_ALLOCA
4423 yyss
= (short *) YYSTACK_ALLOC (yystacksize
* sizeof (*yyssp
));
4424 __yy_memcpy ((char *)yyss
, (char *)yyss1
,
4425 size
* (unsigned int) sizeof (*yyssp
));
4426 yyvs
= (YYSTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yyvsp
));
4427 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
,
4428 size
* (unsigned int) sizeof (*yyvsp
));
4430 yyls
= (YYLTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yylsp
));
4431 __yy_memcpy ((char *)yyls
, (char *)yyls1
,
4432 size
* (unsigned int) sizeof (*yylsp
));
4434 #endif /* no yyoverflow */
4436 yyssp
= yyss
+ size
- 1;
4437 yyvsp
= yyvs
+ size
- 1;
4439 yylsp
= yyls
+ size
- 1;
4444 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
4447 if (yyssp
>= yyss
+ yystacksize
- 1)
4453 fprintf(stderr
, "Entering state %d\n", yystate
);
4459 /* Do appropriate processing given the current state. */
4460 /* Read a lookahead token if we need one and don't already have one. */
4463 /* First try to decide what to do without reference to lookahead token. */
4465 yyn
= yypact
[yystate
];
4469 /* Not known => get a lookahead token if don't already have one. */
4471 /* yychar is either YYEMPTY or YYEOF
4472 or a valid token in external form. */
4474 if (yychar
== YYEMPTY
)
4478 fprintf(stderr
, "Reading a token: ");
4483 /* Convert token to internal form (in yychar1) for indexing tables with */
4485 if (yychar
<= 0) /* This means end of input. */
4488 yychar
= YYEOF
; /* Don't call YYLEX any more */
4492 fprintf(stderr
, "Now at end of input.\n");
4497 yychar1
= YYTRANSLATE(yychar
);
4502 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4503 /* Give the individual parser a way to print the precise meaning
4504 of a token, for further debugging info. */
4506 YYPRINT (stderr
, yychar
, yylval
);
4508 fprintf (stderr
, ")\n");
4514 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4519 /* yyn is what to do for this token type in this state.
4520 Negative => reduce, -yyn is rule number.
4521 Positive => shift, yyn is new state.
4522 New state is final state => don't bother to shift,
4523 just return success.
4524 0, or most negative number => error. */
4539 /* Shift the lookahead token. */
4543 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4546 /* Discard the token being shifted unless it is eof. */
4547 if (yychar
!= YYEOF
)
4555 /* count tokens shifted since error; after three, turn off error status. */
4556 if (yyerrstatus
) yyerrstatus
--;
4561 /* Do the default action for the current state. */
4564 yyn
= yydefact
[yystate
];
4568 /* Do a reduction. yyn is the number of a rule to reduce with. */
4572 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4579 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4582 /* Print the symbols being reduced, and their result. */
4583 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4584 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4585 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4594 { finish_translation_unit (); ;
4598 { finish_translation_unit (); ;
4602 { yyval
.ttype
= NULL_TREE
; ;
4606 { yyval
.ttype
= NULL_TREE
; ggc_collect (); ;
4610 { yyval
.ttype
= NULL_TREE
; ggc_collect (); ;
4614 { have_extern_spec
= 1;
4615 used_extern_spec
= 0;
4616 yyval
.ttype
= NULL_TREE
; ;
4620 { have_extern_spec
= 0; ;
4624 { yyval
.itype
= pedantic
;
4629 { if (pending_lang_change
) do_pending_lang_change();
4630 type_lookups
= NULL_TREE
; ;
4634 { if (! toplevel_bindings_p ())
4635 pop_everything (); ;
4639 { if (pending_inlines
) do_pending_inlines (); ;
4643 { if (pending_inlines
) do_pending_inlines (); ;
4647 { if (pending_inlines
) do_pending_inlines (); ;
4651 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4652 assemble_asm (yyvsp
[-2].ttype
); ;
4656 { pop_lang_context (); ;
4660 { if (pending_inlines
) do_pending_inlines ();
4661 pop_lang_context (); ;
4665 { if (pending_inlines
) do_pending_inlines ();
4666 pop_lang_context (); ;
4670 { push_namespace (yyvsp
[-1].ttype
); ;
4674 { pop_namespace (); ;
4678 { push_namespace (NULL_TREE
); ;
4682 { pop_namespace (); ;
4686 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4690 { pedantic
= yyvsp
[-1].itype
; ;
4694 { begin_only_namespace_names (); ;
4699 end_only_namespace_names ();
4701 yyvsp
[-1].ttype
= lastiddecl
;
4702 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4707 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4711 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4715 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4719 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4723 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4727 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4731 { begin_only_namespace_names (); ;
4736 end_only_namespace_names ();
4737 /* If no declaration was found, the using-directive is
4738 invalid. Since that was not reported, we need the
4739 identifier for the error message. */
4740 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4741 yyvsp
[-1].ttype
= lastiddecl
;
4742 do_using_directive (yyvsp
[-1].ttype
);
4748 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4749 yyval
.ttype
= lastiddecl
;
4750 got_scope
= yyval
.ttype
;
4756 yyval
.ttype
= yyvsp
[-1].ttype
;
4757 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4758 yyval
.ttype
= lastiddecl
;
4759 got_scope
= yyval
.ttype
;
4764 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4768 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4772 { push_lang_context (yyvsp
[0].ttype
); ;
4776 { if (current_lang_name
!= yyvsp
[0].ttype
)
4777 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4778 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4782 { begin_template_parm_list (); ;
4786 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4790 { begin_specialization();
4791 yyval
.ttype
= NULL_TREE
; ;
4795 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4799 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4803 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4807 { yyval
.ttype
= NULL_TREE
; ;
4811 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4815 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4819 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4823 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4827 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4831 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4835 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4839 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4844 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4845 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4846 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4848 error ("invalid default template argument");
4849 yyvsp
[0].ttype
= error_mark_node
;
4851 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4856 { finish_template_decl (yyvsp
[-1].ttype
); ;
4860 { finish_template_decl (yyvsp
[-1].ttype
); ;
4864 { if (pending_inlines
) do_pending_inlines (); ;
4868 { if (pending_inlines
) do_pending_inlines (); ;
4872 { if (pending_inlines
) do_pending_inlines (); ;
4876 { if (pending_inlines
) do_pending_inlines ();
4877 pop_lang_context (); ;
4881 { if (pending_inlines
) do_pending_inlines ();
4882 pop_lang_context (); ;
4886 { pedantic
= yyvsp
[-1].itype
; ;
4894 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4898 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4899 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4907 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4911 { pedwarn ("empty declaration"); ;
4917 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4919 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4924 { yyval
.itype
= 0; ;
4928 { yyval
.itype
= 1; ;
4932 { expand_body (finish_function ((int)yyvsp
[-1].itype
)); ;
4936 { expand_body (finish_function ((int)yyvsp
[0].itype
)); ;
4944 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4948 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4952 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4953 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4958 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4962 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4966 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4967 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4972 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4976 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4980 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4981 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4986 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4990 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4994 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4995 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5000 { check_for_new_type ("return type", yyvsp
[-1].ftype
);
5001 if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
5006 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
5011 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
5016 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
5021 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
5026 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5030 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5034 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5038 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5042 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[-1].ftype
.lookups
);
5046 if (yychar
== YYEMPTY
)
5048 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
5052 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
5053 goto rest_of_mdef
; ;
5057 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[-1].ftype
.lookups
); goto rest_of_mdef
;;
5061 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[-1].ftype
.lookups
); goto rest_of_mdef
;;
5065 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
5066 goto rest_of_mdef
; ;
5070 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[-1].ftype
.lookups
); goto rest_of_mdef
;;
5074 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
5075 goto rest_of_mdef
; ;
5080 if (! current_function_parms_stored
)
5081 store_parm_decls ();
5082 yyval
.ttype
= yyvsp
[0].ttype
;
5087 { finish_named_return_value (yyval
.ttype
, yyvsp
[0].ttype
); ;
5091 { finish_named_return_value (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5095 { finish_named_return_value (yyval
.ttype
, NULL_TREE
); ;
5100 if (yyvsp
[0].ftype
.new_type_flag
== 0)
5101 error ("no base or member initializers given following ':'");
5103 finish_mem_initializers (yyvsp
[0].ftype
.t
);
5109 if (! current_function_parms_stored
)
5110 store_parm_decls ();
5112 if (DECL_CONSTRUCTOR_P (current_function_decl
))
5113 /* Make a contour for the initializer list. */
5115 else if (current_class_type
== NULL_TREE
)
5116 error ("base initializers not allowed for non-member functions");
5117 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
5118 error ("only constructors take base initializers");
5124 yyval
.ftype
.new_type_flag
= 0;
5125 yyval
.ftype
.t
= NULL_TREE
;
5131 yyval
.ftype
.new_type_flag
= 1;
5132 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5140 yyval
.ftype
.new_type_flag
= 1;
5141 TREE_CHAIN (yyvsp
[0].ttype
) = yyvsp
[-2].ftype
.t
;
5142 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5145 yyval
.ftype
= yyvsp
[-2].ftype
;
5151 if (current_class_name
)
5152 pedwarn ("anachronistic old style base class initializer");
5153 yyval
.ttype
= expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
5159 if (current_class_name
)
5160 pedwarn ("anachronistic old style base class initializer");
5161 yyval
.ttype
= expand_member_init (current_class_ref
,
5168 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5172 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-1].ttype
,
5177 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5181 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-1].ttype
,
5186 { yyval
.ttype
= expand_member_init (current_class_ref
,
5187 TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
5192 { yyval
.ttype
= expand_member_init (current_class_ref
,
5193 TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
5198 { yyval
.ttype
= NULL_TREE
;
5202 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
5203 yyungetc (';', 1); ;
5207 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5208 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
5212 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5216 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5220 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
5221 yyungetc (';', 1); ;
5225 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5226 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
5230 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5234 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5238 { begin_explicit_instantiation(); ;
5242 { end_explicit_instantiation(); ;
5245 #line 1008 "parse.y"
5246 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5249 #line 1011 "parse.y"
5250 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5253 #line 1019 "parse.y"
5254 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5257 #line 1024 "parse.y"
5258 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5261 #line 1028 "parse.y"
5263 if (yychar
== YYEMPTY
)
5266 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5271 #line 1039 "parse.y"
5273 /* Handle `Class<Class<Type>>' without space in the `>>' */
5274 pedwarn ("`>>' should be `> >' in template class name");
5279 #line 1048 "parse.y"
5280 { yyval
.ttype
= NULL_TREE
; ;
5283 #line 1054 "parse.y"
5284 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5287 #line 1056 "parse.y"
5288 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5291 #line 1061 "parse.y"
5292 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
5295 #line 1063 "parse.y"
5297 yyval
.ttype
= lastiddecl
;
5298 if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval
.ttype
))
5299 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
5303 #line 1073 "parse.y"
5304 { yyval
.code
= NEGATE_EXPR
; ;
5307 #line 1075 "parse.y"
5308 { yyval
.code
= CONVERT_EXPR
; ;
5311 #line 1077 "parse.y"
5312 { yyval
.code
= PREINCREMENT_EXPR
; ;
5315 #line 1079 "parse.y"
5316 { yyval
.code
= PREDECREMENT_EXPR
; ;
5319 #line 1081 "parse.y"
5320 { yyval
.code
= TRUTH_NOT_EXPR
; ;
5323 #line 1086 "parse.y"
5324 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
5327 #line 1092 "parse.y"
5328 { error ("ISO C++ forbids an empty condition for `%s'",
5330 yyval
.ttype
= integer_zero_node
; ;
5333 #line 1096 "parse.y"
5334 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5337 #line 1101 "parse.y"
5338 { error ("ISO C++ forbids an empty condition for `%s'",
5340 yyval
.ttype
= integer_zero_node
; ;
5343 #line 1105 "parse.y"
5344 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5347 #line 1110 "parse.y"
5348 { yyval
.ttype
= NULL_TREE
; ;
5351 #line 1113 "parse.y"
5352 { yyval
.ttype
= NULL_TREE
; ;
5355 #line 1118 "parse.y"
5358 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
5359 if (TREE_CODE (d
) == TYPE_DECL
) {
5360 tree s
= TREE_TYPE (d
);
5361 if (TREE_CODE (s
) == RECORD_TYPE
)
5362 cp_error ("definition of class `%T' in condition", s
);
5363 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
5364 cp_error ("definition of enum `%T' in condition", s
);
5367 current_declspecs
= yyvsp
[-4].ftype
.t
;
5368 yyval
.ttype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1);
5372 #line 1133 "parse.y"
5374 parse_end_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
);
5375 yyval
.ttype
= convert_from_reference (yyvsp
[-1].ttype
);
5376 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
5377 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
5381 #line 1151 "parse.y"
5382 { yyval
.ttype
= begin_compound_stmt (1); ;
5385 #line 1153 "parse.y"
5386 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
5389 #line 1160 "parse.y"
5390 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5391 build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5394 #line 1163 "parse.y"
5395 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5396 build_tree_list (NULL_TREE
, error_mark_node
)); ;
5399 #line 1166 "parse.y"
5400 { chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5403 #line 1168 "parse.y"
5404 { chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, error_mark_node
)); ;
5407 #line 1173 "parse.y"
5408 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5411 #line 1179 "parse.y"
5412 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5415 #line 1182 "parse.y"
5416 { yyval
.ttype
= yyvsp
[0].ttype
;
5417 pedantic
= yyvsp
[-1].itype
; ;
5420 #line 1185 "parse.y"
5421 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
5424 #line 1187 "parse.y"
5425 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5428 #line 1189 "parse.y"
5429 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5432 #line 1191 "parse.y"
5433 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5436 #line 1194 "parse.y"
5438 pedwarn ("ISO C++ forbids `&&'");
5439 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
5442 #line 1198 "parse.y"
5443 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
5446 #line 1200 "parse.y"
5447 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
));
5448 check_for_new_type ("sizeof", yyvsp
[-1].ftype
); ;
5451 #line 1203 "parse.y"
5452 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
5455 #line 1205 "parse.y"
5456 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
5457 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
5460 #line 1211 "parse.y"
5461 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
5462 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5465 #line 1214 "parse.y"
5466 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
5467 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5470 #line 1217 "parse.y"
5471 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
5472 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5475 #line 1220 "parse.y"
5476 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
5477 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5480 #line 1224 "parse.y"
5481 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
5482 NULL_TREE
, yyvsp
[-3].itype
);
5483 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5486 #line 1228 "parse.y"
5487 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
5488 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5491 #line 1231 "parse.y"
5492 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
5493 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5496 #line 1234 "parse.y"
5497 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
5498 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5501 #line 1238 "parse.y"
5502 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5505 #line 1240 "parse.y"
5506 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5507 if (yychar
== YYEMPTY
)
5511 #line 1244 "parse.y"
5512 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5513 if (yychar
== YYEMPTY
)
5517 #line 1248 "parse.y"
5518 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5521 #line 1250 "parse.y"
5522 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
5525 #line 1252 "parse.y"
5526 { yyval
.ttype
= build_x_va_arg (yyvsp
[-3].ttype
, groktypename (yyvsp
[-1].ftype
.t
));
5527 check_for_new_type ("__builtin_va_arg", yyvsp
[-1].ftype
); ;
5530 #line 1258 "parse.y"
5531 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5534 #line 1260 "parse.y"
5535 { cp_pedwarn ("old style placement syntax, use () instead");
5536 yyval
.ttype
= yyvsp
[-1].ttype
; ;
5539 #line 1266 "parse.y"
5540 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5543 #line 1268 "parse.y"
5544 { yyval
.ttype
= NULL_TREE
; ;
5547 #line 1270 "parse.y"
5549 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5550 yyval
.ttype
= error_mark_node
;
5554 #line 1278 "parse.y"
5557 pedwarn ("ISO C++ forbids initialization of new expression with `='");
5558 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5559 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5560 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
);
5562 yyval
.ttype
= yyvsp
[0].ttype
;
5566 #line 1292 "parse.y"
5567 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5568 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5569 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5572 #line 1296 "parse.y"
5573 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5574 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5575 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5578 #line 1304 "parse.y"
5579 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5582 #line 1306 "parse.y"
5584 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5585 nreverse (yyvsp
[-2].ttype
));
5587 pedwarn ("ISO C++ forbids constructor-expressions");
5588 /* Indicate that this was a GNU C constructor expression. */
5589 TREE_HAS_CONSTRUCTOR (init
) = 1;
5591 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5595 #line 1322 "parse.y"
5596 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5599 #line 1324 "parse.y"
5600 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5603 #line 1326 "parse.y"
5604 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5607 #line 1328 "parse.y"
5608 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5611 #line 1330 "parse.y"
5612 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5615 #line 1332 "parse.y"
5616 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5619 #line 1334 "parse.y"
5620 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5623 #line 1336 "parse.y"
5624 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5627 #line 1338 "parse.y"
5628 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5631 #line 1340 "parse.y"
5632 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5635 #line 1342 "parse.y"
5636 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5639 #line 1344 "parse.y"
5640 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5643 #line 1346 "parse.y"
5644 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5647 #line 1348 "parse.y"
5648 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5651 #line 1350 "parse.y"
5652 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5655 #line 1352 "parse.y"
5656 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5659 #line 1354 "parse.y"
5660 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5663 #line 1356 "parse.y"
5664 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5667 #line 1358 "parse.y"
5668 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5671 #line 1360 "parse.y"
5672 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5675 #line 1362 "parse.y"
5676 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5677 if (yyval
.ttype
!= error_mark_node
)
5678 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5681 #line 1366 "parse.y"
5682 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5685 #line 1368 "parse.y"
5686 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5689 #line 1370 "parse.y"
5690 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5693 #line 1388 "parse.y"
5694 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5697 #line 1390 "parse.y"
5698 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5701 #line 1399 "parse.y"
5703 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5704 means that we're in an expression like S::f<int>, so
5705 don't do_identifier; we only do that for unqualified
5707 if (lastiddecl
&& TREE_CODE (lastiddecl
) != TREE_LIST
)
5708 yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
);
5710 yyval
.ttype
= yyvsp
[-1].ttype
;
5714 #line 1412 "parse.y"
5715 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5718 #line 1414 "parse.y"
5719 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5722 #line 1419 "parse.y"
5723 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5726 #line 1421 "parse.y"
5727 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5730 #line 1424 "parse.y"
5731 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5734 #line 1436 "parse.y"
5736 /* Provide support for '(' attributes '*' declarator ')'
5738 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5742 #line 1446 "parse.y"
5743 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5746 #line 1448 "parse.y"
5747 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5750 #line 1450 "parse.y"
5751 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5754 #line 1455 "parse.y"
5755 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5758 #line 1457 "parse.y"
5759 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5762 #line 1467 "parse.y"
5763 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5766 #line 1472 "parse.y"
5768 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5769 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5771 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5775 #line 1481 "parse.y"
5777 yyval
.ttype
= combine_strings (yyval
.ttype
);
5778 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5779 a const array the way we want, so fix it. */
5780 if (flag_const_strings
)
5781 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5782 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5783 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5787 #line 1491 "parse.y"
5788 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5791 #line 1493 "parse.y"
5792 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5793 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5796 #line 1496 "parse.y"
5797 { yyval
.ttype
= error_mark_node
; ;
5800 #line 1498 "parse.y"
5801 { tree scope
= current_scope ();
5802 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5804 error ("braced-group within expression allowed only inside a function");
5808 pedwarn ("ISO C++ forbids braced-groups within expressions");
5809 yyval
.ttype
= begin_stmt_expr ();
5813 #line 1509 "parse.y"
5814 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
); ;
5817 #line 1514 "parse.y"
5818 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5821 #line 1516 "parse.y"
5822 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5825 #line 1518 "parse.y"
5826 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5829 #line 1520 "parse.y"
5830 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5833 #line 1522 "parse.y"
5834 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5837 #line 1524 "parse.y"
5838 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5841 #line 1526 "parse.y"
5842 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5845 #line 1529 "parse.y"
5846 { yyval
.ttype
= finish_this_expr (); ;
5849 #line 1531 "parse.y"
5851 /* This is a C cast in C++'s `functional' notation
5852 using the "implicit int" extension so that:
5853 `const (3)' is equivalent to `const int (3)'. */
5856 type
= hash_tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, NULL_TREE
);
5857 type
= groktypename (build_decl_list (type
, NULL_TREE
));
5858 yyval
.ttype
= build_functional_cast (type
, yyvsp
[-1].ttype
);
5862 #line 1543 "parse.y"
5863 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5864 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5865 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5868 #line 1547 "parse.y"
5869 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5870 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5871 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5874 #line 1551 "parse.y"
5875 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5876 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5877 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5880 #line 1555 "parse.y"
5881 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5882 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5883 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5886 #line 1559 "parse.y"
5887 { yyval
.ttype
= build_typeid (yyvsp
[-1].ttype
); ;
5890 #line 1561 "parse.y"
5891 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5892 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5893 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5896 #line 1565 "parse.y"
5897 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5900 #line 1567 "parse.y"
5901 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5904 #line 1569 "parse.y"
5906 got_scope
= NULL_TREE
;
5907 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5908 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5910 yyval
.ttype
= yyvsp
[0].ttype
;
5914 #line 1577 "parse.y"
5915 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5918 #line 1579 "parse.y"
5919 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5922 #line 1581 "parse.y"
5923 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5926 #line 1583 "parse.y"
5928 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5932 #line 1587 "parse.y"
5933 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5936 #line 1589 "parse.y"
5937 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5940 #line 1591 "parse.y"
5941 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5944 #line 1593 "parse.y"
5945 { if (processing_template_decl
)
5946 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5948 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5951 #line 1598 "parse.y"
5952 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5955 #line 1600 "parse.y"
5956 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5959 #line 1602 "parse.y"
5960 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5963 #line 1604 "parse.y"
5964 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5967 #line 1607 "parse.y"
5968 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5971 #line 1609 "parse.y"
5972 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5975 #line 1611 "parse.y"
5977 yyval
.ttype
= error_mark_node
;
5981 #line 1656 "parse.y"
5982 { yyval
.itype
= 0; ;
5985 #line 1658 "parse.y"
5986 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5989 #line 1663 "parse.y"
5990 { yyval
.itype
= 0; ;
5993 #line 1665 "parse.y"
5994 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5997 #line 1670 "parse.y"
5998 { yyval
.ttype
= boolean_true_node
; ;
6001 #line 1672 "parse.y"
6002 { yyval
.ttype
= boolean_false_node
; ;
6005 #line 1679 "parse.y"
6006 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6009 #line 1684 "parse.y"
6011 if (! current_function_parms_stored
)
6012 store_parm_decls ();
6013 setup_vtbl_ptr (NULL_TREE
, NULL_TREE
);
6017 #line 1693 "parse.y"
6018 { got_object
= TREE_TYPE (yyval
.ttype
); ;
6021 #line 1695 "parse.y"
6023 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
6024 got_object
= TREE_TYPE (yyval
.ttype
);
6028 #line 1703 "parse.y"
6030 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
6031 note_got_semicolon (yyvsp
[-2].ftype
.t
);
6035 #line 1708 "parse.y"
6037 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
6041 #line 1712 "parse.y"
6045 #line 1714 "parse.y"
6047 shadow_tag (yyvsp
[-1].ftype
.t
);
6048 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
6052 #line 1719 "parse.y"
6053 { warning ("empty declaration"); ;
6056 #line 1721 "parse.y"
6057 { pedantic
= yyvsp
[-1].itype
; ;
6060 #line 1735 "parse.y"
6061 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
6062 NULL_TREE
, NULL_TREE
); ;
6065 #line 1738 "parse.y"
6066 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
6070 #line 1745 "parse.y"
6071 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6072 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6075 #line 1748 "parse.y"
6076 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6077 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6080 #line 1751 "parse.y"
6081 { yyval
.ftype
.t
= build_decl_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
6083 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6086 #line 1755 "parse.y"
6087 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6088 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6091 #line 1758 "parse.y"
6092 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6093 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6096 #line 1769 "parse.y"
6097 { yyval
.ftype
.lookups
= type_lookups
; ;
6100 #line 1771 "parse.y"
6101 { yyval
.ftype
.lookups
= type_lookups
; ;
6104 #line 1776 "parse.y"
6105 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
6106 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6109 #line 1779 "parse.y"
6110 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6111 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6114 #line 1782 "parse.y"
6115 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
6116 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
6119 #line 1785 "parse.y"
6120 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
6121 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6124 #line 1788 "parse.y"
6125 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
6126 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6129 #line 1791 "parse.y"
6130 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
6131 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ftype
.t
)));
6132 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
6135 #line 1798 "parse.y"
6136 { if (extra_warnings
)
6137 warning ("`%s' is not at beginning of declaration",
6138 IDENTIFIER_POINTER (yyval
.ttype
));
6139 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
6142 #line 1803 "parse.y"
6143 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
6146 #line 1805 "parse.y"
6147 { if (extra_warnings
)
6148 warning ("`%s' is not at beginning of declaration",
6149 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
6150 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6153 #line 1810 "parse.y"
6154 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6157 #line 1812 "parse.y"
6158 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
6161 #line 1831 "parse.y"
6162 { yyval
.ftype
.lookups
= NULL_TREE
; TREE_STATIC (yyval
.ftype
.t
) = 1; ;
6165 #line 1833 "parse.y"
6167 yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
6168 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
;
6172 #line 1838 "parse.y"
6174 yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6175 TREE_STATIC (yyval
.ftype
.t
) = 1;
6179 #line 1843 "parse.y"
6181 if (extra_warnings
&& TREE_STATIC (yyval
.ftype
.t
))
6182 warning ("`%s' is not at beginning of declaration",
6183 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
6184 yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6185 TREE_STATIC (yyval
.ftype
.t
) = TREE_STATIC (yyvsp
[-1].ftype
.t
);
6189 #line 1851 "parse.y"
6190 { yyval
.ftype
.t
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
6193 #line 1853 "parse.y"
6195 yyval
.ftype
.t
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
6196 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
;
6200 #line 1867 "parse.y"
6201 { yyval
.ftype
.t
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
6202 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6205 #line 1870 "parse.y"
6206 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
6207 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6210 #line 1873 "parse.y"
6211 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6212 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6215 #line 1876 "parse.y"
6216 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
6217 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6220 #line 1882 "parse.y"
6221 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
6224 #line 1884 "parse.y"
6225 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
6228 #line 1893 "parse.y"
6229 { yyval
.ftype
.lookups
= NULL_TREE
; ;
6232 #line 1895 "parse.y"
6233 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
; ;
6236 #line 1897 "parse.y"
6237 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
; ;
6240 #line 1899 "parse.y"
6241 { yyval
.ftype
.t
= finish_typeof (yyvsp
[-1].ttype
);
6242 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
; ;
6245 #line 1902 "parse.y"
6246 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
6247 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
; ;
6250 #line 1905 "parse.y"
6251 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
6253 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
;
6254 if (IS_AGGR_TYPE (type
))
6256 sorry ("sigof type specifier");
6257 yyval
.ftype
.t
= type
;
6261 error ("`sigof' applied to non-aggregate expression");
6262 yyval
.ftype
.t
= error_mark_node
;
6267 #line 1920 "parse.y"
6268 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
6270 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
;
6271 if (IS_AGGR_TYPE (type
))
6273 sorry ("sigof type specifier");
6274 yyval
.ftype
.t
= type
;
6278 error("`sigof' applied to non-aggregate type");
6279 yyval
.ftype
.t
= error_mark_node
;
6284 #line 1940 "parse.y"
6285 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6288 #line 1942 "parse.y"
6289 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6292 #line 1949 "parse.y"
6293 { check_multiple_declarators (); ;
6296 #line 1955 "parse.y"
6297 { check_multiple_declarators (); ;
6300 #line 1961 "parse.y"
6301 { check_multiple_declarators (); ;
6304 #line 1966 "parse.y"
6305 { yyval
.ttype
= NULL_TREE
; ;
6308 #line 1968 "parse.y"
6309 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6312 #line 1973 "parse.y"
6313 { yyval
.ttype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
6316 #line 1976 "parse.y"
6317 { parse_end_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
6320 #line 1978 "parse.y"
6322 yyval
.ttype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, 0);
6323 parse_end_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
);
6327 #line 1992 "parse.y"
6328 { yyval
.ttype
= parse_decl0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
,
6329 yyvsp
[-4].ftype
.lookups
, yyvsp
[-1].ttype
, 1); ;
6332 #line 1997 "parse.y"
6333 { parse_end_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
6336 #line 1999 "parse.y"
6337 { tree d
= parse_decl0 (yyvsp
[-2].ttype
, yyvsp
[-3].ftype
.t
,
6338 yyvsp
[-3].ftype
.lookups
, yyvsp
[0].ttype
, 0);
6339 parse_end_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6342 #line 2006 "parse.y"
6346 #line 2011 "parse.y"
6350 #line 2016 "parse.y"
6351 { /* Set things up as initdcl0_innards expects. */
6352 yyvsp
[0].ttype
= yyvsp
[-1].ttype
;
6353 yyvsp
[-1].ttype
= NULL_TREE
; ;
6356 #line 2020 "parse.y"
6360 #line 2022 "parse.y"
6361 { tree d
= parse_decl0 (yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
, 0);
6362 parse_end_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6365 #line 2030 "parse.y"
6366 { yyval
.ttype
= NULL_TREE
; ;
6369 #line 2032 "parse.y"
6370 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6373 #line 2037 "parse.y"
6374 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6377 #line 2039 "parse.y"
6378 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6381 #line 2044 "parse.y"
6382 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
6385 #line 2049 "parse.y"
6386 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6389 #line 2051 "parse.y"
6390 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6393 #line 2056 "parse.y"
6394 { yyval
.ttype
= NULL_TREE
; ;
6397 #line 2058 "parse.y"
6398 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
6401 #line 2060 "parse.y"
6402 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
6405 #line 2062 "parse.y"
6406 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
6409 #line 2064 "parse.y"
6410 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6413 #line 2080 "parse.y"
6414 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
6417 #line 2082 "parse.y"
6418 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
6421 #line 2087 "parse.y"
6422 { yyval
.ttype
= NULL_TREE
; ;
6425 #line 2089 "parse.y"
6426 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6429 #line 2097 "parse.y"
6430 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6431 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6434 #line 2100 "parse.y"
6435 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6436 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6439 #line 2103 "parse.y"
6440 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6441 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6444 #line 2106 "parse.y"
6445 { yyval
.ttype
= NULL_TREE
; ;
6448 #line 2113 "parse.y"
6449 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6452 #line 2115 "parse.y"
6453 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6456 #line 2118 "parse.y"
6457 { yyval
.ttype
= build_tree_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6460 #line 2120 "parse.y"
6461 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6464 #line 2122 "parse.y"
6465 { yyval
.ttype
= tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6468 #line 2127 "parse.y"
6469 { start_function (NULL_TREE
, yyvsp
[0].pi
->fndecl
, NULL_TREE
,
6470 (SF_DEFAULT
| SF_PRE_PARSED
6471 | SF_INCLASS_INLINE
)); ;
6474 #line 2133 "parse.y"
6476 expand_body (finish_function ((int)yyvsp
[-1].itype
| 2));
6477 process_next_inline (yyvsp
[-3].pi
);
6481 #line 2138 "parse.y"
6483 expand_body (finish_function ((int)yyvsp
[0].itype
| 2));
6484 process_next_inline (yyvsp
[-2].pi
);
6488 #line 2143 "parse.y"
6490 finish_function (2);
6491 process_next_inline (yyvsp
[-2].pi
); ;
6494 #line 2157 "parse.y"
6495 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6498 #line 2159 "parse.y"
6499 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6502 #line 2164 "parse.y"
6503 { do_pending_defargs (); ;
6506 #line 2166 "parse.y"
6507 { do_pending_defargs (); ;
6510 #line 2171 "parse.y"
6511 { yyval
.ttype
= current_enum_type
;
6512 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
6515 #line 2174 "parse.y"
6516 { yyval
.ftype
.t
= finish_enum (current_enum_type
);
6517 yyval
.ftype
.new_type_flag
= 1;
6518 current_enum_type
= yyvsp
[-2].ttype
;
6519 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6522 #line 2179 "parse.y"
6523 { yyval
.ttype
= current_enum_type
;
6524 current_enum_type
= start_enum (make_anon_name ()); ;
6527 #line 2182 "parse.y"
6528 { yyval
.ftype
.t
= finish_enum (current_enum_type
);
6529 yyval
.ftype
.new_type_flag
= 1;
6530 current_enum_type
= yyvsp
[-2].ttype
;
6531 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6534 #line 2187 "parse.y"
6535 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6536 yyval
.ftype
.new_type_flag
= 0; ;
6539 #line 2190 "parse.y"
6540 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6541 yyval
.ftype
.new_type_flag
= 0; ;
6544 #line 2193 "parse.y"
6545 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6546 yyval
.ftype
.new_type_flag
= 0;
6547 if (!processing_template_decl
)
6548 cp_pedwarn ("using `typename' outside of template"); ;
6551 #line 2199 "parse.y"
6552 { yyvsp
[-1].ftype
.t
= begin_class_definition (yyvsp
[-1].ftype
.t
); ;
6555 #line 2201 "parse.y"
6559 if (yychar
== YYEMPTY
)
6561 semi
= yychar
== ';';
6563 yyval
.ttype
= finish_class_definition (yyvsp
[-5].ftype
.t
, yyvsp
[0].ttype
, semi
,
6564 yyvsp
[-5].ftype
.new_type_flag
);
6568 #line 2212 "parse.y"
6570 begin_inline_definitions ();
6574 #line 2216 "parse.y"
6576 finish_inline_definitions ();
6577 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6578 yyval
.ftype
.new_type_flag
= 1;
6582 #line 2222 "parse.y"
6584 if (yyvsp
[0].ftype
.new_type_flag
&& yyvsp
[0].ftype
.t
!= error_mark_node
)
6585 pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp
[0].ftype
.t
)));
6586 yyval
.ftype
.new_type_flag
= 0;
6587 if (yyvsp
[0].ftype
.t
== error_mark_node
)
6588 yyval
.ftype
.t
= yyvsp
[0].ftype
.t
;
6589 else if (TYPE_BINFO (yyvsp
[0].ftype
.t
) == NULL_TREE
)
6591 cp_error ("%T is not a class type", yyvsp
[0].ftype
.t
);
6592 yyval
.ftype
.t
= error_mark_node
;
6596 yyval
.ftype
.t
= yyvsp
[0].ftype
.t
;
6597 /* struct B: public A; is not accepted by the standard grammar. */
6598 if (CLASS_TYPE_P (yyval
.ftype
.t
)
6599 && TYPE_BINFO_BASETYPES (yyval
.ftype
.t
)
6600 && !COMPLETE_TYPE_P (yyval
.ftype
.t
)
6601 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6602 cp_error ("base clause without member specification for `%#T'",
6608 #line 2255 "parse.y"
6609 { if (pedantic
&& !in_system_header
)
6610 pedwarn ("comma at end of enumerator list"); ;
6613 #line 2262 "parse.y"
6614 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6617 #line 2264 "parse.y"
6618 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6621 #line 2266 "parse.y"
6622 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6625 #line 2268 "parse.y"
6626 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6629 #line 2270 "parse.y"
6630 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6633 #line 2275 "parse.y"
6635 current_aggr
= yyvsp
[-1].ttype
;
6636 yyval
.ttype
= yyvsp
[0].ttype
;
6640 #line 2283 "parse.y"
6641 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6644 #line 2285 "parse.y"
6645 { yyungetc ('{', 1); ;
6648 #line 2287 "parse.y"
6649 { yyungetc (':', 1); ;
6652 #line 2292 "parse.y"
6654 current_aggr
= yyvsp
[-2].ttype
;
6655 yyval
.ftype
.t
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6656 yyval
.ftype
.new_type_flag
= 1;
6660 #line 2298 "parse.y"
6662 current_aggr
= yyvsp
[-3].ttype
;
6663 yyval
.ftype
.t
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6664 yyval
.ftype
.new_type_flag
= 1;
6668 #line 2304 "parse.y"
6670 current_aggr
= yyvsp
[-2].ttype
;
6671 yyval
.ftype
.t
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6672 yyval
.ftype
.new_type_flag
= 1;
6676 #line 2310 "parse.y"
6678 current_aggr
= yyvsp
[-1].ttype
;
6679 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6680 yyval
.ftype
.new_type_flag
= 0;
6684 #line 2316 "parse.y"
6686 current_aggr
= yyvsp
[-2].ttype
;
6687 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6688 if (CP_DECL_CONTEXT (yyval
.ftype
.t
))
6689 push_scope (CP_DECL_CONTEXT (yyval
.ftype
.t
));
6690 yyval
.ftype
.new_type_flag
= 1;
6694 #line 2327 "parse.y"
6696 yyval
.ftype
.t
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1);
6697 yyval
.ftype
.new_type_flag
= 0;
6701 #line 2332 "parse.y"
6702 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6705 #line 2336 "parse.y"
6707 yyval
.ftype
.t
= yyvsp
[-1].ttype
;
6708 yyval
.ftype
.new_type_flag
= 0;
6710 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6714 #line 2344 "parse.y"
6716 if (yyvsp
[-1].ftype
.t
!= error_mark_node
)
6718 yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ftype
.t
);
6719 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
6720 if (current_aggr
== union_type_node
6721 && TREE_CODE (yyval
.ftype
.t
) != UNION_TYPE
)
6722 cp_pedwarn ("`union' tag used in declaring `%#T'",
6724 else if (TREE_CODE (yyval
.ftype
.t
) == UNION_TYPE
6725 && current_aggr
!= union_type_node
)
6726 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ftype
);
6727 else if (TREE_CODE (yyval
.ftype
.t
) == RECORD_TYPE
)
6728 /* We might be specializing a template with a different
6730 CLASSTYPE_DECLARED_CLASS (yyval
.ftype
.t
)
6731 = (current_aggr
== class_type_node
);
6734 maybe_process_partial_specialization (yyval
.ftype
.t
);
6735 xref_basetypes (current_aggr
, yyvsp
[-1].ftype
.t
, yyval
.ftype
.t
, yyvsp
[0].ttype
);
6741 #line 2372 "parse.y"
6742 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6743 yyungetc ('{', 1); ;
6746 #line 2382 "parse.y"
6748 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6749 yyval
.ftype
.new_type_flag
= 0;
6753 #line 2391 "parse.y"
6754 { yyval
.ttype
= NULL_TREE
; ;
6757 #line 2393 "parse.y"
6758 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6761 #line 2395 "parse.y"
6762 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6765 #line 2401 "parse.y"
6766 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6769 #line 2406 "parse.y"
6770 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
); ;
6773 #line 2408 "parse.y"
6774 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6777 #line 2413 "parse.y"
6778 { if (yyval
.ttype
== error_mark_node
)
6780 else if (!TYPE_P (yyval
.ttype
))
6781 yyval
.ttype
= error_mark_node
;
6783 yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6786 #line 2425 "parse.y"
6787 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6788 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6789 yyval
.ttype
= access_default_virtual_node
; ;
6792 #line 2429 "parse.y"
6794 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6795 error ("multiple access specifiers");
6796 else if (yyvsp
[-1].ttype
== access_public_node
)
6797 yyval
.ttype
= access_public_virtual_node
;
6798 else if (yyvsp
[-1].ttype
== access_protected_node
)
6799 yyval
.ttype
= access_protected_virtual_node
;
6800 else /* $2 == access_private_node */
6801 yyval
.ttype
= access_private_virtual_node
;
6805 #line 2440 "parse.y"
6806 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6807 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6808 else if (yyval
.ttype
== access_public_node
)
6809 yyval
.ttype
= access_public_virtual_node
;
6810 else if (yyval
.ttype
== access_protected_node
)
6811 yyval
.ttype
= access_protected_virtual_node
;
6812 else if (yyval
.ttype
== access_private_node
)
6813 yyval
.ttype
= access_private_virtual_node
;
6815 error ("multiple `virtual' specifiers");
6819 #line 2461 "parse.y"
6821 current_access_specifier
= yyvsp
[-1].ttype
;
6825 #line 2470 "parse.y"
6827 finish_member_declaration (yyvsp
[0].ttype
);
6831 #line 2474 "parse.y"
6833 finish_member_declaration (yyvsp
[0].ttype
);
6837 #line 2482 "parse.y"
6838 { error ("missing ';' before right brace");
6839 yyungetc ('}', 0); ;
6842 #line 2487 "parse.y"
6843 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6846 #line 2489 "parse.y"
6847 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6850 #line 2491 "parse.y"
6851 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6854 #line 2493 "parse.y"
6855 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6858 #line 2495 "parse.y"
6859 { yyval
.ttype
= NULL_TREE
; ;
6862 #line 2497 "parse.y"
6863 { yyval
.ttype
= yyvsp
[0].ttype
;
6864 pedantic
= yyvsp
[-1].itype
; ;
6867 #line 2500 "parse.y"
6870 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6872 /* The component was already processed. */
6873 yyval
.ttype
= NULL_TREE
;
6875 finish_template_decl (yyvsp
[-1].ttype
);
6879 #line 2510 "parse.y"
6881 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
6882 finish_template_decl (yyvsp
[-2].ttype
);
6886 #line 2521 "parse.y"
6888 /* Most of the productions for component_decl only
6889 allow the creation of one new member, so we call
6890 finish_member_declaration in component_decl_list.
6891 For this rule and the next, however, there can be
6892 more than one member, e.g.:
6896 and we need the first member to be fully
6897 registered before the second is processed.
6898 Therefore, the rules for components take care of
6899 this processing. To avoid registering the
6900 components more than once, we send NULL_TREE up
6901 here; that lets finish_member_declaration know
6902 that there is nothing to do. */
6903 if (!yyvsp
[0].itype
)
6904 grok_x_components (yyvsp
[-1].ftype
.t
);
6905 yyval
.ttype
= NULL_TREE
;
6909 #line 2542 "parse.y"
6911 if (!yyvsp
[0].itype
)
6912 grok_x_components (yyvsp
[-1].ftype
.t
);
6913 yyval
.ttype
= NULL_TREE
;
6917 #line 2548 "parse.y"
6918 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6919 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6922 #line 2551 "parse.y"
6923 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6924 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6927 #line 2554 "parse.y"
6928 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6931 #line 2556 "parse.y"
6932 { yyval
.ttype
= NULL_TREE
; ;
6935 #line 2567 "parse.y"
6936 { tree specs
, attrs
;
6937 split_specs_attrs (yyvsp
[-4].ftype
.t
, &specs
, &attrs
);
6938 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6939 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6942 #line 2572 "parse.y"
6943 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6944 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6947 #line 2575 "parse.y"
6948 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6951 #line 2581 "parse.y"
6952 { yyval
.itype
= 0; ;
6955 #line 2583 "parse.y"
6957 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6958 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6959 finish_member_declaration (yyvsp
[0].ttype
);
6964 #line 2590 "parse.y"
6966 check_multiple_declarators ();
6967 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6968 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6969 finish_member_declaration (yyvsp
[0].ttype
);
6974 #line 2601 "parse.y"
6975 { yyval
.itype
= 0; ;
6978 #line 2603 "parse.y"
6980 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6981 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6982 finish_member_declaration (yyvsp
[0].ttype
);
6987 #line 2610 "parse.y"
6989 check_multiple_declarators ();
6990 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6991 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6992 finish_member_declaration (yyvsp
[0].ttype
);
6997 #line 2631 "parse.y"
6998 { yyval
.ttype
= parse_field0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
6999 yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7002 #line 2634 "parse.y"
7003 { yyval
.ttype
= parse_bitfield0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7004 yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7007 #line 2640 "parse.y"
7008 { yyval
.ttype
= parse_field0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7009 yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7012 #line 2643 "parse.y"
7013 { yyval
.ttype
= parse_field0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7014 yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7017 #line 2646 "parse.y"
7018 { yyval
.ttype
= parse_bitfield0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7019 yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7022 #line 2649 "parse.y"
7023 { yyval
.ttype
= parse_bitfield0 (NULL_TREE
, yyvsp
[-3].ftype
.t
,
7024 yyvsp
[-3].ftype
.lookups
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7027 #line 2655 "parse.y"
7028 { yyval
.ttype
= parse_field (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7031 #line 2657 "parse.y"
7032 { yyval
.ttype
= parse_bitfield (yyvsp
[-3].ttype
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7035 #line 2662 "parse.y"
7036 { yyval
.ttype
= parse_field (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7039 #line 2664 "parse.y"
7040 { yyval
.ttype
= parse_bitfield (yyvsp
[-3].ttype
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7043 #line 2666 "parse.y"
7044 { yyval
.ttype
= parse_bitfield (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7047 #line 2685 "parse.y"
7048 { build_enumerator (yyvsp
[0].ttype
, NULL_TREE
, current_enum_type
); ;
7051 #line 2687 "parse.y"
7052 { build_enumerator (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
7055 #line 2693 "parse.y"
7056 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7057 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7060 #line 2696 "parse.y"
7061 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
7062 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7065 #line 2701 "parse.y"
7068 pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new");
7069 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
7070 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
7071 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
7075 #line 2712 "parse.y"
7076 { yyval
.ttype
= NULL_TREE
; ;
7079 #line 2714 "parse.y"
7080 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7083 #line 2719 "parse.y"
7084 { yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
7085 yyval
.ftype
.new_type_flag
= 0; ;
7088 #line 2722 "parse.y"
7089 { yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7090 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7093 #line 2732 "parse.y"
7094 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7097 #line 2734 "parse.y"
7098 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7101 #line 2736 "parse.y"
7102 { yyval
.ttype
= empty_parms (); ;
7105 #line 2738 "parse.y"
7106 { yyval
.ttype
= NULL_TREE
; ;
7109 #line 2746 "parse.y"
7111 /* Provide support for '(' attributes '*' declarator ')'
7113 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7117 #line 2756 "parse.y"
7118 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7121 #line 2758 "parse.y"
7122 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7125 #line 2760 "parse.y"
7126 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7129 #line 2762 "parse.y"
7130 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7133 #line 2764 "parse.y"
7134 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7135 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7139 #line 2772 "parse.y"
7140 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7143 #line 2774 "parse.y"
7144 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7147 #line 2776 "parse.y"
7148 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7151 #line 2778 "parse.y"
7152 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7155 #line 2780 "parse.y"
7156 { push_nested_class (yyvsp
[-1].ttype
, 3);
7157 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
7158 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
7161 #line 2788 "parse.y"
7163 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7165 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
7166 maybe_note_name_used_in_class (yyvsp
[0].ttype
, yyval
.ttype
);
7169 yyval
.ttype
= yyvsp
[0].ttype
;
7173 #line 2798 "parse.y"
7175 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7176 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7178 yyval
.ttype
= yyvsp
[0].ttype
;
7179 got_scope
= NULL_TREE
;
7183 #line 2811 "parse.y"
7184 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7187 #line 2816 "parse.y"
7188 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
7191 #line 2825 "parse.y"
7193 /* Provide support for '(' attributes '*' declarator ')'
7195 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7199 #line 2834 "parse.y"
7200 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7203 #line 2836 "parse.y"
7204 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7207 #line 2838 "parse.y"
7208 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7211 #line 2840 "parse.y"
7212 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7215 #line 2842 "parse.y"
7216 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7217 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7221 #line 2850 "parse.y"
7222 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7225 #line 2852 "parse.y"
7226 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7229 #line 2854 "parse.y"
7230 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7233 #line 2856 "parse.y"
7234 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7237 #line 2858 "parse.y"
7238 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7239 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7243 #line 2866 "parse.y"
7244 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7247 #line 2868 "parse.y"
7248 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7251 #line 2870 "parse.y"
7252 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7255 #line 2872 "parse.y"
7256 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7259 #line 2874 "parse.y"
7260 { enter_scope_of (yyvsp
[0].ttype
); ;
7263 #line 2876 "parse.y"
7264 { enter_scope_of (yyvsp
[0].ttype
); yyval
.ttype
= yyvsp
[0].ttype
;;
7267 #line 2878 "parse.y"
7268 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
);
7269 enter_scope_of (yyval
.ttype
);
7273 #line 2882 "parse.y"
7274 { got_scope
= NULL_TREE
;
7275 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7276 enter_scope_of (yyval
.ttype
);
7280 #line 2890 "parse.y"
7281 { got_scope
= NULL_TREE
;
7282 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7285 #line 2893 "parse.y"
7286 { got_scope
= NULL_TREE
;
7287 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7290 #line 2899 "parse.y"
7291 { got_scope
= NULL_TREE
;
7292 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7295 #line 2902 "parse.y"
7296 { got_scope
= NULL_TREE
;
7297 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7300 #line 2909 "parse.y"
7301 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7304 #line 2914 "parse.y"
7305 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7308 #line 2916 "parse.y"
7309 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7312 #line 2918 "parse.y"
7313 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7316 #line 2930 "parse.y"
7317 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7320 #line 2932 "parse.y"
7321 { got_scope
= yyval
.ttype
7322 = make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7325 #line 2940 "parse.y"
7327 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7329 yyval
.ttype
= lastiddecl
;
7330 maybe_note_name_used_in_class (yyvsp
[-1].ttype
, yyval
.ttype
);
7332 got_scope
= yyval
.ttype
=
7333 complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
)));
7337 #line 2950 "parse.y"
7339 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7340 yyval
.ttype
= lastiddecl
;
7341 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7345 #line 2956 "parse.y"
7347 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7348 yyval
.ttype
= lastiddecl
;
7349 got_scope
= yyval
.ttype
;
7353 #line 2962 "parse.y"
7354 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7357 #line 2978 "parse.y"
7358 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7361 #line 2983 "parse.y"
7363 if (TYPE_P (yyvsp
[-1].ttype
))
7364 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1);
7365 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7366 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7369 yyval
.ttype
= yyvsp
[0].ttype
;
7370 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7371 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7376 #line 2996 "parse.y"
7377 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
7380 #line 2998 "parse.y"
7381 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1); ;
7384 #line 3000 "parse.y"
7385 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, /*complain=*/1); ;
7388 #line 3005 "parse.y"
7390 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7391 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7395 #line 3010 "parse.y"
7397 if (TYPE_P (yyvsp
[-1].ttype
))
7398 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1);
7399 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7400 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7403 yyval
.ttype
= yyvsp
[0].ttype
;
7404 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7405 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7410 #line 3023 "parse.y"
7411 { got_scope
= yyval
.ttype
7412 = make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7415 #line 3026 "parse.y"
7416 { got_scope
= yyval
.ttype
7417 = make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7420 #line 3032 "parse.y"
7422 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7423 yyvsp
[-1].ttype
= lastiddecl
;
7425 /* Retrieve the type for the identifier, which might involve
7426 some computation. */
7427 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
7429 if (yyval
.ttype
== error_mark_node
)
7430 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7434 #line 3044 "parse.y"
7436 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7437 yyval
.ttype
= lastiddecl
;
7438 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7442 #line 3050 "parse.y"
7443 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7446 #line 3054 "parse.y"
7448 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7449 yyval
.ttype
= lastiddecl
;
7450 got_scope
= yyval
.ttype
;
7454 #line 3063 "parse.y"
7455 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7458 #line 3068 "parse.y"
7460 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7461 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7463 yyval
.ttype
= yyvsp
[0].ttype
;
7464 got_scope
= NULL_TREE
;
7468 #line 3077 "parse.y"
7469 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7472 #line 3082 "parse.y"
7473 { got_scope
= NULL_TREE
; ;
7476 #line 3084 "parse.y"
7477 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7480 #line 3091 "parse.y"
7481 { got_scope
= void_type_node
; ;
7484 #line 3097 "parse.y"
7485 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7488 #line 3099 "parse.y"
7489 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7492 #line 3101 "parse.y"
7493 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7496 #line 3103 "parse.y"
7497 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7500 #line 3105 "parse.y"
7501 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7502 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7506 #line 3109 "parse.y"
7507 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7508 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7512 #line 3118 "parse.y"
7513 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7516 #line 3120 "parse.y"
7517 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7520 #line 3126 "parse.y"
7522 /* Provide support for '(' attributes '*' declarator ')'
7524 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7528 #line 3136 "parse.y"
7529 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7532 #line 3138 "parse.y"
7533 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7536 #line 3140 "parse.y"
7537 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7540 #line 3142 "parse.y"
7541 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7544 #line 3144 "parse.y"
7545 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7548 #line 3146 "parse.y"
7549 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7552 #line 3148 "parse.y"
7553 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7556 #line 3150 "parse.y"
7557 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7560 #line 3152 "parse.y"
7561 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7562 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7566 #line 3156 "parse.y"
7567 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7568 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7572 #line 3165 "parse.y"
7573 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7576 #line 3168 "parse.y"
7577 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7580 #line 3170 "parse.y"
7581 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7584 #line 3172 "parse.y"
7585 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7588 #line 3174 "parse.y"
7589 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7592 #line 3176 "parse.y"
7593 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7596 #line 3178 "parse.y"
7597 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7600 #line 3180 "parse.y"
7601 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7604 #line 3182 "parse.y"
7605 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7608 #line 3184 "parse.y"
7609 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7612 #line 3207 "parse.y"
7614 pedwarn ("ISO C++ forbids label declarations"); ;
7617 #line 3218 "parse.y"
7619 while (yyvsp
[-1].ttype
)
7621 finish_label_decl (TREE_VALUE (yyvsp
[-1].ttype
));
7622 yyvsp
[-1].ttype
= TREE_CHAIN (yyvsp
[-1].ttype
);
7627 #line 3231 "parse.y"
7631 #line 3237 "parse.y"
7632 { yyval
.ttype
= begin_compound_stmt (0); ;
7635 #line 3239 "parse.y"
7636 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7639 #line 3244 "parse.y"
7641 yyval
.ttype
= begin_if_stmt ();
7642 cond_stmt_keyword
= "if";
7646 #line 3249 "parse.y"
7647 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7650 #line 3251 "parse.y"
7651 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7654 #line 3256 "parse.y"
7655 { yyval
.ttype
= begin_compound_stmt (0); ;
7658 #line 3258 "parse.y"
7659 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7662 #line 3263 "parse.y"
7666 #line 3269 "parse.y"
7670 #line 3271 "parse.y"
7671 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7674 #line 3273 "parse.y"
7675 { begin_else_clause (); ;
7678 #line 3275 "parse.y"
7680 finish_else_clause (yyvsp
[-3].ttype
);
7685 #line 3280 "parse.y"
7686 { finish_if_stmt (); ;
7689 #line 3282 "parse.y"
7691 yyval
.ttype
= begin_while_stmt ();
7692 cond_stmt_keyword
= "while";
7696 #line 3287 "parse.y"
7697 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7700 #line 3289 "parse.y"
7701 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7704 #line 3291 "parse.y"
7705 { yyval
.ttype
= begin_do_stmt (); ;
7708 #line 3293 "parse.y"
7710 finish_do_body (yyvsp
[-2].ttype
);
7711 cond_stmt_keyword
= "do";
7715 #line 3298 "parse.y"
7716 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7719 #line 3300 "parse.y"
7720 { yyval
.ttype
= begin_for_stmt (); ;
7723 #line 3302 "parse.y"
7724 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7727 #line 3304 "parse.y"
7728 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7731 #line 3306 "parse.y"
7732 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7735 #line 3308 "parse.y"
7736 { finish_for_stmt (yyvsp
[-10].ttype
); ;
7739 #line 3310 "parse.y"
7740 { yyval
.ttype
= begin_switch_stmt (); ;
7743 #line 3312 "parse.y"
7744 { finish_switch_cond (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7747 #line 3314 "parse.y"
7748 { finish_switch_stmt (yyvsp
[-5].ttype
); ;
7751 #line 3316 "parse.y"
7752 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7755 #line 3319 "parse.y"
7756 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7759 #line 3322 "parse.y"
7760 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7763 #line 3325 "parse.y"
7764 { finish_break_stmt (); ;
7767 #line 3327 "parse.y"
7768 { finish_continue_stmt (); ;
7771 #line 3329 "parse.y"
7772 { finish_return_stmt (NULL_TREE
); ;
7775 #line 3331 "parse.y"
7776 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7779 #line 3333 "parse.y"
7781 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7786 #line 3339 "parse.y"
7788 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7793 #line 3345 "parse.y"
7794 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7797 #line 3347 "parse.y"
7798 { finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, NULL_TREE
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7801 #line 3351 "parse.y"
7802 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7805 #line 3354 "parse.y"
7806 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, NULL_TREE
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7809 #line 3357 "parse.y"
7810 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, NULL_TREE
, yyvsp
[-2].ttype
); ;
7813 #line 3359 "parse.y"
7816 pedwarn ("ISO C++ forbids computed gotos");
7817 finish_goto_stmt (yyvsp
[-1].ttype
);
7821 #line 3365 "parse.y"
7822 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7825 #line 3368 "parse.y"
7826 { error ("label must be followed by statement");
7827 yyungetc ('}', 0); ;
7830 #line 3371 "parse.y"
7834 #line 3375 "parse.y"
7835 { do_local_using_decl (yyvsp
[0].ttype
); ;
7838 #line 3381 "parse.y"
7839 { yyval
.ttype
= begin_function_try_block (); ;
7842 #line 3383 "parse.y"
7843 { finish_function_try_block (yyvsp
[-2].ttype
); ;
7846 #line 3385 "parse.y"
7848 finish_function_handler_sequence (yyvsp
[-4].ttype
);
7849 yyval
.itype
= yyvsp
[-3].itype
;
7853 #line 3393 "parse.y"
7854 { yyval
.ttype
= begin_try_block (); ;
7857 #line 3395 "parse.y"
7858 { finish_try_block (yyvsp
[-1].ttype
); ;
7861 #line 3397 "parse.y"
7862 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7865 #line 3407 "parse.y"
7866 { yyval
.ttype
= begin_handler(); ;
7869 #line 3409 "parse.y"
7870 { yyval
.ttype
= finish_handler_parms (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7873 #line 3411 "parse.y"
7874 { finish_handler (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7877 #line 3421 "parse.y"
7878 { yyval
.ttype
= NULL_TREE
; ;
7881 #line 3437 "parse.y"
7883 check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7884 yyval
.ttype
= start_handler_parms (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7885 TREE_VALUE (yyvsp
[-1].ftype
.t
));
7889 #line 3446 "parse.y"
7890 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7893 #line 3448 "parse.y"
7894 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7897 #line 3450 "parse.y"
7898 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7901 #line 3452 "parse.y"
7902 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7905 #line 3457 "parse.y"
7906 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7909 #line 3460 "parse.y"
7911 pedwarn ("ISO C++ forbids compound statements inside for initializations");
7915 #line 3469 "parse.y"
7916 { yyval
.ttype
= NULL_TREE
; ;
7919 #line 3475 "parse.y"
7920 { yyval
.ttype
= NULL_TREE
; ;
7923 #line 3478 "parse.y"
7924 { yyval
.ttype
= NULL_TREE
; ;
7927 #line 3485 "parse.y"
7928 { yyval
.ttype
= NULL_TREE
; ;
7931 #line 3492 "parse.y"
7932 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7935 #line 3497 "parse.y"
7936 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7939 #line 3502 "parse.y"
7940 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7943 #line 3504 "parse.y"
7944 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7947 #line 3515 "parse.y"
7949 yyval
.ttype
= empty_parms();
7953 #line 3520 "parse.y"
7954 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7955 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7958 #line 3528 "parse.y"
7959 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7962 #line 3530 "parse.y"
7963 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7966 #line 3533 "parse.y"
7967 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7970 #line 3535 "parse.y"
7971 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7972 yyvsp
[-1].ftype
.t
), 1); ;
7975 #line 3538 "parse.y"
7976 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7979 #line 3540 "parse.y"
7981 /* This helps us recover from really nasty
7982 parse errors, for example, a missing right
7984 yyerror ("possibly missing ')'");
7985 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7991 #line 3550 "parse.y"
7993 /* This helps us recover from really nasty
7994 parse errors, for example, a missing right
7996 yyerror ("possibly missing ')'");
7997 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7998 yyvsp
[-1].ftype
.t
), 0);
8004 #line 3565 "parse.y"
8005 { maybe_snarf_defarg (); ;
8008 #line 3567 "parse.y"
8009 { yyval
.ttype
= yyvsp
[0].ttype
; ;
8012 #line 3578 "parse.y"
8013 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8014 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
8017 #line 3581 "parse.y"
8018 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8019 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
8022 #line 3584 "parse.y"
8023 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8024 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
8027 #line 3587 "parse.y"
8028 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
8031 #line 3589 "parse.y"
8032 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
8035 #line 3595 "parse.y"
8036 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8037 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
8040 #line 3605 "parse.y"
8041 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8042 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
8043 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
8046 #line 3609 "parse.y"
8047 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
8048 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8051 #line 3612 "parse.y"
8052 { yyval
.ftype
.t
= build_tree_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
8054 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8057 #line 3616 "parse.y"
8058 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8059 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8060 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8063 #line 3620 "parse.y"
8064 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
8065 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
8066 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8069 #line 3624 "parse.y"
8070 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8071 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8072 yyval
.ftype
.new_type_flag
= 0; ;
8075 #line 3631 "parse.y"
8076 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
8077 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8080 #line 3634 "parse.y"
8081 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
8082 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8085 #line 3645 "parse.y"
8086 { see_typename (); ;
8089 #line 3650 "parse.y"
8091 error ("type specifier omitted for parameter");
8092 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
8096 #line 3655 "parse.y"
8098 error ("type specifier omitted for parameter");
8099 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
8100 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
8101 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
8102 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
8103 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
8107 #line 3667 "parse.y"
8108 { yyval
.ttype
= NULL_TREE
; ;
8111 #line 3669 "parse.y"
8112 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
8115 #line 3671 "parse.y"
8116 { yyval
.ttype
= empty_except_spec
; ;
8119 #line 3676 "parse.y"
8121 check_for_new_type ("exception specifier", yyvsp
[0].ftype
);
8122 yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
);
8126 #line 3684 "parse.y"
8127 { yyval
.ttype
= add_exception_specifier (NULL_TREE
, yyvsp
[0].ttype
, 1); ;
8130 #line 3686 "parse.y"
8131 { yyval
.ttype
= add_exception_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, 1); ;
8134 #line 3691 "parse.y"
8135 { yyval
.ttype
= NULL_TREE
; ;
8138 #line 3693 "parse.y"
8139 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8142 #line 3695 "parse.y"
8143 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8146 #line 3697 "parse.y"
8147 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8148 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8152 #line 3704 "parse.y"
8153 { got_scope
= NULL_TREE
; ;
8156 #line 3709 "parse.y"
8157 { yyval
.ttype
= ansi_opname (MULT_EXPR
); ;
8160 #line 3711 "parse.y"
8161 { yyval
.ttype
= ansi_opname (TRUNC_DIV_EXPR
); ;
8164 #line 3713 "parse.y"
8165 { yyval
.ttype
= ansi_opname (TRUNC_MOD_EXPR
); ;
8168 #line 3715 "parse.y"
8169 { yyval
.ttype
= ansi_opname (PLUS_EXPR
); ;
8172 #line 3717 "parse.y"
8173 { yyval
.ttype
= ansi_opname (MINUS_EXPR
); ;
8176 #line 3719 "parse.y"
8177 { yyval
.ttype
= ansi_opname (BIT_AND_EXPR
); ;
8180 #line 3721 "parse.y"
8181 { yyval
.ttype
= ansi_opname (BIT_IOR_EXPR
); ;
8184 #line 3723 "parse.y"
8185 { yyval
.ttype
= ansi_opname (BIT_XOR_EXPR
); ;
8188 #line 3725 "parse.y"
8189 { yyval
.ttype
= ansi_opname (BIT_NOT_EXPR
); ;
8192 #line 3727 "parse.y"
8193 { yyval
.ttype
= ansi_opname (COMPOUND_EXPR
); ;
8196 #line 3729 "parse.y"
8197 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8200 #line 3731 "parse.y"
8201 { yyval
.ttype
= ansi_opname (LT_EXPR
); ;
8204 #line 3733 "parse.y"
8205 { yyval
.ttype
= ansi_opname (GT_EXPR
); ;
8208 #line 3735 "parse.y"
8209 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8212 #line 3737 "parse.y"
8213 { yyval
.ttype
= ansi_assopname (yyvsp
[0].code
); ;
8216 #line 3739 "parse.y"
8217 { yyval
.ttype
= ansi_assopname (NOP_EXPR
); ;
8220 #line 3741 "parse.y"
8221 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8224 #line 3743 "parse.y"
8225 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8228 #line 3745 "parse.y"
8229 { yyval
.ttype
= ansi_opname (POSTINCREMENT_EXPR
); ;
8232 #line 3747 "parse.y"
8233 { yyval
.ttype
= ansi_opname (PREDECREMENT_EXPR
); ;
8236 #line 3749 "parse.y"
8237 { yyval
.ttype
= ansi_opname (TRUTH_ANDIF_EXPR
); ;
8240 #line 3751 "parse.y"
8241 { yyval
.ttype
= ansi_opname (TRUTH_ORIF_EXPR
); ;
8244 #line 3753 "parse.y"
8245 { yyval
.ttype
= ansi_opname (TRUTH_NOT_EXPR
); ;
8248 #line 3755 "parse.y"
8249 { yyval
.ttype
= ansi_opname (COND_EXPR
); ;
8252 #line 3757 "parse.y"
8253 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8256 #line 3759 "parse.y"
8257 { yyval
.ttype
= ansi_opname (COMPONENT_REF
); ;
8260 #line 3761 "parse.y"
8261 { yyval
.ttype
= ansi_opname (MEMBER_REF
); ;
8264 #line 3763 "parse.y"
8265 { yyval
.ttype
= ansi_opname (CALL_EXPR
); ;
8268 #line 3765 "parse.y"
8269 { yyval
.ttype
= ansi_opname (ARRAY_REF
); ;
8272 #line 3767 "parse.y"
8273 { yyval
.ttype
= ansi_opname (NEW_EXPR
); ;
8276 #line 3769 "parse.y"
8277 { yyval
.ttype
= ansi_opname (DELETE_EXPR
); ;
8280 #line 3771 "parse.y"
8281 { yyval
.ttype
= ansi_opname (VEC_NEW_EXPR
); ;
8284 #line 3773 "parse.y"
8285 { yyval
.ttype
= ansi_opname (VEC_DELETE_EXPR
); ;
8288 #line 3776 "parse.y"
8289 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8292 #line 3778 "parse.y"
8293 { yyval
.ttype
= ansi_opname (ERROR_MARK
); ;
8296 /* the action file gets copied in in place of this dollarsign */
8297 #line 543 "/usr/lib/bison.simple"
8308 short *ssp1
= yyss
- 1;
8309 fprintf (stderr
, "state stack now");
8310 while (ssp1
!= yyssp
)
8311 fprintf (stderr
, " %d", *++ssp1
);
8312 fprintf (stderr
, "\n");
8322 yylsp
->first_line
= yylloc
.first_line
;
8323 yylsp
->first_column
= yylloc
.first_column
;
8324 yylsp
->last_line
= (yylsp
-1)->last_line
;
8325 yylsp
->last_column
= (yylsp
-1)->last_column
;
8330 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8331 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8335 /* Now "shift" the result of the reduction.
8336 Determine what state that goes to,
8337 based on the state we popped back to
8338 and the rule number reduced by. */
8342 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8343 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8344 yystate
= yytable
[yystate
];
8346 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8350 yyerrlab
: /* here on detecting error */
8353 /* If not already recovering from an error, report this error. */
8357 #ifdef YYERROR_VERBOSE
8358 yyn
= yypact
[yystate
];
8360 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8367 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8368 for (x
= (yyn
< 0 ? -yyn
: 0);
8369 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8370 if (yycheck
[x
+ yyn
] == x
)
8371 size
+= strlen(yytname
[x
]) + 15, count
++;
8372 msg
= (char *) malloc(size
+ 15);
8375 strcpy(msg
, "parse error");
8380 for (x
= (yyn
< 0 ? -yyn
: 0);
8381 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8382 if (yycheck
[x
+ yyn
] == x
)
8384 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8385 strcat(msg
, yytname
[x
]);
8394 yyerror ("parse error; also virtual memory exceeded");
8397 #endif /* YYERROR_VERBOSE */
8398 yyerror("parse error");
8402 yyerrlab1
: /* here on error raised explicitly by an action */
8404 if (yyerrstatus
== 3)
8406 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8408 /* return failure if at end of input */
8409 if (yychar
== YYEOF
)
8414 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8420 /* Else will try to reuse lookahead token
8421 after shifting the error token. */
8423 yyerrstatus
= 3; /* Each real token shifted decrements this */
8427 yyerrdefault
: /* current state does not do anything special for the error token. */
8430 /* This is wrong; only states that explicitly want error tokens
8431 should shift them. */
8432 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8433 if (yyn
) goto yydefault
;
8436 yyerrpop
: /* pop the current state because it cannot handle the error token */
8438 if (yyssp
== yyss
) YYABORT
;
8448 short *ssp1
= yyss
- 1;
8449 fprintf (stderr
, "Error: state stack now");
8450 while (ssp1
!= yyssp
)
8451 fprintf (stderr
, " %d", *++ssp1
);
8452 fprintf (stderr
, "\n");
8458 yyn
= yypact
[yystate
];
8463 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8482 fprintf(stderr
, "Shifting error token, ");
8494 /* YYACCEPT comes here. */
8506 /* YYABORT comes here. */
8517 #line 3781 "parse.y"
8522 debug_yytranslate (value
)
8525 return yytname
[YYTRANSLATE (value
)];