2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.27
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 263
30 #define RETURN_KEYWORD 279
32 #define ASM_KEYWORD 281
51 #define TYPENAME_KEYWORD 300
53 #define LEFT_RIGHT 302
56 #define DYNAMIC_CAST 305
57 #define STATIC_CAST 306
58 #define REINTERPRET_CAST 307
59 #define CONST_CAST 308
70 #define ARITHCOMPARE 319
73 #define POINTSAT_STAR 322
77 #define MINUSMINUS 326
78 #define HYPERUNARY 327
82 #define EXTERN_LANG_STRING 331
84 #define PRE_PARSED_CLASS_DECL 333
86 #define DEFARG_MARKER 335
87 #define PRE_PARSED_FUNCTION_DECL 336
88 #define TYPENAME_DEFN 337
89 #define IDENTIFIER_DEFN 338
90 #define PTYPENAME_DEFN 339
91 #define END_OF_LINE 340
92 #define END_OF_SAVED_INPUT 341
96 /* Cause the `yydebug' variable to be defined. */
113 /* Since parsers are distinct for each language, put the language string
114 definition here. (fnf) */
115 const char * const language_string
= "GNU C++";
117 extern struct obstack permanent_obstack
;
119 extern int end_of_file
;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static const char *cond_stmt_keyword
;
131 static tree empty_parms
PROTO((void));
132 static int parse_decl
PROTO((tree
, tree
, tree
, int, tree
*));
134 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
135 int have_extern_spec
;
136 int used_extern_spec
;
138 /* Cons up an empty parameter list. */
145 || current_class_type
!= NULL
)
146 parms
= void_list_node
;
159 flagged_type_tree ftype
;
160 struct pending_inline
*pi
;
164 /* List of types and structure classes of the current declaration. */
165 static tree current_declspecs
;
167 /* List of prefix attributes in effect.
168 Prefix attributes are parsed by the reserved_declspecs and declmods
169 rules. They create a list that contains *both* declspecs and attrs. */
170 /* ??? It is not clear yet that all cases where an attribute can now appear in
171 a declspec list have been updated. */
172 static tree prefix_attributes
;
174 /* When defining an aggregate, this is the kind of the most recent one
175 being defined. (For example, this might be class_type_node.) */
176 static tree current_aggr
;
178 /* When defining an enumeration, this is the type of the enumeration. */
179 static tree current_enum_type
;
181 /* Tell yyparse how to print a token's value, if yydebug is set. */
183 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
184 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
185 extern tree combine_strings
PROTO((tree
));
188 parse_decl (declarator
, specs_attrs
, attributes
, initialized
, decl
)
197 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
198 if (current_declspecs
199 && TREE_CODE (current_declspecs
) != TREE_LIST
)
200 current_declspecs
= build_decl_list (NULL_TREE
, current_declspecs
);
201 if (have_extern_spec
&& !used_extern_spec
)
203 current_declspecs
= decl_tree_cons (NULL_TREE
,
204 get_identifier ("extern"),
206 used_extern_spec
= 1;
208 sm
= suspend_momentary ();
209 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
210 attributes
, prefix_attributes
);
217 ggc_add_tree_root (¤t_declspecs
, 1);
218 ggc_add_tree_root (&prefix_attributes
, 1);
219 ggc_add_tree_root (¤t_aggr
, 1);
220 ggc_add_tree_root (¤t_enum_type
, 1);
233 #define YYFLAG -32768
236 #define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 401)
238 static const char yytranslate
[] = { 0,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 110, 2, 2, 2, 83, 71, 2, 93,
243 108, 81, 79, 60, 80, 92, 82, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
245 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 94, 2, 111, 70, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
251 2, 2, 59, 69, 109, 89, 2, 2, 2, 2,
252 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
253 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
254 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
255 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
256 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
257 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
258 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
259 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
260 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
261 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
262 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
263 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
264 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
265 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
266 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
267 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
268 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
269 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
270 57, 58, 62, 64, 67, 68, 72, 73, 74, 77,
271 78, 84, 85, 86, 87, 88, 90, 91, 95, 96,
272 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
277 static const short yyprhs
[] = { 0,
278 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
279 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
280 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
281 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
282 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
283 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
284 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
285 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
286 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
287 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
288 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
289 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
290 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
291 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
292 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
293 485, 487, 488, 495, 496, 503, 504, 510, 511, 517,
294 518, 526, 527, 535, 536, 543, 544, 551, 552, 553,
295 559, 565, 567, 569, 575, 581, 582, 584, 586, 587,
296 589, 591, 595, 597, 599, 601, 603, 605, 607, 609,
297 611, 613, 615, 617, 621, 623, 627, 628, 630, 632,
298 633, 641, 643, 645, 649, 654, 658, 659, 663, 665,
299 669, 673, 677, 681, 683, 685, 687, 690, 693, 696,
300 699, 702, 705, 708, 713, 716, 721, 724, 728, 732,
301 737, 743, 750, 757, 765, 768, 773, 779, 782, 785,
302 792, 794, 795, 800, 805, 809, 811, 815, 818, 822,
303 827, 829, 832, 838, 840, 844, 848, 852, 856, 860,
304 864, 868, 872, 876, 880, 884, 888, 892, 896, 900,
305 904, 908, 912, 916, 922, 926, 930, 932, 935, 939,
306 943, 945, 947, 949, 951, 953, 954, 960, 966, 972,
307 978, 984, 986, 988, 990, 992, 995, 997, 1000, 1003,
308 1007, 1012, 1017, 1019, 1021, 1023, 1027, 1029, 1031, 1033,
309 1035, 1039, 1043, 1047, 1048, 1053, 1058, 1061, 1066, 1069,
310 1074, 1077, 1080, 1082, 1087, 1089, 1097, 1105, 1113, 1121,
311 1126, 1131, 1134, 1137, 1140, 1142, 1147, 1150, 1153, 1159,
312 1163, 1166, 1169, 1175, 1179, 1185, 1189, 1194, 1201, 1204,
313 1206, 1209, 1211, 1214, 1216, 1218, 1220, 1223, 1224, 1227,
314 1230, 1234, 1238, 1242, 1245, 1248, 1251, 1253, 1255, 1257,
315 1260, 1263, 1266, 1269, 1271, 1273, 1275, 1277, 1280, 1283,
316 1287, 1291, 1295, 1300, 1302, 1305, 1308, 1311, 1313, 1315,
317 1317, 1320, 1323, 1326, 1328, 1330, 1333, 1336, 1340, 1342,
318 1345, 1347, 1349, 1351, 1356, 1361, 1366, 1371, 1373, 1375,
319 1377, 1379, 1383, 1385, 1389, 1391, 1395, 1396, 1401, 1402,
320 1409, 1413, 1414, 1419, 1421, 1425, 1429, 1430, 1435, 1439,
321 1440, 1442, 1444, 1447, 1454, 1456, 1460, 1461, 1463, 1468,
322 1475, 1480, 1482, 1484, 1486, 1488, 1490, 1494, 1495, 1498,
323 1500, 1503, 1507, 1512, 1514, 1516, 1520, 1525, 1529, 1535,
324 1537, 1542, 1546, 1550, 1551, 1555, 1559, 1563, 1564, 1567,
325 1570, 1571, 1578, 1579, 1585, 1588, 1591, 1594, 1595, 1596,
326 1597, 1608, 1610, 1611, 1613, 1614, 1616, 1618, 1621, 1624,
327 1627, 1630, 1633, 1636, 1639, 1642, 1645, 1649, 1654, 1658,
328 1661, 1665, 1667, 1668, 1672, 1675, 1678, 1680, 1682, 1683,
329 1686, 1690, 1692, 1697, 1699, 1703, 1705, 1707, 1710, 1713,
330 1717, 1721, 1722, 1724, 1728, 1731, 1734, 1736, 1739, 1742,
331 1745, 1748, 1751, 1754, 1757, 1759, 1762, 1765, 1769, 1772,
332 1775, 1780, 1785, 1788, 1790, 1796, 1801, 1803, 1804, 1806,
333 1810, 1811, 1813, 1817, 1819, 1821, 1823, 1825, 1830, 1835,
334 1840, 1845, 1850, 1854, 1859, 1864, 1869, 1874, 1878, 1881,
335 1883, 1885, 1889, 1891, 1895, 1898, 1900, 1908, 1909, 1912,
336 1914, 1917, 1918, 1921, 1926, 1931, 1934, 1939, 1941, 1944,
337 1948, 1952, 1955, 1958, 1962, 1964, 1969, 1974, 1978, 1982,
338 1985, 1987, 1989, 1992, 1994, 1996, 1999, 2002, 2004, 2007,
339 2011, 2015, 2018, 2021, 2025, 2027, 2031, 2035, 2038, 2041,
340 2045, 2047, 2052, 2056, 2061, 2065, 2067, 2070, 2073, 2076,
341 2079, 2082, 2084, 2087, 2092, 2097, 2100, 2102, 2104, 2106,
342 2108, 2111, 2116, 2119, 2122, 2125, 2128, 2130, 2133, 2136,
343 2139, 2142, 2146, 2148, 2151, 2155, 2160, 2163, 2166, 2169,
344 2172, 2175, 2178, 2183, 2186, 2188, 2191, 2194, 2198, 2200,
345 2204, 2207, 2211, 2214, 2217, 2221, 2223, 2227, 2232, 2234,
346 2237, 2241, 2244, 2247, 2249, 2253, 2256, 2259, 2261, 2264,
347 2268, 2270, 2274, 2281, 2286, 2291, 2295, 2301, 2305, 2309,
348 2313, 2316, 2318, 2320, 2323, 2326, 2329, 2330, 2332, 2334,
349 2337, 2341, 2343, 2346, 2347, 2351, 2352, 2353, 2359, 2361,
350 2362, 2365, 2367, 2369, 2371, 2374, 2375, 2380, 2382, 2383,
351 2384, 2390, 2391, 2392, 2400, 2401, 2402, 2403, 2404, 2417,
352 2418, 2419, 2427, 2428, 2434, 2435, 2443, 2444, 2449, 2452,
353 2455, 2458, 2462, 2469, 2478, 2489, 2502, 2507, 2511, 2514,
354 2517, 2519, 2521, 2523, 2525, 2527, 2528, 2529, 2536, 2537,
355 2538, 2544, 2546, 2549, 2550, 2551, 2557, 2559, 2561, 2565,
356 2569, 2572, 2575, 2578, 2581, 2584, 2586, 2589, 2590, 2592,
357 2593, 2595, 2597, 2598, 2600, 2602, 2606, 2611, 2613, 2617,
358 2618, 2620, 2622, 2624, 2627, 2630, 2633, 2635, 2638, 2641,
359 2642, 2646, 2648, 2650, 2652, 2655, 2658, 2661, 2666, 2669,
360 2672, 2675, 2678, 2681, 2684, 2686, 2689, 2691, 2694, 2696,
361 2698, 2699, 2700, 2702, 2703, 2708, 2711, 2713, 2715, 2719,
362 2720, 2724, 2728, 2732, 2734, 2737, 2740, 2743, 2746, 2749,
363 2752, 2755, 2758, 2761, 2764, 2767, 2770, 2773, 2776, 2779,
364 2782, 2785, 2788, 2791, 2794, 2797, 2800, 2803, 2807, 2810,
365 2813, 2816, 2819, 2823, 2826, 2829, 2834, 2839, 2843
368 static const short yyrhs
[] = { -1,
369 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
370 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
371 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
372 93, 219, 108, 61, 0, 133, 59, 115, 109, 0,
373 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
374 0, 0, 45, 163, 59, 123, 115, 109, 0, 0,
375 45, 59, 124, 115, 109, 0, 125, 0, 127, 61,
376 0, 129, 0, 118, 122, 0, 0, 45, 163, 65,
377 126, 132, 61, 0, 47, 314, 0, 47, 328, 314,
378 0, 47, 328, 209, 0, 47, 131, 163, 0, 47,
379 328, 163, 0, 47, 328, 131, 163, 0, 0, 47,
380 45, 130, 132, 61, 0, 58, 55, 0, 131, 58,
381 55, 0, 209, 0, 314, 0, 328, 314, 0, 328,
382 209, 0, 97, 0, 133, 97, 0, 0, 49, 75,
383 135, 136, 76, 0, 49, 75, 76, 0, 140, 0,
384 136, 60, 140, 0, 163, 0, 0, 269, 137, 0,
385 46, 137, 0, 134, 269, 137, 0, 138, 0, 138,
386 65, 225, 0, 392, 0, 392, 65, 204, 0, 139,
387 0, 139, 65, 184, 0, 134, 142, 0, 134, 1,
388 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
389 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
390 142, 0, 236, 61, 0, 229, 235, 61, 0, 226,
391 234, 61, 0, 261, 61, 0, 236, 61, 0, 229,
392 235, 61, 0, 226, 234, 61, 0, 229, 61, 0,
393 166, 61, 0, 226, 61, 0, 1, 61, 0, 1,
394 109, 0, 61, 0, 220, 0, 159, 0, 0, 158,
395 0, 158, 61, 0, 0, 107, 0, 154, 146, 145,
396 339, 0, 154, 146, 363, 0, 154, 146, 1, 0,
397 0, 319, 5, 93, 150, 383, 108, 299, 395, 0,
398 319, 5, 48, 299, 395, 0, 0, 328, 319, 5,
399 93, 151, 383, 108, 299, 395, 0, 328, 319, 5,
400 48, 299, 395, 0, 0, 319, 179, 93, 152, 383,
401 108, 299, 395, 0, 319, 179, 48, 299, 395, 0,
402 0, 328, 319, 179, 93, 153, 383, 108, 299, 395,
403 0, 328, 319, 179, 48, 299, 395, 0, 226, 223,
404 0, 229, 311, 0, 311, 0, 229, 149, 0, 149,
405 0, 5, 93, 383, 108, 299, 395, 0, 5, 48,
406 299, 395, 0, 179, 93, 383, 108, 299, 395, 0,
407 179, 48, 299, 395, 0, 229, 155, 0, 155, 0,
408 226, 223, 0, 229, 311, 0, 311, 0, 229, 149,
409 0, 149, 0, 25, 3, 0, 157, 253, 0, 157,
410 93, 196, 108, 0, 157, 48, 0, 63, 160, 161,
411 0, 0, 0, 162, 0, 161, 60, 162, 0, 161,
412 1, 0, 93, 196, 108, 0, 48, 0, 164, 93,
413 196, 108, 0, 164, 48, 0, 307, 93, 196, 108,
414 0, 307, 48, 0, 321, 93, 196, 108, 0, 321,
415 48, 0, 1, 0, 3, 0, 4, 0, 5, 0,
416 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
417 104, 0, 103, 0, 105, 0, 0, 49, 175, 232,
418 61, 167, 176, 0, 0, 49, 175, 226, 223, 168,
419 176, 0, 0, 49, 175, 311, 169, 176, 0, 0,
420 49, 175, 149, 170, 176, 0, 0, 7, 49, 175,
421 232, 61, 171, 176, 0, 0, 7, 49, 175, 226,
422 223, 172, 176, 0, 0, 7, 49, 175, 311, 173,
423 176, 0, 0, 7, 49, 175, 149, 174, 176, 0,
424 0, 0, 57, 75, 182, 181, 180, 0, 4, 75,
425 182, 181, 180, 0, 179, 0, 177, 0, 163, 75,
426 182, 76, 180, 0, 5, 75, 182, 181, 180, 0,
427 0, 76, 0, 78, 0, 0, 183, 0, 184, 0,
428 183, 60, 184, 0, 225, 0, 57, 0, 204, 0,
429 80, 0, 79, 0, 87, 0, 88, 0, 110, 0,
430 195, 0, 204, 0, 48, 0, 93, 186, 108, 0,
431 48, 0, 93, 190, 108, 0, 0, 190, 0, 1,
432 0, 0, 373, 223, 237, 246, 65, 191, 254, 0,
433 186, 0, 109, 0, 336, 334, 109, 0, 336, 334,
434 1, 109, 0, 336, 1, 109, 0, 0, 59, 194,
435 192, 0, 348, 0, 204, 60, 204, 0, 204, 60,
436 1, 0, 195, 60, 204, 0, 195, 60, 1, 0,
437 204, 0, 195, 0, 214, 0, 118, 203, 0, 81,
438 203, 0, 71, 203, 0, 89, 203, 0, 185, 203,
439 0, 68, 163, 0, 13, 197, 0, 13, 93, 225,
440 108, 0, 29, 197, 0, 29, 93, 225, 108, 0,
441 216, 298, 0, 216, 298, 201, 0, 216, 200, 298,
442 0, 216, 200, 298, 201, 0, 216, 93, 199, 225,
443 198, 0, 216, 93, 199, 225, 198, 201, 0, 216,
444 200, 93, 199, 225, 198, 0, 216, 200, 93, 199,
445 225, 198, 201, 0, 217, 203, 0, 217, 94, 111,
446 203, 0, 217, 94, 186, 111, 203, 0, 34, 203,
447 0, 35, 203, 0, 36, 93, 204, 60, 225, 108,
448 0, 108, 0, 0, 93, 199, 196, 108, 0, 59,
449 199, 196, 109, 0, 93, 196, 108, 0, 48, 0,
450 93, 232, 108, 0, 65, 254, 0, 93, 225, 108,
451 0, 202, 93, 225, 108, 0, 197, 0, 202, 197,
452 0, 202, 59, 255, 267, 109, 0, 203, 0, 204,
453 84, 204, 0, 204, 85, 204, 0, 204, 79, 204,
454 0, 204, 80, 204, 0, 204, 81, 204, 0, 204,
455 82, 204, 0, 204, 83, 204, 0, 204, 77, 204,
456 0, 204, 78, 204, 0, 204, 74, 204, 0, 204,
457 75, 204, 0, 204, 76, 204, 0, 204, 73, 204,
458 0, 204, 72, 204, 0, 204, 71, 204, 0, 204,
459 69, 204, 0, 204, 70, 204, 0, 204, 68, 204,
460 0, 204, 67, 204, 0, 204, 66, 378, 63, 204,
461 0, 204, 65, 204, 0, 204, 64, 204, 0, 62,
462 0, 62, 204, 0, 89, 393, 163, 0, 89, 393,
463 177, 0, 207, 0, 400, 0, 3, 0, 57, 0,
464 58, 0, 0, 6, 75, 206, 182, 181, 0, 400,
465 75, 206, 182, 181, 0, 49, 163, 75, 182, 181,
466 0, 49, 6, 75, 182, 181, 0, 49, 400, 75,
467 182, 181, 0, 205, 0, 4, 0, 5, 0, 211,
468 0, 247, 211, 0, 205, 0, 81, 210, 0, 71,
469 210, 0, 93, 210, 108, 0, 3, 75, 182, 181,
470 0, 58, 75, 183, 181, 0, 313, 0, 205, 0,
471 212, 0, 93, 210, 108, 0, 205, 0, 10, 0,
472 218, 0, 219, 0, 93, 186, 108, 0, 93, 210,
473 108, 0, 93, 1, 108, 0, 0, 93, 215, 340,
474 108, 0, 205, 93, 196, 108, 0, 205, 48, 0,
475 214, 93, 196, 108, 0, 214, 48, 0, 214, 94,
476 186, 111, 0, 214, 87, 0, 214, 88, 0, 41,
477 0, 9, 93, 196, 108, 0, 317, 0, 51, 75,
478 225, 76, 93, 186, 108, 0, 52, 75, 225, 76,
479 93, 186, 108, 0, 53, 75, 225, 76, 93, 186,
480 108, 0, 54, 75, 225, 76, 93, 186, 108, 0,
481 50, 93, 186, 108, 0, 50, 93, 225, 108, 0,
482 328, 3, 0, 328, 207, 0, 328, 400, 0, 316,
483 0, 316, 93, 196, 108, 0, 316, 48, 0, 221,
484 208, 0, 221, 208, 93, 196, 108, 0, 221, 208,
485 48, 0, 221, 209, 0, 221, 316, 0, 221, 209,
486 93, 196, 108, 0, 221, 209, 48, 0, 221, 316,
487 93, 196, 108, 0, 221, 316, 48, 0, 221, 89,
488 8, 48, 0, 221, 8, 55, 89, 8, 48, 0,
489 221, 1, 0, 40, 0, 328, 40, 0, 39, 0,
490 328, 217, 0, 43, 0, 44, 0, 11, 0, 219,
491 11, 0, 0, 214, 92, 0, 214, 91, 0, 232,
492 234, 61, 0, 226, 234, 61, 0, 229, 235, 61,
493 0, 226, 61, 0, 229, 61, 0, 118, 222, 0,
494 305, 0, 311, 0, 48, 0, 224, 48, 0, 230,
495 332, 0, 300, 332, 0, 232, 332, 0, 230, 0,
496 300, 0, 230, 0, 227, 0, 229, 232, 0, 232,
497 228, 0, 232, 231, 228, 0, 229, 232, 228, 0,
498 229, 232, 231, 0, 229, 232, 231, 228, 0, 7,
499 0, 228, 233, 0, 228, 7, 0, 228, 247, 0,
500 247, 0, 300, 0, 7, 0, 229, 9, 0, 229,
501 7, 0, 229, 247, 0, 247, 0, 232, 0, 300,
502 232, 0, 232, 231, 0, 300, 232, 231, 0, 233,
503 0, 231, 233, 0, 261, 0, 8, 0, 308, 0,
504 28, 93, 186, 108, 0, 28, 93, 225, 108, 0,
505 30, 93, 186, 108, 0, 30, 93, 225, 108, 0,
506 8, 0, 9, 0, 261, 0, 242, 0, 234, 60,
507 238, 0, 243, 0, 235, 60, 238, 0, 244, 0,
508 236, 60, 238, 0, 0, 119, 93, 219, 108, 0,
509 0, 223, 237, 246, 65, 239, 254, 0, 223, 237,
510 246, 0, 0, 246, 65, 241, 254, 0, 246, 0,
511 223, 237, 240, 0, 311, 237, 240, 0, 0, 311,
512 237, 245, 240, 0, 149, 237, 246, 0, 0, 247,
513 0, 248, 0, 247, 248, 0, 31, 93, 93, 249,
514 108, 108, 0, 250, 0, 249, 60, 250, 0, 0,
515 251, 0, 251, 93, 3, 108, 0, 251, 93, 3,
516 60, 196, 108, 0, 251, 93, 196, 108, 0, 163,
517 0, 7, 0, 8, 0, 9, 0, 163, 0, 252,
518 60, 163, 0, 0, 65, 254, 0, 204, 0, 59,
519 109, 0, 59, 255, 109, 0, 59, 255, 60, 109,
520 0, 1, 0, 254, 0, 255, 60, 254, 0, 94,
521 204, 111, 254, 0, 163, 63, 254, 0, 255, 60,
522 163, 63, 254, 0, 102, 0, 256, 146, 145, 339,
523 0, 256, 146, 363, 0, 256, 146, 1, 0, 0,
524 258, 257, 147, 0, 101, 204, 107, 0, 101, 1,
525 107, 0, 0, 260, 259, 0, 260, 1, 0, 0,
526 14, 163, 59, 262, 295, 109, 0, 0, 14, 59,
527 263, 295, 109, 0, 14, 163, 0, 14, 326, 0,
528 46, 321, 0, 0, 0, 0, 276, 59, 264, 282,
529 109, 246, 265, 260, 266, 258, 0, 276, 0, 0,
530 60, 0, 0, 60, 0, 37, 0, 269, 7, 0,
531 269, 8, 0, 269, 9, 0, 269, 37, 0, 269,
532 247, 0, 269, 163, 0, 269, 165, 0, 270, 59,
533 0, 270, 63, 0, 269, 319, 163, 0, 269, 328,
534 319, 163, 0, 269, 328, 163, 0, 269, 178, 0,
535 269, 319, 178, 0, 270, 0, 0, 271, 274, 277,
536 0, 272, 277, 0, 269, 59, 0, 275, 0, 273,
537 0, 0, 63, 393, 0, 63, 393, 278, 0, 279,
538 0, 278, 60, 393, 279, 0, 280, 0, 281, 393,
539 280, 0, 321, 0, 307, 0, 38, 393, 0, 7,
540 393, 0, 281, 38, 393, 0, 281, 7, 393, 0,
541 0, 284, 0, 282, 283, 284, 0, 282, 283, 0,
542 38, 63, 0, 285, 0, 284, 285, 0, 286, 61,
543 0, 286, 109, 0, 156, 63, 0, 156, 95, 0,
544 156, 25, 0, 156, 59, 0, 61, 0, 118, 285,
545 0, 134, 285, 0, 134, 226, 61, 0, 226, 287,
546 0, 229, 288, 0, 311, 237, 246, 253, 0, 149,
547 237, 246, 253, 0, 63, 204, 0, 1, 0, 229,
548 155, 237, 246, 253, 0, 155, 237, 246, 253, 0,
549 127, 0, 0, 289, 0, 287, 60, 290, 0, 0,
550 292, 0, 288, 60, 294, 0, 291, 0, 292, 0,
551 293, 0, 294, 0, 305, 237, 246, 253, 0, 4,
552 63, 204, 246, 0, 311, 237, 246, 253, 0, 149,
553 237, 246, 253, 0, 3, 63, 204, 246, 0, 63,
554 204, 246, 0, 305, 237, 246, 253, 0, 4, 63,
555 204, 246, 0, 311, 237, 246, 253, 0, 3, 63,
556 204, 246, 0, 63, 204, 246, 0, 296, 268, 0,
557 268, 0, 297, 0, 296, 60, 297, 0, 163, 0,
558 163, 65, 204, 0, 373, 329, 0, 373, 0, 93,
559 199, 225, 198, 94, 186, 111, 0, 0, 299, 9,
560 0, 9, 0, 300, 9, 0, 0, 301, 186, 0,
561 301, 93, 196, 108, 0, 301, 93, 383, 108, 0,
562 301, 48, 0, 301, 93, 1, 108, 0, 305, 0,
563 247, 305, 0, 81, 300, 304, 0, 71, 300, 304,
564 0, 81, 304, 0, 71, 304, 0, 327, 299, 304,
565 0, 306, 0, 306, 303, 299, 395, 0, 306, 94,
566 302, 111, 0, 306, 94, 111, 0, 93, 304, 108,
567 0, 319, 318, 0, 318, 0, 318, 0, 328, 318,
568 0, 307, 0, 309, 0, 328, 309, 0, 319, 318,
569 0, 311, 0, 247, 311, 0, 81, 300, 310, 0,
570 71, 300, 310, 0, 81, 310, 0, 71, 310, 0,
571 327, 299, 310, 0, 213, 0, 81, 300, 310, 0,
572 71, 300, 310, 0, 81, 312, 0, 71, 312, 0,
573 327, 299, 310, 0, 313, 0, 213, 303, 299, 395,
574 0, 93, 312, 108, 0, 213, 94, 302, 111, 0,
575 213, 94, 111, 0, 315, 0, 319, 212, 0, 319,
576 209, 0, 319, 208, 0, 319, 205, 0, 319, 208,
577 0, 315, 0, 328, 315, 0, 232, 93, 196, 108,
578 0, 232, 93, 210, 108, 0, 232, 224, 0, 4,
579 0, 5, 0, 177, 0, 320, 0, 319, 320, 0,
580 319, 49, 325, 55, 0, 4, 55, 0, 5, 55,
581 0, 58, 55, 0, 177, 55, 0, 322, 0, 328,
582 322, 0, 323, 163, 0, 323, 177, 0, 323, 325,
583 0, 323, 49, 325, 0, 324, 0, 323, 324, 0,
584 323, 325, 55, 0, 323, 49, 325, 55, 0, 4,
585 55, 0, 5, 55, 0, 177, 55, 0, 57, 55,
586 0, 3, 55, 0, 58, 55, 0, 163, 75, 182,
587 181, 0, 328, 318, 0, 309, 0, 328, 309, 0,
588 319, 81, 0, 328, 319, 81, 0, 55, 0, 81,
589 299, 329, 0, 81, 299, 0, 71, 299, 329, 0,
590 71, 299, 0, 327, 299, 0, 327, 299, 329, 0,
591 330, 0, 94, 186, 111, 0, 330, 94, 302, 111,
592 0, 332, 0, 247, 332, 0, 81, 300, 331, 0,
593 81, 331, 0, 81, 300, 0, 81, 0, 71, 300,
594 331, 0, 71, 331, 0, 71, 300, 0, 71, 0,
595 327, 299, 0, 327, 299, 331, 0, 333, 0, 93,
596 331, 108, 0, 333, 93, 383, 108, 299, 395, 0,
597 333, 48, 299, 395, 0, 333, 94, 302, 111, 0,
598 333, 94, 111, 0, 93, 384, 108, 299, 395, 0,
599 202, 299, 395, 0, 224, 299, 395, 0, 94, 302,
600 111, 0, 94, 111, 0, 347, 0, 335, 0, 334,
601 347, 0, 334, 335, 0, 1, 61, 0, 0, 337,
602 0, 338, 0, 337, 338, 0, 33, 252, 61, 0,
603 340, 0, 1, 340, 0, 0, 59, 341, 192, 0,
604 0, 0, 15, 343, 188, 344, 345, 0, 340, 0,
605 0, 346, 348, 0, 340, 0, 348, 0, 222, 0,
606 186, 61, 0, 0, 342, 16, 349, 345, 0, 342,
607 0, 0, 0, 17, 350, 188, 351, 193, 0, 0,
608 0, 18, 352, 345, 17, 353, 187, 61, 0, 0,
609 0, 0, 0, 19, 354, 93, 376, 355, 189, 61,
610 356, 378, 108, 357, 193, 0, 0, 0, 20, 358,
611 93, 190, 108, 359, 345, 0, 0, 21, 204, 63,
612 360, 347, 0, 0, 21, 204, 12, 204, 63, 361,
613 347, 0, 0, 22, 63, 362, 347, 0, 23, 61,
614 0, 24, 61, 0, 25, 61, 0, 25, 186, 61,
615 0, 119, 377, 93, 219, 108, 61, 0, 119, 377,
616 93, 219, 63, 379, 108, 61, 0, 119, 377, 93,
617 219, 63, 379, 63, 379, 108, 61, 0, 119, 377,
618 93, 219, 63, 379, 63, 379, 63, 382, 108, 61,
619 0, 26, 81, 186, 61, 0, 26, 163, 61, 0,
620 375, 347, 0, 375, 109, 0, 61, 0, 366, 0,
621 129, 0, 128, 0, 125, 0, 0, 0, 95, 364,
622 145, 340, 365, 369, 0, 0, 0, 95, 367, 340,
623 368, 369, 0, 370, 0, 369, 370, 0, 0, 0,
624 96, 371, 374, 372, 340, 0, 230, 0, 300, 0,
625 93, 12, 108, 0, 93, 392, 108, 0, 3, 63,
626 0, 57, 63, 0, 4, 63, 0, 5, 63, 0,
627 378, 61, 0, 222, 0, 59, 192, 0, 0, 9,
628 0, 0, 186, 0, 1, 0, 0, 380, 0, 381,
629 0, 380, 60, 381, 0, 11, 93, 186, 108, 0,
630 11, 0, 382, 60, 11, 0, 0, 384, 0, 225,
631 0, 388, 0, 389, 12, 0, 388, 12, 0, 225,
632 12, 0, 12, 0, 388, 63, 0, 225, 63, 0,
633 0, 65, 386, 387, 0, 100, 0, 254, 0, 390,
634 0, 392, 385, 0, 389, 391, 0, 389, 394, 0,
635 389, 394, 65, 254, 0, 388, 60, 0, 225, 60,
636 0, 227, 223, 0, 230, 223, 0, 232, 223, 0,
637 227, 332, 0, 227, 0, 229, 311, 0, 392, 0,
638 392, 385, 0, 390, 0, 225, 0, 0, 0, 311,
639 0, 0, 62, 93, 397, 108, 0, 62, 48, 0,
640 225, 0, 396, 0, 397, 60, 396, 0, 0, 81,
641 299, 398, 0, 71, 299, 398, 0, 327, 299, 398,
642 0, 42, 0, 399, 81, 0, 399, 82, 0, 399,
643 83, 0, 399, 79, 0, 399, 80, 0, 399, 71,
644 0, 399, 69, 0, 399, 70, 0, 399, 89, 0,
645 399, 60, 0, 399, 74, 0, 399, 75, 0, 399,
646 76, 0, 399, 73, 0, 399, 64, 0, 399, 65,
647 0, 399, 77, 0, 399, 78, 0, 399, 87, 0,
648 399, 88, 0, 399, 68, 0, 399, 67, 0, 399,
649 110, 0, 399, 66, 63, 0, 399, 72, 0, 399,
650 91, 0, 399, 84, 0, 399, 48, 0, 399, 94,
651 111, 0, 399, 40, 0, 399, 39, 0, 399, 40,
652 94, 111, 0, 399, 39, 94, 111, 0, 399, 373,
659 static const short yyrline
[] = { 0,
660 357, 359, 367, 370, 371, 375, 377, 380, 385, 389,
661 395, 399, 402, 406, 409, 411, 413, 416, 418, 421,
662 424, 426, 428, 430, 432, 433, 435, 436, 440, 443,
663 452, 455, 457, 461, 464, 466, 470, 473, 485, 492,
664 500, 502, 503, 505, 509, 512, 518, 521, 523, 528,
665 531, 535, 538, 541, 544, 548, 553, 563, 565, 567,
666 569, 571, 584, 587, 591, 594, 596, 598, 601, 604,
667 608, 610, 612, 614, 619, 621, 623, 625, 627, 628,
668 635, 636, 637, 640, 643, 647, 649, 650, 653, 655,
669 658, 661, 663, 667, 670, 672, 676, 678, 680, 684,
670 686, 688, 692, 694, 696, 702, 706, 709, 712, 715,
671 720, 723, 725, 727, 733, 745, 748, 753, 758, 761,
672 766, 771, 780, 783, 785, 789, 798, 814, 817, 819,
673 820, 823, 830, 836, 838, 840, 842, 844, 847, 850,
674 853, 855, 856, 857, 858, 861, 863, 864, 867, 869,
675 870, 873, 878, 878, 882, 882, 885, 885, 888, 888,
676 892, 892, 897, 897, 900, 900, 903, 905, 908, 915,
677 919, 922, 925, 927, 931, 937, 946, 948, 956, 959,
678 962, 965, 969, 972, 974, 977, 980, 982, 984, 986,
679 990, 993, 996, 1001, 1005, 1010, 1014, 1017, 1018, 1022,
680 1041, 1048, 1051, 1053, 1054, 1055, 1058, 1062, 1063, 1067,
681 1071, 1074, 1076, 1080, 1083, 1086, 1090, 1093, 1095, 1097,
682 1099, 1102, 1106, 1108, 1111, 1113, 1119, 1122, 1125, 1128,
683 1140, 1145, 1149, 1153, 1158, 1160, 1164, 1168, 1170, 1172,
684 1182, 1186, 1189, 1192, 1197, 1200, 1202, 1210, 1223, 1228,
685 1234, 1236, 1238, 1251, 1254, 1256, 1258, 1260, 1262, 1264,
686 1266, 1268, 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284,
687 1286, 1288, 1290, 1292, 1294, 1298, 1300, 1302, 1319, 1322,
688 1324, 1325, 1326, 1327, 1328, 1331, 1343, 1346, 1350, 1353,
689 1355, 1360, 1362, 1363, 1366, 1368, 1376, 1378, 1380, 1382,
690 1386, 1389, 1393, 1397, 1398, 1399, 1403, 1411, 1412, 1413,
691 1427, 1429, 1432, 1434, 1445, 1450, 1452, 1454, 1456, 1458,
692 1460, 1462, 1465, 1467, 1478, 1479, 1483, 1487, 1491, 1495,
693 1497, 1501, 1503, 1505, 1513, 1515, 1517, 1519, 1523, 1525,
694 1527, 1529, 1534, 1536, 1538, 1540, 1543, 1545, 1547, 1591,
695 1594, 1598, 1601, 1605, 1608, 1613, 1615, 1619, 1628, 1631,
696 1638, 1645, 1650, 1652, 1657, 1659, 1666, 1668, 1672, 1676,
697 1682, 1686, 1689, 1693, 1696, 1706, 1708, 1711, 1715, 1718,
698 1721, 1724, 1727, 1733, 1739, 1741, 1746, 1748, 1766, 1769,
699 1771, 1774, 1780, 1782, 1792, 1796, 1799, 1802, 1807, 1810,
700 1818, 1820, 1822, 1824, 1827, 1830, 1845, 1864, 1867, 1869,
701 1872, 1874, 1878, 1880, 1884, 1886, 1890, 1893, 1897, 1903,
702 1904, 1916, 1923, 1926, 1932, 1936, 1941, 1947, 1948, 1956,
703 1959, 1963, 1966, 1970, 1975, 1978, 1982, 1985, 1987, 1989,
704 1991, 1998, 2000, 2001, 2002, 2006, 2009, 2013, 2016, 2022,
705 2024, 2027, 2030, 2033, 2039, 2042, 2045, 2047, 2049, 2053,
706 2060, 2066, 2071, 2077, 2079, 2084, 2087, 2090, 2092, 2094,
707 2098, 2103, 2110, 2114, 2121, 2124, 2127, 2133, 2135, 2147,
708 2151, 2156, 2180, 2182, 2185, 2187, 2192, 2194, 2196, 2198,
709 2200, 2202, 2206, 2214, 2217, 2219, 2223, 2230, 2236, 2242,
710 2248, 2258, 2264, 2268, 2275, 2303, 2313, 2319, 2322, 2325,
711 2327, 2331, 2333, 2337, 2340, 2344, 2347, 2350, 2352, 2356,
712 2367, 2381, 2382, 2383, 2384, 2387, 2396, 2401, 2407, 2409,
713 2414, 2416, 2418, 2420, 2422, 2424, 2427, 2437, 2444, 2469,
714 2475, 2478, 2481, 2483, 2494, 2499, 2502, 2507, 2510, 2517,
715 2527, 2530, 2537, 2547, 2549, 2552, 2554, 2557, 2564, 2572,
716 2579, 2585, 2591, 2599, 2603, 2608, 2612, 2615, 2620, 2622,
717 2630, 2632, 2636, 2639, 2644, 2648, 2654, 2665, 2668, 2672,
718 2676, 2684, 2689, 2695, 2698, 2700, 2702, 2708, 2710, 2719,
719 2722, 2724, 2726, 2728, 2732, 2735, 2738, 2740, 2742, 2744,
720 2748, 2751, 2762, 2772, 2774, 2775, 2779, 2787, 2789, 2797,
721 2800, 2802, 2804, 2806, 2810, 2813, 2816, 2818, 2820, 2822,
722 2826, 2829, 2832, 2834, 2836, 2838, 2840, 2847, 2851, 2856,
723 2860, 2865, 2867, 2871, 2874, 2876, 2879, 2881, 2882, 2885,
724 2887, 2889, 2896, 2907, 2913, 2919, 2933, 2935, 2939, 2953,
725 2955, 2957, 2961, 2967, 2980, 2983, 2988, 3001, 3007, 3009,
726 3010, 3011, 3019, 3024, 3033, 3034, 3038, 3041, 3047, 3053,
727 3056, 3058, 3060, 3062, 3066, 3070, 3074, 3077, 3081, 3083,
728 3092, 3095, 3097, 3099, 3101, 3103, 3105, 3107, 3109, 3113,
729 3117, 3121, 3125, 3127, 3129, 3131, 3133, 3135, 3137, 3139,
730 3141, 3149, 3151, 3152, 3153, 3156, 3162, 3164, 3169, 3171,
731 3174, 3187, 3190, 3193, 3197, 3200, 3207, 3209, 3212, 3214,
732 3216, 3219, 3222, 3225, 3228, 3230, 3233, 3237, 3239, 3245,
733 3247, 3248, 3250, 3255, 3257, 3259, 3261, 3263, 3266, 3267,
734 3269, 3272, 3273, 3276, 3276, 3279, 3279, 3282, 3282, 3284,
735 3286, 3288, 3290, 3296, 3302, 3305, 3308, 3314, 3316, 3317,
736 3320, 3322, 3323, 3324, 3326, 3329, 3332, 3335, 3341, 3345,
737 3347, 3350, 3352, 3355, 3359, 3361, 3364, 3366, 3369, 3386,
738 3394, 3397, 3399, 3401, 3405, 3408, 3409, 3417, 3421, 3425,
739 3428, 3429, 3435, 3438, 3441, 3443, 3447, 3452, 3455, 3465,
740 3470, 3471, 3478, 3481, 3484, 3486, 3489, 3491, 3501, 3515,
741 3519, 3522, 3524, 3528, 3532, 3535, 3538, 3540, 3544, 3546,
742 3553, 3560, 3563, 3567, 3571, 3575, 3581, 3585, 3590, 3592,
743 3595, 3600, 3606, 3617, 3620, 3622, 3626, 3634, 3637, 3641,
744 3644, 3646, 3648, 3654, 3659, 3662, 3664, 3666, 3668, 3670,
745 3672, 3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690,
746 3692, 3694, 3696, 3698, 3700, 3702, 3704, 3706, 3708, 3710,
747 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3727, 3729
752 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
754 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
755 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
756 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
757 "CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF",
758 "ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG",
759 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
760 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
761 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
762 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
763 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
764 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
765 "POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
766 "DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
767 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
768 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
769 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
770 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
771 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
772 "template_type_parm","template_template_parm","template_parm","template_def",
773 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
774 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
775 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
776 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
777 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
778 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
779 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
780 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
781 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
782 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
783 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
784 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
785 "unqualified_id","expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
786 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
787 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
788 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
789 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
790 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
791 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
792 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
793 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
794 "pending_defargs","structsp","@26","@27","@28","@29","@30","maybecomma","maybecomma_warn",
795 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
796 "named_complex_class_head_sans_basetype","named_class_head","@31","unnamed_class_head",
797 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
798 "base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list",
799 "component_decl","component_decl_1","components","notype_components","component_declarator0",
800 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
801 "after_type_component_declarator","notype_component_declarator","enumlist_opt",
802 "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
803 "suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator_intern",
804 "after_type_declarator","direct_after_type_declarator","nonnested_type","complete_type_name",
805 "nested_type","notype_declarator_intern","notype_declarator","complex_notype_declarator",
806 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
807 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
808 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
809 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
810 "absdcl_intern","absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
811 "label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if",
812 "@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37",
813 "@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block",
814 "@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq",
815 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
816 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
817 "complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm",
818 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
819 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
823 static const short yyr1
[] = { 0,
824 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
825 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
826 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
827 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
828 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
829 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
830 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
831 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
832 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
833 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
834 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
835 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
836 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
837 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
838 163, 163, 163, 163, 163, 164, 164, 164, 165, 165,
839 165, 167, 166, 168, 166, 169, 166, 170, 166, 171,
840 166, 172, 166, 173, 166, 174, 166, 175, 176, 177,
841 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
842 183, 183, 184, 184, 184, 185, 185, 185, 185, 185,
843 186, 186, 187, 187, 188, 188, 189, 189, 189, 191,
844 190, 190, 192, 192, 192, 192, 194, 193, 193, 195,
845 195, 195, 195, 196, 196, 197, 197, 197, 197, 197,
846 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
847 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
848 198, 199, 200, 200, 201, 201, 201, 201, 202, 202,
849 203, 203, 203, 204, 204, 204, 204, 204, 204, 204,
850 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
851 204, 204, 204, 204, 204, 204, 204, 204, 205, 205,
852 205, 205, 205, 205, 205, 206, 207, 207, 208, 208,
853 208, 209, 209, 209, 210, 210, 211, 211, 211, 211,
854 212, 212, 213, 213, 213, 213, 214, 214, 214, 214,
855 214, 214, 214, 215, 214, 214, 214, 214, 214, 214,
856 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
857 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
858 214, 214, 214, 214, 214, 214, 214, 214, 214, 216,
859 216, 217, 217, 218, 218, 219, 219, 220, 221, 221,
860 222, 222, 222, 222, 222, 222, 223, 223, 224, 224,
861 225, 225, 225, 225, 225, 226, 226, 227, 227, 227,
862 227, 227, 227, 228, 228, 228, 228, 228, 229, 229,
863 229, 229, 229, 229, 230, 230, 230, 230, 231, 231,
864 232, 232, 232, 232, 232, 232, 232, 233, 233, 233,
865 234, 234, 235, 235, 236, 236, 237, 237, 239, 238,
866 238, 241, 240, 240, 242, 243, 245, 244, 244, 246,
867 246, 247, 247, 248, 249, 249, 250, 250, 250, 250,
868 250, 251, 251, 251, 251, 252, 252, 253, 253, 254,
869 254, 254, 254, 254, 255, 255, 255, 255, 255, 256,
870 257, 257, 257, 258, 258, 259, 259, 260, 260, 260,
871 262, 261, 263, 261, 261, 261, 261, 264, 265, 266,
872 261, 261, 267, 267, 268, 268, 269, 269, 269, 269,
873 269, 269, 270, 271, 271, 271, 272, 272, 272, 272,
874 272, 273, 274, 273, 273, 275, 276, 276, 277, 277,
875 277, 278, 278, 279, 279, 280, 280, 281, 281, 281,
876 281, 282, 282, 282, 282, 283, 284, 284, 285, 285,
877 285, 285, 285, 285, 285, 285, 285, 285, 286, 286,
878 286, 286, 286, 286, 286, 286, 286, 287, 287, 287,
879 288, 288, 288, 289, 289, 290, 290, 291, 291, 292,
880 292, 292, 292, 293, 293, 294, 294, 294, 295, 295,
881 296, 296, 297, 297, 298, 298, 298, 299, 299, 300,
882 300, 301, 302, 303, 303, 303, 303, 304, 304, 305,
883 305, 305, 305, 305, 305, 306, 306, 306, 306, 306,
884 306, 307, 307, 308, 308, 308, 309, 310, 310, 311,
885 311, 311, 311, 311, 311, 312, 312, 312, 312, 312,
886 312, 313, 313, 313, 313, 313, 313, 314, 314, 315,
887 315, 316, 316, 317, 317, 317, 318, 318, 318, 319,
888 319, 319, 320, 320, 320, 320, 321, 321, 322, 322,
889 322, 322, 323, 323, 323, 323, 324, 324, 324, 324,
890 324, 324, 325, 326, 326, 326, 327, 327, 328, 329,
891 329, 329, 329, 329, 329, 329, 330, 330, 331, 331,
892 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
893 332, 333, 333, 333, 333, 333, 333, 333, 333, 333,
894 333, 334, 334, 334, 334, 335, 336, 336, 337, 337,
895 338, 339, 339, 341, 340, 343, 344, 342, 345, 346,
896 345, 347, 347, 348, 348, 349, 348, 348, 350, 351,
897 348, 352, 353, 348, 354, 355, 356, 357, 348, 358,
898 359, 348, 360, 348, 361, 348, 362, 348, 348, 348,
899 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
900 348, 348, 348, 348, 348, 364, 365, 363, 367, 368,
901 366, 369, 369, 371, 372, 370, 373, 373, 374, 374,
902 375, 375, 375, 375, 376, 376, 376, 377, 377, 378,
903 378, 378, 379, 379, 380, 380, 381, 382, 382, 383,
904 383, 383, 384, 384, 384, 384, 384, 384, 384, 386,
905 385, 387, 387, 388, 388, 388, 388, 388, 389, 389,
906 390, 390, 390, 390, 390, 390, 391, 391, 392, 392,
907 393, 394, 394, 395, 395, 395, 396, 397, 397, 398,
908 398, 398, 398, 399, 400, 400, 400, 400, 400, 400,
909 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
910 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
911 400, 400, 400, 400, 400, 400, 400, 400, 400
914 static const short yyr2
[] = { 0,
915 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
916 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
917 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
918 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
919 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
920 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
921 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
922 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
923 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
924 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
925 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
926 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
927 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
928 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
929 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
930 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
931 7, 0, 7, 0, 6, 0, 6, 0, 0, 5,
932 5, 1, 1, 5, 5, 0, 1, 1, 0, 1,
933 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
934 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
935 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
936 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
937 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
938 5, 6, 6, 7, 2, 4, 5, 2, 2, 6,
939 1, 0, 4, 4, 3, 1, 3, 2, 3, 4,
940 1, 2, 5, 1, 3, 3, 3, 3, 3, 3,
941 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
942 3, 3, 3, 5, 3, 3, 1, 2, 3, 3,
943 1, 1, 1, 1, 1, 0, 5, 5, 5, 5,
944 5, 1, 1, 1, 1, 2, 1, 2, 2, 3,
945 4, 4, 1, 1, 1, 3, 1, 1, 1, 1,
946 3, 3, 3, 0, 4, 4, 2, 4, 2, 4,
947 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
948 4, 2, 2, 2, 1, 4, 2, 2, 5, 3,
949 2, 2, 5, 3, 5, 3, 4, 6, 2, 1,
950 2, 1, 2, 1, 1, 1, 2, 0, 2, 2,
951 3, 3, 3, 2, 2, 2, 1, 1, 1, 2,
952 2, 2, 2, 1, 1, 1, 1, 2, 2, 3,
953 3, 3, 4, 1, 2, 2, 2, 1, 1, 1,
954 2, 2, 2, 1, 1, 2, 2, 3, 1, 2,
955 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
956 1, 3, 1, 3, 1, 3, 0, 4, 0, 6,
957 3, 0, 4, 1, 3, 3, 0, 4, 3, 0,
958 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
959 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
960 2, 3, 4, 1, 1, 3, 4, 3, 5, 1,
961 4, 3, 3, 0, 3, 3, 3, 0, 2, 2,
962 0, 6, 0, 5, 2, 2, 2, 0, 0, 0,
963 10, 1, 0, 1, 0, 1, 1, 2, 2, 2,
964 2, 2, 2, 2, 2, 2, 3, 4, 3, 2,
965 3, 1, 0, 3, 2, 2, 1, 1, 0, 2,
966 3, 1, 4, 1, 3, 1, 1, 2, 2, 3,
967 3, 0, 1, 3, 2, 2, 1, 2, 2, 2,
968 2, 2, 2, 2, 1, 2, 2, 3, 2, 2,
969 4, 4, 2, 1, 5, 4, 1, 0, 1, 3,
970 0, 1, 3, 1, 1, 1, 1, 4, 4, 4,
971 4, 4, 3, 4, 4, 4, 4, 3, 2, 1,
972 1, 3, 1, 3, 2, 1, 7, 0, 2, 1,
973 2, 0, 2, 4, 4, 2, 4, 1, 2, 3,
974 3, 2, 2, 3, 1, 4, 4, 3, 3, 2,
975 1, 1, 2, 1, 1, 2, 2, 1, 2, 3,
976 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
977 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
978 2, 1, 2, 4, 4, 2, 1, 1, 1, 1,
979 2, 4, 2, 2, 2, 2, 1, 2, 2, 2,
980 2, 3, 1, 2, 3, 4, 2, 2, 2, 2,
981 2, 2, 4, 2, 1, 2, 2, 3, 1, 3,
982 2, 3, 2, 2, 3, 1, 3, 4, 1, 2,
983 3, 2, 2, 1, 3, 2, 2, 1, 2, 3,
984 1, 3, 6, 4, 4, 3, 5, 3, 3, 3,
985 2, 1, 1, 2, 2, 2, 0, 1, 1, 2,
986 3, 1, 2, 0, 3, 0, 0, 5, 1, 0,
987 2, 1, 1, 1, 2, 0, 4, 1, 0, 0,
988 5, 0, 0, 7, 0, 0, 0, 0, 12, 0,
989 0, 7, 0, 5, 0, 7, 0, 4, 2, 2,
990 2, 3, 6, 8, 10, 12, 4, 3, 2, 2,
991 1, 1, 1, 1, 1, 0, 0, 6, 0, 0,
992 5, 1, 2, 0, 0, 5, 1, 1, 3, 3,
993 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
994 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
995 1, 1, 1, 2, 2, 2, 1, 2, 2, 0,
996 3, 1, 1, 1, 2, 2, 2, 4, 2, 2,
997 2, 2, 2, 2, 1, 2, 1, 2, 1, 1,
998 0, 0, 1, 0, 4, 2, 1, 1, 3, 0,
999 3, 3, 3, 1, 2, 2, 2, 2, 2, 2,
1000 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1001 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
1002 2, 2, 3, 2, 2, 4, 4, 3, 2
1005 static const short yydefact
[] = { 3,
1006 12, 12, 5, 0, 4, 0, 283, 637, 638, 0,
1007 390, 402, 580, 0, 11, 0, 0, 0, 10, 487,
1008 844, 0, 0, 0, 168, 669, 284, 285, 83, 0,
1009 0, 831, 0, 45, 0, 0, 13, 25, 0, 27,
1010 8, 0, 16, 15, 89, 110, 86, 0, 639, 172,
1011 304, 281, 305, 615, 0, 377, 0, 376, 395, 0,
1012 415, 394, 432, 401, 0, 502, 503, 509, 508, 507,
1013 482, 389, 604, 403, 605, 108, 303, 626, 602, 0,
1014 640, 578, 0, 0, 282, 81, 82, 179, 643, 179,
1015 644, 179, 286, 168, 141, 142, 143, 144, 145, 473,
1016 475, 0, 665, 0, 476, 0, 0, 0, 0, 142,
1017 143, 144, 145, 23, 0, 0, 0, 0, 0, 0,
1018 0, 477, 647, 0, 653, 0, 0, 0, 37, 0,
1019 0, 31, 0, 0, 47, 0, 179, 645, 0, 0,
1020 0, 613, 608, 0, 0, 0, 612, 0, 0, 0,
1021 0, 304, 0, 295, 582, 0, 0, 303, 578, 28,
1022 0, 26, 3, 46, 0, 64, 390, 0, 0, 8,
1023 67, 63, 66, 89, 0, 0, 0, 401, 90, 14,
1024 0, 430, 0, 0, 448, 87, 79, 646, 582, 0,
1025 578, 80, 0, 0, 0, 106, 0, 411, 367, 595,
1026 368, 601, 0, 578, 392, 391, 78, 109, 378, 0,
1027 413, 393, 107, 384, 408, 409, 379, 397, 399, 388,
1028 410, 0, 75, 433, 488, 489, 490, 491, 506, 150,
1029 149, 151, 493, 494, 173, 500, 492, 0, 0, 495,
1030 496, 509, 831, 505, 478, 581, 396, 0, 427, 638,
1031 0, 667, 172, 630, 631, 627, 607, 641, 0, 606,
1032 603, 0, 879, 875, 874, 872, 854, 859, 860, 0,
1033 866, 865, 851, 852, 850, 869, 858, 855, 856, 857,
1034 861, 862, 848, 849, 845, 846, 847, 871, 863, 864,
1035 853, 870, 0, 867, 777, 395, 778, 840, 286, 283,
1036 580, 308, 356, 0, 0, 0, 0, 0, 352, 350,
1037 323, 354, 355, 0, 0, 0, 0, 0, 284, 285,
1038 277, 0, 0, 187, 186, 0, 188, 189, 0, 0,
1039 190, 0, 0, 180, 181, 0, 251, 0, 254, 185,
1040 307, 216, 0, 0, 309, 310, 0, 183, 374, 395,
1041 375, 632, 335, 325, 0, 0, 0, 0, 179, 0,
1042 485, 471, 0, 666, 664, 0, 191, 192, 0, 0,
1043 0, 437, 3, 21, 29, 661, 657, 658, 660, 662,
1044 659, 141, 142, 143, 0, 144, 145, 649, 650, 654,
1045 651, 648, 0, 293, 294, 292, 629, 628, 33, 32,
1046 49, 0, 158, 0, 0, 395, 156, 0, 0, 609,
1047 611, 0, 610, 142, 143, 279, 280, 299, 0, 619,
1048 298, 0, 618, 0, 306, 284, 285, 0, 0, 0,
1049 297, 296, 623, 0, 0, 12, 0, 168, 9, 9,
1050 70, 0, 65, 0, 0, 71, 74, 0, 429, 431,
1051 122, 93, 127, 766, 0, 85, 84, 92, 125, 0,
1052 0, 123, 88, 625, 0, 0, 586, 0, 834, 0,
1053 0, 593, 588, 0, 592, 0, 0, 0, 0, 0,
1054 578, 430, 0, 77, 582, 578, 600, 0, 381, 382,
1055 0, 76, 430, 386, 385, 387, 380, 400, 417, 416,
1056 179, 497, 501, 499, 0, 504, 510, 0, 398, 430,
1057 578, 94, 0, 0, 0, 0, 578, 100, 579, 614,
1058 638, 668, 172, 0, 0, 868, 873, 397, 578, 578,
1059 0, 578, 878, 179, 0, 0, 0, 223, 0, 0,
1060 225, 238, 239, 0, 0, 0, 0, 0, 0, 278,
1061 222, 219, 218, 220, 0, 0, 0, 0, 0, 307,
1062 0, 0, 0, 217, 177, 178, 301, 0, 221, 0,
1063 0, 252, 0, 0, 0, 0, 0, 0, 0, 0,
1064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 317, 0, 319, 321, 322, 360,
1066 359, 0, 0, 242, 242, 0, 227, 576, 0, 235,
1067 357, 349, 0, 0, 831, 338, 341, 342, 0, 0,
1068 369, 688, 684, 0, 582, 578, 578, 578, 371, 691,
1069 0, 636, 373, 0, 0, 372, 337, 0, 332, 351,
1070 333, 353, 633, 0, 334, 176, 176, 0, 166, 0,
1071 395, 164, 486, 573, 570, 0, 485, 571, 485, 0,
1072 404, 0, 0, 405, 406, 407, 443, 444, 445, 442,
1073 0, 435, 438, 0, 3, 0, 652, 179, 655, 0,
1074 41, 42, 0, 53, 0, 0, 57, 61, 50, 830,
1075 825, 0, 374, 395, 53, 375, 829, 59, 169, 154,
1076 152, 169, 176, 302, 617, 616, 306, 0, 620, 0,
1077 18, 20, 89, 9, 9, 73, 72, 0, 0, 358,
1078 0, 714, 91, 712, 454, 0, 450, 449, 215, 0,
1079 214, 583, 624, 0, 807, 0, 802, 395, 0, 801,
1080 803, 832, 814, 0, 0, 622, 589, 591, 590, 0,
1081 0, 0, 0, 0, 0, 578, 599, 0, 425, 424,
1082 412, 598, 0, 834, 594, 383, 414, 426, 430, 0,
1083 498, 637, 638, 831, 831, 639, 511, 512, 514, 831,
1084 517, 516, 0, 544, 638, 0, 535, 0, 0, 547,
1085 0, 121, 116, 0, 172, 548, 551, 0, 0, 527,
1086 0, 119, 428, 834, 800, 179, 179, 642, 179, 834,
1087 800, 578, 97, 578, 103, 877, 876, 840, 840, 840,
1088 0, 0, 0, 0, 636, 0, 0, 0, 0, 0,
1089 395, 0, 0, 0, 313, 0, 311, 312, 0, 249,
1090 182, 283, 637, 638, 284, 285, 0, 0, 455, 483,
1091 0, 276, 275, 792, 791, 0, 273, 272, 270, 271,
1092 269, 268, 267, 264, 265, 266, 262, 263, 257, 258,
1093 259, 260, 261, 255, 256, 0, 0, 0, 0, 0,
1094 242, 229, 246, 0, 0, 228, 578, 578, 0, 578,
1095 575, 676, 0, 0, 0, 0, 0, 340, 0, 344,
1096 0, 346, 0, 0, 687, 686, 679, 683, 682, 830,
1097 394, 0, 0, 701, 0, 0, 834, 370, 834, 689,
1098 578, 800, 582, 688, 684, 0, 0, 578, 0, 394,
1099 0, 0, 0, 0, 171, 175, 287, 169, 162, 160,
1100 169, 0, 474, 486, 569, 0, 213, 212, 211, 210,
1101 437, 0, 0, 24, 0, 0, 656, 0, 38, 44,
1102 43, 55, 52, 53, 0, 48, 0, 0, 688, 684,
1103 0, 821, 578, 824, 826, 0, 822, 823, 54, 493,
1104 0, 159, 169, 169, 157, 170, 300, 17, 19, 69,
1105 89, 418, 140, 146, 133, 147, 148, 0, 126, 129,
1106 0, 0, 0, 0, 713, 707, 451, 0, 124, 587,
1107 584, 806, 820, 809, 0, 585, 805, 819, 808, 804,
1108 833, 816, 827, 817, 810, 815, 836, 0, 0, 0,
1109 0, 422, 597, 596, 421, 176, 519, 518, 831, 831,
1110 831, 0, 578, 800, 543, 536, 548, 537, 430, 430,
1111 533, 534, 531, 532, 578, 800, 283, 637, 0, 417,
1112 117, 539, 549, 554, 555, 417, 417, 0, 0, 417,
1113 115, 540, 552, 417, 0, 430, 0, 528, 529, 530,
1114 430, 96, 0, 0, 0, 0, 102, 0, 834, 800,
1115 834, 800, 842, 841, 843, 288, 324, 224, 226, 0,
1116 330, 331, 0, 0, 0, 0, 312, 315, 0, 0,
1117 0, 0, 250, 0, 316, 318, 320, 0, 0, 0,
1118 0, 230, 248, 0, 0, 673, 671, 0, 674, 582,
1119 236, 0, 0, 179, 347, 0, 0, 0, 680, 685,
1120 681, 692, 578, 700, 698, 699, 690, 834, 0, 696,
1121 0, 0, 634, 635, 688, 684, 0, 0, 336, 167,
1122 169, 169, 165, 574, 572, 472, 436, 434, 283, 0,
1123 22, 30, 663, 56, 51, 58, 62, 0, 687, 683,
1124 688, 684, 0, 394, 602, 0, 578, 689, 60, 155,
1125 153, 68, 0, 131, 0, 135, 0, 137, 0, 139,
1126 0, 767, 0, 203, 715, 0, 708, 709, 0, 452,
1127 688, 684, 0, 307, 0, 632, 828, 0, 0, 837,
1128 838, 0, 0, 0, 0, 0, 0, 419, 174, 0,
1129 521, 520, 515, 834, 0, 538, 448, 448, 834, 0,
1130 0, 0, 430, 430, 0, 430, 430, 0, 430, 0,
1131 526, 479, 0, 448, 578, 290, 289, 291, 578, 99,
1132 0, 105, 0, 0, 0, 0, 0, 0, 0, 458,
1133 0, 456, 253, 274, 244, 243, 241, 231, 0, 245,
1134 247, 672, 670, 677, 675, 0, 237, 0, 0, 339,
1135 343, 345, 834, 694, 578, 695, 163, 161, 0, 439,
1136 441, 0, 687, 683, 688, 684, 0, 578, 607, 689,
1137 132, 130, 0, 0, 0, 0, 446, 0, 0, 283,
1138 637, 638, 716, 729, 732, 735, 740, 0, 0, 0,
1139 0, 0, 0, 0, 0, 284, 761, 769, 0, 788,
1140 765, 764, 763, 0, 724, 0, 0, 395, 0, 703,
1141 722, 728, 702, 723, 762, 0, 710, 453, 0, 635,
1142 818, 812, 813, 811, 0, 835, 423, 0, 513, 112,
1143 578, 542, 546, 114, 578, 430, 430, 563, 448, 283,
1144 637, 0, 550, 556, 557, 417, 417, 448, 448, 0,
1145 448, 553, 468, 541, 834, 834, 578, 578, 240, 0,
1146 0, 0, 0, 457, 0, 0, 232, 233, 678, 348,
1147 289, 697, 834, 0, 687, 683, 0, 689, 134, 136,
1148 138, 774, 768, 772, 0, 711, 706, 206, 781, 783,
1149 784, 0, 0, 720, 0, 0, 0, 747, 749, 750,
1150 751, 0, 0, 0, 0, 0, 0, 0, 782, 0,
1151 366, 789, 0, 725, 364, 417, 0, 365, 0, 417,
1152 0, 0, 0, 204, 705, 704, 726, 760, 759, 312,
1153 839, 420, 834, 834, 562, 559, 561, 0, 0, 430,
1154 430, 430, 558, 560, 545, 0, 95, 101, 834, 834,
1155 326, 327, 328, 329, 459, 0, 234, 693, 440, 688,
1156 684, 0, 0, 0, 773, 447, 195, 0, 717, 730,
1157 719, 0, 0, 0, 0, 0, 743, 0, 752, 0,
1158 758, 39, 145, 34, 145, 0, 35, 770, 0, 362,
1159 363, 0, 0, 0, 361, 205, 720, 111, 113, 430,
1160 430, 568, 448, 448, 470, 0, 469, 464, 98, 104,
1161 577, 394, 0, 775, 202, 0, 395, 0, 720, 0,
1162 733, 721, 707, 786, 736, 0, 0, 0, 0, 748,
1163 757, 40, 36, 0, 0, 727, 567, 565, 564, 566,
1164 0, 0, 481, 0, 0, 0, 196, 417, 718, 207,
1165 731, 209, 0, 787, 0, 785, 741, 745, 744, 771,
1166 793, 0, 467, 466, 460, 86, 89, 779, 780, 776,
1167 430, 707, 193, 0, 0, 199, 0, 198, 720, 0,
1168 0, 0, 794, 795, 753, 0, 465, 0, 208, 0,
1169 734, 737, 742, 746, 0, 793, 0, 0, 463, 0,
1170 462, 200, 194, 0, 0, 0, 754, 796, 461, 0,
1171 0, 797, 0, 0, 201, 738, 798, 0, 755, 0,
1172 0, 0, 739, 799, 756, 0, 0, 0
1175 static const short yydefgoto
[] = { 1666,
1176 436, 2, 437, 165, 712, 332, 181, 3, 4, 37,
1177 675, 373, 1341, 676, 790, 1342, 1343, 393, 1447, 680,
1178 41, 791, 402, 686, 962, 687, 688, 689, 43, 172,
1179 173, 44, 455, 184, 180, 45, 46, 805, 1090, 811,
1180 1092, 47, 793, 794, 185, 186, 456, 719, 999, 1000,
1181 654, 1001, 234, 48, 984, 983, 702, 699, 1162, 1161,
1182 941, 938, 136, 982, 49, 236, 50, 935, 567, 333,
1183 334, 335, 336, 1344, 1615, 1509, 1617, 1556, 1650, 1205,
1184 1591, 1612, 367, 927, 337, 1278, 879, 606, 886, 338,
1185 339, 368, 341, 359, 52, 255, 681, 418, 154, 53,
1186 54, 342, 562, 343, 344, 345, 346, 457, 347, 1345,
1187 499, 627, 348, 1346, 56, 217, 692, 349, 218, 539,
1188 219, 197, 210, 60, 482, 500, 1368, 759, 1227, 198,
1189 211, 61, 510, 760, 62, 63, 671, 672, 673, 1318,
1190 462, 849, 850, 1606, 1607, 1583, 1547, 1486, 64, 659,
1191 361, 508, 1393, 1548, 1112, 655, 65, 66, 67, 68,
1192 69, 242, 70, 71, 244, 777, 778, 779, 780, 798,
1193 1077, 799, 800, 801, 1062, 1072, 1063, 1383, 1064, 1065,
1194 1384, 1385, 656, 657, 658, 607, 917, 351, 465, 466,
1195 191, 480, 473, 200, 73, 74, 75, 142, 143, 157,
1196 77, 132, 352, 353, 354, 79, 355, 81, 782, 123,
1197 124, 125, 515, 105, 82, 356, 891, 892, 912, 907,
1198 630, 1349, 1350, 1206, 1207, 1208, 723, 1351, 1006, 1352,
1199 1432, 1559, 1512, 1513, 1353, 1354, 1537, 1433, 1560, 1434,
1200 1593, 1435, 1595, 1644, 1660, 1436, 1619, 1569, 1620, 1518,
1201 458, 720, 1316, 1355, 1450, 1574, 1423, 1424, 1504, 1586,
1202 1558, 1554, 1356, 1565, 1453, 856, 1622, 1623, 1624, 1658,
1203 739, 913, 1026, 1219, 1364, 741, 742, 743, 1022, 744,
1204 148, 1024, 746, 1221, 1222, 533, 84, 85
1207 static const short yypact
[] = { 193,
1208 240,-32768,-32768, 3063,-32768, 65, 34, 270, 329, 161,
1209 234,-32768,-32768, 1086,-32768, 219, 229, 281,-32768,-32768,
1210 -32768, 1933, 1911, 109, 211,-32768, 294, 521,-32768, 1916,
1211 1916,-32768, 968,-32768, 3063, 285,-32768,-32768, 332,-32768,
1212 206, 3343,-32768,-32768, 292, 826, 406, 349, 393,-32768,
1213 -32768,-32768,-32768, 638, 2972,-32768, 6660,-32768, 1411, 435,
1214 -32768, 432,-32768,-32768, 1373, 68,-32768, 391,-32768,-32768,
1215 427, 5972,-32768,-32768,-32768, 1267,-32768,-32768,-32768, 337,
1216 -32768,-32768, 522, 5462, 402,-32768,-32768, 11022,-32768, 11022,
1217 -32768, 11022,-32768,-32768,-32768, 270, 329, 294, 436,-32768,
1218 441, 393,-32768, 652,-32768, 522, 11113, 11113, 416,-32768,
1219 -32768,-32768,-32768,-32768, 250, 469, 535, 627, 667, 498,
1220 504,-32768,-32768, 1220,-32768, 921, 270, 329,-32768, 294,
1221 436,-32768, 385, 2061, 512, 7112, 11022,-32768, 11022, 3134,
1222 4234,-32768,-32768, 1595, 690, 4234,-32768, 1242, 5334, 5334,
1223 968, 484, 517,-32768, 544, 2098, 546, 577,-32768,-32768,
1224 633,-32768, 591,-32768, 2306,-32768,-32768, 211, 4047, 637,
1225 -32768,-32768,-32768, 292, 785, 7623, 879, 683,-32768,-32768,
1226 657, 432, 777, 146, 327, 696,-32768,-32768, 672, 80,
1227 -32768,-32768, 5572, 5572, 3786, 1267, 953,-32768,-32768, 673,
1228 -32768,-32768, 2992,-32768,-32768,-32768,-32768,-32768, 1411, 973,
1229 -32768, 432, 1267,-32768,-32768,-32768, 2784, 1411,-32768, 432,
1230 -32768, 785,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1231 -32768,-32768, 719,-32768, 393,-32768, 432, 1702, 1730,-32768,
1232 -32768, 391,-32768,-32768,-32768,-32768, 1256, 522,-32768, 603,
1233 714,-32768, 203,-32768,-32768,-32768,-32768,-32768, 6455,-32768,
1234 -32768, 418,-32768, 703, 710,-32768,-32768,-32768,-32768, 746,
1235 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1236 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1237 -32768,-32768, 720,-32768,-32768, 1256, 5972, 1276,-32768,-32768,
1238 728,-32768,-32768, 11751, 11842, 11933, 11933, 733,-32768,-32768,
1239 -32768,-32768,-32768, 742, 761, 780, 790, 792, 1076, 436,
1240 11204, 2019, 11933,-32768,-32768, 11933,-32768,-32768, 11933, 8604,
1241 -32768, 11933, 383, 800,-32768, 11933,-32768, 11295,-32768, 12387,
1242 239, 1022, 12153, 11386,-32768, 858, 3828,-32768, 1852, 2345,
1243 3504,-32768, 314,-32768, 1233, 2191, 383, 383, 11022, 7112,
1244 815,-32768, 2019,-32768,-32768, 763, 824, 12294, 782, 794,
1245 798, 2065, 591,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1246 -32768, 469, 535, 627, 2019, 667, 498, 819, 504,-32768,
1247 833,-32768, 1607, 270, 329,-32768,-32768,-32768,-32768,-32768,
1248 -32768, 4919,-32768, 785, 2686, 2442,-32768, 383, 924,-32768,
1249 -32768, 626,-32768, 834, 844,-32768,-32768,-32768, 4234,-32768,
1250 -32768, 4234,-32768, 821,-32768,-32768,-32768, 2098, 2098, 2098,
1251 -32768,-32768,-32768, 6455, 74, 839, 843,-32768,-32768,-32768,
1252 -32768, 7112,-32768, 1068, 1125,-32768,-32768, 633,-32768, 432,
1253 -32768,-32768,-32768,-32768, 104,-32768,-32768,-32768,-32768, 9155,
1254 11204,-32768,-32768,-32768, 11204, 848,-32768, 8288, 140, 7184,
1255 6969,-32768,-32768, 6969,-32768, 7067, 7067, 3786, 12113, 847,
1256 -32768, 432, 785,-32768, 851,-32768,-32768, 12050, 2784, 1411,
1257 785,-32768, 432,-32768,-32768, 432, 2784,-32768, 941,-32768,
1258 11022, 719,-32768,-32768, 1702,-32768, 1228, 4279, 1256, 432,
1259 -32768,-32768, 900, 913, 935, 917,-32768,-32768,-32768,-32768,
1260 786,-32768, 423, 887, 897,-32768,-32768, 1256,-32768,-32768,
1261 946,-32768,-32768, 11022, 11204, 728, 8604,-32768, 464, 8604,
1262 -32768,-32768,-32768, 11204, 11113, 6354, 6354, 6354, 6354, 12365,
1263 -32768,-32768,-32768,-32768, 930, 11478, 11478, 8604, 933, 253,
1264 939, 970, 948,-32768,-32768,-32768,-32768, 11022,-32768, 8695,
1265 8604,-32768, 11204, 11204, 9246, 11204, 11204, 11204, 11204, 11204,
1266 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204,
1267 11204, 11204, 11204, 11204,-32768, 11204,-32768,-32768,-32768,-32768,
1268 -32768, 11204, 11204,-32768,-32768, 5162, 446, 899, 9792,-32768,
1269 -32768,-32768, 988, 714, 1051, 501, 525, 536, 1486, 690,
1270 -32768, 2564, 2564, 4463, 952, 985, 1018,-32768,-32768, 676,
1271 10290, 820,-32768, 1422, 522,-32768,-32768, 11204,-32768,-32768,
1272 -32768,-32768,-32768, 171, 402,-32768,-32768, 383,-32768, 785,
1273 2744,-32768,-32768, 1016,-32768, 1002, 1027,-32768, 815, 819,
1274 -32768, 9519, 9610,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1275 141,-32768, 1004, 1011, 591, 1607, 1084, 11022,-32768, 1070,
1276 -32768,-32768, 2061, 2003, 1109, 336, 1094, 1099,-32768,-32768,
1277 3249, 7623, 3249, 2078, 1373, 5229,-32768, 1102,-32768,-32768,
1278 -32768,-32768,-32768,-32768,-32768,-32768, 1041, 1062,-32768, 1112,
1279 -32768,-32768, 292,-32768,-32768,-32768,-32768, 91, 1689, 1113,
1280 970,-32768,-32768,-32768,-32768, 8510, 12365,-32768, 824, 1073,
1281 12294,-32768,-32768, 1085,-32768, 1087, 556, 6399, 1091,-32768,
1282 144, 6794, 1146, 1161, 541,-32768,-32768,-32768,-32768, 6969,
1283 6969, 12067, 12067, 12113, 1422,-32768,-32768, 12050,-32768, 1163,
1284 -32768,-32768, 1101, 140,-32768, 2784,-32768,-32768, 432, 1154,
1285 -32768, 535, 627,-32768,-32768, 504, 1174,-32768,-32768, 101,
1286 -32768,-32768, 2039,-32768, 1005, 961,-32768, 11204, 6007,-32768,
1287 6007, 207, 207, 195, 598, 3977, 5869, 78, 5757,-32768,
1288 77, 207,-32768, 140, 7226, 11022, 11022,-32768, 11022, 140,
1289 7226,-32768,-32768,-32768,-32768,-32768,-32768, 1103, 1103, 1103,
1290 383, 1132, 1135, 10658, 1018, 1140, 12320, 1142, 1144, 1177,
1291 2553, 1178, 1179, 1180,-32768, 1150,-32768,-32768, 1164,-32768,
1292 -32768, 1243, 584, 775, 43, 87, 11204, 1247,-32768, 1236,
1293 1203, 12365, 12365,-32768,-32768, 1250, 4334, 8333, 5373, 4584,
1294 2780, 3183, 3879, 2798, 2798, 2798, 2213, 2213, 1136, 1136,
1295 453, 453, 453,-32768,-32768, 1207, 1212, 1213, 11204, 11113,
1296 -32768, 446,-32768, 9155, 11204,-32768,-32768,-32768, 11204,-32768,
1297 -32768, 1232, 11933, 1225, 1248, 1263, 1291,-32768, 11204,-32768,
1298 11204,-32768, 11204, 1403, 4133,-32768,-32768, 4133,-32768, 95,
1299 1403, 1234, 1240,-32768, 1230, 6354, 140,-32768, 140, 4524,
1300 -32768, 7226, 1238, 10474, 10474, 6104, 1245, 11295, 1246, 3522,
1301 4297, 2191, 1489, 1252,-32768,-32768,-32768,-32768,-32768,-32768,
1302 -32768, 11204,-32768, 2019,-32768, 1235,-32768, 12365,-32768, 12365,
1303 2065, 1258, 11569,-32768, 1255, 1290,-32768, 383,-32768,-32768,
1304 -32768,-32768,-32768, 978, 4919,-32768, 6354, 11022, 2667, 2667,
1305 4687,-32768,-32768,-32768,-32768, 2992,-32768,-32768,-32768, 1007,
1306 11204,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1307 292,-32768,-32768, 469,-32768, 667, 498, 11204, 1295,-32768,
1308 660, 665, 715, 970,-32768, 86,-32768, 169,-32768,-32768,
1309 -32768,-32768,-32768,-32768, 10382,-32768,-32768,-32768,-32768,-32768,
1310 -32768,-32768, 1161, 1310,-32768,-32768,-32768, 6354, 1768, 1768,
1311 2313,-32768,-32768,-32768, 1318,-32768,-32768,-32768,-32768,-32768,
1312 -32768, 2179,-32768, 7226, 12365,-32768, 1751,-32768, 432, 432,
1313 -32768,-32768,-32768,-32768,-32768, 7226, 370, 845, 11204, 941,
1314 -32768, 1324,-32768,-32768,-32768, 346, 460, 337, 690, 754,
1315 207, 1325,-32768, 874, 1323, 432, 6952,-32768,-32768,-32768,
1316 432,-32768, 1279, 383, 383, 383,-32768, 1280, 140, 7226,
1317 140, 7226,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 6354,
1318 -32768,-32768, 1302, 1303, 1312, 1313, 1041,-32768, 12228, 9155,
1319 8789, 1294,-32768, 11204,-32768,-32768,-32768, 1300, 1306, 1309,
1320 6354,-32768,-32768, 1314, 405, 668, 668, 1326, 668,-32768,
1321 -32768, 11933, 1413, 11022,-32768, 1315, 1316, 1321,-32768,-32768,
1322 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 140, 1327,-32768,
1323 1332, 3522,-32768,-32768, 2900, 2900, 4836, 4542,-32768,-32768,
1324 -32768,-32768,-32768, 12365,-32768,-32768,-32768,-32768, 168, 1328,
1325 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 4127, 3682, 3682,
1326 4392, 4392, 4687, 5093, 75, 2992,-32768, 4939, 12387,-32768,
1327 -32768,-32768, 1339,-32768, 477,-32768, 11204,-32768, 11204,-32768,
1328 11204,-32768, 2019,-32768,-32768, 8083, 1416,-32768, 8880,-32768,
1329 10566, 10566, 8176, 166, 1342, 213,-32768, 9155, 8971,-32768,
1330 -32768, 183, 3274, 3274, 2454, 2454, 9155,-32768,-32768, 1228,
1331 -32768,-32768,-32768, 140, 1345,-32768, 1389, 1389, 140, 1348,
1332 11204, 11204, 7877, 432, 5628, 432, 432, 1628, 432, 7846,
1333 -32768,-32768, 7465, 1389,-32768,-32768, 1404,-32768,-32768,-32768,
1334 1355,-32768, 1356, 1357, 11204, 11204, 11204, 11204, 9155,-32768,
1335 1406,-32768,-32768, 12365,-32768,-32768,-32768, 567, 1309,-32768,
1336 -32768,-32768,-32768,-32768,-32768, 1362,-32768, 1419, 383,-32768,
1337 -32768,-32768, 140,-32768,-32768,-32768,-32768,-32768, 11204,-32768,
1338 -32768, 5093, 3682, 3682, 5033, 5033, 6232,-32768, 399, 4939,
1339 -32768,-32768, 1367, 1374, 1377, 1385,-32768, 1128, 209, 1424,
1340 942, 1030,-32768,-32768,-32768,-32768,-32768, 11204, 1425, 1434,
1341 1438, 10749, 276, 2019, 876, 503,-32768,-32768, 10840, 1491,
1342 -32768,-32768,-32768, 1444,-32768, 6555, 7346, 7829, 7962,-32768,
1343 -32768, 1490,-32768,-32768,-32768, 9901,-32768,-32768, 1400, 457,
1344 -32768,-32768,-32768,-32768, 6354,-32768,-32768, 9155,-32768,-32768,
1345 -32768,-32768,-32768,-32768,-32768, 7877, 7877,-32768, 1389, 640,
1346 1063, 11204,-32768,-32768,-32768, 941, 941, 1389, 1389, 786,
1347 1389,-32768,-32768,-32768, 140, 140,-32768,-32768,-32768, 1407,
1348 1408, 1418, 1421,-32768, 9155, 11204,-32768, 567,-32768,-32768,
1349 -32768,-32768, 140, 1423, 4744, 4744, 1422, 5645,-32768,-32768,
1350 -32768,-32768, 1385,-32768, 2019,-32768,-32768,-32768,-32768,-32768,
1351 -32768, 717, 717, 970, 1426, 1439, 12151,-32768,-32768,-32768,
1352 -32768, 1478, 11204, 1479, 1477, 1493, 2171, 2220,-32768, 970,
1353 -32768,-32768, 1457,-32768,-32768, 941, 1130,-32768, 1143, 941,
1354 10931, 1147, 259,-32768,-32768,-32768,-32768,-32768,-32768, 514,
1355 -32768,-32768, 140, 140,-32768,-32768,-32768, 11204, 11204, 7877,
1356 432, 432,-32768,-32768,-32768, 7714,-32768,-32768, 140, 140,
1357 -32768,-32768,-32768,-32768,-32768, 1440,-32768,-32768,-32768, 6224,
1358 6224, 12020, 2413, 1461,-32768,-32768,-32768, 11113,-32768,-32768,
1359 -32768, 1540, 10197, 8419, 11113, 11204,-32768, 10009,-32768, 1498,
1360 -32768,-32768, 1506,-32768, 1493, 2171,-32768,-32768, 633,-32768,
1361 -32768, 11660, 11660, 9064,-32768,-32768, 970,-32768,-32768, 7877,
1362 7877,-32768, 1389, 1389,-32768, 9701,-32768,-32768,-32768,-32768,
1363 -32768, 2413, 12233,-32768,-32768, 1455, 236, 785, 970, 10103,
1364 -32768,-32768, 86,-32768,-32768, 1503, 1458, 12343, 10009,-32768,
1365 -32768,-32768,-32768, 1385, 88,-32768,-32768,-32768,-32768,-32768,
1366 1464, 12250, 1466, 1465, 1472, 970,-32768, 941,-32768,-32768,
1367 -32768,-32768, 730,-32768, 9337,-32768,-32768,-32768,-32768, 1385,
1368 1563, 1521,-32768,-32768,-32768, 406, 292,-32768,-32768,-32768,
1369 432, 86,-32768, 11204, 1523,-32768, 1524,-32768, 970, 10009,
1370 1496, 322, 1526,-32768,-32768, 174,-32768, 1525,-32768, 1487,
1371 -32768,-32768,-32768,-32768, 11204, 1563, 1541, 1563,-32768, 104,
1372 -32768,-32768,-32768, 9428, 1501, 737,-32768,-32768,-32768, 9155,
1373 1507,-32768, 1615, 1557,-32768,-32768,-32768, 264,-32768, 10103,
1374 1617, 1570,-32768,-32768,-32768, 1634, 1636,-32768
1377 static const short yypgoto
[] = {-32768,
1378 1640,-32768, -337, 1471, -366, 7, 9, 1643,-32768, 1611,
1379 -32768,-32768, 378,-32768, 421,-32768, 433,-32768, 200, 974,
1380 49, 12,-32768,-32768, -669,-32768,-32768, 689, 54, 1488,
1381 1216, 1505, -719, 72, -166, 20, 55,-32768,-32768,-32768,
1382 -32768,-32768, 864,-32768,-32768,-32768,-32768,-32768,-32768, 485,
1383 263,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1384 -32768,-32768, 1561, -633, 7245, 1441, -56, -592, -142, -55,
1385 1543, -547,-32768, 597,-32768, 254,-32768, -1415,-32768, -1315,
1386 29,-32768, 1382, -308, -259, 412, -562,-32768, -821, 6016,
1387 609, 1301, 4427, 1398, -327, -58, -83, 2389, -115, -46,
1388 186,-32768,-32768,-32768, -331,-32768, -156,-32768,-32768, -1262,
1389 -41, -341, 6520, 48, 2180, -146, 23, 468, -207, -4,
1390 -73, -168, -170, 31, -16, 145,-32768, -364,-32768,-32768,
1391 -32768,-32768,-32768, 554, 1522, 90,-32768, 748,-32768,-32768,
1392 -1167, -445, 976,-32768,-32768,-32768,-32768,-32768, -39,-32768,
1393 -32768,-32768,-32768,-32768,-32768, 1043, -354,-32768,-32768,-32768,
1394 -32768,-32768,-32768,-32768, 1480,-32768, 473, 666,-32768,-32768,
1395 -32768, 636, -732,-32768,-32768,-32768,-32768,-32768,-32768, 927,
1396 -32768, 475, 1055,-32768, 799, 1139, 4626, 106, 39, -463,
1397 1536, 2692, -51,-32768, -484,-32768, 14, 1904, 4571, -117,
1398 1251, -70, 5237, 1391,-32768, 6116, 2491, 537, -13, -107,
1399 -32768, 1618, -68,-32768, 5603, 3459, -81,-32768, 2857, 410,
1400 -32768,-32768, 401,-32768,-32768, 545, 113, -315,-32768,-32768,
1401 -32768,-32768, -1442,-32768, -1255, -1435,-32768,-32768,-32768,-32768,
1402 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1403 132,-32768,-32768,-32768,-32768,-32768, 189, -1347,-32768,-32768,
1404 -45,-32768,-32768,-32768,-32768, -1433, 128,-32768, 127,-32768,
1405 -690, -376, 744,-32768,-32768,-32768,-32768, -390,-32768, -384,
1406 -177,-32768, 813, 403,-32768, 304,-32768, -234
1410 #define YYLAST 12472
1413 static const short yytable
[] = { 59,
1414 1004, 490, 178, 199, 435, 445, 444, 443, 632, 122,
1415 35, 697, 36, 196, 728, 42, 516, 698, 392, 221,
1416 841, 763, 781, 253, 642, 979, 57, 103, 641, 182,
1417 59, 420, 423, 256, 357, 674, 358, 59, 298, 509,
1418 432, 35, 880, 36, 538, 541, 42, 695, 169, 398,
1419 399, 55, 209, 42, 936, 391, 1046, 57, 1048, 249,
1420 1122, 174, 489, 400, 176, 507, 1078, 247, 985, 1372,
1421 1373, 497, 177, 713, 397, 1505, 1451, 1562, 572, 296,
1422 1566, 408, 55, 350, 611, 350, 1394, 350, 528, 175,
1423 170, 740, 190, 1466, 1576, 171, 260, 256, 611, 1567,
1424 1469, 611, 350, 350, 721, -144, 1012, 1040, 88, 72,
1425 986, 208, 127, 128, 1083, 1075, 1589, 137, 1203, 364,
1426 1088, 645, -601, 199, 1592, 86, 240, 467, 768, 178,
1427 241, 406, 350, 196, 350, 141, 146, 1079, 1041, 724,
1428 72, 138, 528, 495, 498, 803, 452, 72, 519, -145,
1429 1601, 224, 730, 129, 1013, 1017, 256, 1014, 405, 736,
1430 59, 915, 722, 26, 59, 130, 131, -601, -601, 221,
1431 199, 209, 468, 87, 1639, 169, 1633, 221, 221, 1618,
1432 42, 710, -601, 404, 440, 1080, 1076, 57, 174, 297,
1433 403, 176, -1, 190, 1204, 1602, 493, 825, 992, 177,
1434 951, 745, 840, 1018, -358, 523, 1019, 221, 453, 309,
1435 1651, 1477, 55, -304, 646, 647, 175, 170, 155, 1051,
1436 1483, 1484, 171, 1485, 1592, 26, 822, 1299, 1209, 224,
1437 208, 1149, -358, 15, 1002, 93, 453, -417, 190, -2,
1438 454, 72, 1365, 215, 216, 224, 839, 1594, 952, 14,
1439 517, 1564, 1505, 1052, 419, 422, 221, 1053, -304, -304,
1440 -626, 260, 1570, 617, 163, 703, 704, -417, 454, 1427,
1441 72, -417, 20, -297, 72, 1300, 101, 1210, 95, 110,
1442 111, 23, 94, 621, 115, 135, 595, 876, 616, 1054,
1443 1366, 718, 247, 877, 1174, 518, 1629, 608, 471, 474,
1444 595, 224, 164, 648, 1160, -626, -626, 1163, 374, 224,
1445 221, 107, 642, 1599, 375, -417, 677, 1428, 1121, 1427,
1446 -626, 108, 682, 1661, 89, 350, 224, 233, 824, 934,
1447 964, 596, 112, 113, 155, 155, 155, 955, 296, 7,
1448 8, 250, 10, 766, 90, 596, 247, 990, 991, 1190,
1449 1191, 697, 199, 1235, 350, 651, 1443, 1023, 420, 423,
1450 -297, 637, 700, 432, 1634, 1240, 221, 1536, 137, 260,
1451 -367, 1662, 15, 109, 459, 1579, 1580, 161, 21, 516,
1452 155, 38, 405, 91, 1636, 251, 388, 300, 394, 395,
1453 10, 460, 162, 27, 28, 965, 632, 694, 179, 1261,
1454 209, 1263, 178, 92, -367, 1005, 638, 650, -367, 187,
1455 416, 966, 38, 685, 649, 495, 498, 252, 747, 461,
1456 1177, 8, 521, 495, 39, 32, 21, 747, 740, 1637,
1457 183, 199, 1241, 251, 740, 498, 40, 59, 1123, 199,
1458 -367, 27, 320, 1229, 88, 770, -600, 188, 297, 221,
1459 221, 795, 621, 243, 498, 39, 1407, 221, 565, 1151,
1460 566, 715, 18, 738, 176, 72, 363, 40, -306, 221,
1461 814, 58, 177, 32, 130, 131, 299, 993, 821, 994,
1462 772, 773, 769, -306, -368, 245, 15, -306, 221, 175,
1463 138, -600, -600, 883, 222, 223, 350, 824, 522, 362,
1464 502, 504, 58, 59, -306, 937, -600, 696, 372, 58,
1465 884, 621, 1281, 514, 789, 815, -306, -306, -368, -306,
1466 1078, -306, -368, 376, 995, 8, 9, 1297, 1298, 350,
1467 797, 26, 350, 996, 997, 350, 593, 594, 885, 224,
1468 350, 831, 831, 831, 831, 740, 989, 72, 898, -306,
1469 -306, 295, 380, 350, -368, 796, 824, 781, 381, 224,
1470 608, -306, 792, 350, -306, 1449, 350, 1012, 224, 998,
1471 1118, 1119, 900, 696, 697, 138, 1124, 137, 130, 131,
1472 698, 750, 751, 902, 551, 224, 1497, 401, 1027, 377,
1473 1136, -297, 1137, 899, 1138, 139, 1037, 1038, 199, 960,
1474 642, 296, 1042, 58, 641, 682, -306, -306, 939, 90,
1475 695, 221, 961, 72, 883, 1013, 258, 901, 1014, 694,
1476 -830, -300, 958, 528, 425, 660, 738, 761, 903, 127,
1477 128, 884, 58, 1028, 670, 767, 58, 189, 89, 199,
1478 258, 199, 199, 303, 1170, 1055, -142, 660, 260, 972,
1479 511, 977, 978, 433, 221, 8, 9, 91, 90, 885,
1480 1406, 155, 155, 155, 1270, 1272, 1286, 740, 572, 258,
1481 122, 127, 128, 350, 363, 392, 519, 92, 1096, 740,
1482 258, 378, 130, 131, -621, -582, 199, 209, 1202, 1193,
1483 1056, 247, 495, 127, 128, 512, 978, 645, 221, -7,
1484 363, 92, 1478, 366, 370, 1003, 522, 1196, 130, 131,
1485 1002, 297, 1198, 740, 88, 740, 95, 110, 111, 513,
1486 -582, 379, 26, 921, 130, 131, 221, 905, 908, 696,
1487 -582, 189, 795, 164, 795, 449, 696, 694, 887, 258,
1488 795, 137, 795, 447, 1066, 781, 130, 131, 888, 448,
1489 1084, 1085, 1197, 1086, 1061, 21, 463, 1199, 629, 633,
1490 636, 889, 1200, 1272, 1507, -582, 485, 771, 922, 923,
1491 112, 113, 1361, 1363, 258, 1049, 1050, 1613, -120, 451,
1492 15, 1367, 464, 825, 59, 1081, 59, 7, 8, 9,
1493 10, 221, 209, 501, 59, 789, 524, 789, 258, 1653,
1494 694, 350, 350, 525, 350, 789, 694, 1201, 526, 1508,
1495 295, 797, -120, 797, 432, 1173, -120, 95, 110, 111,
1496 535, 797, 1614, 1404, 1192, 544, 21, 58, -578, 91,
1497 527, -578, 848, 812, 545, 546, 796, -143, 1047, 26,
1498 91, 27, 28, 792, 1654, 792, 796, 696, -120, 92,
1499 1060, 1070, 15, 792, 547, 193, -417, 1029, 1030, 568,
1500 92, 1230, 1231, 1232, 548, 194, 549, 918, 611, 693,
1501 661, 112, 113, 32, 653, 350, 896, 195, 813, -578,
1502 1125, -578, -578, 662, -578, -417, -417, 679, 1313, 664,
1503 1314, 258, 1315, 678, 72, -578, 72, -578, -118, 89,
1504 15, 665, 127, 128, 72, 666, 1640, 1242, 90, 58,
1505 696, 831, -578, -578, 542, 543, 696, 694, 92, 90,
1506 129, 738, 1472, 116, 117, 118, 559, -578, 707, 256,
1507 26, 552, -118, 1446, 553, 693, -118, 554, 222, 446,
1508 564, 1256, 1257, 1258, 569, 260, 963, -6, 258, 127,
1509 128, 711, 610, 26, 757, 130, 131, 980, 733, 1495,
1510 694, 762, 831, 350, 127, 128, 694, 15, -118, 887,
1511 7, 127, 128, 10, 806, 58, 685, 119, 120, 888,
1512 95, 110, 111, 568, 225, 226, 227, 807, 848, 808,
1513 1414, 809, 889, 224, 363, 1066, 89, 816, 18, 565,
1514 224, 566, 130, 131, 1430, 1061, 825, 817, 18, 21,
1515 738, 253, 483, 484, 228, 26, 90, 130, 131, 224,
1516 795, 256, 26, 831, 27, 28, 252, 696, 722, 905,
1517 908, 696, 491, 492, 112, 113, 432, 835, 149, 694,
1518 837, 258, 895, 1244, 1282, 1283, 838, 1285, 150, 1246,
1519 1247, 694, 1043, 1244, 1249, 840, 32, 1247, 897, 91,
1520 151, 732, 914, 420, 423, 918, -52, 258, 432, 597,
1521 696, -52, 59, 295, 1179, 1180, 696, 916, 1289, 92,
1522 942, 501, -52, 789, 91, 694, 944, 694, 95, 96,
1523 97, 693, 1431, 420, 423, 831, 953, 1044, 693, 797,
1524 974, 1060, 629, 633, 92, 636, 127, 128, 598, 599,
1525 943, 519, 600, 601, 602, 603, 831, 89, 1511, 954,
1526 696, 1093, 1094, 1095, 796, 1479, 747, 483, 716, 350,
1527 959, 792, 747, 559, 1528, -184, 559, 90, 957, 256,
1528 26, 828, 98, 99, 100, 20, 1411, 633, -300, 696,
1529 137, -184, 694, -184, 559, 258, 155, 26, 967, 130,
1530 131, 696, 697, 968, 552, 553, 981, 559, 1585, 987,
1531 258, 855, 988, 529, 747, 453, 1459, 1457, 694, 1462,
1532 1009, 1003, 72, 530, 491, 717, 432, 1425, 1426, 483,
1533 1530, 523, 1010, 1386, 1011, 696, 795, 696, 1016, 878,
1534 155, 1348, 491, 1531, 1655, 894, 483, 1535, 738, 693,
1535 -829, 1033, 1339, 670, 1340, 825, 590, 591, 592, 593,
1536 594, 1511, 382, 383, 384, 1025, 963, 1032, 1347, 1036,
1537 116, 772, 773, 1039, 774, 300, 8, 9, 10, 1097,
1538 633, 224, 1098, 1511, 95, 414, 415, 1099, 59, 1101,
1539 747, 1102, 1103, 1104, 1105, 1106, 58, 1107, 58, 789,
1540 905, 908, 696, 215, 216, 775, 58, 224, 385, 14,
1541 1610, 1108, 693, 224, 21, 797, 386, 387, 693, 127,
1542 128, 251, 26, 158, 119, 120, 1303, 1304, 696, 27,
1543 320, 258, 20, 15, 199, 1111, 199, -417, 98, 113,
1544 796, 23, 694, 1511, 1456, -141, 1456, 792, 221, 1110,
1545 1113, 72, 1114, 1139, 1115, 224, 1303, 1304, 696, 1116,
1546 1139, 32, 1035, 1117, 724, 1130, -417, -417, 1029, 1030,
1547 26, -417, 130, 131, 1348, 1132, 1133, 1134, 1135, 1139,
1548 1144, 1142, 209, 1166, 1348, 1339, 529, 1143, 1150, 528,
1549 1172, 1348, 1153, 1154, 1195, 1339, 530, 1340, 72, 1159,
1550 831, 1347, 1339, 1171, 1340, 1168, 155, 155, 155, 1481,
1551 1482, 1347, 1575, 1271, 1218, 95, 96, 97, 1347, 225,
1552 226, 227, 1228, 1245, 1250, 1251, 1255, 1259, 340, 693,
1553 340, 224, 340, 693, 1265, 1266, 155, 155, 155, 158,
1554 158, 158, 1273, 18, 1267, 1268, 127, 128, 1275, 228,
1555 1415, 1416, 696, 1276, 420, 423, 1277, 214, 215, 216,
1556 1288, 1280, 1290, 1291, 14, 8, 9, 26, 1292, 98,
1557 99, 229, 693, 18, 1295, 1301, 1284, 340, 693, 340,
1558 1627, 18, 1296, 493, 72, 158, 1311, 20, 1203, 1360,
1559 621, 747, 1371, 460, 72, 1375, 23, 26, -663, 130,
1560 131, 72, 1397, 1398, 1399, 1317, 1410, 258, 1405, 258,
1561 363, 1271, 1409, 622, 1419, 230, 231, 232, 130, 131,
1562 1422, 1420, 693, 623, 1421, 1128, 1429, 1438, 300, 127,
1563 128, 10, 8, 9, 1439, 624, 625, 694, 1440, 1452,
1564 747, 1131, 252, 1557, 1454, 1467, 199, 1470, 1348, 1348,
1565 1557, 693, 258, 1348, 1491, 1492, 1588, 221, 1514, 1339,
1566 1339, 1340, 559, 693, 1339, 1493, 1340, 21, 1494, 350,
1567 1499, 1515, 552, 553, 251, 1347, 1347, 363, 1519, 1521,
1568 1347, 375, 27, 320, 58, 130, 131, 1522, 694, 1529,
1569 1551, 140, 140, 1553, 156, 1348, 1561, 693, 1571, 693,
1570 1572, 1139, 1587, 1596, 1348, 1597, 1339, 1605, 1340, 522,
1571 1603, 1611, 1608, 1621, 32, 1339, 1034, 1340, 212, 1609,
1572 220, 1625, 1347, 1631, 1632, 1638, 237, 1139, 1635, 1642,
1573 1557, 1347, 224, 1139, 1643, 1444, 1445, 7, 127, 128,
1574 10, 1647, 1237, 1238, 258, 1415, 1416, 696, 1652, 300,
1575 394, 395, 10, 297, 1656, 1348, 1082, 1659, 72, 72,
1576 297, 550, 1087, 72, 693, 1657, 1339, 1664, 1340, 1252,
1577 1665, 127, 1390, 1667, 1254, 1668, 21, 750, 751, 1,
1578 442, 224, 1347, 251, 5, 160, 155, 1526, 21, 956,
1579 693, 27, 28, 1175, 360, 1348, 441, 714, 696, 340,
1580 1071, 26, 140, 27, 320, 72, 1339, 140, 1340, 439,
1581 156, 156, 156, 58, 72, 252, 363, 1626, 503, 1312,
1582 693, 409, 1347, 32, 130, 131, 1510, 1506, 1663, 993,
1583 1408, 994, 772, 773, 258, 32, 534, 212, 1167, 945,
1584 297, 1008, 1369, 450, 95, 96, 97, 1233, 522, 1524,
1585 1527, 1139, 1253, 946, 470, 470, 479, 155, 155, 155,
1586 58, 506, 258, 1073, 1392, 72, 158, 158, 158, 1145,
1587 220, 1146, 95, 96, 97, 486, 995, 618, 496, 220,
1588 1287, 390, 1165, 26, 882, 996, 997, -128, -128, 1465,
1589 363, 1357, 1649, 1057, 1058, 9, 10, 1641, 98, 99,
1590 727, 731, 1600, 1646, 1648, 72, 1217, 1471, 731, 0,
1591 0, 8, 9, 0, 693, 0, 246, 0, 0, 0,
1592 140, 998, 0, 0, 258, 0, 98, 99, 1573, 0,
1593 0, 0, 21, 0, 0, 0, 1378, 1379, 18, 1388,
1594 1389, 340, 1391, 0, 0, 26, 58, 27, 28, 559,
1595 0, 1236, 0, 1059, 0, 0, 58, 0, 0, 552,
1596 553, 193, 26, 58, 130, 131, 0, 0, 0, 0,
1597 0, 194, 0, 0, 340, 731, 0, 0, 1223, 32,
1598 0, 0, 729, 195, 827, 0, 0, 0, 1224, 729,
1599 0, 156, 0, 0, 0, 127, 128, 0, 0, 0,
1600 1225, 1400, 1401, 1402, 1403, 0, 0, 0, 340, 0,
1601 727, 0, 0, 852, 853, 0, 857, 858, 859, 860,
1602 861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
1603 871, 872, 873, 874, 875, 0, 731, 0, 0, 621,
1604 0, 1260, 731, 1262, 0, 0, 26, 0, 130, 131,
1605 0, 0, 1139, 116, 117, 118, 729, 0, 7, 127,
1606 128, 10, 622, 0, 13, 0, 212, 220, 1442, 1475,
1607 1476, 731, 623, 0, 147, 95, 110, 111, 731, 0,
1608 140, 0, 0, 140, 624, 625, 18, 564, 0, 156,
1609 156, 156, 0, 258, 0, 140, 0, 21, 0, 0,
1610 1294, 1139, 948, 950, 0, 26, 0, 119, 120, 693,
1611 26, 0, 27, 28, 0, 295, 0, 729, 340, 0,
1612 58, 58, 295, 729, 0, 58, 30, 0, 0, 112,
1613 113, 114, 470, 0, 0, 470, 31, 479, 479, 479,
1614 0, 0, 1496, 450, 32, 382, 383, 384, 33, 470,
1615 496, 220, 729, 0, 450, 0, 0, 0, 496, 729,
1616 693, 95, 110, 111, 0, 0, 727, 58, 0, 0,
1617 0, 450, 0, 1542, 1543, 1544, 58, 0, 0, 1520,
1618 0, 116, 772, 773, 411, 0, 1370, 0, 0, 413,
1619 0, 1374, 0, 0, 0, 0, 0, 26, 156, 386,
1620 387, 156, 295, 300, 394, 395, 10, 95, 110, 111,
1621 0, 667, 668, 669, 0, 112, 113, 156, 156, 156,
1622 7, 8, 9, 10, 214, 215, 216, 58, 1045, 0,
1623 0, 14, 156, 1577, 1578, 119, 120, 147, 0, 0,
1624 300, 0, 21, 10, 1555, 1412, 340, 340, 18, 340,
1625 855, 1555, 0, 0, 20, 0, 0, 27, 320, 21,
1626 0, 112, 113, 23, 731, 621, 0, 58, 18, 0,
1627 559, 0, 26, 0, 27, 28, 0, 0, 0, 21,
1628 552, 553, 0, 904, 904, 911, 0, 1109, 969, 32,
1629 0, 0, 930, 0, 426, 427, 0, 0, 970, 0,
1630 0, 0, 520, 0, 1628, 0, 32, 0, 428, 0,
1631 971, 625, 220, 95, 110, 111, 0, 0, 429, 731,
1632 731, 116, 772, 773, 727, 731, 32, 0, 0, 0,
1633 430, 1555, 0, 639, 8, 9, 10, 0, 0, 731,
1634 0, 731, 0, 731, 0, 729, 0, 1487, 1488, 0,
1635 1630, 0, 0, 212, 0, 220, 237, 0, 0, 0,
1636 0, 158, 95, 110, 111, 1498, 0, 112, 1523, 309,
1637 640, 1645, 21, 26, 0, 119, 120, 0, 0, 0,
1638 855, 0, 1164, 0, 0, 26, 0, 130, 131, 0,
1639 0, 0, 0, 731, 0, 0, 0, 0, 0, 220,
1640 729, 729, 0, 0, 0, 158, 729, 0, 340, 0,
1641 0, 470, 470, 479, 479, 479, 112, 1525, 0, 470,
1642 729, 1189, 729, 0, 729, 1538, 1539, 496, 0, 0,
1643 450, 588, 589, 590, 591, 592, 593, 594, 731, 0,
1644 0, 1549, 1550, 0, 0, 0, 6, 0, 7, 8,
1645 9, 10, 11, 12, 13, 731, 8, 9, 212, 14,
1646 0, 519, 705, 0, 0, 706, 0, 0, 0, 0,
1647 0, 0, 0, 16, 729, 17, 18, 709, 0, 0,
1648 0, 0, 20, 18, 0, 156, 0, 21, 127, 128,
1649 0, 23, 215, 216, 438, 0, 0, 0, 14, 1243,
1650 26, 0, 27, 28, 0, 0, 29, 26, 0, 130,
1651 131, 0, 0, 0, 411, 0, 30, 413, 0, 729,
1652 0, 20, 0, 1223, 0, 0, 31, 0, 0, 0,
1653 23, 520, 621, 1224, 32, 0, 729, 0, 33, 26,
1654 0, 130, 131, 0, 0, 1225, 0, 0, 0, 0,
1655 727, 727, 0, 0, 1274, 622, 8, 9, 0, 0,
1656 0, 153, 0, 0, 0, 623, 904, 0, 0, 904,
1657 0, 158, 158, 158, 340, 0, 0, 631, 625, 0,
1658 0, 904, 0, 18, 0, 1152, 1152, 930, 214, 215,
1659 216, 0, 0, 0, 0, 14, 0, 8, 9, 0,
1660 621, 158, 158, 158, 0, 0, 0, 26, 0, 130,
1661 131, 0, 18, 0, 0, 0, 0, 0, 20, 0,
1662 0, 0, 0, 1500, 18, 237, 0, 23, 0, 0,
1663 1178, 1178, 1184, 1501, 80, 0, 0, 731, 0, 731,
1664 0, 731, 701, 0, 104, 1502, 625, 0, 26, 727,
1665 130, 131, 0, 0, 133, 0, 0, 0, 727, 727,
1666 144, 144, 0, 144, 1223, 80, 0, 727, 0, 0,
1667 0, 0, 80, 0, 1224, 0, 1184, 0, 421, 424,
1668 0, 1376, 1377, 0, 0, 203, 1225, 80, 0, 0,
1669 1226, 1226, 1226, 0, 0, 238, 127, 128, 0, 0,
1670 215, 216, 104, 0, 0, 0, 14, 127, 128, 727,
1671 450, 450, 13, 262, 104, 0, 0, 0, 729, 0,
1672 729, 691, 729, 153, 0, 0, 0, 0, 0, 20,
1673 0, 0, 0, 0, 18, 0, 104, 450, 23, 731,
1674 621, 0, 450, 0, 0, 0, 0, 26, 0, 130,
1675 131, 621, 0, 0, 0, 0, 0, 0, 26, 0,
1676 130, 131, 0, 622, 133, 0, 80, 0, 1437, 0,
1677 144, 144, 0, 623, 622, 412, 144, 0, 0, 144,
1678 144, 144, 0, 0, 623, 624, 625, 691, 0, 0,
1679 0, 0, 0, 705, 706, 80, 624, 625, 0, 80,
1680 0, 709, 0, 0, 0, 203, 80, 0, 727, 7,
1681 8, 9, 10, 0, 0, 13, 1152, 1152, 930, 0,
1682 729, 0, 1480, 203, 203, 203, 0, 0, 0, 8,
1683 9, 0, 205, 12, 206, 0, 0, 18, 0, 14,
1684 1178, 1178, 1302, 1302, 1184, 727, 0, 0, 21, 1178,
1685 0, 158, 203, 16, 621, 17, 18, 0, 561, 0,
1686 0, 26, 20, 27, 28, 0, 0, 0, 0, 505,
1687 0, 23, 1302, 1302, 1184, 0, 0, 969, 104, 0,
1688 26, 0, 130, 131, 1226, 1226, 1226, 970, 0, 144,
1689 214, 215, 216, 0, 0, 32, 0, 14, 0, 971,
1690 625, 731, 0, 0, 450, 450, 0, 450, 450, 0,
1691 450, 0, 0, 0, 18, 0, 0, 0, 1540, 1541,
1692 20, 0, 158, 158, 158, 0, 0, 104, 531, 23,
1693 494, 215, 216, 0, 0, 0, 0, 14, 0, 0,
1694 0, 0, 0, 691, 940, 0, 0, 0, 0, 0,
1695 691, 0, 0, 0, 18, 0, 1568, 421, 708, 0,
1696 20, 0, 0, 0, 1178, 1178, 1302, 1302, 1184, 23,
1697 0, 1178, 0, 104, 0, 0, 0, 619, 0, 531,
1698 531, 634, 729, 0, 0, 0, 1582, 0, 0, 0,
1699 80, 581, 582, 583, 584, 585, 586, 587, 588, 589,
1700 590, 591, 592, 593, 594, 421, 424, 0, 212, 220,
1701 0, 0, 0, 147, 586, 587, 588, 589, 590, 591,
1702 592, 593, 594, 133, 472, 475, 0, 0, 0, 0,
1703 0, 0, 104, 0, 203, 104, 0, 450, 450, 0,
1704 0, 0, 300, 127, 128, 10, 0, 0, 13, 144,
1705 0, 0, 144, 0, 0, 0, 0, 0, 0, 0,
1706 0, 691, 0, 0, 144, 561, 0, 0, 561, 0,
1707 18, 0, 80, 0, 0, 0, 1503, 1503, 0, 1503,
1708 0, 21, 0, 0, 0, 421, 836, 621, 0, 0,
1709 727, 0, 0, 0, 26, 0, 27, 320, 0, 561,
1710 203, 203, 0, 0, 203, 0, 203, 203, 203, 755,
1711 1155, 0, 0, 203, 7, 8, 9, 10, 203, 0,
1712 1156, 203, 479, 0, 691, 0, 0, 0, 32, 0,
1713 691, 0, 1157, 625, 7, 8, 9, 10, 80, 0,
1714 0, 450, 450, 450, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 21, 0, 0, 0, 0, 0, 929,
1716 0, 1503, 1503, 1552, 0, 0, 26, 0, 27, 28,
1717 0, 0, 192, 21, 0, 0, 104, 104, 104, 104,
1718 251, 0, 193, 0, 0, 0, 0, 0, 27, 28,
1719 0, 0, 194, 479, 479, 479, 0, 0, 0, 0,
1720 32, 450, 450, 6, 195, 7, 8, 9, 10, 11,
1721 12, 13, 252, 0, 0, 0, 14, 0, 0, 0,
1722 32, 0, 411, 413, 0, 0, 0, 0, 0, 15,
1723 16, 520, 17, 18, 19, 0, 104, 0, 531, 20,
1724 0, 691, 0, 0, 21, 691, 0, 22, 23, 24,
1725 619, 25, 531, 531, 634, 0, 0, 26, 0, 27,
1726 28, 931, 0, 29, 0, 933, 0, 0, 0, 0,
1727 0, 0, 450, 30, 0, 0, 7, 127, 128, 10,
1728 203, 421, 708, 31, 691, 0, 0, 0, 0, 0,
1729 691, 32, 0, 0, 0, 33, 0, 0, 0, 34,
1730 0, 0, 748, 0, 18, 749, 133, 472, 475, 0,
1731 0, 0, 0, 133, 0, 21, 0, 0, 0, 765,
1732 0, 203, 976, 203, 203, 238, 634, 0, 26, 0,
1733 27, 28, 0, 0, 691, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 30, 0, 705, 706, 0, 0,
1735 0, 0, 929, 709, 31, 0, 0, 0, 0, 0,
1736 0, 0, 32, 691, 0, 0, 33, 0, 203, 0,
1737 0, 0, 976, 0, 0, 691, 0, 0, 0, 0,
1738 203, 203, 755, 755, 755, 0, 0, 0, 203, 0,
1739 0, 7, 8, 9, 10, 582, 583, 584, 585, 586,
1740 587, 588, 589, 590, 591, 592, 593, 594, 0, 691,
1741 0, 691, 0, 0, 0, 0, 133, 8, 9, 80,
1742 0, 80, 13, 0, 0, 0, 1068, 80, 0, 80,
1743 21, 0, 0, 0, 0, 104, 621, 0, 0, 0,
1744 0, 104, 0, 26, 18, 27, 28, 0, 531, 531,
1745 531, 0, 0, 421, 836, 0, 0, 0, 0, 969,
1746 0, 531, 0, 0, 0, 0, 0, 0, 26, 970,
1747 130, 131, 0, 0, 0, 0, 691, 32, 0, 0,
1748 0, 971, 625, 166, 1223, 7, 8, 9, 10, 167,
1749 12, 13, 0, 0, 1224, 0, 14, 0, 0, 153,
1750 0, 0, 691, 0, 0, 0, 1225, 0, 0, 0,
1751 16, 0, 17, 18, 19, 0, 0, 0, 0, 20,
1752 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1753 0, 168, 691, 0, 531, 531, 0, 26, 531, 27,
1754 28, 531, 0, 1215, 0, 0, 104, 0, 0, 0,
1755 531, 0, 104, 30, 931, 931, 931, 0, 0, 0,
1756 531, 0, 1158, 31, 0, 0, 0, 0, 0, 0,
1757 0, 32, 0, 0, 0, 33, 0, 0, 0, 34,
1758 0, 748, 749, 472, 475, 0, 0, 0, 0, 765,
1759 0, 0, 0, 0, 0, 104, 0, 104, 0, 203,
1760 203, 1186, 83, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 106, 0, 0, 0, 0, 0, 906, 909,
1762 0, 126, 134, 0, 0, 0, 691, 0, 145, 145,
1763 0, 145, 0, 83, 0, 0, 0, 0, 0, 0,
1764 83, 0, 0, 0, 0, 1186, 0, 8, 9, 0,
1765 0, 12, 246, 145, 0, 83, 0, 14, 104, 755,
1766 755, 755, 0, 239, 300, 127, 128, 10, 0, 0,
1767 248, 16, 0, 17, 104, 0, 0, 1068, 0, 0,
1768 20, 0, 248, 0, 421, 708, 104, 0, 0, 23,
1769 0, 621, 18, 0, 0, 0, 0, 0, 26, 1248,
1770 130, 131, 0, 21, 0, 0, 0, 80, 0, 621,
1771 421, 424, 0, 0, 622, 0, 26, 0, 27, 320,
1772 104, 0, 104, 0, 623, 0, 0, 0, 0, 0,
1773 104, 0, 1155, 0, 83, 0, 624, 625, 145, 145,
1774 421, 1359, 1156, 0, 145, 0, 0, 145, 145, 145,
1775 32, 104, 0, 0, 1157, 625, 531, 531, 0, 531,
1776 0, 0, 0, 83, 0, 0, 0, 83, 0, 0,
1777 0, 0, 0, 145, 83, 0, 0, 0, 0, 0,
1778 0, 0, 531, 0, 0, 531, 531, 634, 0, 0,
1779 0, 145, 145, 145, 0, 0, 0, 0, 0, 0,
1780 472, 475, 0, 0, 0, 0, 0, 0, 203, 203,
1781 203, 203, 203, 1186, 755, 0, 0, 0, 203, 0,
1782 145, 691, 0, 0, 7, 8, 9, 10, 0, 0,
1783 246, 0, 0, 0, 421, 708, 0, 0, 0, 0,
1784 0, 1186, 1186, 1186, 0, 0, 0, 0, 0, 0,
1785 0, 0, 18, 755, 755, 755, 755, 145, 0, 0,
1786 748, 749, 765, 21, 0, 0, 0, 0, 0, 621,
1787 0, 0, 691, 0, 0, 203, 26, 0, 27, 28,
1788 144, 0, 0, 80, 0, 0, 0, 0, 0, 0,
1789 0, 0, 969, 0, 0, 248, 145, 0, 0, 0,
1790 0, 1140, 970, 0, 1141, 0, 0, 0, 0, 0,
1791 32, 0, 0, 0, 971, 625, 1147, 0, 0, 0,
1792 906, 909, 0, 0, 0, 0, 0, 0, 7, 8,
1793 9, 10, 755, 203, 203, 755, 755, 1417, 0, 0,
1794 203, 248, 0, 0, 0, 620, 0, 145, 145, 635,
1795 0, 0, 0, 0, 644, 0, 18, 0, 83, 0,
1796 0, 0, 0, 0, 0, 906, 909, 21, 612, 0,
1797 300, 394, 395, 10, 0, 613, 203, 976, 203, 0,
1798 26, 0, 27, 28, 0, 0, 0, 0, 0, 1215,
1799 0, 683, 0, 0, 0, 104, 476, 0, 0, 0,
1800 248, 0, 145, 248, 0, 0, 477, 0, 0, 21,
1801 748, 749, 472, 475, 32, 0, 614, 145, 478, 765,
1802 145, 0, 26, 0, 27, 320, 0, 0, 0, 0,
1803 0, 0, 145, 0, 0, 0, 0, 0, 0, 0,
1804 83, 0, 472, 475, 0, 755, 755, 0, 755, 0,
1805 0, 0, 0, 0, 472, 475, 615, 0, 0, 0,
1806 0, 421, 1359, 0, 0, 0, 0, 0, 145, 145,
1807 0, 0, 145, 0, 145, 145, 145, 145, 0, 0,
1808 0, 145, 0, 0, 0, 0, 145, 0, 0, 145,
1809 0, 1186, 583, 584, 585, 586, 587, 588, 589, 590,
1810 591, 592, 593, 594, 0, 783, 83, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057,
1812 1058, 9, 10, 0, 0, 0, 0, 0, 0, 0,
1813 755, 755, 1417, 755, 748, 749, 472, 475, 0, 0,
1814 0, 765, 0, 0, 248, 248, 248, 248, 0, 0,
1815 0, 906, 909, 0, 0, 0, 0, 0, 21, 0,
1816 0, 0, 1186, 1186, 1186, 0, 0, 0, 0, 0,
1817 0, 26, 0, 27, 28, 1140, 1141, 906, 909, 1059,
1818 0, 0, 755, 104, 1147, 0, 0, 193, 203, 7,
1819 8, 9, 10, 167, 12, 13, 0, 194, 0, 0,
1820 14, 0, 0, 0, 248, 32, 145, 906, 909, 195,
1821 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
1822 145, 145, 635, 20, 0, 0, 0, 0, 21, 932,
1823 0, 0, 23, 0, 0, 168, 0, 0, 0, 0,
1824 0, 26, 644, 27, 28, 0, 748, 749, 145, 765,
1825 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 31, 0, 7,
1827 8, 9, 10, 0, 683, 32, 127, 128, 0, 33,
1828 0, 246, 126, 34, 0, 0, 0, 0, 0, 145,
1829 635, 145, 145, 239, 635, 0, 0, 18, 0, 1140,
1830 1141, 906, 909, 18, 0, 0, 1147, 0, 21, 0,
1831 0, 0, 0, 0, 621, 0, 0, 783, 0, 0,
1832 621, 26, 0, 27, 28, 0, 0, 26, 0, 130,
1833 131, 472, 475, 0, 0, 0, 145, 969, 0, 0,
1834 635, 0, 0, 622, 0, 0, 0, 970, 145, 145,
1835 145, 145, 145, 623, 0, 32, 145, 0, 0, 971,
1836 625, 0, 0, 472, 475, 624, 625, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1838 0, 0, 246, 0, 134, 0, 0, 83, 0, 83,
1839 0, 0, 0, 0, 1069, 83, 0, 83, 0, 0,
1840 0, 0, 0, 248, 18, 0, 0, 0, 0, 248,
1841 0, 1140, 1141, 0, 1147, 21, 145, 145, 145, 784,
1842 0, 7, 8, 785, 10, 167, 12, 13, 26, 145,
1843 27, 28, 14, 0, 0, 0, 0, 0, 0, 300,
1844 8, 9, 10, 0, 30, 0, 16, 0, 17, 18,
1845 19, 0, 0, 0, 31, 20, -522, 0, 0, 0,
1846 21, 0, 32, 0, 23, 786, 33, 168, 0, 0,
1847 0, 0, 0, 26, 0, 27, 28, 0, 21, 787,
1848 0, 788, 0, 0, 0, 251, 0, 0, 0, 30,
1849 0, 0, 0, 27, 320, 0, 906, 909, 0, 31,
1850 0, 0, 145, 145, 0, 0, 145, 32, 0, 145,
1851 0, 33, 0, 0, 248, 0, 0, 252, 145, 0,
1852 248, 0, 932, 932, 932, 32, 0, -522, 145, 0,
1853 644, 0, 0, 0, 7, 8, 9, 10, 0, 0,
1854 13, 577, 578, 579, 580, 581, 582, 583, 584, 585,
1855 586, 587, 588, 589, 590, 591, 592, 593, 594, 0,
1856 0, 0, 18, 248, 0, 248, 0, 145, 145, 635,
1857 51, 0, 0, 21, 0, 0, 0, 0, 0, 621,
1858 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1859 0, 0, 0, 0, 0, 0, 51, 51, 0, 152,
1860 0, 51, 1181, 0, 0, 0, 8, 9, 51, 167,
1861 12, 13, 1182, 932, 735, 0, 14, 0, 0, 0,
1862 32, 51, 0, 51, 1183, 625, 248, 145, 145, 145,
1863 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
1864 783, 0, 248, 0, 0, 1069, 254, 0, 23, 0,
1865 621, 0, 0, 0, 248, 0, 0, 26, 0, 130,
1866 131, 0, 0, 0, 0, 0, 0, 127, 128, 0,
1867 0, 0, 519, 622, 0, 83, 0, 0, 0, 0,
1868 0, 0, 0, 623, 300, 8, 9, 10, 248, 0,
1869 248, 0, 0, 0, 18, 624, 625, 0, 248, 396,
1870 396, 0, 51, 0, 0, 0, 51, 51, 0, 0,
1871 254, 621, 51, 0, 76, 152, 152, 152, 26, 248,
1872 130, 131, 431, 21, 145, 145, 0, 145, 0, 0,
1873 251, 51, 0, 0, 622, 51, 0, 0, 27, 320,
1874 0, 51, 51, 0, 623, 76, 0, 0, 0, 0,
1875 145, 0, 76, 145, 145, 635, 624, 625, 0, 51,
1876 51, 152, 522, 0, 0, 201, 0, 213, 0, 254,
1877 32, 0, 0, 0, 0, 0, 145, 145, 145, 145,
1878 145, 635, 145, 0, 0, 0, 145, 0, 51, 0,
1879 0, 0, 0, 783, 580, 581, 582, 583, 584, 585,
1880 586, 587, 588, 589, 590, 591, 592, 593, 594, 932,
1881 932, 932, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 145, 145, 145, 145, 51, 0, 0, 783, 7,
1883 8, 9, 10, 167, 12, 13, 0, 0, 735, 0,
1884 14, 0, 0, 145, 0, 0, 407, 259, 145, 0,
1885 410, 83, 0, 0, 16, 0, 17, 18, 0, 0,
1886 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
1887 0, 0, 23, 0, 621, 76, 0, 0, 0, 76,
1888 0, 26, 0, 27, 28, 201, 213, 8, 9, 0,
1889 0, 0, 246, 0, 0, 0, 560, 1181, 0, 0,
1890 145, 145, 145, 145, 145, 635, 0, 1182, 145, 0,
1891 0, 0, 0, 396, 18, 32, 0, 0, 0, 1183,
1892 625, 254, 0, 0, 434, 0, 51, 0, 0, 0,
1893 0, 621, 201, 1448, 0, 0, 0, 0, 26, 0,
1894 130, 131, 0, 0, 145, 635, 145, 0, 0, 0,
1895 0, 0, 0, 0, 1500, 0, 469, 0, 0, 396,
1896 0, 0, 0, 248, 1501, 0, 0, 0, 0, 488,
1897 51, 0, 0, 0, 0, 0, 1502, 625, 300, 8,
1898 9, 10, 167, 12, 13, 51, 0, 735, 51, 14,
1899 0, 0, 0, 0, 431, 431, 431, 0, 0, 0,
1900 51, 0, 0, 16, 0, 17, 18, 0, 51, 0,
1901 0, 0, 20, 145, 145, 0, 145, 21, 0, 0,
1902 0, 23, 0, 621, 0, 0, 0, 0, 0, 0,
1903 26, 0, 27, 320, 0, 0, 51, 51, 0, 0,
1904 51, 0, 152, 152, 152, 431, 1155, 0, 0, 51,
1905 0, 0, 0, 0, 51, 0, 1156, 51, 0, 932,
1906 0, 0, 8, 9, 32, 167, 12, 13, 1157, 625,
1907 652, 0, 14, 0, 51, 0, 0, 0, 0, 0,
1908 0, 7, 8, 9, 10, 0, 16, 519, 17, 18,
1909 0, 0, 0, 0, 0, 20, 0, 0, 145, 145,
1910 635, 145, 0, 560, 684, 0, 560, 168, 0, 18,
1911 0, 0, 0, 26, 201, 130, 131, 0, 0, 0,
1912 21, 0, 560, 560, 560, 0, 621, 0, 0, 0,
1913 932, 932, 932, 26, 0, 27, 28, 560, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 969,
1915 145, 248, 76, 0, 0, 0, 145, 0, 0, 970,
1916 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
1917 0, 971, 625, 0, 0, 300, 8, 9, 10, 0,
1918 410, 13, 0, 0, 0, 254, 0, 0, 0, 0,
1919 0, 0, 0, 201, 0, 0, 0, 560, 0, 0,
1920 0, 201, 0, 18, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 21, 0, 51, 0, 802, 0,
1922 621, 0, 0, 0, 0, 0, 0, 26, 0, 27,
1923 320, 0, 0, 0, 0, 300, 8, 9, 10, 0,
1924 0, 0, 396, 1305, 0, 0, 758, 0, 0, 396,
1925 0, 764, 0, 1306, 0, 0, 0, 51, 51, 51,
1926 51, 32, 0, 18, 0, 1307, 625, 0, 0, 0,
1927 0, 0, 0, 0, 21, 0, 804, 0, 0, 0,
1928 621, 0, 810, 0, 0, 0, 0, 26, 0, 27,
1929 320, 0, 0, 0, 818, 819, 0, 820, 0, 0,
1930 0, 0, 0, 1305, 51, 8, 9, 0, 51, 12,
1931 13, 0, 0, 1306, 0, 14, 51, 51, 431, 431,
1932 431, 32, 0, 0, 51, 1307, 625, 0, 0, 16,
1933 0, 17, 0, 0, 0, 0, 0, 0, 20, 0,
1934 0, 0, 0, 0, 0, 0, 0, 23, 0, 0,
1935 0, 0, 0, 0, 0, 51, 26, 51, 130, 131,
1936 201, 0, 51, 51, 0, 51, 0, 0, 0, 0,
1937 0, -389, 8, 9, -389, -389, 12, 246, 0, 0,
1938 78, 0, 14, 0, 0, 0, 0, 0, 0, 0,
1939 560, 0, 919, 920, 881, 0, 16, 919, 17, -389,
1940 0, 201, 975, 201, 201, 20, 78, 78, 0, 78,
1941 -389, 78, 0, 0, 23, 0, 621, 0, 78, 0,
1942 0, 0, 0, 26, 0, 130, 131, 0, 0, 0,
1943 0, 78, 0, 78, 0, 0, 0, 0, 0, 622,
1944 0, 0, 0, 0, 0, 0, 0, 0, 201, 623,
1945 0, 0, 1021, 0, 0, 0, 0, -389, 0, 0,
1946 0, 624, 625, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1948 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
1949 560, 560, 560, 0, 0, 0, 431, 254, 0, 802,
1950 0, 802, 0, 0, 18, 0, 1067, 1074, 0, 802,
1951 0, 0, 78, 0, 0, 21, 78, 78, 0, 0,
1952 0, 1031, 78, 0, 0, 78, 78, 78, 26, 0,
1953 27, 28, 0, 0, 0, 51, 51, 152, 0, 0,
1954 0, 78, 254, 0, 149, 78, 0, 0, 0, 0,
1955 0, 78, 78, 0, 150, 0, 0, 0, 0, 0,
1956 0, 0, 32, 0, 0, 0, 151, 0, 0, 78,
1957 78, 78, 0, 0, 0, 0, 0, 1089, 0, 1091,
1958 0, 1214, 579, 580, 581, 582, 583, 584, 585, 586,
1959 587, 588, 589, 590, 591, 592, 593, 594, 78, 0,
1960 0, 0, 263, 0, 0, 8, 9, 0, 0, 12,
1961 13, 0, 0, 51, 0, 14, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
1963 0, 17, 0, 0, 254, 78, 0, 0, 20, 0,
1964 264, 265, 0, 51, 0, 0, 0, 23, 0, 266,
1965 0, 0, 1126, 1127, 0, 1129, 26, 0, 130, 131,
1966 0, 267, 0, 0, 0, 268, 269, 270, 271, 272,
1967 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1968 283, 284, 285, 286, 287, 288, 1148, 0, 289, 290,
1969 291, 0, 292, 0, 0, 293, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 294, 0, 0, 7, 8, 9, 10, 431, 0,
1972 13, 431, 431, 431, 254, 0, 0, 0, 0, 0,
1973 0, 0, 643, 0, 0, 0, 78, 0, 1188, 0,
1974 0, 0, 18, 0, 51, 51, 51, 152, 152, 152,
1975 431, 0, 254, 21, 51, 0, 0, 1067, 0, 0,
1976 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1977 1380, 1381, 9, 10, 0, 159, 0, 1214, 1214, 1214,
1978 78, 0, 193, 0, 0, 0, 0, 802, 8, 9,
1979 0, 0, 194, 519, 0, 78, 0, 204, 78, 0,
1980 32, 0, 0, 0, 195, 0, 0, 0, 1234, 21,
1981 78, 51, 0, 0, 0, 18, 51, 0, 78, 51,
1982 1239, 0, 26, 0, 27, 28, 0, 0, 0, 0,
1983 1382, 0, 621, 0, 0, 0, 0, 0, 193, 26,
1984 0, 130, 131, 0, 0, 0, 78, 78, 194, 0,
1985 78, 0, 78, 78, 78, 1500, 32, 0, 0, 78,
1986 195, 0, 0, 0, 78, 1501, 0, 78, 431, 51,
1987 51, 431, 431, 431, 0, 0, 51, 1502, 625, 0,
1988 0, 0, 0, 0, 78, 0, 0, 0, 410, 0,
1989 0, 159, 159, 159, 0, 0, 0, 784, 0, 7,
1990 8, 785, 10, 167, 12, 13, 0, 0, 1293, 0,
1991 14, 0, 51, 51, 51, 0, 0, 204, 0, 0,
1992 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
1993 0, 0, 0, 20, -523, 204, 204, 481, 21, 0,
1994 0, 0, 23, 786, 0, 168, 0, 0, 0, 0,
1995 0, 26, 1310, 27, 28, 1387, 0, 787, 0, 788,
1996 1387, 0, 0, 802, 204, 0, 0, 30, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
1998 0, 0, 0, 0, 0, 32, 0, 0, 0, 33,
1999 0, 0, 0, 0, 0, 0, 643, 0, 0, 0,
2000 0, 0, 0, 0, 0, -523, 0, 0, 0, 0,
2001 0, 1057, 8, 785, 10, 205, 12, 206, 0, 0,
2002 1395, 0, 14, 0, 1396, 0, 78, 1214, 0, 0,
2003 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2004 532, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2005 21, 0, 0, 0, 23, 0, 201, 1460, 201, 0,
2006 1413, 0, 0, 26, 0, 27, 28, 78, 78, 78,
2007 78, 1059, 0, 1418, 0, 0, 0, 0, 0, 30,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2009 0, 628, 628, 628, 0, 0, 0, 32, 1214, 1214,
2010 1214, 33, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 78, 8, 9, 0, 78, 12,
2012 246, 0, 0, 0, 51, 14, 78, 78, 0, 0,
2013 0, 0, 0, 0, 78, 0, 1473, 0, 0, 16,
2014 1474, 17, 0, 0, 0, 0, 204, 784, 20, 7,
2015 8, 785, 10, 167, 12, 13, 0, 23, 0, 0,
2016 14, 0, 1489, 1490, 0, 78, 26, 78, 130, 131,
2017 0, 0, 78, 78, 16, 78, 17, 18, 19, 0,
2018 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
2019 0, 0, 23, 786, 0, 168, 0, 0, 0, 0,
2020 0, 26, 0, 27, 28, 0, 0, 787, 0, 788,
2021 0, 0, 204, 204, 0, 0, 204, 30, 481, 481,
2022 481, 756, 0, 0, 0, 204, 0, 31, 0, 0,
2023 204, 0, 0, 204, 0, 32, 0, 0, 0, 33,
2024 0, 0, 0, 0, 555, 0, 300, 8, 9, 10,
2025 167, 12, 301, 302, 303, 735, 304, 14, 0, 0,
2026 0, 0, 0, 0, 0, 0, 0, 0, 201, 0,
2027 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2028 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2029 0, 621, 0, 314, 315, 316, 317, 318, 26, 0,
2030 27, 320, -314, 0, 0, 321, 0, 0, 643, 0,
2031 202, 322, 0, 0, 924, 0, 0, 0, 0, 0,
2032 0, 0, 324, 325, 925, 0, 0, 0, 0, 0,
2033 327, 328, 329, 0, 0, 257, 926, 625, 261, 0,
2034 0, 0, 0, 0, 0, 78, 78, 78, 0, 0,
2035 890, 0, 0, 331, 0, 0, 0, 0, 0, 257,
2036 0, 365, 0, 0, 628, 628, 628, 8, 9, 0,
2037 0, 0, 13, 628, 300, 8, 9, 10, 167, 12,
2038 13, 0, 0, 735, 0, 14, 0, 0, 0, 0,
2039 0, 1216, 204, 0, 18, 0, 0, 0, 0, 16,
2040 0, 17, 18, 0, 0, 0, 0, 0, 20, 0,
2041 0, 621, 0, 21, 0, 0, 0, 23, 26, 621,
2042 130, 131, 0, 78, 0, 0, 26, 0, 27, 320,
2043 202, 0, 0, 973, 1500, 973, 973, 0, 628, 0,
2044 0, 0, 1305, 0, 1501, 0, 0, 0, 202, 202,
2045 202, 0, 1306, 78, 0, 0, 1502, 625, 487, 0,
2046 32, 0, 0, 0, 1307, 625, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 202, 0, 0,
2048 973, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 204, 204, 756, 756, 756, 8, 9, 0,
2050 204, 12, 13, 261, 626, 626, 626, 14, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 257, 0, 0,
2052 0, 16, 0, 17, 0, 0, 0, 0, 0, 0,
2053 20, 0, 0, 0, 0, 0, 0, 0, 204, 23,
2054 0, 7, 8, 9, 10, 214, 215, 216, 26, 0,
2055 130, 131, 14, 0, 78, 78, 78, 78, 78, 78,
2056 532, 532, 532, 0, 78, 0, 0, 0, 0, 18,
2057 0, 0, 0, 628, 0, 20, 0, 0, 0, 0,
2058 21, 0, 0, 0, 23, 0, 621, 1216, 1216, 1216,
2059 0, 0, 0, 26, 0, 27, 28, 7, 127, 128,
2060 10, 0, 0, 519, 0, 0, 0, 0, 0, 969,
2061 257, 261, 0, 0, 0, 0, 0, 0, 0, 970,
2062 0, 78, 0, 0, 0, 18, 78, 32, 0, 78,
2063 0, 1015, 625, 0, 0, 0, 21, 0, 0, 0,
2064 0, 0, 0, 0, 0, 0, 628, 628, 0, 26,
2065 628, 27, 28, 628, 0, 0, 0, 0, 0, 202,
2066 0, 0, 628, 0, 0, 30, 628, 628, 628, 0,
2067 0, 0, 628, 0, 0, 31, 0, 0, 0, 78,
2068 78, 0, 0, 32, 0, 0, 78, 33, 0, 0,
2069 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
2070 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 973, 973, 1187, 0, 0, 0, 0, 0, 0,
2072 0, 0, 78, 78, 78, 202, 202, 0, 0, 202,
2073 0, 202, 202, 202, 202, 0, 21, 0, 202, 0,
2074 0, 0, 0, 202, 0, 0, 202, 0, 0, 26,
2075 0, 27, 28, 0, 0, 1455, 0, 1187, 0, 0,
2076 0, 0, 0, 0, 0, 193, 369, 371, 0, 0,
2077 0, 756, 756, 756, 0, 194, 0, 626, 626, 626,
2078 0, 0, 0, 32, 0, 0, 928, 195, 0, 204,
2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080 0, 0, 7, 8, 9, 10, 205, 12, 206, 0,
2081 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
2082 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2083 18, 0, 0, 0, 0, 0, 20, 1216, 0, 0,
2084 0, 21, 0, 0, 0, 23, 626, 0, 626, 626,
2085 0, 626, 0, 0, 26, 0, 27, 28, 0, 0,
2086 207, 0, 0, 0, 0, 0, 0, 0, 890, 890,
2087 30, 890, 0, 0, 0, 0, 0, 0, 0, 0,
2088 31, 0, 0, 0, 0, 0, 0, 0, 32, 257,
2089 261, 0, 33, 626, 628, 0, 0, 628, 628, 628,
2090 0, 0, 0, 0, 0, 202, 0, 0, 1216, 1216,
2091 1216, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 973, 973, 973, 1187, 1187, 1187, 1308, 0, 0, 0,
2093 973, 0, 0, 0, 78, 0, 7, 8, 9, 10,
2094 167, 12, 13, 0, 0, 1020, 202, 14, 202, 202,
2095 0, 0, 0, 1187, 1187, 1187, 0, 0, 0, 0,
2096 0, 16, 0, 17, 18, 756, 756, 756, 756, 0,
2097 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
2098 0, 0, 0, 0, 0, 0, 626, 204, 26, 563,
2099 27, 28, 0, 202, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 30, 202, 202, 202, 202, 202,
2101 487, 0, 0, 202, 31, 0, 0, 0, 0, 0,
2102 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 261, 0,
2104 0, 0, 0, 0, 1308, 973, 973, 1308, 1308, 1308,
2105 0, 202, 973, 0, 0, 0, 0, 0, 0, 626,
2106 626, 690, 0, 626, 0, 0, 626, 0, 0, 0,
2107 0, 0, 0, 0, 0, 626, 0, 0, 0, 928,
2108 928, 928, 0, 0, 0, 626, 0, 0, 204, 0,
2109 204, 0, 784, 0, 7, 8, 785, 10, 167, 12,
2110 13, 0, 0, 0, 0, 14, 0, 0, 0, 0,
2111 0, 7, 8, 9, 10, 0, 0, 246, 0, 16,
2112 0, 17, 18, 19, 626, 626, 626, 737, 20, -525,
2113 0, 0, 0, 21, 0, 0, 0, 23, 786, 18,
2114 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2115 21, 0, 787, 0, 788, 0, 0, 1308, 1308, 0,
2116 1308, 0, 30, 26, 0, 27, 28, 0, 0, 0,
2117 928, 0, 31, 0, 0, 0, 0, 0, 0, 193,
2118 32, 0, 0, 0, 33, 0, 257, 261, 257, 194,
2119 0, 0, 0, 0, 0, 0, 823, 32, 0, 826,
2120 -525, 195, 0, 481, 829, 830, 832, 833, 834, 7,
2121 8, 9, 10, 0, 0, 13, 0, 563, 0, 0,
2122 0, 0, 0, 0, 202, 202, 1185, 0, 0, 0,
2123 851, 257, 0, 0, 0, 0, 0, 18, 0, 0,
2124 0, 0, 1308, 1308, 1308, 1308, 0, 0, 21, 0,
2125 0, 0, 0, 0, 7, 8, 9, 10, 167, 12,
2126 13, 26, 0, 27, 28, 14, 0, 0, 0, 0,
2127 1185, 0, 0, 0, 481, 481, 481, 476, 0, 16,
2128 0, 17, 18, 910, 202, 202, 202, 477, 20, 0,
2129 910, 0, 0, 21, 1308, 32, 0, 23, 0, 478,
2130 204, 0, 202, 0, 0, 0, 26, 626, 27, 28,
2131 626, 626, 626, 0, 0, 0, 0, 0, 0, 0,
2132 0, 0, 30, 487, 0, 0, 7, 8, 9, 10,
2133 0, 0, 31, 626, 626, 626, 626, 626, 626, 626,
2134 32, 0, 0, 626, 33, 0, 0, 0, 0, 0,
2135 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 21, 928, 928, 928, 8,
2137 9, 0, 167, 12, 13, 0, 0, 735, 26, 14,
2138 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 16, 193, 17, 18, 0, 102, 0,
2140 0, 690, 20, 0, 194, 0, 0, 121, 102, 0,
2141 0, 23, 32, 257, 102, 102, 195, 102, 0, 0,
2142 26, 0, 130, 131, 0, 0, 0, 0, 0, 0,
2143 0, 0, 0, 202, 202, 202, 202, 202, 1185, 202,
2144 0, 1309, 0, 202, 0, 0, 0, 0, 0, 235,
2145 0, 0, 0, 0, 0, 0, 0, 626, 626, 626,
2146 626, 626, 626, 0, 737, 626, 1185, 1185, 1185, 0,
2147 737, 0, 0, 0, 0, 0, 0, 0, 202, 202,
2148 202, 202, 0, 0, 0, 0, 0, 0, 7, 8,
2149 9, 10, 205, 12, 206, 0, 0, 0, 0, 14,
2150 202, 0, 0, 0, 0, 0, 0, 0, 389, 0,
2151 121, 0, 0, 16, 0, 17, 18, 102, 102, 0,
2152 0, 0, 20, 0, 102, 102, 0, 21, 102, 102,
2153 102, 23, 417, 102, 102, 102, 0, 0, 0, 1120,
2154 26, 0, 27, 28, 0, 0, 1458, 0, 0, 0,
2155 0, 0, 0, 0, 0, 0, 30, 202, 202, 202,
2156 202, 202, 1185, 0, 0, 202, 31, 0, 0, 0,
2157 626, 626, 0, 626, 32, 851, 0, 0, 33, 0,
2158 0, 737, 0, 0, 0, 910, 0, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2160 0, 202, 0, 202, 0, 784, 0, 7, 8, 785,
2161 10, 167, 12, 13, 0, 0, 0, 0, 14, 0,
2162 0, 0, 235, 102, 690, 0, 1176, 0, 0, 0,
2163 910, 0, 16, 0, 17, 18, 19, 0, 0, 0,
2164 0, 20, -524, 102, 0, 0, 21, 0, 0, 0,
2165 23, 786, 0, 168, 0, 626, 626, 626, 626, 26,
2166 0, 27, 28, 0, 0, 787, 0, 788, 0, 0,
2167 202, 202, 1309, 202, 910, 30, 0, 0, 0, 0,
2168 0, 0, 102, 0, 0, 31, 0, 1220, 0, 0,
2169 0, 0, 0, 32, 0, 0, 0, 33, 0, 0,
2170 0, 0, 0, 737, 0, 0, 0, 626, 0, 0,
2171 0, 0, 0, -524, 0, 737, 1185, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 102, 0, 102, 102, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 737,
2175 0, 737, 0, 0, 0, 202, 202, 1185, 202, 1264,
2176 0, 0, 0, 0, 0, 7, 8, 9, 10, 205,
2177 12, 206, 0, 0, 0, 0, 14, 102, 0, 0,
2178 1279, 0, 0, 0, 0, 0, 0, 1185, 1185, 1185,
2179 16, 0, 17, 18, 0, 0, 102, 0, 0, 20,
2180 0, 0, 0, 102, 21, 0, 102, 202, 23, 0,
2181 0, 0, 0, 202, 0, 0, 910, 26, 102, 27,
2182 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
2184 0, 0, 910, 31, 0, 0, 0, 0, 0, 0,
2185 0, 32, 0, 0, 1545, 33, -480, -480, -480, -480,
2186 -480, -480, -480, 0, 0, -480, 0, -480, 0, 0,
2187 0, 0, 910, 0, 0, 0, 0, 0, -480, 0,
2188 -480, 0, 0, 0, -480, 0, 0, 0, 0, 102,
2189 -480, 776, 0, 0, 0, -480, 0, 0, 0, -480,
2190 0, -480, 0, 0, 0, 0, 0, 0, -480, 0,
2191 -480, -480, -480, -480, -480, 102, -480, -480, -480, -480,
2192 -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
2193 -480, -480, -480, -480, -480, -480, -480, -480, -480, 0,
2194 -480, -480, -480, 0, -480, -480, -480, -480, -480, 0,
2195 0, 0, 0, 0, 1546, -480, 0, 0, 0, 0,
2196 -480, -480, -480, 0, -480, 0, 910, 0, 0, 0,
2197 0, 7, 8, 9, 10, 214, 215, 216, 0, 0,
2198 0, 0, 14, 0, 0, 0, 0, 0, 1380, 127,
2199 128, 10, 102, 0, 0, 0, 0, 0, 0, 18,
2200 0, 0, 0, 102, 102, 20, 102, 102, 0, 0,
2201 21, 0, 0, 0, 23, 0, 621, 0, 0, 0,
2202 0, 0, 0, 26, 1220, 27, 28, 21, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 193,
2204 26, 0, 27, 28, 0, 0, 0, 18, 1382, 194,
2205 0, 0, 0, 0, 0, 0, 30, 32, 0, 0,
2206 102, 1461, 0, 0, 0, 0, 31, 102, 121, 0,
2207 0, 0, 0, 0, 32, 0, 0, 0, 33, 235,
2208 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
2209 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
2210 593, 594, 1463, 776, 1320, 1321, 1322, 10, 167, 12,
2211 301, 302, 303, 0, 304, 14, 1323, 0, 1324, 1325,
2212 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15, 16,
2213 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
2214 309, 310, 311, 21, 312, 313, 1334, 23, 1335, 0,
2215 0, 314, 315, 316, 317, 318, 26, 0, 1336, 320,
2216 722, 910, 1337, 321, 0, 0, 0, 776, 0, 322,
2217 102, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2218 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2219 329, 0, 0, 563, 330, 0, 1338, 0, 0, 0,
2220 0, 0, 102, 102, 102, 0, 0, 0, 0, 0,
2221 1464, 331, 690, 0, 0, 102, 0, 0, 0, 0,
2222 0, 0, 0, 1319, 0, 1320, 1321, 1322, 10, 167,
2223 12, 301, 302, 303, 0, 304, 14, 1323, 0, 1324,
2224 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15,
2225 16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
2226 0, 309, 310, 311, 21, 312, 313, 1334, 23, 1335,
2227 0, 0, 314, 315, 316, 317, 318, 26, 0, 1336,
2228 320, 722, 0, 1337, 321, 0, 0, 0, 102, 102,
2229 322, 0, 102, 323, 0, 102, 0, 0, 0, 0,
2230 0, 324, 325, 326, 102, 0, 0, 0, 0, 327,
2231 328, 329, 0, 0, 102, 330, 555, 1338, 7, 8,
2232 9, 10, 167, 12, 301, 302, 303, 735, 304, 14,
2233 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
2234 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2235 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2236 0, 23, 0, 621, 0, 314, 315, 316, 317, 318,
2237 26, 0, 27, 28, -314, 0, 0, 321, 0, 0,
2238 0, 0, 0, 322, 0, 0, 1211, 0, 0, 0,
2239 0, 0, 0, 0, 324, 325, 1212, 0, 0, 0,
2240 0, 0, 327, 328, 329, 0, 0, 0, 1213, 625,
2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 0, 0, 0, 0, 331, 776, 0, 734, 0,
2243 300, 8, 9, 10, 167, 12, 301, 302, 303, 735,
2244 304, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 102, 0, 16, 305, 17, 18, 19,
2246 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2247 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2248 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2249 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
2250 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
2251 102, 102, 0, 102, 327, 328, 329, 0, 0, 0,
2252 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, -800, 102, 331, 0, 102,
2254 102, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2255 587, 588, 589, 590, 591, 592, 593, 594, 0, 854,
2256 0, 300, 8, 9, 10, 167, 12, 301, 302, 303,
2257 0, 304, 14, 0, 0, 0, 0, 0, 0, 776,
2258 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
2259 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2260 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2261 316, 317, 318, 26, 776, 27, 320, 1563, 0, -790,
2262 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2263 0, 0, 102, 0, 102, 0, 0, 324, 325, 326,
2264 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2265 725, 330, 842, 843, 844, 10, 0, 12, 536, 302,
2266 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2267 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2268 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2269 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2270 315, 316, 317, 318, 26, 0, 845, 846, 726, 0,
2271 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2272 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2273 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2274 0, 0, 330, 847, 555, 0, 300, 8, 9, 10,
2275 0, 12, 301, 302, 303, 0, 304, 14, 1007, 331,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2278 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2279 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2280 27, 320, -314, 0, 0, 321, 0, 0, 0, 0,
2281 0, 322, 0, 0, 556, 0, 0, 0, 0, 0,
2282 0, 0, 324, 325, 557, 0, 0, 0, 0, 0,
2283 327, 328, 329, 0, 0, 725, 558, 842, 843, 844,
2284 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2285 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2286 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2287 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2288 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2289 0, 845, 846, 726, 0, 0, 321, 0, 0, 0,
2290 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2291 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2292 0, 327, 328, 329, 0, 0, 0, 330, 847, 725,
2293 0, 842, 843, 844, 10, 0, 12, 536, 302, 303,
2294 0, 304, 14, 0, 331, 0, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2296 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2297 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2298 316, 317, 318, 26, 0, 845, 846, 726, 0, 0,
2299 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2300 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2301 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2302 725, 330, 842, 843, 844, 10, 0, 12, 536, 302,
2303 303, 0, 304, 14, 0, 0, 0, -484, 331, 0,
2304 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2305 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2306 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2307 315, 316, 317, 318, 26, 0, 845, 846, 726, 0,
2308 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2309 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2310 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2311 0, 725, 330, 300, 8, 9, 10, 0, 12, 536,
2312 302, 303, 0, 304, 14, 0, 0, 0, 1358, 331,
2313 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2314 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2315 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2316 314, 315, 316, 317, 318, 26, 0, 27, 320, 726,
2317 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2318 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2319 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2320 0, 0, 0, 330, 555, 0, 7, 8, 9, 10,
2321 1362, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2322 331, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2323 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2324 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2325 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2326 27, 28, -314, 0, 0, 321, 0, 0, 0, 0,
2327 0, 322, 0, 0, 1532, 0, 0, 0, 0, 0,
2328 0, 0, 324, 325, 1533, 0, 0, 0, 0, 0,
2329 327, 328, 329, 0, 0, 725, 1534, 300, 8, 9,
2330 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2331 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2332 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2333 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2334 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2335 0, 27, 320, 726, 0, 0, 321, 0, 0, 0,
2336 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2337 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2338 0, 327, 328, 329, 0, 0, 854, 330, 300, 8,
2339 9, 10, 0, 12, 536, 302, 303, 0, 304, 14,
2340 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
2341 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2342 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2343 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
2344 26, 0, 27, 320, 0, 0, 0, 321, -790, 0,
2345 0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
2346 0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
2347 0, 0, 327, 328, 329, 0, 0, 1616, 330, 300,
2348 8, 9, 10, 0, 12, 301, 302, 303, 0, 304,
2349 14, 0, 0, 0, 0, 331, 0, 0, 0, 0,
2350 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2351 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
2352 313, 0, 23, 0, 0, 0, 314, 315, 316, 317,
2353 318, 26, 0, 27, 320, 0, 0, -197, 321, 0,
2354 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
2355 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
2356 0, 0, 0, 327, 328, 329, 0, 0, 854, 330,
2357 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2358 304, 14, 0, 0, 0, 0, 331, 0, 0, 0,
2359 0, 0, 0, 0, 0, 16, 305, 17, 0, 19,
2360 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2361 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2362 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2363 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
2364 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
2365 0, 0, 0, 0, 327, 328, 329, 0, 0, 947,
2366 330, 300, 8, 9, 10, 0, 12, 536, 302, 303,
2367 0, 304, 14, 0, 0, -790, 0, 331, 0, 0,
2368 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2369 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2370 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2371 316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
2372 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2373 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2374 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2375 949, 330, 300, 8, 9, 10, 0, 12, 536, 302,
2376 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2377 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2378 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2379 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2380 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2381 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2382 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2383 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2384 0, 1581, 330, 300, 8, 9, 10, 0, 12, 536,
2385 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2386 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2387 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2388 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2389 314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
2390 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2391 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2392 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2393 0, 0, 0, 330, 300, 8, 9, 10, 0, 12,
2394 536, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2395 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2396 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2397 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2398 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
2399 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2400 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2401 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2402 329, 0, 0, 0, 330, 0, 0, 0, 0, 0,
2403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2404 0, 331, 893, 1320, 1321, 1322, 10, 167, 12, 301,
2405 302, 303, 0, 304, 14, 1323, 0, 1324, 1325, 1326,
2406 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15, 16, 305,
2407 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
2408 310, 311, 21, 312, 313, 1334, 23, 1335, 0, 0,
2409 314, 315, 316, 317, 318, 26, 0, 1336, 320, 722,
2410 0, 1337, 321, 0, 0, 0, 0, 0, 322, 0,
2411 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2412 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2413 0, 0, 0, 330, 0, 1338, 0, 0, 0, 0,
2414 0, 0, 0, 0, 0, 0, 0, 0, 0, 1468,
2415 331, 1320, 1321, 1322, 10, 167, 12, 301, 302, 303,
2416 0, 304, 14, 1323, 0, 1324, 1325, 1326, 1327, 1328,
2417 1329, 1330, 1331, 1332, 1333, 15, 16, 305, 17, 18,
2418 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2419 21, 312, 313, 1334, 23, 1335, 0, 0, 314, 315,
2420 316, 317, 318, 26, 0, 1336, 320, 722, 0, 1337,
2421 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2422 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2423 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2424 0, 330, 0, 1338, 0, 1320, 1321, 1322, 10, 167,
2425 12, 301, 302, 303, 0, 304, 14, 1323, 331, 1324,
2426 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15,
2427 16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
2428 0, 309, 310, 311, 21, 312, 313, 1334, 23, 1335,
2429 0, 0, 314, 315, 316, 317, 318, 26, 0, 1336,
2430 320, 1590, 0, 1337, 321, 0, 0, 0, 0, 0,
2431 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2432 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2433 328, 329, 0, 0, 0, 330, 0, 1338, 0, 1320,
2434 1321, 1322, 10, 167, 12, 301, 302, 303, 0, 304,
2435 14, 1323, 331, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
2436 1331, 1332, 1333, 15, 16, 305, 17, 18, 19, 0,
2437 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
2438 313, 1334, 23, 1335, 0, 0, 314, 315, 316, 317,
2439 318, 26, 0, 1336, 320, 0, 0, 1337, 321, 0,
2440 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
2441 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
2442 0, 0, 0, 327, 328, 329, 0, 0, 0, 330,
2443 0, 1338, 300, 8, 9, 10, 167, 12, 301, 302,
2444 303, 735, 304, 14, 0, 0, 331, 0, 0, 0,
2445 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2446 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2447 311, 21, 312, 313, 0, 23, 0, 621, 0, 314,
2448 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2449 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2450 924, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2451 925, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2452 0, 0, 926, 625, 7, 8, 9, 10, 167, 12,
2453 301, 302, 303, 735, 304, 14, 0, 0, 0, 331,
2454 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2455 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
2456 309, 310, 311, 21, 312, 313, 0, 23, 0, 621,
2457 0, 314, 315, 316, 317, 318, 26, 0, 27, 28,
2458 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2459 0, 0, 1211, 0, 0, 0, 0, 0, 0, 0,
2460 324, 325, 1212, 0, 0, 0, 0, 0, 327, 328,
2461 329, 0, 0, 0, 1213, 625, 300, 8, 9, 10,
2462 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2463 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2464 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2465 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2466 0, 621, 0, 314, 315, 316, 317, 318, 26, 0,
2467 27, 320, 0, 0, 0, 0, 0, 0, 0, 0,
2468 0, 322, 0, 0, 924, 0, 0, 0, 0, 0,
2469 0, 0, 324, 325, 925, 0, 0, 0, 0, 0,
2470 327, 328, 329, 0, 0, 0, 926, 625, 7, 8,
2471 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2472 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2473 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2474 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2475 0, 23, 0, 621, 0, 314, 315, 316, 317, 318,
2476 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
2477 0, 0, 0, 322, 0, 0, 1211, 0, 0, 0,
2478 0, 0, 0, 0, 324, 325, 1212, 0, 0, 0,
2479 0, 0, 327, 328, 329, 0, 0, 0, 1213, 625,
2480 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2481 304, 14, 0, 0, 0, 331, 0, 0, 0, 0,
2482 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2483 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2484 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2485 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2486 0, 0, 0, 0, 0, 322, 0, 0, 556, 0,
2487 0, 0, 0, 0, 0, 0, 324, 325, 557, 0,
2488 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2489 558, 300, 8, 9, 10, 0, 12, 536, 302, 303,
2490 0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
2491 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2492 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2493 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2494 316, 317, 318, 26, 0, 27, 320, 0, 0, 1441,
2495 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2496 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2497 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2498 0, 330, 300, 8, 9, 10, 167, 12, 301, 302,
2499 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2500 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2501 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2502 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2503 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2504 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
2505 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2506 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2507 0, 0, 330, 7, 8, 9, 10, 0, 12, 536,
2508 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2509 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2510 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
2511 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2512 314, 315, 316, 317, 318, 26, 0, 27, 28, 0,
2513 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2514 0, 1532, 0, 0, 0, 0, 0, 0, 0, 324,
2515 325, 1533, 0, 0, 0, 0, 0, 327, 328, 329,
2516 0, 0, 0, 1534, 300, 8, 9, 10, 0, 12,
2517 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2518 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2519 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2520 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2521 0, 314, 315, 316, 317, 318, 26, 0, 319, 320,
2522 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2523 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2524 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2525 329, 0, 0, 0, 330, 300, 8, 9, 10, 0,
2526 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2527 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2528 16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
2529 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
2530 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
2531 320, 0, 0, 0, 321, 0, 0, 0, 0, 0,
2532 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2533 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2534 328, 329, 0, 0, 0, 330, 300, 8, 9, 10,
2535 0, 12, 536, 302, 303, 0, 304, 14, 0, 0,
2536 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
2537 0, 16, 305, 17, 0, 19, 0, 306, 307, 308,
2538 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2539 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2540 27, 320, 0, 0, 0, 321, 0, 0, 0, 0,
2541 0, 322, 0, 0, 323, 0, 0, 0, 0, 0,
2542 0, 0, 324, 325, 326, 0, 0, 0, 0, 0,
2543 327, 328, 329, 0, 0, 0, 330, 300, 8, 9,
2544 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2545 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2546 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2547 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2548 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2549 0, 27, 320, 570, 0, 0, 0, 0, 0, 0,
2550 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2551 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2552 0, 327, 328, 329, 0, 0, 0, 571, 300, 8,
2553 9, 10, 0, 12, 536, 302, 303, 0, 304, 14,
2554 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
2555 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2556 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2557 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
2558 26, 0, 27, 320, 0, 0, 0, 0, 0, 0,
2559 0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
2560 0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
2561 0, 0, 327, 328, 329, 0, 0, 0, 330, 609,
2562 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2563 304, 14, 0, 0, 0, 331, 0, 0, 0, 0,
2564 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2565 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2566 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2567 317, 318, 26, 0, 27, 320, 0, 0, 0, 0,
2568 0, 0, 0, 0, 0, 322, 0, 0, 556, 0,
2569 0, 0, 0, 0, 0, 0, 324, 325, 557, 0,
2570 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2571 558, 1169, 8, 9, 10, 0, 12, 536, 302, 303,
2572 0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
2573 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2574 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2575 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2576 316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
2577 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2578 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2579 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2580 0, 330, 7, 8, 9, 10, 0, 12, 301, 302,
2581 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2582 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2583 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2584 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2585 315, 316, 317, 318, 26, 0, 27, 28, 0, 0,
2586 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
2587 1532, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2588 1533, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2589 0, 0, 1534, 300, 8, 9, 10, 0, 12, 536,
2590 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2591 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2592 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2593 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2594 314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
2595 0, 0, 0, 0, 0, 0, 0, 0, 322, 0,
2596 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2597 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2598 0, 0, 0, 537, 300, 8, 9, 10, 0, 12,
2599 536, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2600 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2601 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2602 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2603 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
2605 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2606 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2607 329, 0, 0, 0, 540, 300, 8, 9, 10, 0,
2608 12, 536, 302, 303, 0, 304, 14, 0, 0, 0,
2609 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2610 16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
2611 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
2612 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
2613 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2614 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2615 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2616 328, 329, 0, 8, 9, 330, 167, 12, 13, 0,
2617 0, 735, 0, 14, 0, 0, 0, 0, 0, 0,
2618 0, 0, 331, 0, 0, 0, 0, 16, 0, 17,
2619 18, 0, 7, 8, 9, 10, 20, 0, 519, 0,
2620 0, 0, 0, 0, 0, 23, 0, 621, 0, 300,
2621 8, 9, 10, 0, 26, 13, 130, 131, 0, 0,
2622 18, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2623 1500, 21, 0, 0, 0, 0, 0, 18, 0, 0,
2624 1501, 0, 0, 0, 26, 0, 27, 28, 21, 0,
2625 0, 0, 1502, 625, 0, 300, 8, 9, 10, 0,
2626 193, 26, 0, 27, 320, 0, 0, 0, 0, 0,
2627 194, 0, 0, 0, 0, 0, 0, 752, 32, 0,
2628 0, 0, 195, 18, 0, 0, 0, 753, 0, 0,
2629 0, 0, 0, 0, 21, 32, 8, 9, 0, 754,
2630 12, 13, 1516, 0, 0, 0, 14, 26, 0, 27,
2631 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2632 16, 0, 17, 752, 0, 0, 0, 0, 0, 20,
2633 0, 0, 0, 753, 0, 0, 0, 0, 23, 0,
2634 0, 32, 0, 0, 0, 754, 0, 26, 0, 130,
2635 131, 604, 0, 1517, 573, 574, 575, 576, 577, 578,
2636 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2637 589, 590, 591, 592, 593, 594, 8, 9, 0, 167,
2638 12, 13, 0, 0, 1584, 605, 14, 0, 0, 0,
2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2641 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2642 0, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2643 131, 573, 574, 575, 576, 577, 578, 579, 580, 581,
2644 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
2645 592, 593, 594, 573, 574, 575, 576, 577, 578, 579,
2646 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2647 590, 591, 592, 593, 594, 0, 0, 0, 1269, 0,
2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649 0, 0, 0, 663, 0, 0, 1604, 573, 574, 575,
2650 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2651 586, 587, 588, 589, 590, 591, 592, 593, 594, 1100,
2652 0, 0, 0, 573, 574, 575, 576, 577, 578, 579,
2653 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2654 590, 591, 592, 593, 594, 1598, 573, 574, 575, 576,
2655 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2656 587, 588, 589, 590, 591, 592, 593, 594, 573, 574,
2657 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2658 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
2659 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
2660 583, 584, 0, 586, 587, 588, 589, 590, 591, 592,
2664 static const short yycheck
[] = { 4,
2665 720, 209, 42, 55, 161, 176, 175, 174, 350, 23,
2666 4, 402, 4, 55, 460, 4, 251, 402, 126, 59,
2667 568, 485, 507, 80, 356, 695, 4, 14, 356, 46,
2668 35, 149, 150, 80, 90, 373, 92, 42, 84, 247,
2669 156, 35, 605, 35, 304, 305, 35, 402, 42, 133,
2670 134, 4, 57, 42, 647, 124, 789, 35, 791, 76,
2671 882, 42, 209, 134, 42, 243, 799, 72, 702, 1237,
2672 1238, 218, 42, 440, 133, 1423, 1339, 1513, 338, 84,
2673 1514, 137, 35, 88, 11, 90, 1254, 92, 296, 42,
2674 42, 468, 54, 1349, 1537, 42, 83, 144, 11, 1515,
2675 1356, 11, 107, 108, 1, 63, 12, 7, 75, 4,
2676 703, 57, 4, 5, 805, 38, 1559, 75, 33, 106,
2677 811, 356, 48, 175, 1560, 61, 59, 48, 493, 169,
2678 63, 136, 137, 175, 139, 30, 31, 61, 38, 455,
2679 35, 55, 350, 217, 218, 510, 1, 42, 9, 63,
2680 63, 62, 461, 45, 60, 12, 203, 63, 136, 468,
2681 165, 625, 59, 55, 169, 57, 58, 93, 94, 209,
2682 222, 176, 93, 109, 1, 169, 1619, 217, 218, 1595,
2683 169, 108, 108, 136, 165, 109, 109, 165, 169, 84,
2684 136, 169, 0, 155, 109, 108, 213, 539, 108, 169,
2685 60, 62, 108, 60, 59, 262, 63, 247, 63, 39,
2686 1644, 1379, 165, 48, 357, 358, 169, 169, 33, 25,
2687 1388, 1389, 169, 1391, 1660, 55, 535, 60, 60, 140,
2688 176, 922, 59, 27, 719, 75, 63, 31, 200, 0,
2689 95, 136, 60, 8, 9, 156, 562, 1563, 108, 14,
2690 48, 1514, 1600, 59, 149, 150, 296, 63, 93, 94,
2691 48, 248, 1518, 347, 59, 408, 409, 61, 95, 61,
2692 165, 65, 37, 108, 169, 108, 14, 109, 3, 4,
2693 5, 46, 49, 48, 22, 75, 48, 596, 347, 95,
2694 108, 448, 297, 602, 964, 93, 1612, 343, 193, 194,
2695 48, 212, 97, 359, 938, 93, 94, 941, 59, 220,
2696 350, 93, 644, 1569, 65, 109, 385, 109, 881, 61,
2697 108, 93, 393, 60, 55, 330, 237, 65, 93, 638,
2698 685, 93, 57, 58, 149, 150, 151, 675, 343, 3,
2699 4, 5, 6, 490, 75, 93, 351, 714, 715, 983,
2700 984, 742, 404, 1044, 359, 360, 81, 742, 476, 477,
2701 108, 48, 404, 479, 1620, 1056, 406, 109, 75, 356,
2702 25, 108, 27, 93, 48, 1543, 1544, 93, 42, 614,
2703 195, 4, 360, 55, 63, 49, 124, 3, 4, 5,
2704 6, 65, 61, 57, 58, 60, 738, 402, 107, 1090,
2705 405, 1092, 442, 75, 59, 721, 93, 360, 63, 61,
2706 148, 76, 35, 402, 360, 489, 490, 81, 470, 93,
2707 968, 4, 5, 497, 4, 89, 42, 479, 805, 108,
2708 25, 483, 63, 49, 811, 509, 4, 442, 884, 491,
2709 95, 57, 58, 1036, 75, 501, 48, 55, 343, 489,
2710 490, 508, 48, 63, 528, 35, 1278, 497, 76, 923,
2711 78, 442, 31, 468, 442, 360, 49, 35, 12, 509,
2712 48, 4, 442, 89, 57, 58, 75, 1, 534, 3,
2713 4, 5, 499, 27, 25, 59, 27, 31, 528, 442,
2714 55, 93, 94, 48, 60, 61, 501, 93, 81, 59,
2715 238, 239, 35, 508, 48, 648, 108, 402, 93, 42,
2716 65, 48, 108, 251, 508, 93, 60, 61, 59, 63,
2717 1253, 65, 63, 55, 48, 4, 5, 1161, 1162, 534,
2718 508, 55, 537, 57, 58, 540, 84, 85, 93, 450,
2719 545, 546, 547, 548, 549, 922, 713, 442, 48, 93,
2720 94, 84, 55, 558, 95, 508, 93, 1042, 55, 470,
2721 606, 48, 508, 568, 108, 63, 571, 12, 479, 93,
2722 879, 880, 48, 468, 965, 55, 885, 75, 57, 58,
2723 965, 476, 477, 48, 322, 496, 1408, 76, 48, 55,
2724 899, 108, 901, 93, 903, 75, 774, 775, 650, 683,
2725 932, 606, 780, 136, 932, 676, 93, 94, 650, 75,
2726 965, 651, 683, 508, 48, 60, 80, 93, 63, 624,
2727 65, 108, 678, 831, 108, 363, 631, 483, 93, 4,
2728 5, 65, 165, 93, 372, 491, 169, 94, 55, 691,
2729 104, 693, 694, 11, 953, 48, 63, 385, 635, 691,
2730 48, 693, 694, 108, 694, 4, 5, 55, 75, 93,
2731 94, 476, 477, 478, 1110, 1111, 1130, 1044, 928, 133,
2732 684, 4, 5, 678, 49, 783, 9, 75, 821, 1056,
2733 144, 55, 57, 58, 108, 48, 738, 692, 1004, 998,
2734 93, 696, 766, 4, 5, 93, 738, 932, 738, 109,
2735 49, 75, 63, 107, 108, 719, 81, 48, 57, 58,
2736 1195, 606, 48, 1090, 75, 1092, 3, 4, 5, 6,
2737 48, 55, 55, 48, 57, 58, 766, 622, 623, 624,
2738 93, 94, 789, 97, 791, 182, 631, 742, 71, 203,
2739 797, 75, 799, 61, 796, 1230, 57, 58, 81, 93,
2740 806, 807, 93, 809, 796, 42, 61, 93, 349, 350,
2741 351, 94, 48, 1209, 48, 93, 94, 505, 93, 94,
2742 57, 58, 1218, 1219, 238, 792, 793, 48, 25, 3,
2743 27, 1227, 111, 1125, 789, 802, 791, 3, 4, 5,
2744 6, 831, 797, 75, 799, 789, 94, 791, 262, 63,
2745 805, 806, 807, 94, 809, 799, 811, 93, 63, 93,
2746 343, 789, 59, 791, 930, 958, 63, 3, 4, 5,
2747 93, 799, 93, 1269, 991, 93, 42, 360, 9, 55,
2748 111, 12, 570, 48, 93, 75, 789, 63, 791, 55,
2749 55, 57, 58, 789, 108, 791, 799, 742, 95, 75,
2750 796, 797, 27, 799, 75, 71, 31, 752, 753, 60,
2751 75, 1039, 1040, 1041, 75, 81, 75, 48, 11, 402,
2752 108, 57, 58, 89, 60, 880, 614, 93, 93, 60,
2753 885, 62, 63, 60, 65, 60, 61, 55, 1197, 108,
2754 1199, 355, 1201, 75, 789, 76, 791, 78, 25, 55,
2755 27, 108, 4, 5, 799, 108, 1626, 63, 75, 442,
2756 805, 916, 93, 94, 306, 307, 811, 922, 75, 75,
2757 45, 926, 1368, 3, 4, 5, 330, 108, 108, 976,
2758 55, 323, 59, 58, 326, 468, 63, 329, 60, 61,
2759 332, 1084, 1085, 1086, 336, 932, 684, 109, 412, 4,
2760 5, 109, 344, 55, 108, 57, 58, 695, 111, 1405,
2761 965, 111, 967, 968, 4, 5, 971, 27, 95, 71,
2762 3, 4, 5, 6, 75, 508, 965, 57, 58, 81,
2763 3, 4, 5, 60, 7, 8, 9, 75, 726, 55,
2764 1299, 75, 94, 904, 49, 1047, 55, 111, 31, 76,
2765 911, 78, 57, 58, 63, 1047, 1348, 111, 31, 42,
2766 1015, 1068, 60, 61, 37, 55, 75, 57, 58, 930,
2767 1077, 1068, 55, 1028, 57, 58, 81, 922, 59, 924,
2768 925, 926, 60, 61, 57, 58, 1152, 108, 71, 1044,
2769 108, 505, 55, 1060, 1126, 1127, 108, 1129, 81, 1066,
2770 1067, 1056, 48, 1070, 1071, 108, 89, 1074, 8, 55,
2771 93, 465, 111, 1181, 1182, 48, 60, 531, 1184, 48,
2772 965, 65, 1077, 606, 969, 970, 971, 93, 1134, 75,
2773 65, 75, 76, 1077, 55, 1090, 60, 1092, 3, 4,
2774 5, 624, 63, 1211, 1212, 1100, 93, 93, 631, 1077,
2775 691, 1047, 693, 694, 75, 696, 4, 5, 87, 88,
2776 109, 9, 91, 92, 93, 94, 1121, 55, 1434, 109,
2777 1015, 818, 819, 820, 1077, 63, 1178, 60, 61, 1134,
2778 61, 1077, 1184, 537, 1450, 60, 540, 75, 55, 1186,
2779 55, 545, 57, 58, 59, 37, 1289, 738, 108, 1044,
2780 75, 76, 1157, 78, 558, 619, 971, 55, 65, 57,
2781 58, 1056, 1553, 65, 556, 557, 65, 571, 1553, 108,
2782 634, 575, 61, 71, 1226, 63, 1347, 1346, 1183, 1348,
2783 108, 1195, 1077, 81, 60, 61, 1302, 60, 61, 60,
2784 61, 1248, 108, 1245, 108, 1090, 1253, 1092, 108, 603,
2785 1015, 1206, 60, 61, 1650, 609, 60, 61, 1213, 742,
2786 65, 111, 1206, 951, 1206, 1557, 81, 82, 83, 84,
2787 85, 1537, 3, 4, 5, 65, 964, 65, 1206, 76,
2788 3, 4, 5, 60, 7, 3, 4, 5, 6, 108,
2789 831, 1152, 108, 1559, 3, 4, 5, 108, 1253, 108,
2790 1302, 108, 76, 76, 76, 76, 789, 108, 791, 1253,
2791 1155, 1156, 1157, 8, 9, 38, 799, 1178, 49, 14,
2792 1586, 108, 805, 1184, 42, 1253, 57, 58, 811, 4,
2793 5, 49, 55, 33, 57, 58, 1181, 1182, 1183, 57,
2794 58, 755, 37, 27, 1346, 60, 1348, 31, 57, 58,
2795 1253, 46, 1307, 1619, 1346, 63, 1348, 1253, 1348, 63,
2796 108, 1206, 63, 904, 108, 1226, 1211, 1212, 1213, 108,
2797 911, 89, 769, 111, 1640, 94, 60, 61, 1223, 1224,
2798 55, 65, 57, 58, 1339, 111, 89, 75, 48, 930,
2799 111, 108, 1347, 109, 1349, 1339, 71, 108, 111, 1557,
2800 61, 1356, 108, 108, 60, 1349, 81, 1349, 1253, 108,
2801 1365, 1339, 1356, 109, 1356, 108, 1181, 1182, 1183, 1386,
2802 1387, 1349, 1529, 1111, 65, 3, 4, 5, 1356, 7,
2803 8, 9, 65, 60, 60, 63, 108, 108, 88, 922,
2804 90, 1302, 92, 926, 93, 93, 1211, 1212, 1213, 149,
2805 150, 151, 109, 31, 93, 93, 4, 5, 109, 37,
2806 1305, 1306, 1307, 108, 1532, 1533, 108, 7, 8, 9,
2807 8, 108, 108, 108, 14, 4, 5, 55, 108, 57,
2808 58, 59, 965, 31, 108, 108, 111, 137, 971, 139,
2809 1607, 31, 111, 1460, 1339, 195, 108, 37, 33, 108,
2810 48, 1503, 108, 65, 1349, 108, 46, 55, 55, 57,
2811 58, 1356, 108, 108, 108, 1203, 48, 931, 63, 933,
2812 49, 1209, 111, 71, 108, 103, 104, 105, 57, 58,
2813 96, 108, 1015, 81, 108, 889, 63, 63, 3, 4,
2814 5, 6, 4, 5, 61, 93, 94, 1502, 61, 9,
2815 1552, 893, 81, 1508, 61, 16, 1558, 108, 1513, 1514,
2816 1515, 1044, 976, 1518, 108, 108, 1558, 1557, 93, 1513,
2817 1514, 1513, 926, 1056, 1518, 108, 1518, 42, 108, 1534,
2818 108, 93, 924, 925, 49, 1513, 1514, 49, 61, 61,
2819 1518, 65, 57, 58, 1077, 57, 58, 55, 1553, 93,
2820 111, 30, 31, 93, 33, 1560, 17, 1090, 61, 1092,
2821 55, 1152, 108, 61, 1569, 108, 1560, 102, 1560, 81,
2822 107, 1588, 108, 11, 89, 1569, 764, 1569, 57, 108,
2823 59, 61, 1560, 61, 61, 60, 65, 1178, 93, 65,
2824 1595, 1569, 1503, 1184, 108, 1333, 1334, 3, 4, 5,
2825 6, 61, 1049, 1050, 1068, 1500, 1501, 1502, 108, 3,
2826 4, 5, 6, 1508, 108, 1620, 804, 61, 1513, 1514,
2827 1515, 321, 810, 1518, 1157, 11, 1620, 11, 1620, 1076,
2828 61, 4, 5, 0, 1081, 0, 42, 1532, 1533, 0,
2829 170, 1552, 1620, 49, 2, 35, 1461, 1448, 42, 676,
2830 1183, 57, 58, 965, 94, 1660, 169, 442, 1553, 359,
2831 797, 55, 141, 57, 58, 1560, 1660, 146, 1660, 165,
2832 149, 150, 151, 1206, 1569, 81, 49, 1606, 238, 1195,
2833 1213, 139, 1660, 89, 57, 58, 1433, 1425, 1660, 1,
2834 1279, 3, 4, 5, 1158, 89, 299, 176, 951, 657,
2835 1595, 726, 1230, 182, 3, 4, 5, 1042, 81, 1447,
2836 1448, 1302, 1077, 659, 193, 194, 195, 1532, 1533, 1534,
2837 1253, 242, 1186, 797, 1250, 1620, 476, 477, 478, 917,
2838 209, 919, 3, 4, 5, 200, 48, 347, 217, 218,
2839 1132, 124, 944, 55, 606, 57, 58, 59, 60, 1349,
2840 49, 1207, 1640, 3, 4, 5, 6, 1626, 57, 58,
2841 460, 461, 1574, 1636, 1638, 1660, 1023, 1365, 468, -1,
2842 -1, 4, 5, -1, 1307, -1, 9, -1, -1, -1,
2843 259, 93, -1, -1, 1248, -1, 57, 58, 1526, -1,
2844 -1, -1, 42, -1, -1, -1, 1243, 1244, 31, 1246,
2845 1247, 501, 1249, -1, -1, 55, 1339, 57, 58, 1213,
2846 -1, 61, -1, 63, -1, -1, 1349, -1, -1, 1211,
2847 1212, 71, 55, 1356, 57, 58, -1, -1, -1, -1,
2848 -1, 81, -1, -1, 534, 535, -1, -1, 71, 89,
2849 -1, -1, 461, 93, 544, -1, -1, -1, 81, 468,
2850 -1, 330, -1, -1, -1, 4, 5, -1, -1, -1,
2851 93, 1265, 1266, 1267, 1268, -1, -1, -1, 568, -1,
2852 570, -1, -1, 573, 574, -1, 576, 577, 578, 579,
2853 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2854 590, 591, 592, 593, 594, -1, 596, -1, -1, 48,
2855 -1, 1089, 602, 1091, -1, -1, 55, -1, 57, 58,
2856 -1, -1, 1503, 3, 4, 5, 535, -1, 3, 4,
2857 5, 6, 71, -1, 9, -1, 405, 406, 1332, 1376,
2858 1377, 631, 81, -1, 31, 3, 4, 5, 638, -1,
2859 419, -1, -1, 422, 93, 94, 31, 1339, -1, 428,
2860 429, 430, -1, 1417, -1, 434, -1, 42, -1, -1,
2861 1148, 1552, 662, 663, -1, 55, -1, 57, 58, 1502,
2862 55, -1, 57, 58, -1, 1508, -1, 596, 678, -1,
2863 1513, 1514, 1515, 602, -1, 1518, 71, -1, -1, 57,
2864 58, 59, 471, -1, -1, 474, 81, 476, 477, 478,
2865 -1, -1, 1406, 482, 89, 3, 4, 5, 93, 488,
2866 489, 490, 631, -1, 493, -1, -1, -1, 497, 638,
2867 1553, 3, 4, 5, -1, -1, 726, 1560, -1, -1,
2868 -1, 510, -1, 1480, 1481, 1482, 1569, -1, -1, 1443,
2869 -1, 3, 4, 5, 141, -1, 1234, -1, -1, 146,
2870 -1, 1239, -1, -1, -1, -1, -1, 55, 537, 57,
2871 58, 540, 1595, 3, 4, 5, 6, 3, 4, 5,
2872 -1, 7, 8, 9, -1, 57, 58, 556, 557, 558,
2873 3, 4, 5, 6, 7, 8, 9, 1620, 788, -1,
2874 -1, 14, 571, 1540, 1541, 57, 58, 194, -1, -1,
2875 3, -1, 42, 6, 1508, 1293, 806, 807, 31, 809,
2876 1514, 1515, -1, -1, 37, -1, -1, 57, 58, 42,
2877 -1, 57, 58, 46, 824, 48, -1, 1660, 31, -1,
2878 1534, -1, 55, -1, 57, 58, -1, -1, -1, 42,
2879 1532, 1533, -1, 622, 623, 624, -1, 847, 71, 89,
2880 -1, -1, 631, -1, 57, 58, -1, -1, 81, -1,
2881 -1, -1, 259, -1, 1611, -1, 89, -1, 71, -1,
2882 93, 94, 651, 3, 4, 5, -1, -1, 81, 879,
2883 880, 3, 4, 5, 884, 885, 89, -1, -1, -1,
2884 93, 1595, -1, 3, 4, 5, 6, -1, -1, 899,
2885 -1, 901, -1, 903, -1, 824, -1, 1395, 1396, -1,
2886 1614, -1, -1, 692, -1, 694, 695, -1, -1, -1,
2887 -1, 971, 3, 4, 5, 1413, -1, 57, 58, 39,
2888 40, 1635, 42, 55, -1, 57, 58, -1, -1, -1,
2889 1644, -1, 942, -1, -1, 55, -1, 57, 58, -1,
2890 -1, -1, -1, 953, -1, -1, -1, -1, -1, 738,
2891 879, 880, -1, -1, -1, 1015, 885, -1, 968, -1,
2892 -1, 750, 751, 752, 753, 754, 57, 58, -1, 758,
2893 899, 981, 901, -1, 903, 1473, 1474, 766, -1, -1,
2894 769, 79, 80, 81, 82, 83, 84, 85, 998, -1,
2895 -1, 1489, 1490, -1, -1, -1, 1, -1, 3, 4,
2896 5, 6, 7, 8, 9, 1015, 4, 5, 797, 14,
2897 -1, 9, 419, -1, -1, 422, -1, -1, -1, -1,
2898 -1, -1, -1, 28, 953, 30, 31, 434, -1, -1,
2899 -1, -1, 37, 31, -1, 824, -1, 42, 4, 5,
2900 -1, 46, 8, 9, 49, -1, -1, -1, 14, 1059,
2901 55, -1, 57, 58, -1, -1, 61, 55, -1, 57,
2902 58, -1, -1, -1, 471, -1, 71, 474, -1, 998,
2903 -1, 37, -1, 71, -1, -1, 81, -1, -1, -1,
2904 46, 488, 48, 81, 89, -1, 1015, -1, 93, 55,
2905 -1, 57, 58, -1, -1, 93, -1, -1, -1, -1,
2906 1110, 1111, -1, -1, 1114, 71, 4, 5, -1, -1,
2907 -1, 33, -1, -1, -1, 81, 905, -1, -1, 908,
2908 -1, 1181, 1182, 1183, 1134, -1, -1, 93, 94, -1,
2909 -1, 920, -1, 31, -1, 924, 925, 926, 7, 8,
2910 9, -1, -1, -1, -1, 14, -1, 4, 5, -1,
2911 48, 1211, 1212, 1213, -1, -1, -1, 55, -1, 57,
2912 58, -1, 31, -1, -1, -1, -1, -1, 37, -1,
2913 -1, -1, -1, 71, 31, 964, -1, 46, -1, -1,
2914 969, 970, 971, 81, 4, -1, -1, 1197, -1, 1199,
2915 -1, 1201, 61, -1, 14, 93, 94, -1, 55, 1209,
2916 57, 58, -1, -1, 24, -1, -1, -1, 1218, 1219,
2917 30, 31, -1, 33, 71, 35, -1, 1227, -1, -1,
2918 -1, -1, 42, -1, 81, -1, 1015, -1, 150, 151,
2919 -1, 1241, 1242, -1, -1, 55, 93, 57, -1, -1,
2920 1029, 1030, 1031, -1, -1, 65, 4, 5, -1, -1,
2921 8, 9, 72, -1, -1, -1, 14, 4, 5, 1269,
2922 1049, 1050, 9, 83, 84, -1, -1, -1, 1197, -1,
2923 1199, 402, 1201, 195, -1, -1, -1, -1, -1, 37,
2924 -1, -1, -1, -1, 31, -1, 106, 1076, 46, 1299,
2925 48, -1, 1081, -1, -1, -1, -1, 55, -1, 57,
2926 58, 48, -1, -1, -1, -1, -1, -1, 55, -1,
2927 57, 58, -1, 71, 134, -1, 136, -1, 1328, -1,
2928 140, 141, -1, 81, 71, 145, 146, -1, -1, 149,
2929 150, 151, -1, -1, 81, 93, 94, 468, -1, -1,
2930 -1, -1, -1, 750, 751, 165, 93, 94, -1, 169,
2931 -1, 758, -1, -1, -1, 175, 176, -1, 1368, 3,
2932 4, 5, 6, -1, -1, 9, 1155, 1156, 1157, -1,
2933 1299, -1, 1382, 193, 194, 195, -1, -1, -1, 4,
2934 5, -1, 7, 8, 9, -1, -1, 31, -1, 14,
2935 1179, 1180, 1181, 1182, 1183, 1405, -1, -1, 42, 1188,
2936 -1, 1461, 222, 28, 48, 30, 31, -1, 330, -1,
2937 -1, 55, 37, 57, 58, -1, -1, -1, -1, 239,
2938 -1, 46, 1211, 1212, 1213, -1, -1, 71, 248, -1,
2939 55, -1, 57, 58, 1223, 1224, 1225, 81, -1, 259,
2940 7, 8, 9, -1, -1, 89, -1, 14, -1, 93,
2941 94, 1461, -1, -1, 1243, 1244, -1, 1246, 1247, -1,
2942 1249, -1, -1, -1, 31, -1, -1, -1, 1478, 1479,
2943 37, -1, 1532, 1533, 1534, -1, -1, 297, 298, 46,
2944 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2945 -1, -1, -1, 624, 61, -1, -1, -1, -1, -1,
2946 631, -1, -1, -1, 31, -1, 1516, 429, 430, -1,
2947 37, -1, -1, -1, 1303, 1304, 1305, 1306, 1307, 46,
2948 -1, 1310, -1, 343, -1, -1, -1, 347, -1, 349,
2949 350, 351, 1461, -1, -1, -1, 1546, -1, -1, -1,
2950 360, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2951 81, 82, 83, 84, 85, 477, 478, -1, 1347, 1348,
2952 -1, -1, -1, 970, 77, 78, 79, 80, 81, 82,
2953 83, 84, 85, 393, 193, 194, -1, -1, -1, -1,
2954 -1, -1, 402, -1, 404, 405, -1, 1376, 1377, -1,
2955 -1, -1, 3, 4, 5, 6, -1, -1, 9, 419,
2956 -1, -1, 422, -1, -1, -1, -1, -1, -1, -1,
2957 -1, 742, -1, -1, 434, 537, -1, -1, 540, -1,
2958 31, -1, 442, -1, -1, -1, 1415, 1416, -1, 1418,
2959 -1, 42, -1, -1, -1, 557, 558, 48, -1, -1,
2960 1650, -1, -1, -1, 55, -1, 57, 58, -1, 571,
2961 470, 471, -1, -1, 474, -1, 476, 477, 478, 479,
2962 71, -1, -1, 483, 3, 4, 5, 6, 488, -1,
2963 81, 491, 1461, -1, 805, -1, -1, -1, 89, -1,
2964 811, -1, 93, 94, 3, 4, 5, 6, 508, -1,
2965 -1, 1480, 1481, 1482, -1, -1, -1, -1, -1, -1,
2966 -1, -1, -1, 42, -1, -1, -1, -1, -1, 631,
2967 -1, 1500, 1501, 1502, -1, -1, 55, -1, 57, 58,
2968 -1, -1, 61, 42, -1, -1, 546, 547, 548, 549,
2969 49, -1, 71, -1, -1, -1, -1, -1, 57, 58,
2970 -1, -1, 81, 1532, 1533, 1534, -1, -1, -1, -1,
2971 89, 1540, 1541, 1, 93, 3, 4, 5, 6, 7,
2972 8, 9, 81, -1, -1, -1, 14, -1, -1, -1,
2973 89, -1, 1179, 1180, -1, -1, -1, -1, -1, 27,
2974 28, 1188, 30, 31, 32, -1, 606, -1, 608, 37,
2975 -1, 922, -1, -1, 42, 926, -1, 45, 46, 47,
2976 620, 49, 622, 623, 624, -1, -1, 55, -1, 57,
2977 58, 631, -1, 61, -1, 635, -1, -1, -1, -1,
2978 -1, -1, 1611, 71, -1, -1, 3, 4, 5, 6,
2979 650, 753, 754, 81, 965, -1, -1, -1, -1, -1,
2980 971, 89, -1, -1, -1, 93, -1, -1, -1, 97,
2981 -1, -1, 471, -1, 31, 474, 676, 476, 477, -1,
2982 -1, -1, -1, 683, -1, 42, -1, -1, -1, 488,
2983 -1, 691, 692, 693, 694, 695, 696, -1, 55, -1,
2984 57, 58, -1, -1, 1015, -1, -1, -1, -1, -1,
2985 -1, -1, -1, -1, 71, -1, 1303, 1304, -1, -1,
2986 -1, -1, 824, 1310, 81, -1, -1, -1, -1, -1,
2987 -1, -1, 89, 1044, -1, -1, 93, -1, 738, -1,
2988 -1, -1, 742, -1, -1, 1056, -1, -1, -1, -1,
2989 750, 751, 752, 753, 754, -1, -1, -1, 758, -1,
2990 -1, 3, 4, 5, 6, 73, 74, 75, 76, 77,
2991 78, 79, 80, 81, 82, 83, 84, 85, -1, 1090,
2992 -1, 1092, -1, -1, -1, -1, 786, 4, 5, 789,
2993 -1, 791, 9, -1, -1, -1, 796, 797, -1, 799,
2994 42, -1, -1, -1, -1, 805, 48, -1, -1, -1,
2995 -1, 811, -1, 55, 31, 57, 58, -1, 818, 819,
2996 820, -1, -1, 925, 926, -1, -1, -1, -1, 71,
2997 -1, 831, -1, -1, -1, -1, -1, -1, 55, 81,
2998 57, 58, -1, -1, -1, -1, 1157, 89, -1, -1,
2999 -1, 93, 94, 1, 71, 3, 4, 5, 6, 7,
3000 8, 9, -1, -1, 81, -1, 14, -1, -1, 971,
3001 -1, -1, 1183, -1, -1, -1, 93, -1, -1, -1,
3002 28, -1, 30, 31, 32, -1, -1, -1, -1, 37,
3003 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3004 -1, 49, 1213, -1, 904, 905, -1, 55, 908, 57,
3005 58, 911, -1, 1015, -1, -1, 916, -1, -1, -1,
3006 920, -1, 922, 71, 924, 925, 926, -1, -1, -1,
3007 930, -1, 932, 81, -1, -1, -1, -1, -1, -1,
3008 -1, 89, -1, -1, -1, 93, -1, -1, -1, 97,
3009 -1, 750, 751, 752, 753, -1, -1, -1, -1, 758,
3010 -1, -1, -1, -1, -1, 965, -1, 967, -1, 969,
3011 970, 971, 4, -1, -1, -1, -1, -1, -1, -1,
3012 -1, -1, 14, -1, -1, -1, -1, -1, 622, 623,
3013 -1, 23, 24, -1, -1, -1, 1307, -1, 30, 31,
3014 -1, 33, -1, 35, -1, -1, -1, -1, -1, -1,
3015 42, -1, -1, -1, -1, 1015, -1, 4, 5, -1,
3016 -1, 8, 9, 55, -1, 57, -1, 14, 1028, 1029,
3017 1030, 1031, -1, 65, 3, 4, 5, 6, -1, -1,
3018 72, 28, -1, 30, 1044, -1, -1, 1047, -1, -1,
3019 37, -1, 84, -1, 1156, 1157, 1056, -1, -1, 46,
3020 -1, 48, 31, -1, -1, -1, -1, -1, 55, 1069,
3021 57, 58, -1, 42, -1, -1, -1, 1077, -1, 48,
3022 1182, 1183, -1, -1, 71, -1, 55, -1, 57, 58,
3023 1090, -1, 1092, -1, 81, -1, -1, -1, -1, -1,
3024 1100, -1, 71, -1, 136, -1, 93, 94, 140, 141,
3025 1212, 1213, 81, -1, 146, -1, -1, 149, 150, 151,
3026 89, 1121, -1, -1, 93, 94, 1126, 1127, -1, 1129,
3027 -1, -1, -1, 165, -1, -1, -1, 169, -1, -1,
3028 -1, -1, -1, 175, 176, -1, -1, -1, -1, -1,
3029 -1, -1, 1152, -1, -1, 1155, 1156, 1157, -1, -1,
3030 -1, 193, 194, 195, -1, -1, -1, -1, -1, -1,
3031 969, 970, -1, -1, -1, -1, -1, -1, 1178, 1179,
3032 1180, 1181, 1182, 1183, 1184, -1, -1, -1, 1188, -1,
3033 222, 1502, -1, -1, 3, 4, 5, 6, -1, -1,
3034 9, -1, -1, -1, 1306, 1307, -1, -1, -1, -1,
3035 -1, 1211, 1212, 1213, -1, -1, -1, -1, -1, -1,
3036 -1, -1, 31, 1223, 1224, 1225, 1226, 259, -1, -1,
3037 1029, 1030, 1031, 42, -1, -1, -1, -1, -1, 48,
3038 -1, -1, 1553, -1, -1, 1245, 55, -1, 57, 58,
3039 1250, -1, -1, 1253, -1, -1, -1, -1, -1, -1,
3040 -1, -1, 71, -1, -1, 297, 298, -1, -1, -1,
3041 -1, 905, 81, -1, 908, -1, -1, -1, -1, -1,
3042 89, -1, -1, -1, 93, 94, 920, -1, -1, -1,
3043 924, 925, -1, -1, -1, -1, -1, -1, 3, 4,
3044 5, 6, 1302, 1303, 1304, 1305, 1306, 1307, -1, -1,
3045 1310, 343, -1, -1, -1, 347, -1, 349, 350, 351,
3046 -1, -1, -1, -1, 356, -1, 31, -1, 360, -1,
3047 -1, -1, -1, -1, -1, 969, 970, 42, 1, -1,
3048 3, 4, 5, 6, -1, 8, 1346, 1347, 1348, -1,
3049 55, -1, 57, 58, -1, -1, -1, -1, -1, 1461,
3050 -1, 393, -1, -1, -1, 1365, 71, -1, -1, -1,
3051 402, -1, 404, 405, -1, -1, 81, -1, -1, 42,
3052 1179, 1180, 1181, 1182, 89, -1, 49, 419, 93, 1188,
3053 422, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3054 -1, -1, 434, -1, -1, -1, -1, -1, -1, -1,
3055 442, -1, 1211, 1212, -1, 1415, 1416, -1, 1418, -1,
3056 -1, -1, -1, -1, 1223, 1224, 89, -1, -1, -1,
3057 -1, 1533, 1534, -1, -1, -1, -1, -1, 470, 471,
3058 -1, -1, 474, -1, 476, 477, 478, 479, -1, -1,
3059 -1, 483, -1, -1, -1, -1, 488, -1, -1, 491,
3060 -1, 1461, 74, 75, 76, 77, 78, 79, 80, 81,
3061 82, 83, 84, 85, -1, 507, 508, -1, -1, -1,
3062 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
3063 4, 5, 6, -1, -1, -1, -1, -1, -1, -1,
3064 1500, 1501, 1502, 1503, 1303, 1304, 1305, 1306, -1, -1,
3065 -1, 1310, -1, -1, 546, 547, 548, 549, -1, -1,
3066 -1, 1155, 1156, -1, -1, -1, -1, -1, 42, -1,
3067 -1, -1, 1532, 1533, 1534, -1, -1, -1, -1, -1,
3068 -1, 55, -1, 57, 58, 1179, 1180, 1181, 1182, 63,
3069 -1, -1, 1552, 1553, 1188, -1, -1, 71, 1558, 3,
3070 4, 5, 6, 7, 8, 9, -1, 81, -1, -1,
3071 14, -1, -1, -1, 606, 89, 608, 1211, 1212, 93,
3072 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3073 622, 623, 624, 37, -1, -1, -1, -1, 42, 631,
3074 -1, -1, 46, -1, -1, 49, -1, -1, -1, -1,
3075 -1, 55, 644, 57, 58, -1, 1415, 1416, 650, 1418,
3076 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
3077 -1, -1, -1, -1, -1, -1, -1, 81, -1, 3,
3078 4, 5, 6, -1, 676, 89, 4, 5, -1, 93,
3079 -1, 9, 684, 97, -1, -1, -1, -1, -1, 691,
3080 692, 693, 694, 695, 696, -1, -1, 31, -1, 1303,
3081 1304, 1305, 1306, 31, -1, -1, 1310, -1, 42, -1,
3082 -1, -1, -1, -1, 48, -1, -1, 719, -1, -1,
3083 48, 55, -1, 57, 58, -1, -1, 55, -1, 57,
3084 58, 1500, 1501, -1, -1, -1, 738, 71, -1, -1,
3085 742, -1, -1, 71, -1, -1, -1, 81, 750, 751,
3086 752, 753, 754, 81, -1, 89, 758, -1, -1, 93,
3087 94, -1, -1, 1532, 1533, 93, 94, -1, -1, -1,
3088 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3089 -1, -1, 9, -1, 786, -1, -1, 789, -1, 791,
3090 -1, -1, -1, -1, 796, 797, -1, 799, -1, -1,
3091 -1, -1, -1, 805, 31, -1, -1, -1, -1, 811,
3092 -1, 1415, 1416, -1, 1418, 42, 818, 819, 820, 1,
3093 -1, 3, 4, 5, 6, 7, 8, 9, 55, 831,
3094 57, 58, 14, -1, -1, -1, -1, -1, -1, 3,
3095 4, 5, 6, -1, 71, -1, 28, -1, 30, 31,
3096 32, -1, -1, -1, 81, 37, 38, -1, -1, -1,
3097 42, -1, 89, -1, 46, 47, 93, 49, -1, -1,
3098 -1, -1, -1, 55, -1, 57, 58, -1, 42, 61,
3099 -1, 63, -1, -1, -1, 49, -1, -1, -1, 71,
3100 -1, -1, -1, 57, 58, -1, 1500, 1501, -1, 81,
3101 -1, -1, 904, 905, -1, -1, 908, 89, -1, 911,
3102 -1, 93, -1, -1, 916, -1, -1, 81, 920, -1,
3103 922, -1, 924, 925, 926, 89, -1, 109, 930, -1,
3104 932, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3105 9, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3106 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3107 -1, -1, 31, 965, -1, 967, -1, 969, 970, 971,
3108 4, -1, -1, 42, -1, -1, -1, -1, -1, 48,
3109 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3110 -1, -1, -1, -1, -1, -1, 30, 31, -1, 33,
3111 -1, 35, 71, -1, -1, -1, 4, 5, 42, 7,
3112 8, 9, 81, 1015, 12, -1, 14, -1, -1, -1,
3113 89, 55, -1, 57, 93, 94, 1028, 1029, 1030, 1031,
3114 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3115 1042, -1, 1044, -1, -1, 1047, 80, -1, 46, -1,
3116 48, -1, -1, -1, 1056, -1, -1, 55, -1, 57,
3117 58, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3118 -1, -1, 9, 71, -1, 1077, -1, -1, -1, -1,
3119 -1, -1, -1, 81, 3, 4, 5, 6, 1090, -1,
3120 1092, -1, -1, -1, 31, 93, 94, -1, 1100, 133,
3121 134, -1, 136, -1, -1, -1, 140, 141, -1, -1,
3122 144, 48, 146, -1, 4, 149, 150, 151, 55, 1121,
3123 57, 58, 156, 42, 1126, 1127, -1, 1129, -1, -1,
3124 49, 165, -1, -1, 71, 169, -1, -1, 57, 58,
3125 -1, 175, 176, -1, 81, 35, -1, -1, -1, -1,
3126 1152, -1, 42, 1155, 1156, 1157, 93, 94, -1, 193,
3127 194, 195, 81, -1, -1, 55, -1, 57, -1, 203,
3128 89, -1, -1, -1, -1, -1, 1178, 1179, 1180, 1181,
3129 1182, 1183, 1184, -1, -1, -1, 1188, -1, 222, -1,
3130 -1, -1, -1, 1195, 71, 72, 73, 74, 75, 76,
3131 77, 78, 79, 80, 81, 82, 83, 84, 85, 1211,
3132 1212, 1213, -1, -1, -1, -1, -1, -1, -1, -1,
3133 -1, 1223, 1224, 1225, 1226, 259, -1, -1, 1230, 3,
3134 4, 5, 6, 7, 8, 9, -1, -1, 12, -1,
3135 14, -1, -1, 1245, -1, -1, 136, 82, 1250, -1,
3136 140, 1253, -1, -1, 28, -1, 30, 31, -1, -1,
3137 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3138 -1, -1, 46, -1, 48, 165, -1, -1, -1, 169,
3139 -1, 55, -1, 57, 58, 175, 176, 4, 5, -1,
3140 -1, -1, 9, -1, -1, -1, 330, 71, -1, -1,
3141 1302, 1303, 1304, 1305, 1306, 1307, -1, 81, 1310, -1,
3142 -1, -1, -1, 347, 31, 89, -1, -1, -1, 93,
3143 94, 355, -1, -1, 159, -1, 360, -1, -1, -1,
3144 -1, 48, 222, 1335, -1, -1, -1, -1, 55, -1,
3145 57, 58, -1, -1, 1346, 1347, 1348, -1, -1, -1,
3146 -1, -1, -1, -1, 71, -1, 191, -1, -1, 393,
3147 -1, -1, -1, 1365, 81, -1, -1, -1, -1, 204,
3148 404, -1, -1, -1, -1, -1, 93, 94, 3, 4,
3149 5, 6, 7, 8, 9, 419, -1, 12, 422, 14,
3150 -1, -1, -1, -1, 428, 429, 430, -1, -1, -1,
3151 434, -1, -1, 28, -1, 30, 31, -1, 442, -1,
3152 -1, -1, 37, 1415, 1416, -1, 1418, 42, -1, -1,
3153 -1, 46, -1, 48, -1, -1, -1, -1, -1, -1,
3154 55, -1, 57, 58, -1, -1, 470, 471, -1, -1,
3155 474, -1, 476, 477, 478, 479, 71, -1, -1, 483,
3156 -1, -1, -1, -1, 488, -1, 81, 491, -1, 1461,
3157 -1, -1, 4, 5, 89, 7, 8, 9, 93, 94,
3158 360, -1, 14, -1, 508, -1, -1, -1, -1, -1,
3159 -1, 3, 4, 5, 6, -1, 28, 9, 30, 31,
3160 -1, -1, -1, -1, -1, 37, -1, -1, 1500, 1501,
3161 1502, 1503, -1, 537, 46, -1, 540, 49, -1, 31,
3162 -1, -1, -1, 55, 404, 57, 58, -1, -1, -1,
3163 42, -1, 556, 557, 558, -1, 48, -1, -1, -1,
3164 1532, 1533, 1534, 55, -1, 57, 58, 571, -1, -1,
3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3166 1552, 1553, 442, -1, -1, -1, 1558, -1, -1, 81,
3167 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
3168 -1, 93, 94, -1, -1, 3, 4, 5, 6, -1,
3169 470, 9, -1, -1, -1, 619, -1, -1, -1, -1,
3170 -1, -1, -1, 483, -1, -1, -1, 631, -1, -1,
3171 -1, 491, -1, 31, -1, -1, -1, -1, -1, -1,
3172 -1, -1, -1, -1, 42, -1, 650, -1, 508, -1,
3173 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3174 58, -1, -1, -1, -1, 3, 4, 5, 6, -1,
3175 -1, -1, 676, 71, -1, -1, 481, -1, -1, 683,
3176 -1, 486, -1, 81, -1, -1, -1, 691, 692, 693,
3177 694, 89, -1, 31, -1, 93, 94, -1, -1, -1,
3178 -1, -1, -1, -1, 42, -1, 511, -1, -1, -1,
3179 48, -1, 517, -1, -1, -1, -1, 55, -1, 57,
3180 58, -1, -1, -1, 529, 530, -1, 532, -1, -1,
3181 -1, -1, -1, 71, 738, 4, 5, -1, 742, 8,
3182 9, -1, -1, 81, -1, 14, 750, 751, 752, 753,
3183 754, 89, -1, -1, 758, 93, 94, -1, -1, 28,
3184 -1, 30, -1, -1, -1, -1, -1, -1, 37, -1,
3185 -1, -1, -1, -1, -1, -1, -1, 46, -1, -1,
3186 -1, -1, -1, -1, -1, 789, 55, 791, 57, 58,
3187 650, -1, 796, 797, -1, 799, -1, -1, -1, -1,
3188 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3189 4, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3190 824, -1, 627, 628, 93, -1, 28, 632, 30, 31,
3191 -1, 691, 692, 693, 694, 37, 30, 31, -1, 33,
3192 42, 35, -1, -1, 46, -1, 48, -1, 42, -1,
3193 -1, -1, -1, 55, -1, 57, 58, -1, -1, -1,
3194 -1, 55, -1, 57, -1, -1, -1, -1, -1, 71,
3195 -1, -1, -1, -1, -1, -1, -1, -1, 738, 81,
3196 -1, -1, 742, -1, -1, -1, -1, 89, -1, -1,
3197 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3198 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3199 -1, -1, 9, -1, -1, -1, -1, -1, -1, -1,
3200 924, 925, 926, -1, -1, -1, 930, 931, -1, 789,
3201 -1, 791, -1, -1, 31, -1, 796, 797, -1, 799,
3202 -1, -1, 136, -1, -1, 42, 140, 141, -1, -1,
3203 -1, 756, 146, -1, -1, 149, 150, 151, 55, -1,
3204 57, 58, -1, -1, -1, 969, 970, 971, -1, -1,
3205 -1, 165, 976, -1, 71, 169, -1, -1, -1, -1,
3206 -1, 175, 176, -1, 81, -1, -1, -1, -1, -1,
3207 -1, -1, 89, -1, -1, -1, 93, -1, -1, 193,
3208 194, 195, -1, -1, -1, -1, -1, 812, -1, 814,
3209 -1, 1015, 70, 71, 72, 73, 74, 75, 76, 77,
3210 78, 79, 80, 81, 82, 83, 84, 85, 222, -1,
3211 -1, -1, 1, -1, -1, 4, 5, -1, -1, 8,
3212 9, -1, -1, 1047, -1, 14, -1, -1, -1, -1,
3213 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3214 -1, 30, -1, -1, 1068, 259, -1, -1, 37, -1,
3215 39, 40, -1, 1077, -1, -1, -1, 46, -1, 48,
3216 -1, -1, 887, 888, -1, 890, 55, -1, 57, 58,
3217 -1, 60, -1, -1, -1, 64, 65, 66, 67, 68,
3218 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3219 79, 80, 81, 82, 83, 84, 921, -1, 87, 88,
3220 89, -1, 91, -1, -1, 94, -1, -1, -1, -1,
3221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3222 -1, 110, -1, -1, 3, 4, 5, 6, 1152, -1,
3223 9, 1155, 1156, 1157, 1158, -1, -1, -1, -1, -1,
3224 -1, -1, 356, -1, -1, -1, 360, -1, 973, -1,
3225 -1, -1, 31, -1, 1178, 1179, 1180, 1181, 1182, 1183,
3226 1184, -1, 1186, 42, 1188, -1, -1, 1047, -1, -1,
3227 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3228 3, 4, 5, 6, -1, 33, -1, 1211, 1212, 1213,
3229 404, -1, 71, -1, -1, -1, -1, 1077, 4, 5,
3230 -1, -1, 81, 9, -1, 419, -1, 55, 422, -1,
3231 89, -1, -1, -1, 93, -1, -1, -1, 1043, 42,
3232 434, 1245, -1, -1, -1, 31, 1250, -1, 442, 1253,
3233 1055, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3234 63, -1, 48, -1, -1, -1, -1, -1, 71, 55,
3235 -1, 57, 58, -1, -1, -1, 470, 471, 81, -1,
3236 474, -1, 476, 477, 478, 71, 89, -1, -1, 483,
3237 93, -1, -1, -1, 488, 81, -1, 491, 1302, 1303,
3238 1304, 1305, 1306, 1307, -1, -1, 1310, 93, 94, -1,
3239 -1, -1, -1, -1, 508, -1, -1, -1, 1178, -1,
3240 -1, 149, 150, 151, -1, -1, -1, 1, -1, 3,
3241 4, 5, 6, 7, 8, 9, -1, -1, 1143, -1,
3242 14, -1, 1346, 1347, 1348, -1, -1, 175, -1, -1,
3243 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3244 -1, -1, -1, 37, 38, 193, 194, 195, 42, -1,
3245 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3246 -1, 55, 1187, 57, 58, 1245, -1, 61, -1, 63,
3247 1250, -1, -1, 1253, 222, -1, -1, 71, -1, -1,
3248 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3249 -1, -1, -1, -1, -1, 89, -1, -1, -1, 93,
3250 -1, -1, -1, -1, -1, -1, 620, -1, -1, -1,
3251 -1, -1, -1, -1, -1, 109, -1, -1, -1, -1,
3252 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3253 1255, -1, 14, -1, 1259, -1, 650, 1461, -1, -1,
3254 -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3255 298, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3256 42, -1, -1, -1, 46, -1, 1346, 1347, 1348, -1,
3257 1295, -1, -1, 55, -1, 57, 58, 691, 692, 693,
3258 694, 63, -1, 1308, -1, -1, -1, -1, -1, 71,
3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
3260 -1, 349, 350, 351, -1, -1, -1, 89, 1532, 1533,
3261 1534, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3262 -1, -1, -1, -1, 738, 4, 5, -1, 742, 8,
3263 9, -1, -1, -1, 1558, 14, 750, 751, -1, -1,
3264 -1, -1, -1, -1, 758, -1, 1371, -1, -1, 28,
3265 1375, 30, -1, -1, -1, -1, 404, 1, 37, 3,
3266 4, 5, 6, 7, 8, 9, -1, 46, -1, -1,
3267 14, -1, 1397, 1398, -1, 789, 55, 791, 57, 58,
3268 -1, -1, 796, 797, 28, 799, 30, 31, 32, -1,
3269 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3270 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3271 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3272 -1, -1, 470, 471, -1, -1, 474, 71, 476, 477,
3273 478, 479, -1, -1, -1, 483, -1, 81, -1, -1,
3274 488, -1, -1, 491, -1, 89, -1, -1, -1, 93,
3275 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3276 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3277 -1, -1, -1, -1, -1, -1, -1, -1, 1558, -1,
3278 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3279 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3280 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3281 57, 58, 59, -1, -1, 62, -1, -1, 932, -1,
3282 55, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3283 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3284 87, 88, 89, -1, -1, 80, 93, 94, 83, -1,
3285 -1, -1, -1, -1, -1, 969, 970, 971, -1, -1,
3286 608, -1, -1, 110, -1, -1, -1, -1, -1, 104,
3287 -1, 106, -1, -1, 622, 623, 624, 4, 5, -1,
3288 -1, -1, 9, 631, 3, 4, 5, 6, 7, 8,
3289 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3290 -1, 1015, 650, -1, 31, -1, -1, -1, -1, 28,
3291 -1, 30, 31, -1, -1, -1, -1, -1, 37, -1,
3292 -1, 48, -1, 42, -1, -1, -1, 46, 55, 48,
3293 57, 58, -1, 1047, -1, -1, 55, -1, 57, 58,
3294 175, -1, -1, 691, 71, 693, 694, -1, 696, -1,
3295 -1, -1, 71, -1, 81, -1, -1, -1, 193, 194,
3296 195, -1, 81, 1077, -1, -1, 93, 94, 203, -1,
3297 89, -1, -1, -1, 93, 94, -1, -1, -1, -1,
3298 -1, -1, -1, -1, -1, -1, -1, 222, -1, -1,
3299 738, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3300 -1, -1, 750, 751, 752, 753, 754, 4, 5, -1,
3301 758, 8, 9, 248, 349, 350, 351, 14, -1, -1,
3302 -1, -1, -1, -1, -1, -1, -1, 262, -1, -1,
3303 -1, 28, -1, 30, -1, -1, -1, -1, -1, -1,
3304 37, -1, -1, -1, -1, -1, -1, -1, 796, 46,
3305 -1, 3, 4, 5, 6, 7, 8, 9, 55, -1,
3306 57, 58, 14, -1, 1178, 1179, 1180, 1181, 1182, 1183,
3307 818, 819, 820, -1, 1188, -1, -1, -1, -1, 31,
3308 -1, -1, -1, 831, -1, 37, -1, -1, -1, -1,
3309 42, -1, -1, -1, 46, -1, 48, 1211, 1212, 1213,
3310 -1, -1, -1, 55, -1, 57, 58, 3, 4, 5,
3311 6, -1, -1, 9, -1, -1, -1, -1, -1, 71,
3312 355, 356, -1, -1, -1, -1, -1, -1, -1, 81,
3313 -1, 1245, -1, -1, -1, 31, 1250, 89, -1, 1253,
3314 -1, 93, 94, -1, -1, -1, 42, -1, -1, -1,
3315 -1, -1, -1, -1, -1, -1, 904, 905, -1, 55,
3316 908, 57, 58, 911, -1, -1, -1, -1, -1, 404,
3317 -1, -1, 920, -1, -1, 71, 924, 925, 926, -1,
3318 -1, -1, 930, -1, -1, 81, -1, -1, -1, 1303,
3319 1304, -1, -1, 89, -1, -1, 1310, 93, -1, -1,
3320 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3321 6, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3322 -1, 969, 970, 971, -1, -1, -1, -1, -1, -1,
3323 -1, -1, 1346, 1347, 1348, 470, 471, -1, -1, 474,
3324 -1, 476, 477, 478, 479, -1, 42, -1, 483, -1,
3325 -1, -1, -1, 488, -1, -1, 491, -1, -1, 55,
3326 -1, 57, 58, -1, -1, 61, -1, 1015, -1, -1,
3327 -1, -1, -1, -1, -1, 71, 107, 108, -1, -1,
3328 -1, 1029, 1030, 1031, -1, 81, -1, 622, 623, 624,
3329 -1, -1, -1, 89, -1, -1, 631, 93, -1, 1047,
3330 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3331 -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3332 -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
3333 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3334 31, -1, -1, -1, -1, -1, 37, 1461, -1, -1,
3335 -1, 42, -1, -1, -1, 46, 691, -1, 693, 694,
3336 -1, 696, -1, -1, 55, -1, 57, 58, -1, -1,
3337 61, -1, -1, -1, -1, -1, -1, -1, 1126, 1127,
3338 71, 1129, -1, -1, -1, -1, -1, -1, -1, -1,
3339 81, -1, -1, -1, -1, -1, -1, -1, 89, 634,
3340 635, -1, 93, 738, 1152, -1, -1, 1155, 1156, 1157,
3341 -1, -1, -1, -1, -1, 650, -1, -1, 1532, 1533,
3342 1534, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3343 1178, 1179, 1180, 1181, 1182, 1183, 1184, -1, -1, -1,
3344 1188, -1, -1, -1, 1558, -1, 3, 4, 5, 6,
3345 7, 8, 9, -1, -1, 12, 691, 14, 693, 694,
3346 -1, -1, -1, 1211, 1212, 1213, -1, -1, -1, -1,
3347 -1, 28, -1, 30, 31, 1223, 1224, 1225, 1226, -1,
3348 37, -1, -1, -1, -1, 42, -1, -1, -1, 46,
3349 -1, -1, -1, -1, -1, -1, 831, 1245, 55, 330,
3350 57, 58, -1, 738, -1, -1, -1, -1, -1, -1,
3351 -1, -1, -1, -1, 71, 750, 751, 752, 753, 754,
3352 755, -1, -1, 758, 81, -1, -1, -1, -1, -1,
3353 -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
3354 -1, -1, -1, -1, -1, -1, -1, -1, 783, -1,
3355 -1, -1, -1, -1, 1302, 1303, 1304, 1305, 1306, 1307,
3356 -1, 796, 1310, -1, -1, -1, -1, -1, -1, 904,
3357 905, 402, -1, 908, -1, -1, 911, -1, -1, -1,
3358 -1, -1, -1, -1, -1, 920, -1, -1, -1, 924,
3359 925, 926, -1, -1, -1, 930, -1, -1, 1346, -1,
3360 1348, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3361 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
3362 -1, 3, 4, 5, 6, -1, -1, 9, -1, 28,
3363 -1, 30, 31, 32, 969, 970, 971, 468, 37, 38,
3364 -1, -1, -1, 42, -1, -1, -1, 46, 47, 31,
3365 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3366 42, -1, 61, -1, 63, -1, -1, 1415, 1416, -1,
3367 1418, -1, 71, 55, -1, 57, 58, -1, -1, -1,
3368 1015, -1, 81, -1, -1, -1, -1, -1, -1, 71,
3369 89, -1, -1, -1, 93, -1, 931, 932, 933, 81,
3370 -1, -1, -1, -1, -1, -1, 537, 89, -1, 540,
3371 109, 93, -1, 1461, 545, 546, 547, 548, 549, 3,
3372 4, 5, 6, -1, -1, 9, -1, 558, -1, -1,
3373 -1, -1, -1, -1, 969, 970, 971, -1, -1, -1,
3374 571, 976, -1, -1, -1, -1, -1, 31, -1, -1,
3375 -1, -1, 1500, 1501, 1502, 1503, -1, -1, 42, -1,
3376 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
3377 9, 55, -1, 57, 58, 14, -1, -1, -1, -1,
3378 1015, -1, -1, -1, 1532, 1533, 1534, 71, -1, 28,
3379 -1, 30, 31, 624, 1029, 1030, 1031, 81, 37, -1,
3380 631, -1, -1, 42, 1552, 89, -1, 46, -1, 93,
3381 1558, -1, 1047, -1, -1, -1, 55, 1152, 57, 58,
3382 1155, 1156, 1157, -1, -1, -1, -1, -1, -1, -1,
3383 -1, -1, 71, 1068, -1, -1, 3, 4, 5, 6,
3384 -1, -1, 81, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
3385 89, -1, -1, 1188, 93, -1, -1, -1, -1, -1,
3386 -1, -1, -1, -1, 31, -1, -1, -1, -1, -1,
3387 -1, -1, -1, -1, -1, 42, 1211, 1212, 1213, 4,
3388 5, -1, 7, 8, 9, -1, -1, 12, 55, 14,
3389 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3390 -1, -1, -1, 28, 71, 30, 31, -1, 14, -1,
3391 -1, 742, 37, -1, 81, -1, -1, 23, 24, -1,
3392 -1, 46, 89, 1158, 30, 31, 93, 33, -1, -1,
3393 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3394 -1, -1, -1, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
3395 -1, 1186, -1, 1188, -1, -1, -1, -1, -1, 65,
3396 -1, -1, -1, -1, -1, -1, -1, 1302, 1303, 1304,
3397 1305, 1306, 1307, -1, 805, 1310, 1211, 1212, 1213, -1,
3398 811, -1, -1, -1, -1, -1, -1, -1, 1223, 1224,
3399 1225, 1226, -1, -1, -1, -1, -1, -1, 3, 4,
3400 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3401 1245, -1, -1, -1, -1, -1, -1, -1, 124, -1,
3402 126, -1, -1, 28, -1, 30, 31, 133, 134, -1,
3403 -1, -1, 37, -1, 140, 141, -1, 42, 144, 145,
3404 146, 46, 148, 149, 150, 151, -1, -1, -1, 880,
3405 55, -1, 57, 58, -1, -1, 61, -1, -1, -1,
3406 -1, -1, -1, -1, -1, -1, 71, 1302, 1303, 1304,
3407 1305, 1306, 1307, -1, -1, 1310, 81, -1, -1, -1,
3408 1415, 1416, -1, 1418, 89, 916, -1, -1, 93, -1,
3409 -1, 922, -1, -1, -1, 926, -1, -1, -1, -1,
3410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3411 -1, 1346, -1, 1348, -1, 1, -1, 3, 4, 5,
3412 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
3413 -1, -1, 238, 239, 965, -1, 967, -1, -1, -1,
3414 971, -1, 28, -1, 30, 31, 32, -1, -1, -1,
3415 -1, 37, 38, 259, -1, -1, 42, -1, -1, -1,
3416 46, 47, -1, 49, -1, 1500, 1501, 1502, 1503, 55,
3417 -1, 57, 58, -1, -1, 61, -1, 63, -1, -1,
3418 1415, 1416, 1417, 1418, 1015, 71, -1, -1, -1, -1,
3419 -1, -1, 298, -1, -1, 81, -1, 1028, -1, -1,
3420 -1, -1, -1, 89, -1, -1, -1, 93, -1, -1,
3421 -1, -1, -1, 1044, -1, -1, -1, 1552, -1, -1,
3422 -1, -1, -1, 109, -1, 1056, 1461, -1, -1, -1,
3423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3424 -1, 347, -1, 349, 350, -1, -1, -1, -1, -1,
3425 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090,
3426 -1, 1092, -1, -1, -1, 1500, 1501, 1502, 1503, 1100,
3427 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
3428 8, 9, -1, -1, -1, -1, 14, 393, -1, -1,
3429 1121, -1, -1, -1, -1, -1, -1, 1532, 1533, 1534,
3430 28, -1, 30, 31, -1, -1, 412, -1, -1, 37,
3431 -1, -1, -1, 419, 42, -1, 422, 1552, 46, -1,
3432 -1, -1, -1, 1558, -1, -1, 1157, 55, 434, 57,
3433 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3434 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3435 -1, -1, 1183, 81, -1, -1, -1, -1, -1, -1,
3436 -1, 89, -1, -1, 1, 93, 3, 4, 5, 6,
3437 7, 8, 9, -1, -1, 12, -1, 14, -1, -1,
3438 -1, -1, 1213, -1, -1, -1, -1, -1, 25, -1,
3439 27, -1, -1, -1, 31, -1, -1, -1, -1, 505,
3440 37, 507, -1, -1, -1, 42, -1, -1, -1, 46,
3441 -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
3442 57, 58, 59, 60, 61, 531, 63, 64, 65, 66,
3443 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3444 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3445 87, 88, 89, -1, 91, 92, 93, 94, 95, -1,
3446 -1, -1, -1, -1, 101, 102, -1, -1, -1, -1,
3447 107, 108, 109, -1, 111, -1, 1307, -1, -1, -1,
3448 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3449 -1, -1, 14, -1, -1, -1, -1, -1, 3, 4,
3450 5, 6, 608, -1, -1, -1, -1, -1, -1, 31,
3451 -1, -1, -1, 619, 620, 37, 622, 623, -1, -1,
3452 42, -1, -1, -1, 46, -1, 48, -1, -1, -1,
3453 -1, -1, -1, 55, 1365, 57, 58, 42, -1, -1,
3454 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3455 55, -1, 57, 58, -1, -1, -1, 31, 63, 81,
3456 -1, -1, -1, -1, -1, -1, 71, 89, -1, -1,
3457 676, 93, -1, -1, -1, -1, 81, 683, 684, -1,
3458 -1, -1, -1, -1, 89, -1, -1, -1, 93, 695,
3459 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3460 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3461 84, 85, 1, 719, 3, 4, 5, 6, 7, 8,
3462 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
3463 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3464 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3465 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
3466 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3467 59, 1502, 61, 62, -1, -1, -1, 783, -1, 68,
3468 786, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3469 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3470 89, -1, -1, 1534, 93, -1, 95, -1, -1, -1,
3471 -1, -1, 818, 819, 820, -1, -1, -1, -1, -1,
3472 109, 110, 1553, -1, -1, 831, -1, -1, -1, -1,
3473 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3474 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3475 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3476 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3477 -1, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3478 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3479 58, 59, -1, 61, 62, -1, -1, -1, 904, 905,
3480 68, -1, 908, 71, -1, 911, -1, -1, -1, -1,
3481 -1, 79, 80, 81, 920, -1, -1, -1, -1, 87,
3482 88, 89, -1, -1, 930, 93, 1, 95, 3, 4,
3483 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3484 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3485 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3486 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3487 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3488 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3489 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3490 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3491 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3492 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3493 -1, -1, -1, -1, -1, 110, 1042, -1, 1, -1,
3494 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3495 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3496 -1, -1, -1, 1069, -1, 28, 29, 30, 31, 32,
3497 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3498 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3499 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3500 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3501 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3502 1126, 1127, -1, 1129, 87, 88, 89, -1, -1, -1,
3503 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3504 -1, -1, -1, -1, -1, 108, 1152, 110, -1, 1155,
3505 1156, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3506 78, 79, 80, 81, 82, 83, 84, 85, -1, 1,
3507 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3508 -1, 13, 14, -1, -1, -1, -1, -1, -1, 1195,
3509 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3510 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3511 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3512 52, 53, 54, 55, 1230, 57, 58, 59, -1, 61,
3513 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3514 -1, -1, 1248, -1, 1250, -1, -1, 79, 80, 81,
3515 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3516 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3517 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3518 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3519 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3520 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3521 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3522 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3523 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3524 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3525 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3526 -1, 8, 9, 10, 11, -1, 13, 14, 109, 110,
3527 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3528 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3529 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3530 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3531 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3532 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3533 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3534 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3535 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3536 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3537 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3538 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3539 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3540 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3541 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3542 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3543 -1, 87, 88, 89, -1, -1, -1, 93, 94, 1,
3544 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3545 -1, 13, 14, -1, 110, -1, -1, -1, -1, -1,
3546 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3547 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3548 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3549 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3550 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3551 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3552 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3553 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3554 11, -1, 13, 14, -1, -1, -1, 109, 110, -1,
3555 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3556 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3557 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3558 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3559 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3560 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3561 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3562 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3563 10, 11, -1, 13, 14, -1, -1, -1, 109, 110,
3564 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3565 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3566 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3567 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3568 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3569 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3570 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3571 -1, -1, -1, 93, 1, -1, 3, 4, 5, 6,
3572 100, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3573 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3574 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3575 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3576 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3577 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3578 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3579 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3580 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3581 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3582 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3583 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3584 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3585 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3586 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3587 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3588 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3589 -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
3590 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3591 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3592 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3593 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3594 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3595 55, -1, 57, 58, -1, -1, -1, 62, 63, -1,
3596 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3597 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3598 -1, -1, 87, 88, 89, -1, -1, 1, 93, 3,
3599 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3600 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3601 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3602 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3603 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3604 54, 55, -1, 57, 58, -1, -1, 61, 62, -1,
3605 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3606 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3607 -1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
3608 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3609 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3610 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3611 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3612 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3613 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3614 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3615 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3616 -1, -1, -1, -1, 87, 88, 89, -1, -1, 1,
3617 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3618 -1, 13, 14, -1, -1, 108, -1, 110, -1, -1,
3619 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3620 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3621 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3622 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3623 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3624 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3625 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3626 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3627 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3628 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3629 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3630 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3631 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3632 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3633 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3634 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3635 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3636 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3637 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3638 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3639 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3640 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3641 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3642 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3643 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3644 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3645 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3646 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3647 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3648 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3649 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3650 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3651 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3652 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3653 89, -1, -1, -1, 93, -1, -1, -1, -1, -1,
3654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3655 -1, 110, 111, 3, 4, 5, 6, 7, 8, 9,
3656 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3657 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3658 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3659 40, 41, 42, 43, 44, 45, 46, 47, -1, -1,
3660 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3661 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3662 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3663 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3664 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3665 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3666 110, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3667 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3668 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3669 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3670 42, 43, 44, 45, 46, 47, -1, -1, 50, 51,
3671 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3672 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3673 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3674 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3675 -1, 93, -1, 95, -1, 3, 4, 5, 6, 7,
3676 8, 9, 10, 11, -1, 13, 14, 15, 110, 17,
3677 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3678 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3679 -1, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3680 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3681 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3682 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3683 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3684 88, 89, -1, -1, -1, 93, -1, 95, -1, 3,
3685 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3686 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3687 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3688 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3689 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
3690 54, 55, -1, 57, 58, -1, -1, 61, 62, -1,
3691 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3692 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3693 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3694 -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
3695 11, 12, 13, 14, -1, -1, 110, -1, -1, -1,
3696 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3697 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3698 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3699 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3700 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3701 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3702 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3703 -1, -1, 93, 94, 3, 4, 5, 6, 7, 8,
3704 9, 10, 11, 12, 13, 14, -1, -1, -1, 110,
3705 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3706 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3707 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
3708 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3709 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3710 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3711 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3712 89, -1, -1, -1, 93, 94, 3, 4, 5, 6,
3713 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3714 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3715 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3716 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3717 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3718 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3719 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3720 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3721 87, 88, 89, -1, -1, -1, 93, 94, 3, 4,
3722 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3723 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3724 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3725 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3726 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3727 55, -1, 57, 58, -1, -1, -1, -1, -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, 94,
3731 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3732 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3733 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3734 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3735 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3736 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3737 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3738 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3739 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3740 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3741 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3742 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3743 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3744 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3745 52, 53, 54, 55, -1, 57, 58, -1, -1, 61,
3746 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3747 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3748 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3749 -1, 93, 3, 4, 5, 6, 7, 8, 9, 10,
3750 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3751 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3752 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3753 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3754 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3755 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3756 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3757 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3758 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3759 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3760 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3761 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3762 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3763 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3764 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3765 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3766 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3767 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3768 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3769 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3770 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3771 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3772 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3773 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3774 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3775 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3776 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3777 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3778 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3779 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3780 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3781 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3782 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3783 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3784 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3785 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3786 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3787 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3788 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3789 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3790 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3791 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3792 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3793 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3794 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3795 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3796 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3797 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3798 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3799 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3800 -1, 57, 58, 59, -1, -1, -1, -1, -1, -1,
3801 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3802 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3803 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3804 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3805 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3806 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3807 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3808 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3809 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3810 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3811 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3812 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3813 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3814 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3815 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3816 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3817 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3818 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3819 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3820 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3821 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3822 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3823 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3824 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3825 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3826 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3827 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3828 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3829 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3830 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3831 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3832 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3833 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3834 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3835 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3836 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3837 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3838 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3839 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3840 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3841 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3842 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3843 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3844 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3845 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3846 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3847 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3848 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3849 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3850 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3851 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3852 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3853 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3854 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3855 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3856 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3857 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3858 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3859 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3860 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3861 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3862 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3863 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3864 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3865 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3866 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3867 88, 89, -1, 4, 5, 93, 7, 8, 9, -1,
3868 -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
3869 -1, -1, 110, -1, -1, -1, -1, 28, -1, 30,
3870 31, -1, 3, 4, 5, 6, 37, -1, 9, -1,
3871 -1, -1, -1, -1, -1, 46, -1, 48, -1, 3,
3872 4, 5, 6, -1, 55, 9, 57, 58, -1, -1,
3873 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3874 71, 42, -1, -1, -1, -1, -1, 31, -1, -1,
3875 81, -1, -1, -1, 55, -1, 57, 58, 42, -1,
3876 -1, -1, 93, 94, -1, 3, 4, 5, 6, -1,
3877 71, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3878 81, -1, -1, -1, -1, -1, -1, 71, 89, -1,
3879 -1, -1, 93, 31, -1, -1, -1, 81, -1, -1,
3880 -1, -1, -1, -1, 42, 89, 4, 5, -1, 93,
3881 8, 9, 12, -1, -1, -1, 14, 55, -1, 57,
3882 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3883 28, -1, 30, 71, -1, -1, -1, -1, -1, 37,
3884 -1, -1, -1, 81, -1, -1, -1, -1, 46, -1,
3885 -1, 89, -1, -1, -1, 93, -1, 55, -1, 57,
3886 58, 59, -1, 63, 64, 65, 66, 67, 68, 69,
3887 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3888 80, 81, 82, 83, 84, 85, 4, 5, -1, 7,
3889 8, 9, -1, -1, 12, 93, 14, -1, -1, -1,
3890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3891 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3892 -1, -1, -1, -1, -1, -1, -1, -1, 46, -1,
3893 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3894 58, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3895 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3896 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3897 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3898 81, 82, 83, 84, 85, -1, -1, -1, 111, -1,
3899 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3900 -1, -1, -1, 60, -1, -1, 107, 64, 65, 66,
3901 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3902 77, 78, 79, 80, 81, 82, 83, 84, 85, 60,
3903 -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
3904 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3905 81, 82, 83, 84, 85, 63, 64, 65, 66, 67,
3906 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3907 78, 79, 80, 81, 82, 83, 84, 85, 64, 65,
3908 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3909 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3910 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3911 74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
3914 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3915 #line 3 "/usr/lib/bison.simple"
3916 /* This file comes from bison-1.27. */
3918 /* Skeleton output parser for bison,
3919 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3921 This program is free software; you can redistribute it and/or modify
3922 it under the terms of the GNU General Public License as published by
3923 the Free Software Foundation; either version 2, or (at your option)
3926 This program is distributed in the hope that it will be useful,
3927 but WITHOUT ANY WARRANTY; without even the implied warranty of
3928 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3929 GNU General Public License for more details.
3931 You should have received a copy of the GNU General Public License
3932 along with this program; if not, write to the Free Software
3933 Foundation, Inc., 59 Temple Place - Suite 330,
3934 Boston, MA 02111-1307, USA. */
3936 /* As a special exception, when this file is copied by Bison into a
3937 Bison output file, you may use that output file without restriction.
3938 This special exception was added by the Free Software Foundation
3939 in version 1.24 of Bison. */
3941 /* This is the parser code that is written into each bison parser
3942 when the %semantic_parser declaration is not specified in the grammar.
3943 It was written by Richard Stallman by simplifying the hairy parser
3944 used when %semantic_parser is specified. */
3946 #ifndef YYSTACK_USE_ALLOCA
3948 #define YYSTACK_USE_ALLOCA
3949 #else /* alloca not defined */
3951 #define YYSTACK_USE_ALLOCA
3952 #define alloca __builtin_alloca
3953 #else /* not GNU C. */
3954 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
3955 #define YYSTACK_USE_ALLOCA
3957 #else /* not sparc */
3958 /* We think this test detects Watcom and Microsoft C. */
3959 /* This used to test MSDOS, but that is a bad idea
3960 since that symbol is in the user namespace. */
3961 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
3962 #if 0 /* No need for malloc.h, which pollutes the namespace;
3963 instead, just don't use alloca. */
3966 #else /* not MSDOS, or __TURBOC__ */
3968 /* I don't know what this was needed for, but it pollutes the namespace.
3969 So I turned it off. rms, 2 May 1997. */
3970 /* #include <malloc.h> */
3972 #define YYSTACK_USE_ALLOCA
3973 #else /* not MSDOS, or __TURBOC__, or _AIX */
3975 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
3976 and on HPUX 10. Eventually we can turn this on. */
3977 #define YYSTACK_USE_ALLOCA
3978 #define alloca __builtin_alloca
3981 #endif /* not _AIX */
3982 #endif /* not MSDOS, or __TURBOC__ */
3983 #endif /* not sparc */
3984 #endif /* not GNU C */
3985 #endif /* alloca not defined */
3986 #endif /* YYSTACK_USE_ALLOCA not defined */
3988 #ifdef YYSTACK_USE_ALLOCA
3989 #define YYSTACK_ALLOC alloca
3991 #define YYSTACK_ALLOC malloc
3994 /* Note: there must be only one dollar sign in this file.
3995 It is replaced by the list of actions, each action
3996 as one case of the switch. */
3998 #define yyerrok (yyerrstatus = 0)
3999 #define yyclearin (yychar = YYEMPTY)
4002 #define YYACCEPT goto yyacceptlab
4003 #define YYABORT goto yyabortlab
4004 #define YYERROR goto yyerrlab1
4005 /* Like YYERROR except do call yyerror.
4006 This remains here temporarily to ease the
4007 transition to the new meaning of YYERROR, for GCC.
4008 Once GCC version 2 has supplanted version 1, this can go. */
4009 #define YYFAIL goto yyerrlab
4010 #define YYRECOVERING() (!!yyerrstatus)
4011 #define YYBACKUP(token, value) \
4013 if (yychar == YYEMPTY && yylen == 1) \
4014 { yychar = (token), yylval = (value); \
4015 yychar1 = YYTRANSLATE (yychar); \
4020 { yyerror ("syntax error: cannot back up"); YYERROR; } \
4024 #define YYERRCODE 256
4027 #define YYLEX yylex()
4033 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
4035 #define YYLEX yylex(&yylval, &yylloc)
4037 #else /* not YYLSP_NEEDED */
4039 #define YYLEX yylex(&yylval, YYLEX_PARAM)
4041 #define YYLEX yylex(&yylval)
4043 #endif /* not YYLSP_NEEDED */
4046 /* If nonreentrant, generate the variables here */
4050 int yychar
; /* the lookahead symbol */
4051 YYSTYPE yylval
; /* the semantic value of the */
4052 /* lookahead symbol */
4055 YYLTYPE yylloc
; /* location data for the lookahead */
4059 int yynerrs
; /* number of parse errors so far */
4060 #endif /* not YYPURE */
4063 int yydebug
; /* nonzero means print parse trace */
4064 /* Since this is uninitialized, it does not stop multiple parsers
4068 /* YYINITDEPTH indicates the initial size of the parser's stacks */
4071 #define YYINITDEPTH 200
4074 /* YYMAXDEPTH is the maximum size the stacks can grow to
4075 (effective only if the built-in stack extension method is used). */
4082 #define YYMAXDEPTH 10000
4085 /* Define __yy_memcpy. Note that the size argument
4086 should be passed with type unsigned int, because that is what the non-GCC
4087 definitions require. With GCC, __builtin_memcpy takes an arg
4088 of type size_t, but it can handle unsigned int. */
4090 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
4091 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
4092 #else /* not GNU C or C++ */
4095 /* This is the most reliable way to avoid incompatibilities
4096 in available built-in functions on various systems. */
4098 __yy_memcpy (to
, from
, count
)
4103 register char *f
= from
;
4104 register char *t
= to
;
4105 register int i
= count
;
4111 #else /* __cplusplus */
4113 /* This is the most reliable way to avoid incompatibilities
4114 in available built-in functions on various systems. */
4116 __yy_memcpy (char *to
, char *from
, unsigned int count
)
4118 register char *t
= to
;
4119 register char *f
= from
;
4120 register int i
= count
;
4129 #line 216 "/usr/lib/bison.simple"
4131 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
4132 into yyparse. The argument should have type void *.
4133 It should actually point to an object.
4134 Grammar actions can access the variable by casting it
4135 to the proper pointer type. */
4137 #ifdef YYPARSE_PARAM
4139 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
4140 #define YYPARSE_PARAM_DECL
4141 #else /* not __cplusplus */
4142 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
4143 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
4144 #endif /* not __cplusplus */
4145 #else /* not YYPARSE_PARAM */
4146 #define YYPARSE_PARAM_ARG
4147 #define YYPARSE_PARAM_DECL
4148 #endif /* not YYPARSE_PARAM */
4150 /* Prevent warning if -Wstrict-prototypes. */
4152 #ifdef YYPARSE_PARAM
4153 int yyparse (void *);
4160 yyparse(YYPARSE_PARAM_ARG
)
4163 register int yystate
;
4165 register short *yyssp
;
4166 register YYSTYPE
*yyvsp
;
4167 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
4168 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
4170 short yyssa
[YYINITDEPTH
]; /* the state stack */
4171 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
4173 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
4174 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
4177 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
4178 YYLTYPE
*yyls
= yylsa
;
4181 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
4183 #define YYPOPSTACK (yyvsp--, yyssp--)
4186 int yystacksize
= YYINITDEPTH
;
4187 int yyfree_stacks
= 0;
4198 YYSTYPE yyval
; /* the variable used to return */
4199 /* semantic values from the action */
4206 fprintf(stderr
, "Starting parse\n");
4212 yychar
= YYEMPTY
; /* Cause a token to be read. */
4214 /* Initialize stack pointers.
4215 Waste one element of value and location stack
4216 so that they stay on the same level as the state stack.
4217 The wasted elements are never initialized. */
4225 /* Push a new state, which is found in yystate . */
4226 /* In all cases, when you get here, the value and location stacks
4227 have just been pushed. so pushing a state here evens the stacks. */
4232 if (yyssp
>= yyss
+ yystacksize
- 1)
4234 /* Give user a chance to reallocate the stack */
4235 /* Use copies of these so that the &'s don't force the real ones into memory. */
4236 YYSTYPE
*yyvs1
= yyvs
;
4237 short *yyss1
= yyss
;
4239 YYLTYPE
*yyls1
= yyls
;
4242 /* Get the current used size of the three stacks, in elements. */
4243 int size
= yyssp
- yyss
+ 1;
4246 /* Each stack pointer address is followed by the size of
4247 the data in use in that stack, in bytes. */
4249 /* This used to be a conditional around just the two extra args,
4250 but that might be undefined if yyoverflow is a macro. */
4251 yyoverflow("parser stack overflow",
4252 &yyss1
, size
* sizeof (*yyssp
),
4253 &yyvs1
, size
* sizeof (*yyvsp
),
4254 &yyls1
, size
* sizeof (*yylsp
),
4257 yyoverflow("parser stack overflow",
4258 &yyss1
, size
* sizeof (*yyssp
),
4259 &yyvs1
, size
* sizeof (*yyvsp
),
4263 yyss
= yyss1
; yyvs
= yyvs1
;
4267 #else /* no yyoverflow */
4268 /* Extend the stack our own way. */
4269 if (yystacksize
>= YYMAXDEPTH
)
4271 yyerror("parser stack overflow");
4283 if (yystacksize
> YYMAXDEPTH
)
4284 yystacksize
= YYMAXDEPTH
;
4285 #ifndef YYSTACK_USE_ALLOCA
4288 yyss
= (short *) YYSTACK_ALLOC (yystacksize
* sizeof (*yyssp
));
4289 __yy_memcpy ((char *)yyss
, (char *)yyss1
,
4290 size
* (unsigned int) sizeof (*yyssp
));
4291 yyvs
= (YYSTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yyvsp
));
4292 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
,
4293 size
* (unsigned int) sizeof (*yyvsp
));
4295 yyls
= (YYLTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yylsp
));
4296 __yy_memcpy ((char *)yyls
, (char *)yyls1
,
4297 size
* (unsigned int) sizeof (*yylsp
));
4299 #endif /* no yyoverflow */
4301 yyssp
= yyss
+ size
- 1;
4302 yyvsp
= yyvs
+ size
- 1;
4304 yylsp
= yyls
+ size
- 1;
4309 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
4312 if (yyssp
>= yyss
+ yystacksize
- 1)
4318 fprintf(stderr
, "Entering state %d\n", yystate
);
4324 /* Do appropriate processing given the current state. */
4325 /* Read a lookahead token if we need one and don't already have one. */
4328 /* First try to decide what to do without reference to lookahead token. */
4330 yyn
= yypact
[yystate
];
4334 /* Not known => get a lookahead token if don't already have one. */
4336 /* yychar is either YYEMPTY or YYEOF
4337 or a valid token in external form. */
4339 if (yychar
== YYEMPTY
)
4343 fprintf(stderr
, "Reading a token: ");
4348 /* Convert token to internal form (in yychar1) for indexing tables with */
4350 if (yychar
<= 0) /* This means end of input. */
4353 yychar
= YYEOF
; /* Don't call YYLEX any more */
4357 fprintf(stderr
, "Now at end of input.\n");
4362 yychar1
= YYTRANSLATE(yychar
);
4367 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4368 /* Give the individual parser a way to print the precise meaning
4369 of a token, for further debugging info. */
4371 YYPRINT (stderr
, yychar
, yylval
);
4373 fprintf (stderr
, ")\n");
4379 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4384 /* yyn is what to do for this token type in this state.
4385 Negative => reduce, -yyn is rule number.
4386 Positive => shift, yyn is new state.
4387 New state is final state => don't bother to shift,
4388 just return success.
4389 0, or most negative number => error. */
4404 /* Shift the lookahead token. */
4408 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4411 /* Discard the token being shifted unless it is eof. */
4412 if (yychar
!= YYEOF
)
4420 /* count tokens shifted since error; after three, turn off error status. */
4421 if (yyerrstatus
) yyerrstatus
--;
4426 /* Do the default action for the current state. */
4429 yyn
= yydefact
[yystate
];
4433 /* Do a reduction. yyn is the number of a rule to reduce with. */
4437 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4444 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4447 /* Print the symbols being reduced, and their result. */
4448 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4449 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4450 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4459 { finish_translation_unit (); ;
4463 { yyval
.ttype
= NULL_TREE
; ;
4467 { yyval
.ttype
= NULL_TREE
; ;
4471 { yyval
.ttype
= NULL_TREE
; ;
4475 { have_extern_spec
= 1;
4476 used_extern_spec
= 0;
4477 yyval
.ttype
= NULL_TREE
; ;
4481 { have_extern_spec
= 0; ;
4485 { yyval
.itype
= pedantic
;
4490 { if (pending_lang_change
) do_pending_lang_change(); ;
4494 { if (! toplevel_bindings_p ())
4495 pop_everything (); ;
4499 { if (pending_inlines
) do_pending_inlines (); ;
4503 { if (pending_inlines
) do_pending_inlines (); ;
4507 { if (pending_inlines
) do_pending_inlines (); ;
4511 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4512 assemble_asm (yyvsp
[-2].ttype
); ;
4516 { pop_lang_context (); ;
4520 { if (pending_inlines
) do_pending_inlines ();
4521 pop_lang_context (); ;
4525 { if (pending_inlines
) do_pending_inlines ();
4526 pop_lang_context (); ;
4530 { push_namespace (yyvsp
[-1].ttype
); ;
4534 { pop_namespace (); ;
4538 { push_namespace (NULL_TREE
); ;
4542 { pop_namespace (); ;
4546 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4550 { pedantic
= yyvsp
[-1].itype
; ;
4554 { begin_only_namespace_names (); ;
4559 end_only_namespace_names ();
4561 yyvsp
[-1].ttype
= lastiddecl
;
4562 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4567 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4571 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4575 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4579 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4583 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4587 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4591 { begin_only_namespace_names (); ;
4596 end_only_namespace_names ();
4597 /* If no declaration was found, the using-directive is
4598 invalid. Since that was not reported, we need the
4599 identifier for the error message. */
4600 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4601 yyvsp
[-1].ttype
= lastiddecl
;
4602 do_using_directive (yyvsp
[-1].ttype
);
4608 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4609 yyval
.ttype
= lastiddecl
;
4610 got_scope
= yyval
.ttype
;
4616 yyval
.ttype
= yyvsp
[-1].ttype
;
4617 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4618 yyval
.ttype
= lastiddecl
;
4619 got_scope
= yyval
.ttype
;
4624 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4628 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4632 { push_lang_context (yyvsp
[0].ttype
); ;
4636 { if (current_lang_name
!= yyvsp
[0].ttype
)
4637 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4638 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4642 { begin_template_parm_list (); ;
4646 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4650 { begin_specialization();
4651 yyval
.ttype
= NULL_TREE
; ;
4655 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4659 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4663 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4667 { yyval
.ttype
= NULL_TREE
; ;
4671 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4675 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4679 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4683 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4687 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4691 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4695 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4699 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4704 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4705 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4706 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4708 error ("invalid default template argument");
4709 yyvsp
[0].ttype
= error_mark_node
;
4711 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4716 { finish_template_decl (yyvsp
[-1].ttype
); ;
4720 { finish_template_decl (yyvsp
[-1].ttype
); ;
4724 { if (pending_inlines
) do_pending_inlines (); ;
4728 { if (pending_inlines
) do_pending_inlines (); ;
4732 { if (pending_inlines
) do_pending_inlines (); ;
4736 { if (pending_inlines
) do_pending_inlines ();
4737 pop_lang_context (); ;
4741 { if (pending_inlines
) do_pending_inlines ();
4742 pop_lang_context (); ;
4746 { pedantic
= yyvsp
[-1].itype
; ;
4754 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4758 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4759 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4767 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4771 { pedwarn ("empty declaration"); ;
4777 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4779 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4784 { yyval
.itype
= 0; ;
4788 { yyval
.itype
= 1; ;
4792 { expand_body (finish_function (lineno
, (int)yyvsp
[-1].itype
)); ;
4796 { expand_body (finish_function (lineno
, (int)yyvsp
[0].itype
)); ;
4804 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4808 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4812 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4813 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4818 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4822 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4826 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4827 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4832 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4836 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4840 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4841 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4846 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4850 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4854 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4855 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4860 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4865 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4870 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4875 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4880 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4885 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4889 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4893 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4897 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4901 { tree specs
, attrs
;
4902 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4903 attrs
= build_tree_list (attrs
, NULL_TREE
);
4904 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
);
4908 if (yychar
== YYEMPTY
)
4910 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4914 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
4915 goto rest_of_mdef
; ;
4919 { tree specs
, attrs
;
4920 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4921 attrs
= build_tree_list (attrs
, NULL_TREE
);
4922 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4926 { tree specs
, attrs
;
4927 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4928 attrs
= build_tree_list (attrs
, NULL_TREE
);
4929 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4933 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4934 goto rest_of_mdef
; ;
4938 { tree specs
, attrs
;
4939 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4940 attrs
= build_tree_list (attrs
, NULL_TREE
);
4941 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4945 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4946 goto rest_of_mdef
; ;
4951 if (! current_function_parms_stored
)
4952 store_parm_decls ();
4953 yyval
.ttype
= yyvsp
[0].ttype
;
4958 { finish_named_return_value (yyval
.ttype
, yyvsp
[0].ttype
); ;
4962 { finish_named_return_value (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4966 { finish_named_return_value (yyval
.ttype
, NULL_TREE
); ;
4971 if (yyvsp
[0].itype
== 0)
4972 error ("no base initializers given following ':'");
4979 if (! current_function_parms_stored
)
4980 store_parm_decls ();
4982 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4983 /* Make a contour for the initializer list. */
4985 else if (current_class_type
== NULL_TREE
)
4986 error ("base initializers not allowed for non-member functions");
4987 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4988 error ("only constructors take base initializers");
4993 { yyval
.itype
= 0; ;
4997 { yyval
.itype
= 1; ;
5002 if (current_class_name
)
5003 pedwarn ("anachronistic old style base class initializer");
5004 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
5010 if (current_class_name
)
5011 pedwarn ("anachronistic old style base class initializer");
5012 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
5017 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5021 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
5025 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5029 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
5033 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
5038 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
5043 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
5044 yyungetc (';', 1); ;
5048 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5049 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
5053 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5057 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5061 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
5062 yyungetc (';', 1); ;
5066 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5067 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
5071 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5075 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5079 { begin_explicit_instantiation(); ;
5083 { end_explicit_instantiation(); ;
5087 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5091 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5095 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5099 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5104 if (yychar
== YYEMPTY
)
5107 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5114 /* Handle `Class<Class<Type>>' without space in the `>>' */
5115 pedwarn ("`>>' should be `> >' in template class name");
5121 { yyval
.ttype
= NULL_TREE
; ;
5125 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5129 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5133 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
5137 { yyval
.ttype
= lastiddecl
; ;
5141 { yyval
.code
= NEGATE_EXPR
; ;
5145 { yyval
.code
= CONVERT_EXPR
; ;
5149 { yyval
.code
= PREINCREMENT_EXPR
; ;
5153 { yyval
.code
= PREDECREMENT_EXPR
; ;
5157 { yyval
.code
= TRUTH_NOT_EXPR
; ;
5161 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
5165 { error ("ANSI C++ forbids an empty condition for `%s'",
5167 yyval
.ttype
= integer_zero_node
; ;
5170 #line 1002 "parse.y"
5171 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5174 #line 1007 "parse.y"
5175 { error ("ANSI C++ forbids an empty condition for `%s'",
5177 yyval
.ttype
= integer_zero_node
; ;
5180 #line 1011 "parse.y"
5181 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5184 #line 1016 "parse.y"
5185 { yyval
.ttype
= NULL_TREE
; ;
5188 #line 1019 "parse.y"
5189 { yyval
.ttype
= NULL_TREE
; ;
5192 #line 1024 "parse.y"
5195 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
5196 if (TREE_CODE (d
) == TYPE_DECL
) {
5197 tree s
= TREE_TYPE (d
);
5198 if (TREE_CODE (s
) == RECORD_TYPE
)
5199 cp_error ("definition of class `%T' in condition", s
);
5200 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
5201 cp_error ("definition of enum `%T' in condition", s
);
5204 current_declspecs
= yyvsp
[-4].ftype
.t
;
5205 yyvsp
[0].itype
= suspend_momentary ();
5206 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5207 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
5211 #line 1041 "parse.y"
5213 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5214 resume_momentary (yyvsp
[-2].itype
);
5215 yyval
.ttype
= convert_from_reference (yyvsp
[-1].ttype
);
5216 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
5217 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
5221 #line 1060 "parse.y"
5222 { yyval
.ttype
= begin_compound_stmt (1); ;
5225 #line 1062 "parse.y"
5226 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
5229 #line 1069 "parse.y"
5230 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5231 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5234 #line 1072 "parse.y"
5235 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5236 build_expr_list (NULL_TREE
, error_mark_node
)); ;
5239 #line 1075 "parse.y"
5240 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5243 #line 1077 "parse.y"
5244 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
5247 #line 1082 "parse.y"
5248 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
5251 #line 1088 "parse.y"
5252 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5255 #line 1091 "parse.y"
5256 { yyval
.ttype
= yyvsp
[0].ttype
;
5257 pedantic
= yyvsp
[-1].itype
; ;
5260 #line 1094 "parse.y"
5261 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
5264 #line 1096 "parse.y"
5265 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5268 #line 1098 "parse.y"
5269 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5272 #line 1100 "parse.y"
5273 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5276 #line 1103 "parse.y"
5278 pedwarn ("ANSI C++ forbids `&&'");
5279 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
5282 #line 1107 "parse.y"
5283 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
5286 #line 1109 "parse.y"
5287 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
));
5288 check_for_new_type ("sizeof", yyvsp
[-1].ftype
); ;
5291 #line 1112 "parse.y"
5292 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
5295 #line 1114 "parse.y"
5296 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
5297 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
5300 #line 1120 "parse.y"
5301 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
5302 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5305 #line 1123 "parse.y"
5306 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
5307 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5310 #line 1126 "parse.y"
5311 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
5312 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5315 #line 1129 "parse.y"
5316 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
5317 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5320 #line 1142 "parse.y"
5321 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
5322 NULL_TREE
, yyvsp
[-4].itype
);
5323 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5326 #line 1147 "parse.y"
5327 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
5328 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5331 #line 1151 "parse.y"
5332 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
5333 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5336 #line 1155 "parse.y"
5337 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
5338 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5341 #line 1159 "parse.y"
5342 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5345 #line 1161 "parse.y"
5346 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5347 if (yychar
== YYEMPTY
)
5351 #line 1165 "parse.y"
5352 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5353 if (yychar
== YYEMPTY
)
5357 #line 1169 "parse.y"
5358 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5361 #line 1171 "parse.y"
5362 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
5365 #line 1173 "parse.y"
5366 { yyval
.ttype
= build_x_va_arg (yyvsp
[-3].ttype
, groktypename (yyvsp
[-1].ftype
.t
));
5367 check_for_new_type ("__builtin_va_arg", yyvsp
[-1].ftype
); ;
5370 #line 1184 "parse.y"
5371 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
5374 #line 1187 "parse.y"
5375 { yyval
.itype
= begin_new_placement (); ;
5378 #line 1191 "parse.y"
5379 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5382 #line 1193 "parse.y"
5383 { cp_pedwarn ("old style placement syntax, use () instead");
5384 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5387 #line 1199 "parse.y"
5388 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5391 #line 1201 "parse.y"
5392 { yyval
.ttype
= NULL_TREE
; ;
5395 #line 1203 "parse.y"
5397 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5398 yyval
.ttype
= error_mark_node
;
5402 #line 1211 "parse.y"
5405 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5406 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5407 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5408 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5410 yyval
.ttype
= yyvsp
[0].ttype
;
5414 #line 1225 "parse.y"
5415 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5416 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5417 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5420 #line 1229 "parse.y"
5421 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5422 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5423 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5426 #line 1237 "parse.y"
5427 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5430 #line 1239 "parse.y"
5432 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5433 nreverse (yyvsp
[-2].ttype
));
5435 pedwarn ("ANSI C++ forbids constructor-expressions");
5436 /* Indicate that this was a GNU C constructor expression. */
5437 TREE_HAS_CONSTRUCTOR (init
) = 1;
5439 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5443 #line 1255 "parse.y"
5444 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5447 #line 1257 "parse.y"
5448 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5451 #line 1259 "parse.y"
5452 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5455 #line 1261 "parse.y"
5456 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5459 #line 1263 "parse.y"
5460 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5463 #line 1265 "parse.y"
5464 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5467 #line 1267 "parse.y"
5468 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5471 #line 1269 "parse.y"
5472 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5475 #line 1271 "parse.y"
5476 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5479 #line 1273 "parse.y"
5480 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5483 #line 1275 "parse.y"
5484 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5487 #line 1277 "parse.y"
5488 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5491 #line 1279 "parse.y"
5492 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5495 #line 1281 "parse.y"
5496 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5499 #line 1283 "parse.y"
5500 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5503 #line 1285 "parse.y"
5504 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5507 #line 1287 "parse.y"
5508 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5511 #line 1289 "parse.y"
5512 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5515 #line 1291 "parse.y"
5516 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5519 #line 1293 "parse.y"
5520 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5523 #line 1295 "parse.y"
5524 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5525 if (yyval
.ttype
!= error_mark_node
)
5526 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5529 #line 1299 "parse.y"
5530 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5533 #line 1301 "parse.y"
5534 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5537 #line 1303 "parse.y"
5538 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5541 #line 1321 "parse.y"
5542 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5545 #line 1323 "parse.y"
5546 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5549 #line 1332 "parse.y"
5551 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5552 means that we're in an expression like S::f<int>, so
5553 don't do_identifier; we only do that for unqualified
5555 if (lastiddecl
&& TREE_CODE (lastiddecl
) != TREE_LIST
)
5556 yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
);
5558 yyval
.ttype
= yyvsp
[-1].ttype
;
5562 #line 1345 "parse.y"
5563 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5566 #line 1347 "parse.y"
5567 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5570 #line 1352 "parse.y"
5571 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5574 #line 1354 "parse.y"
5575 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5578 #line 1357 "parse.y"
5579 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5582 #line 1369 "parse.y"
5584 /* Provide support for '(' attributes '*' declarator ')'
5586 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5590 #line 1379 "parse.y"
5591 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5594 #line 1381 "parse.y"
5595 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5598 #line 1383 "parse.y"
5599 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5602 #line 1388 "parse.y"
5603 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5606 #line 1390 "parse.y"
5607 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5610 #line 1400 "parse.y"
5611 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5614 #line 1405 "parse.y"
5616 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5617 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5619 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5623 #line 1414 "parse.y"
5625 if (processing_template_decl
)
5626 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5627 yyval
.ttype
= combine_strings (yyval
.ttype
);
5628 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5629 a const array the way we want, so fix it. */
5630 if (flag_const_strings
)
5631 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5632 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5633 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5634 if (processing_template_decl
)
5639 #line 1428 "parse.y"
5640 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5643 #line 1430 "parse.y"
5644 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5645 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5648 #line 1433 "parse.y"
5649 { yyval
.ttype
= error_mark_node
; ;
5652 #line 1435 "parse.y"
5653 { tree scope
= current_scope ();
5654 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5656 error ("braced-group within expression allowed only inside a function");
5660 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5661 yyval
.ttype
= begin_stmt_expr ();
5665 #line 1446 "parse.y"
5666 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
); ;
5669 #line 1451 "parse.y"
5670 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5673 #line 1453 "parse.y"
5674 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5677 #line 1455 "parse.y"
5678 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5681 #line 1457 "parse.y"
5682 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5685 #line 1459 "parse.y"
5686 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5689 #line 1461 "parse.y"
5690 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5693 #line 1463 "parse.y"
5694 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5697 #line 1466 "parse.y"
5698 { yyval
.ttype
= finish_this_expr (); ;
5701 #line 1468 "parse.y"
5703 /* This is a C cast in C++'s `functional' notation
5704 using the "implicit int" extension so that:
5705 `const (3)' is equivalent to `const int (3)'. */
5708 type
= hash_tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, NULL_TREE
);
5709 type
= groktypename (build_decl_list (type
, NULL_TREE
));
5710 yyval
.ttype
= build_functional_cast (type
, yyvsp
[-1].ttype
);
5714 #line 1480 "parse.y"
5715 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5716 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5717 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5720 #line 1484 "parse.y"
5721 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5722 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5723 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5726 #line 1488 "parse.y"
5727 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5728 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5729 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5732 #line 1492 "parse.y"
5733 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5734 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5735 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5738 #line 1496 "parse.y"
5739 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5742 #line 1498 "parse.y"
5743 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5744 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5745 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5748 #line 1502 "parse.y"
5749 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5752 #line 1504 "parse.y"
5753 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5756 #line 1506 "parse.y"
5758 got_scope
= NULL_TREE
;
5759 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5760 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5762 yyval
.ttype
= yyvsp
[0].ttype
;
5766 #line 1514 "parse.y"
5767 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5770 #line 1516 "parse.y"
5771 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5774 #line 1518 "parse.y"
5775 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5778 #line 1520 "parse.y"
5780 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5784 #line 1524 "parse.y"
5785 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5788 #line 1526 "parse.y"
5789 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5792 #line 1528 "parse.y"
5793 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5796 #line 1530 "parse.y"
5797 { if (processing_template_decl
)
5798 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5800 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5803 #line 1535 "parse.y"
5804 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5807 #line 1537 "parse.y"
5808 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5811 #line 1539 "parse.y"
5812 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5815 #line 1541 "parse.y"
5816 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5819 #line 1544 "parse.y"
5820 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5823 #line 1546 "parse.y"
5824 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5827 #line 1548 "parse.y"
5829 yyval
.ttype
= error_mark_node
;
5833 #line 1593 "parse.y"
5834 { yyval
.itype
= 0; ;
5837 #line 1595 "parse.y"
5838 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5841 #line 1600 "parse.y"
5842 { yyval
.itype
= 0; ;
5845 #line 1602 "parse.y"
5846 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5849 #line 1607 "parse.y"
5850 { yyval
.ttype
= boolean_true_node
; ;
5853 #line 1609 "parse.y"
5854 { yyval
.ttype
= boolean_false_node
; ;
5857 #line 1616 "parse.y"
5858 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5861 #line 1621 "parse.y"
5863 if (! current_function_parms_stored
)
5864 store_parm_decls ();
5869 #line 1630 "parse.y"
5870 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5873 #line 1632 "parse.y"
5875 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5876 got_object
= TREE_TYPE (yyval
.ttype
);
5880 #line 1640 "parse.y"
5882 resume_momentary (yyvsp
[-1].itype
);
5883 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5884 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5888 #line 1646 "parse.y"
5890 resume_momentary (yyvsp
[-1].itype
);
5891 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5895 #line 1651 "parse.y"
5896 { resume_momentary (yyvsp
[-1].itype
); ;
5899 #line 1653 "parse.y"
5901 shadow_tag (yyvsp
[-1].ftype
.t
);
5902 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5906 #line 1658 "parse.y"
5907 { warning ("empty declaration"); ;
5910 #line 1660 "parse.y"
5911 { pedantic
= yyvsp
[-1].itype
; ;
5914 #line 1674 "parse.y"
5915 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5916 NULL_TREE
, NULL_TREE
); ;
5919 #line 1677 "parse.y"
5920 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5924 #line 1684 "parse.y"
5925 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5926 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5929 #line 1687 "parse.y"
5930 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5931 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5934 #line 1690 "parse.y"
5935 { yyval
.ftype
.t
= build_decl_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
5937 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5940 #line 1694 "parse.y"
5941 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5942 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5945 #line 1697 "parse.y"
5946 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5947 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5950 #line 1713 "parse.y"
5951 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5952 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5955 #line 1716 "parse.y"
5956 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5957 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5960 #line 1719 "parse.y"
5961 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5962 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5965 #line 1722 "parse.y"
5966 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5967 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5970 #line 1725 "parse.y"
5971 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5972 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5975 #line 1728 "parse.y"
5976 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5977 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5978 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5981 #line 1735 "parse.y"
5982 { if (extra_warnings
)
5983 warning ("`%s' is not at beginning of declaration",
5984 IDENTIFIER_POINTER (yyval
.ttype
));
5985 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5988 #line 1740 "parse.y"
5989 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5992 #line 1742 "parse.y"
5993 { if (extra_warnings
)
5994 warning ("`%s' is not at beginning of declaration",
5995 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5996 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5999 #line 1747 "parse.y"
6000 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6003 #line 1749 "parse.y"
6004 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
6007 #line 1768 "parse.y"
6008 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
6011 #line 1770 "parse.y"
6012 { yyval
.ttype
= hash_tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
6015 #line 1772 "parse.y"
6016 { yyval
.ttype
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
6017 TREE_STATIC (yyval
.ttype
) = 1; ;
6020 #line 1775 "parse.y"
6021 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
6022 warning ("`%s' is not at beginning of declaration",
6023 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
6024 yyval
.ttype
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
6025 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
6028 #line 1781 "parse.y"
6029 { yyval
.ttype
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6032 #line 1783 "parse.y"
6033 { yyval
.ttype
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
6036 #line 1794 "parse.y"
6037 { yyval
.ftype
.t
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
6038 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6041 #line 1797 "parse.y"
6042 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
6043 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6046 #line 1800 "parse.y"
6047 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6048 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6051 #line 1803 "parse.y"
6052 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
6053 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
6056 #line 1809 "parse.y"
6057 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
6060 #line 1811 "parse.y"
6061 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
6064 #line 1821 "parse.y"
6065 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6068 #line 1823 "parse.y"
6069 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6072 #line 1825 "parse.y"
6073 { yyval
.ftype
.t
= finish_typeof (yyvsp
[-1].ttype
);
6074 yyval
.ftype
.new_type_flag
= 0; ;
6077 #line 1828 "parse.y"
6078 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
6079 yyval
.ftype
.new_type_flag
= 0; ;
6082 #line 1831 "parse.y"
6083 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
6085 yyval
.ftype
.new_type_flag
= 0;
6086 if (IS_AGGR_TYPE (type
))
6088 sorry ("sigof type specifier");
6089 yyval
.ftype
.t
= type
;
6093 error ("`sigof' applied to non-aggregate expression");
6094 yyval
.ftype
.t
= error_mark_node
;
6099 #line 1846 "parse.y"
6100 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
6102 yyval
.ftype
.new_type_flag
= 0;
6103 if (IS_AGGR_TYPE (type
))
6105 sorry ("sigof type specifier");
6106 yyval
.ftype
.t
= type
;
6110 error("`sigof' applied to non-aggregate type");
6111 yyval
.ftype
.t
= error_mark_node
;
6116 #line 1866 "parse.y"
6117 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6120 #line 1868 "parse.y"
6121 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6124 #line 1875 "parse.y"
6125 { check_multiple_declarators (); ;
6128 #line 1881 "parse.y"
6129 { check_multiple_declarators (); ;
6132 #line 1887 "parse.y"
6133 { check_multiple_declarators (); ;
6136 #line 1892 "parse.y"
6137 { yyval
.ttype
= NULL_TREE
; ;
6140 #line 1894 "parse.y"
6141 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6144 #line 1899 "parse.y"
6145 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
6146 yyvsp
[-1].ttype
, prefix_attributes
); ;
6149 #line 1903 "parse.y"
6150 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
6153 #line 1905 "parse.y"
6154 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
6155 yyvsp
[0].ttype
, prefix_attributes
);
6156 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
6159 #line 1918 "parse.y"
6160 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
6161 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
6164 #line 1923 "parse.y"
6165 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
6166 LOOKUP_ONLYCONVERTING
);
6167 yyval
.itype
= yyvsp
[-2].itype
; ;
6170 #line 1927 "parse.y"
6172 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
6173 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
6176 #line 1934 "parse.y"
6177 { yyval
.itype
= yyvsp
[0].itype
; ;
6180 #line 1938 "parse.y"
6181 { yyval
.itype
= yyvsp
[0].itype
; ;
6184 #line 1943 "parse.y"
6185 { /* Set things up as initdcl0_innards expects. */
6186 yyvsp
[0].ttype
= yyvsp
[-1].ttype
;
6187 yyvsp
[-1].ttype
= NULL_TREE
; ;
6190 #line 1947 "parse.y"
6194 #line 1949 "parse.y"
6196 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
6197 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
6200 #line 1958 "parse.y"
6201 { yyval
.ttype
= NULL_TREE
; ;
6204 #line 1960 "parse.y"
6205 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6208 #line 1965 "parse.y"
6209 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6212 #line 1967 "parse.y"
6213 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6216 #line 1972 "parse.y"
6217 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
6220 #line 1977 "parse.y"
6221 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6224 #line 1979 "parse.y"
6225 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6228 #line 1984 "parse.y"
6229 { yyval
.ttype
= NULL_TREE
; ;
6232 #line 1986 "parse.y"
6233 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
6236 #line 1988 "parse.y"
6237 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
6240 #line 1990 "parse.y"
6241 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
6244 #line 1992 "parse.y"
6245 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6248 #line 2008 "parse.y"
6249 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
6252 #line 2010 "parse.y"
6253 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
6256 #line 2015 "parse.y"
6257 { yyval
.ttype
= NULL_TREE
; ;
6260 #line 2017 "parse.y"
6261 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6264 #line 2025 "parse.y"
6265 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6266 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6269 #line 2028 "parse.y"
6270 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6271 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6274 #line 2031 "parse.y"
6275 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6276 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6279 #line 2034 "parse.y"
6280 { yyval
.ttype
= NULL_TREE
; ;
6283 #line 2041 "parse.y"
6284 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6287 #line 2043 "parse.y"
6288 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6291 #line 2046 "parse.y"
6292 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6295 #line 2048 "parse.y"
6296 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6299 #line 2050 "parse.y"
6300 { yyval
.ttype
= tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6303 #line 2055 "parse.y"
6304 { start_function (NULL_TREE
, yyvsp
[0].pi
->fndecl
, NULL_TREE
,
6305 (SF_DEFAULT
| SF_PRE_PARSED
6306 | SF_INCLASS_INLINE
));
6307 reinit_parse_for_function (); ;
6310 #line 2062 "parse.y"
6312 expand_body (finish_function (lineno
, (int)yyvsp
[-1].itype
| 2));
6313 process_next_inline (yyvsp
[-3].pi
);
6317 #line 2067 "parse.y"
6319 expand_body (finish_function (lineno
, (int)yyvsp
[0].itype
| 2));
6320 process_next_inline (yyvsp
[-2].pi
);
6324 #line 2072 "parse.y"
6326 finish_function (lineno
, 2);
6327 process_next_inline (yyvsp
[-2].pi
); ;
6330 #line 2086 "parse.y"
6331 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6334 #line 2088 "parse.y"
6335 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6338 #line 2093 "parse.y"
6339 { do_pending_defargs (); ;
6342 #line 2095 "parse.y"
6343 { do_pending_defargs (); ;
6346 #line 2100 "parse.y"
6347 { yyvsp
[0].itype
= suspend_momentary ();
6348 yyval
.ttype
= current_enum_type
;
6349 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
6352 #line 2104 "parse.y"
6353 { TYPE_VALUES (current_enum_type
) = yyvsp
[-1].ttype
;
6354 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6355 yyval
.ftype
.new_type_flag
= 1;
6356 current_enum_type
= yyvsp
[-2].ttype
;
6357 resume_momentary ((int) yyvsp
[-3].itype
);
6358 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6361 #line 2111 "parse.y"
6362 { yyvsp
[0].itype
= suspend_momentary ();
6363 yyval
.ttype
= current_enum_type
;
6364 current_enum_type
= start_enum (make_anon_name ()); ;
6367 #line 2115 "parse.y"
6368 { TYPE_VALUES (current_enum_type
) = yyvsp
[-1].ttype
;
6369 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6370 yyval
.ftype
.new_type_flag
= 1;
6371 current_enum_type
= yyvsp
[-2].ttype
;
6372 resume_momentary ((int) yyvsp
[-4].itype
);
6373 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6376 #line 2122 "parse.y"
6377 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6378 yyval
.ftype
.new_type_flag
= 0; ;
6381 #line 2125 "parse.y"
6382 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6383 yyval
.ftype
.new_type_flag
= 0; ;
6386 #line 2128 "parse.y"
6387 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6388 yyval
.ftype
.new_type_flag
= 0;
6389 if (!processing_template_decl
)
6390 cp_pedwarn ("using `typename' outside of template"); ;
6393 #line 2134 "parse.y"
6394 { yyvsp
[-1].ftype
.t
= begin_class_definition (yyvsp
[-1].ftype
.t
); ;
6397 #line 2136 "parse.y"
6401 if (yychar
== YYEMPTY
)
6403 semi
= yychar
== ';';
6405 yyval
.ttype
= finish_class_definition (yyvsp
[-5].ftype
.t
, yyvsp
[0].ttype
, semi
,
6406 yyvsp
[-5].ftype
.new_type_flag
);
6410 #line 2147 "parse.y"
6412 begin_inline_definitions ();
6416 #line 2151 "parse.y"
6418 finish_inline_definitions ();
6419 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6420 yyval
.ftype
.new_type_flag
= 1;
6424 #line 2157 "parse.y"
6426 if (yyvsp
[0].ftype
.new_type_flag
&& yyvsp
[0].ftype
.t
!= error_mark_node
)
6427 pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp
[0].ftype
.t
)));
6428 yyval
.ftype
.new_type_flag
= 0;
6429 if (yyvsp
[0].ftype
.t
== error_mark_node
)
6430 yyval
.ftype
.t
= yyvsp
[0].ftype
.t
;
6431 else if (TYPE_BINFO (yyvsp
[0].ftype
.t
) == NULL_TREE
)
6433 cp_error ("%T is not a class type", yyvsp
[0].ftype
.t
);
6434 yyval
.ftype
.t
= error_mark_node
;
6438 yyval
.ftype
.t
= yyvsp
[0].ftype
.t
;
6439 /* struct B: public A; is not accepted by the WP grammar. */
6440 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6441 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6442 cp_error ("base clause without member specification for `%#T'",
6448 #line 2188 "parse.y"
6449 { if (pedantic
&& !in_system_header
)
6450 pedwarn ("comma at end of enumerator list"); ;
6453 #line 2195 "parse.y"
6454 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6457 #line 2197 "parse.y"
6458 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6461 #line 2199 "parse.y"
6462 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6465 #line 2201 "parse.y"
6466 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6469 #line 2203 "parse.y"
6470 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6473 #line 2208 "parse.y"
6475 current_aggr
= yyvsp
[-1].ttype
;
6476 yyval
.ttype
= yyvsp
[0].ttype
;
6480 #line 2216 "parse.y"
6481 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6484 #line 2218 "parse.y"
6485 { yyungetc ('{', 1); ;
6488 #line 2220 "parse.y"
6489 { yyungetc (':', 1); ;
6492 #line 2225 "parse.y"
6494 current_aggr
= yyvsp
[-2].ttype
;
6495 yyval
.ftype
.t
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6496 yyval
.ftype
.new_type_flag
= 1;
6500 #line 2231 "parse.y"
6502 current_aggr
= yyvsp
[-3].ttype
;
6503 yyval
.ftype
.t
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6504 yyval
.ftype
.new_type_flag
= 1;
6508 #line 2237 "parse.y"
6510 current_aggr
= yyvsp
[-2].ttype
;
6511 yyval
.ftype
.t
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6512 yyval
.ftype
.new_type_flag
= 1;
6516 #line 2243 "parse.y"
6518 current_aggr
= yyvsp
[-1].ttype
;
6519 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6520 yyval
.ftype
.new_type_flag
= 0;
6524 #line 2249 "parse.y"
6526 current_aggr
= yyvsp
[-2].ttype
;
6527 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6528 if (CP_DECL_CONTEXT (yyval
.ftype
.t
))
6529 push_scope (CP_DECL_CONTEXT (yyval
.ftype
.t
));
6530 yyval
.ftype
.new_type_flag
= 1;
6534 #line 2260 "parse.y"
6536 yyval
.ftype
.t
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1);
6537 yyval
.ftype
.new_type_flag
= 0;
6541 #line 2265 "parse.y"
6542 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6545 #line 2269 "parse.y"
6547 yyval
.ftype
.t
= yyvsp
[-1].ttype
;
6548 yyval
.ftype
.new_type_flag
= 0;
6550 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6554 #line 2277 "parse.y"
6556 if (yyvsp
[-1].ftype
.t
!= error_mark_node
)
6558 yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ftype
.t
);
6559 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
6560 if (current_aggr
== union_type_node
6561 && TREE_CODE (yyval
.ftype
.t
) != UNION_TYPE
)
6562 cp_pedwarn ("`union' tag used in declaring `%#T'",
6564 else if (TREE_CODE (yyval
.ftype
.t
) == UNION_TYPE
6565 && current_aggr
!= union_type_node
)
6566 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ftype
);
6567 else if (TREE_CODE (yyval
.ftype
.t
) == RECORD_TYPE
)
6568 /* We might be specializing a template with a different
6570 CLASSTYPE_DECLARED_CLASS (yyval
.ftype
.t
)
6571 = (current_aggr
== class_type_node
);
6574 maybe_process_partial_specialization (yyval
.ftype
.t
);
6575 xref_basetypes (current_aggr
, yyvsp
[-1].ftype
.t
, yyval
.ftype
.t
, yyvsp
[0].ttype
);
6581 #line 2305 "parse.y"
6582 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6583 yyungetc ('{', 1); ;
6586 #line 2315 "parse.y"
6588 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6589 yyval
.ftype
.new_type_flag
= 0;
6593 #line 2324 "parse.y"
6594 { yyval
.ttype
= NULL_TREE
; ;
6597 #line 2326 "parse.y"
6598 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6601 #line 2328 "parse.y"
6602 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6605 #line 2334 "parse.y"
6606 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6609 #line 2339 "parse.y"
6610 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
); ;
6613 #line 2341 "parse.y"
6614 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6617 #line 2346 "parse.y"
6618 { if (yyval
.ttype
!= error_mark_node
) yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6621 #line 2353 "parse.y"
6622 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6623 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6624 yyval
.ttype
= access_default_virtual_node
; ;
6627 #line 2357 "parse.y"
6629 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6630 error ("multiple access specifiers");
6631 else if (yyvsp
[-1].ttype
== access_public_node
)
6632 yyval
.ttype
= access_public_virtual_node
;
6633 else if (yyvsp
[-1].ttype
== access_protected_node
)
6634 yyval
.ttype
= access_protected_virtual_node
;
6635 else /* $2 == access_private_node */
6636 yyval
.ttype
= access_private_virtual_node
;
6640 #line 2368 "parse.y"
6641 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6642 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6643 else if (yyval
.ttype
== access_public_node
)
6644 yyval
.ttype
= access_public_virtual_node
;
6645 else if (yyval
.ttype
== access_protected_node
)
6646 yyval
.ttype
= access_protected_virtual_node
;
6647 else if (yyval
.ttype
== access_private_node
)
6648 yyval
.ttype
= access_private_virtual_node
;
6650 error ("multiple `virtual' specifiers");
6654 #line 2389 "parse.y"
6656 current_access_specifier
= yyvsp
[-1].ttype
;
6660 #line 2398 "parse.y"
6662 finish_member_declaration (yyvsp
[0].ttype
);
6666 #line 2402 "parse.y"
6668 finish_member_declaration (yyvsp
[0].ttype
);
6672 #line 2410 "parse.y"
6673 { error ("missing ';' before right brace");
6674 yyungetc ('}', 0); ;
6677 #line 2415 "parse.y"
6678 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6681 #line 2417 "parse.y"
6682 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6685 #line 2419 "parse.y"
6686 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6689 #line 2421 "parse.y"
6690 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6693 #line 2423 "parse.y"
6694 { yyval
.ttype
= NULL_TREE
; ;
6697 #line 2425 "parse.y"
6698 { yyval
.ttype
= yyvsp
[0].ttype
;
6699 pedantic
= yyvsp
[-1].itype
; ;
6702 #line 2428 "parse.y"
6705 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6707 /* The component was already processed. */
6708 yyval
.ttype
= NULL_TREE
;
6710 finish_template_decl (yyvsp
[-1].ttype
);
6714 #line 2438 "parse.y"
6716 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
6717 finish_template_decl (yyvsp
[-2].ttype
);
6721 #line 2449 "parse.y"
6723 /* Most of the productions for component_decl only
6724 allow the creation of one new member, so we call
6725 finish_member_declaration in component_decl_list.
6726 For this rule and the next, however, there can be
6727 more than one member, e.g.:
6731 and we need the first member to be fully
6732 registered before the second is processed.
6733 Therefore, the rules for components take care of
6734 this processing. To avoid registering the
6735 components more than once, we send NULL_TREE up
6736 here; that lets finish_member_declaration know
6737 that there is nothing to do. */
6738 if (!yyvsp
[0].itype
)
6739 grok_x_components (yyvsp
[-1].ftype
.t
);
6740 yyval
.ttype
= NULL_TREE
;
6744 #line 2470 "parse.y"
6746 if (!yyvsp
[0].itype
)
6747 grok_x_components (yyvsp
[-1].ttype
);
6748 yyval
.ttype
= NULL_TREE
;
6752 #line 2476 "parse.y"
6753 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6754 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6757 #line 2479 "parse.y"
6758 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6759 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6762 #line 2482 "parse.y"
6763 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6766 #line 2484 "parse.y"
6767 { yyval
.ttype
= NULL_TREE
; ;
6770 #line 2495 "parse.y"
6771 { tree specs
, attrs
;
6772 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6773 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6774 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6777 #line 2500 "parse.y"
6778 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6779 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6782 #line 2503 "parse.y"
6783 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6786 #line 2509 "parse.y"
6787 { yyval
.itype
= 0; ;
6790 #line 2511 "parse.y"
6792 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6793 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6794 finish_member_declaration (yyvsp
[0].ttype
);
6799 #line 2518 "parse.y"
6801 check_multiple_declarators ();
6802 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6803 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6804 finish_member_declaration (yyvsp
[0].ttype
);
6809 #line 2529 "parse.y"
6810 { yyval
.itype
= 0; ;
6813 #line 2531 "parse.y"
6815 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6816 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6817 finish_member_declaration (yyvsp
[0].ttype
);
6822 #line 2538 "parse.y"
6824 check_multiple_declarators ();
6825 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6826 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6827 finish_member_declaration (yyvsp
[0].ttype
);
6832 #line 2559 "parse.y"
6833 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6834 &prefix_attributes
);
6835 yyvsp
[-4].ttype
= current_declspecs
;
6836 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6837 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6840 #line 2565 "parse.y"
6841 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6842 &prefix_attributes
);
6843 yyvsp
[-4].ttype
= current_declspecs
;
6844 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6845 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6848 #line 2574 "parse.y"
6849 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6850 &prefix_attributes
);
6851 yyvsp
[-4].ttype
= current_declspecs
;
6852 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6853 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6856 #line 2580 "parse.y"
6857 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6858 &prefix_attributes
);
6859 yyvsp
[-4].ttype
= current_declspecs
;
6860 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6861 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6864 #line 2586 "parse.y"
6865 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6866 &prefix_attributes
);
6867 yyvsp
[-4].ttype
= current_declspecs
;
6868 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6869 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6872 #line 2592 "parse.y"
6873 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6874 &prefix_attributes
);
6875 yyvsp
[-3].ttype
= current_declspecs
;
6876 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6877 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6880 #line 2601 "parse.y"
6881 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6882 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6885 #line 2604 "parse.y"
6886 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6887 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6890 #line 2610 "parse.y"
6891 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6892 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6895 #line 2613 "parse.y"
6896 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6897 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6900 #line 2616 "parse.y"
6901 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6902 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6905 #line 2623 "parse.y"
6906 { yyval
.ttype
= NULL_TREE
; ;
6909 #line 2633 "parse.y"
6910 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6913 #line 2638 "parse.y"
6914 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
, current_enum_type
); ;
6917 #line 2640 "parse.y"
6918 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
6921 #line 2646 "parse.y"
6922 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6923 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6926 #line 2649 "parse.y"
6927 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6928 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6931 #line 2656 "parse.y"
6934 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6935 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6936 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6937 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6941 #line 2667 "parse.y"
6942 { yyval
.ttype
= NULL_TREE
; ;
6945 #line 2669 "parse.y"
6946 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6949 #line 2674 "parse.y"
6950 { yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
6951 yyval
.ftype
.new_type_flag
= 0; ;
6954 #line 2677 "parse.y"
6955 { yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6956 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6959 #line 2686 "parse.y"
6960 { yyval
.itype
= suspend_momentary (); ;
6963 #line 2691 "parse.y"
6964 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6967 #line 2697 "parse.y"
6968 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6971 #line 2699 "parse.y"
6972 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6975 #line 2701 "parse.y"
6976 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6979 #line 2703 "parse.y"
6980 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6983 #line 2711 "parse.y"
6985 /* Provide support for '(' attributes '*' declarator ')'
6987 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
6991 #line 2721 "parse.y"
6992 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6995 #line 2723 "parse.y"
6996 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6999 #line 2725 "parse.y"
7000 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7003 #line 2727 "parse.y"
7004 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7007 #line 2729 "parse.y"
7008 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7009 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7013 #line 2737 "parse.y"
7014 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7017 #line 2739 "parse.y"
7018 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7021 #line 2741 "parse.y"
7022 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7025 #line 2743 "parse.y"
7026 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7029 #line 2745 "parse.y"
7030 { push_nested_class (yyvsp
[-1].ttype
, 3);
7031 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
7032 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
7035 #line 2753 "parse.y"
7037 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7039 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
7040 maybe_note_name_used_in_class (yyvsp
[0].ttype
, yyval
.ttype
);
7043 yyval
.ttype
= yyvsp
[0].ttype
;
7047 #line 2763 "parse.y"
7049 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7050 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7052 yyval
.ttype
= yyvsp
[0].ttype
;
7053 got_scope
= NULL_TREE
;
7057 #line 2776 "parse.y"
7058 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7061 #line 2781 "parse.y"
7062 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
7065 #line 2790 "parse.y"
7067 /* Provide support for '(' attributes '*' declarator ')'
7069 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7073 #line 2799 "parse.y"
7074 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7077 #line 2801 "parse.y"
7078 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7081 #line 2803 "parse.y"
7082 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7085 #line 2805 "parse.y"
7086 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7089 #line 2807 "parse.y"
7090 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7091 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7095 #line 2815 "parse.y"
7096 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7099 #line 2817 "parse.y"
7100 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7103 #line 2819 "parse.y"
7104 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7107 #line 2821 "parse.y"
7108 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7111 #line 2823 "parse.y"
7112 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7113 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7117 #line 2831 "parse.y"
7118 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7121 #line 2833 "parse.y"
7122 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7125 #line 2835 "parse.y"
7126 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7129 #line 2837 "parse.y"
7130 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7133 #line 2839 "parse.y"
7134 { enter_scope_of (yyvsp
[0].ttype
); ;
7137 #line 2841 "parse.y"
7138 { got_scope
= NULL_TREE
;
7139 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7140 enter_scope_of (yyval
.ttype
);
7144 #line 2849 "parse.y"
7145 { got_scope
= NULL_TREE
;
7146 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7149 #line 2852 "parse.y"
7150 { got_scope
= NULL_TREE
;
7151 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7154 #line 2858 "parse.y"
7155 { got_scope
= NULL_TREE
;
7156 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7159 #line 2861 "parse.y"
7160 { got_scope
= NULL_TREE
;
7161 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7164 #line 2868 "parse.y"
7165 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7168 #line 2873 "parse.y"
7169 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7172 #line 2875 "parse.y"
7173 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7176 #line 2877 "parse.y"
7177 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7180 #line 2888 "parse.y"
7181 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7184 #line 2890 "parse.y"
7185 { got_scope
= yyval
.ttype
7186 = make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7189 #line 2898 "parse.y"
7191 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7193 yyval
.ttype
= lastiddecl
;
7194 maybe_note_name_used_in_class (yyvsp
[-1].ttype
, yyval
.ttype
);
7196 got_scope
= yyval
.ttype
=
7197 complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
)));
7201 #line 2908 "parse.y"
7203 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7204 yyval
.ttype
= lastiddecl
;
7205 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7209 #line 2914 "parse.y"
7211 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7212 yyval
.ttype
= lastiddecl
;
7213 got_scope
= yyval
.ttype
;
7217 #line 2920 "parse.y"
7218 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7221 #line 2936 "parse.y"
7222 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7225 #line 2941 "parse.y"
7227 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7228 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1);
7229 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7230 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7233 yyval
.ttype
= yyvsp
[0].ttype
;
7234 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7235 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7240 #line 2954 "parse.y"
7241 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
7244 #line 2956 "parse.y"
7245 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1); ;
7248 #line 2958 "parse.y"
7249 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, /*complain=*/1); ;
7252 #line 2963 "parse.y"
7254 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7255 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7259 #line 2968 "parse.y"
7261 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7262 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1);
7263 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7264 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7267 yyval
.ttype
= yyvsp
[0].ttype
;
7268 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7269 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7274 #line 2981 "parse.y"
7275 { got_scope
= yyval
.ttype
7276 = make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7279 #line 2984 "parse.y"
7280 { got_scope
= yyval
.ttype
7281 = make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7284 #line 2990 "parse.y"
7286 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7287 yyvsp
[-1].ttype
= lastiddecl
;
7289 /* Retrieve the type for the identifier, which might involve
7290 some computation. */
7291 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
7293 if (yyval
.ttype
== error_mark_node
)
7294 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7298 #line 3002 "parse.y"
7300 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7301 yyval
.ttype
= lastiddecl
;
7302 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7306 #line 3008 "parse.y"
7307 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7310 #line 3012 "parse.y"
7312 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7313 yyval
.ttype
= lastiddecl
;
7314 got_scope
= yyval
.ttype
;
7318 #line 3021 "parse.y"
7319 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7322 #line 3026 "parse.y"
7324 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7325 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7327 yyval
.ttype
= yyvsp
[0].ttype
;
7328 got_scope
= NULL_TREE
;
7332 #line 3035 "parse.y"
7333 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7336 #line 3040 "parse.y"
7337 { got_scope
= NULL_TREE
; ;
7340 #line 3042 "parse.y"
7341 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7344 #line 3049 "parse.y"
7345 { got_scope
= void_type_node
; ;
7348 #line 3055 "parse.y"
7349 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7352 #line 3057 "parse.y"
7353 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7356 #line 3059 "parse.y"
7357 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7360 #line 3061 "parse.y"
7361 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7364 #line 3063 "parse.y"
7365 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7366 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7370 #line 3067 "parse.y"
7371 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7372 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7376 #line 3076 "parse.y"
7377 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7380 #line 3078 "parse.y"
7381 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7384 #line 3084 "parse.y"
7386 /* Provide support for '(' attributes '*' declarator ')'
7388 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7392 #line 3094 "parse.y"
7393 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7396 #line 3096 "parse.y"
7397 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7400 #line 3098 "parse.y"
7401 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7404 #line 3100 "parse.y"
7405 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7408 #line 3102 "parse.y"
7409 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7412 #line 3104 "parse.y"
7413 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7416 #line 3106 "parse.y"
7417 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7420 #line 3108 "parse.y"
7421 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7424 #line 3110 "parse.y"
7425 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7426 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7430 #line 3114 "parse.y"
7431 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7432 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7436 #line 3123 "parse.y"
7437 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7440 #line 3126 "parse.y"
7441 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7444 #line 3128 "parse.y"
7445 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7448 #line 3130 "parse.y"
7449 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7452 #line 3132 "parse.y"
7453 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7456 #line 3134 "parse.y"
7457 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7460 #line 3136 "parse.y"
7461 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7464 #line 3138 "parse.y"
7465 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7468 #line 3140 "parse.y"
7469 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7472 #line 3142 "parse.y"
7473 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7476 #line 3165 "parse.y"
7478 pedwarn ("ANSI C++ forbids label declarations"); ;
7481 #line 3176 "parse.y"
7483 while (yyvsp
[-1].ttype
)
7485 finish_label_decl (TREE_VALUE (yyvsp
[-1].ttype
));
7486 yyvsp
[-1].ttype
= TREE_CHAIN (yyvsp
[-1].ttype
);
7491 #line 3189 "parse.y"
7495 #line 3195 "parse.y"
7496 { yyval
.ttype
= begin_compound_stmt (0); ;
7499 #line 3197 "parse.y"
7500 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7503 #line 3202 "parse.y"
7505 yyval
.ttype
= begin_if_stmt ();
7506 cond_stmt_keyword
= "if";
7510 #line 3207 "parse.y"
7511 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7514 #line 3209 "parse.y"
7515 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7518 #line 3214 "parse.y"
7519 { yyval
.ttype
= begin_compound_stmt (0); ;
7522 #line 3216 "parse.y"
7523 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7526 #line 3221 "parse.y"
7530 #line 3227 "parse.y"
7534 #line 3229 "parse.y"
7535 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7538 #line 3231 "parse.y"
7539 { begin_else_clause (); ;
7542 #line 3233 "parse.y"
7544 finish_else_clause (yyvsp
[-3].ttype
);
7549 #line 3238 "parse.y"
7550 { finish_if_stmt (); ;
7553 #line 3240 "parse.y"
7555 yyval
.ttype
= begin_while_stmt ();
7556 cond_stmt_keyword
= "while";
7560 #line 3245 "parse.y"
7561 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7564 #line 3247 "parse.y"
7565 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7568 #line 3249 "parse.y"
7569 { yyval
.ttype
= begin_do_stmt (); ;
7572 #line 3251 "parse.y"
7574 finish_do_body (yyvsp
[-2].ttype
);
7575 cond_stmt_keyword
= "do";
7579 #line 3256 "parse.y"
7580 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7583 #line 3258 "parse.y"
7584 { yyval
.ttype
= begin_for_stmt (); ;
7587 #line 3260 "parse.y"
7588 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7591 #line 3262 "parse.y"
7592 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7595 #line 3264 "parse.y"
7596 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7599 #line 3266 "parse.y"
7600 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7603 #line 3268 "parse.y"
7604 { yyval
.ttype
= begin_switch_stmt (); ;
7607 #line 3270 "parse.y"
7608 { finish_switch_cond (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7611 #line 3272 "parse.y"
7612 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-5].ttype
); ;
7615 #line 3274 "parse.y"
7616 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7619 #line 3277 "parse.y"
7620 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7623 #line 3280 "parse.y"
7624 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7627 #line 3283 "parse.y"
7628 { finish_break_stmt (); ;
7631 #line 3285 "parse.y"
7632 { finish_continue_stmt (); ;
7635 #line 3287 "parse.y"
7636 { finish_return_stmt (NULL_TREE
); ;
7639 #line 3289 "parse.y"
7640 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7643 #line 3291 "parse.y"
7645 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7650 #line 3297 "parse.y"
7652 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7657 #line 3303 "parse.y"
7658 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7661 #line 3307 "parse.y"
7662 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7665 #line 3309 "parse.y"
7668 pedwarn ("ANSI C++ forbids computed gotos");
7669 finish_goto_stmt (yyvsp
[-1].ttype
);
7673 #line 3315 "parse.y"
7674 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7677 #line 3318 "parse.y"
7678 { error ("label must be followed by statement");
7679 yyungetc ('}', 0); ;
7682 #line 3321 "parse.y"
7686 #line 3325 "parse.y"
7687 { do_local_using_decl (yyvsp
[0].ttype
); ;
7690 #line 3331 "parse.y"
7691 { yyval
.ttype
= begin_function_try_block (); ;
7694 #line 3333 "parse.y"
7695 { finish_function_try_block (yyvsp
[-2].ttype
); ;
7698 #line 3335 "parse.y"
7700 finish_function_handler_sequence (yyvsp
[-4].ttype
);
7701 yyval
.itype
= yyvsp
[-3].itype
;
7705 #line 3343 "parse.y"
7706 { yyval
.ttype
= begin_try_block (); ;
7709 #line 3345 "parse.y"
7710 { finish_try_block (yyvsp
[-1].ttype
); ;
7713 #line 3347 "parse.y"
7714 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7717 #line 3357 "parse.y"
7718 { yyval
.ttype
= begin_handler(); ;
7721 #line 3359 "parse.y"
7722 { yyval
.ttype
= finish_handler_parms (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7725 #line 3361 "parse.y"
7726 { finish_handler (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7729 #line 3371 "parse.y"
7730 { yyval
.ttype
= NULL_TREE
; ;
7733 #line 3387 "parse.y"
7735 check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7736 yyval
.ttype
= start_handler_parms (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7737 TREE_VALUE (yyvsp
[-1].ftype
.t
));
7741 #line 3396 "parse.y"
7742 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7745 #line 3398 "parse.y"
7746 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7749 #line 3400 "parse.y"
7750 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7753 #line 3402 "parse.y"
7754 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7757 #line 3407 "parse.y"
7758 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7761 #line 3410 "parse.y"
7763 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7767 #line 3419 "parse.y"
7768 { emit_line_note (input_filename
, lineno
);
7769 yyval
.ttype
= NULL_TREE
; ;
7772 #line 3422 "parse.y"
7773 { emit_line_note (input_filename
, lineno
); ;
7776 #line 3427 "parse.y"
7777 { yyval
.ttype
= NULL_TREE
; ;
7780 #line 3430 "parse.y"
7781 { yyval
.ttype
= NULL_TREE
; ;
7784 #line 3437 "parse.y"
7785 { yyval
.ttype
= NULL_TREE
; ;
7788 #line 3444 "parse.y"
7789 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7792 #line 3449 "parse.y"
7793 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7796 #line 3454 "parse.y"
7797 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7800 #line 3456 "parse.y"
7801 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7804 #line 3467 "parse.y"
7806 yyval
.ttype
= empty_parms();
7810 #line 3472 "parse.y"
7811 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7812 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7815 #line 3480 "parse.y"
7816 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7819 #line 3482 "parse.y"
7820 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7823 #line 3485 "parse.y"
7824 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7827 #line 3487 "parse.y"
7828 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7829 yyvsp
[-1].ftype
.t
), 1); ;
7832 #line 3490 "parse.y"
7833 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7836 #line 3492 "parse.y"
7838 /* This helps us recover from really nasty
7839 parse errors, for example, a missing right
7841 yyerror ("possibly missing ')'");
7842 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7848 #line 3502 "parse.y"
7850 /* This helps us recover from really nasty
7851 parse errors, for example, a missing right
7853 yyerror ("possibly missing ')'");
7854 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7855 yyvsp
[-1].ftype
.t
), 0);
7861 #line 3517 "parse.y"
7862 { maybe_snarf_defarg (); ;
7865 #line 3519 "parse.y"
7866 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7869 #line 3530 "parse.y"
7870 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7871 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7874 #line 3533 "parse.y"
7875 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7876 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7879 #line 3536 "parse.y"
7880 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7881 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7884 #line 3539 "parse.y"
7885 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7888 #line 3541 "parse.y"
7889 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7892 #line 3547 "parse.y"
7893 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7894 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7897 #line 3557 "parse.y"
7898 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7899 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7900 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7903 #line 3561 "parse.y"
7904 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7905 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7908 #line 3564 "parse.y"
7909 { yyval
.ftype
.t
= build_tree_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
7911 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7914 #line 3568 "parse.y"
7915 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7916 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7917 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7920 #line 3572 "parse.y"
7921 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7922 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7923 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7926 #line 3576 "parse.y"
7927 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7928 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7929 yyval
.ftype
.new_type_flag
= 0; ;
7932 #line 3583 "parse.y"
7933 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7934 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7937 #line 3586 "parse.y"
7938 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7939 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7942 #line 3597 "parse.y"
7943 { see_typename (); ;
7946 #line 3602 "parse.y"
7948 error ("type specifier omitted for parameter");
7949 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7953 #line 3607 "parse.y"
7955 error ("type specifier omitted for parameter");
7956 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7957 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7958 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7959 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7960 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7964 #line 3619 "parse.y"
7965 { yyval
.ttype
= NULL_TREE
; ;
7968 #line 3621 "parse.y"
7969 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7972 #line 3623 "parse.y"
7973 { yyval
.ttype
= empty_except_spec
; ;
7976 #line 3628 "parse.y"
7978 check_for_new_type ("exception specifier", yyvsp
[0].ftype
);
7979 yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
);
7983 #line 3636 "parse.y"
7984 { yyval
.ttype
= add_exception_specifier (NULL_TREE
, yyvsp
[0].ttype
, 1); ;
7987 #line 3638 "parse.y"
7988 { yyval
.ttype
= add_exception_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, 1); ;
7991 #line 3643 "parse.y"
7992 { yyval
.ttype
= NULL_TREE
; ;
7995 #line 3645 "parse.y"
7996 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7999 #line 3647 "parse.y"
8000 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8003 #line 3649 "parse.y"
8004 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8005 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8009 #line 3656 "parse.y"
8010 { got_scope
= NULL_TREE
; ;
8013 #line 3661 "parse.y"
8014 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8017 #line 3663 "parse.y"
8018 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8021 #line 3665 "parse.y"
8022 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8025 #line 3667 "parse.y"
8026 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8029 #line 3669 "parse.y"
8030 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8033 #line 3671 "parse.y"
8034 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8037 #line 3673 "parse.y"
8038 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8041 #line 3675 "parse.y"
8042 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8045 #line 3677 "parse.y"
8046 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8049 #line 3679 "parse.y"
8050 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8053 #line 3681 "parse.y"
8054 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8057 #line 3683 "parse.y"
8058 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8061 #line 3685 "parse.y"
8062 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8065 #line 3687 "parse.y"
8066 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8069 #line 3689 "parse.y"
8070 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8073 #line 3691 "parse.y"
8074 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8077 #line 3693 "parse.y"
8078 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8081 #line 3695 "parse.y"
8082 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8085 #line 3697 "parse.y"
8086 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8089 #line 3699 "parse.y"
8090 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8093 #line 3701 "parse.y"
8094 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8097 #line 3703 "parse.y"
8098 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8101 #line 3705 "parse.y"
8102 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8105 #line 3707 "parse.y"
8106 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8109 #line 3709 "parse.y"
8110 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8113 #line 3711 "parse.y"
8114 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8117 #line 3713 "parse.y"
8118 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8121 #line 3715 "parse.y"
8122 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8125 #line 3717 "parse.y"
8126 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8129 #line 3719 "parse.y"
8130 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8133 #line 3721 "parse.y"
8134 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8137 #line 3723 "parse.y"
8138 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8141 #line 3725 "parse.y"
8142 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8145 #line 3728 "parse.y"
8146 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8149 #line 3730 "parse.y"
8150 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8153 /* the action file gets copied in in place of this dollarsign */
8154 #line 542 "/usr/lib/bison.simple"
8165 short *ssp1
= yyss
- 1;
8166 fprintf (stderr
, "state stack now");
8167 while (ssp1
!= yyssp
)
8168 fprintf (stderr
, " %d", *++ssp1
);
8169 fprintf (stderr
, "\n");
8179 yylsp
->first_line
= yylloc
.first_line
;
8180 yylsp
->first_column
= yylloc
.first_column
;
8181 yylsp
->last_line
= (yylsp
-1)->last_line
;
8182 yylsp
->last_column
= (yylsp
-1)->last_column
;
8187 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8188 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8192 /* Now "shift" the result of the reduction.
8193 Determine what state that goes to,
8194 based on the state we popped back to
8195 and the rule number reduced by. */
8199 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8200 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8201 yystate
= yytable
[yystate
];
8203 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8207 yyerrlab
: /* here on detecting error */
8210 /* If not already recovering from an error, report this error. */
8214 #ifdef YYERROR_VERBOSE
8215 yyn
= yypact
[yystate
];
8217 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8224 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8225 for (x
= (yyn
< 0 ? -yyn
: 0);
8226 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8227 if (yycheck
[x
+ yyn
] == x
)
8228 size
+= strlen(yytname
[x
]) + 15, count
++;
8229 msg
= (char *) malloc(size
+ 15);
8232 strcpy(msg
, "parse error");
8237 for (x
= (yyn
< 0 ? -yyn
: 0);
8238 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8239 if (yycheck
[x
+ yyn
] == x
)
8241 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8242 strcat(msg
, yytname
[x
]);
8251 yyerror ("parse error; also virtual memory exceeded");
8254 #endif /* YYERROR_VERBOSE */
8255 yyerror("parse error");
8259 yyerrlab1
: /* here on error raised explicitly by an action */
8261 if (yyerrstatus
== 3)
8263 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8265 /* return failure if at end of input */
8266 if (yychar
== YYEOF
)
8271 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8277 /* Else will try to reuse lookahead token
8278 after shifting the error token. */
8280 yyerrstatus
= 3; /* Each real token shifted decrements this */
8284 yyerrdefault
: /* current state does not do anything special for the error token. */
8287 /* This is wrong; only states that explicitly want error tokens
8288 should shift them. */
8289 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8290 if (yyn
) goto yydefault
;
8293 yyerrpop
: /* pop the current state because it cannot handle the error token */
8295 if (yyssp
== yyss
) YYABORT
;
8305 short *ssp1
= yyss
- 1;
8306 fprintf (stderr
, "Error: state stack now");
8307 while (ssp1
!= yyssp
)
8308 fprintf (stderr
, " %d", *++ssp1
);
8309 fprintf (stderr
, "\n");
8315 yyn
= yypact
[yystate
];
8320 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8339 fprintf(stderr
, "Shifting error token, ");
8351 /* YYACCEPT comes here. */
8363 /* YYABORT comes here. */
8374 #line 3733 "parse.y"
8379 debug_yytranslate (value
)
8382 return yytname
[YYTRANSLATE (value
)];