diff options
Diffstat (limited to 'gcc/cp/parse.c')
-rw-r--r-- | gcc/cp/parse.c | 8709 |
1 files changed, 0 insertions, 8709 deletions
diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c deleted file mode 100644 index c0a9844..0000000 --- a/gcc/cp/parse.c +++ /dev/null @@ -1,8709 +0,0 @@ - -/* A Bison parser, made from parse.y - by GNU Bison version 1.28 */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define IDENTIFIER 257 -#define TYPENAME 258 -#define SELFNAME 259 -#define PFUNCNAME 260 -#define SCSPEC 261 -#define TYPESPEC 262 -#define CV_QUALIFIER 263 -#define CONSTANT 264 -#define STRING 265 -#define ELLIPSIS 266 -#define SIZEOF 267 -#define ENUM 268 -#define IF 269 -#define ELSE 270 -#define WHILE 271 -#define DO 272 -#define FOR 273 -#define SWITCH 274 -#define CASE 275 -#define DEFAULT 276 -#define BREAK 277 -#define CONTINUE 278 -#define RETURN_KEYWORD 279 -#define GOTO 280 -#define ASM_KEYWORD 281 -#define TYPEOF 282 -#define ALIGNOF 283 -#define SIGOF 284 -#define ATTRIBUTE 285 -#define EXTENSION 286 -#define LABEL 287 -#define REALPART 288 -#define IMAGPART 289 -#define VA_ARG 290 -#define AGGR 291 -#define VISSPEC 292 -#define DELETE 293 -#define NEW 294 -#define THIS 295 -#define OPERATOR 296 -#define CXX_TRUE 297 -#define CXX_FALSE 298 -#define NAMESPACE 299 -#define TYPENAME_KEYWORD 300 -#define USING 301 -#define LEFT_RIGHT 302 -#define TEMPLATE 303 -#define TYPEID 304 -#define DYNAMIC_CAST 305 -#define STATIC_CAST 306 -#define REINTERPRET_CAST 307 -#define CONST_CAST 308 -#define SCOPE 309 -#define EMPTY 310 -#define PTYPENAME 311 -#define NSNAME 312 -#define THROW 313 -#define ASSIGN 314 -#define OROR 315 -#define ANDAND 316 -#define MIN_MAX 317 -#define EQCOMPARE 318 -#define ARITHCOMPARE 319 -#define LSHIFT 320 -#define RSHIFT 321 -#define POINTSAT_STAR 322 -#define DOT_STAR 323 -#define UNARY 324 -#define PLUSPLUS 325 -#define MINUSMINUS 326 -#define HYPERUNARY 327 -#define POINTSAT 328 -#define TRY 329 -#define CATCH 330 -#define EXTERN_LANG_STRING 331 -#define ALL 332 -#define PRE_PARSED_CLASS_DECL 333 -#define DEFARG 334 -#define DEFARG_MARKER 335 -#define PRE_PARSED_FUNCTION_DECL 336 -#define TYPENAME_DEFN 337 -#define IDENTIFIER_DEFN 338 -#define PTYPENAME_DEFN 339 -#define END_OF_LINE 340 -#define END_OF_SAVED_INPUT 341 - -#line 30 "parse.y" - -/* Cause the `yydebug' variable to be defined. */ -#define YYDEBUG 1 - -#include "config.h" - -#include "system.h" - -#include "tree.h" -#include "input.h" -#include "flags.h" -#include "cp-tree.h" -#include "lex.h" -#include "output.h" -#include "except.h" -#include "toplev.h" -#include "ggc.h" - -/* Since parsers are distinct for each language, put the language string - definition here. (fnf) */ -const char * const language_string = "GNU C++"; - -extern struct obstack permanent_obstack; - -extern int end_of_file; - -/* Like YYERROR but do call yyerror. */ -#define YYERROR1 { yyerror ("syntax error"); YYERROR; } - -#define OP0(NODE) (TREE_OPERAND (NODE, 0)) -#define OP1(NODE) (TREE_OPERAND (NODE, 1)) - -/* Contains the statement keyword (if/while/do) to include in an - error message if the user supplies an empty conditional expression. */ -static const char *cond_stmt_keyword; - -/* Nonzero if we have an `extern "C"' acting as an extern specifier. */ -int have_extern_spec; -int used_extern_spec; - -/* List of types and structure classes of the current declaration. */ -static tree current_declspecs; - -/* List of prefix attributes in effect. - Prefix attributes are parsed by the reserved_declspecs and declmods - rules. They create a list that contains *both* declspecs and attrs. */ -/* ??? It is not clear yet that all cases where an attribute can now appear in - a declspec list have been updated. */ -static tree prefix_attributes; - -/* When defining an aggregate, this is the kind of the most recent one - being defined. (For example, this might be class_type_node.) */ -static tree current_aggr; - -/* When defining an enumeration, this is the type of the enumeration. */ -static tree current_enum_type; - -static tree empty_parms PARAMS ((void)); -static tree parse_decl0 PARAMS ((tree, tree, tree, tree, int)); -static tree parse_decl PARAMS ((tree, tree, int)); -static void parse_end_decl PARAMS ((tree, tree, tree)); -static tree parse_field0 PARAMS ((tree, tree, tree, tree, tree, tree)); -static tree parse_field PARAMS ((tree, tree, tree, tree)); -static tree parse_bitfield0 PARAMS ((tree, tree, tree, tree, tree)); -static tree parse_bitfield PARAMS ((tree, tree, tree)); -static tree parse_method PARAMS ((tree, tree, tree)); -static void frob_specs PARAMS ((tree, tree)); - -/* Cons up an empty parameter list. */ -static inline tree -empty_parms () -{ - tree parms; - - if (strict_prototype - || current_class_type != NULL) - parms = void_list_node; - else - parms = NULL_TREE; - return parms; -} - -/* Record the decl-specifiers, attributes and type lookups from the - decl-specifier-seq in a declaration. */ - -static void -frob_specs (specs_attrs, lookups) - tree specs_attrs, lookups; -{ - save_type_access_control (lookups); - split_specs_attrs (specs_attrs, ¤t_declspecs, &prefix_attributes); - if (current_declspecs - && TREE_CODE (current_declspecs) != TREE_LIST) - current_declspecs = build_decl_list (NULL_TREE, current_declspecs); - if (have_extern_spec && !used_extern_spec) - { - current_declspecs = decl_tree_cons (NULL_TREE, - get_identifier ("extern"), - current_declspecs); - used_extern_spec = 1; - } -} - -static tree -parse_decl (declarator, attributes, initialized) - tree declarator, attributes; - int initialized; -{ - return start_decl (declarator, current_declspecs, initialized, - attributes, prefix_attributes); -} - -static tree -parse_decl0 (declarator, specs_attrs, lookups, attributes, initialized) - tree declarator, specs_attrs, lookups, attributes; - int initialized; -{ - frob_specs (specs_attrs, lookups); - return parse_decl (declarator, attributes, initialized); -} - -static void -parse_end_decl (decl, init, asmspec) - tree decl, init, asmspec; -{ - /* If decl is NULL_TREE, then this was a variable declaration using - () syntax for the initializer, so we handled it in grokdeclarator. */ - if (decl) - decl_type_access_control (decl); - cp_finish_decl (decl, init, asmspec, init ? LOOKUP_ONLYCONVERTING : 0); -} - -static tree -parse_field (declarator, attributes, asmspec, init) - tree declarator, attributes, asmspec, init; -{ - tree d = grokfield (declarator, current_declspecs, init, asmspec, - build_tree_list (attributes, prefix_attributes)); - decl_type_access_control (d); - return d; -} - -static tree -parse_field0 (declarator, specs_attrs, lookups, attributes, asmspec, init) - tree declarator, specs_attrs, lookups, attributes, asmspec, init; -{ - frob_specs (specs_attrs, lookups); - return parse_field (declarator, attributes, asmspec, init); -} - -static tree -parse_bitfield (declarator, attributes, width) - tree declarator, attributes, width; -{ - tree d = grokbitfield (declarator, current_declspecs, width); - cplus_decl_attributes (d, attributes, prefix_attributes); - decl_type_access_control (d); - return d; -} - -static tree -parse_bitfield0 (declarator, specs_attrs, lookups, attributes, width) - tree declarator, specs_attrs, lookups, attributes, width; -{ - frob_specs (specs_attrs, lookups); - return parse_bitfield (declarator, attributes, width); -} - -static tree -parse_method (declarator, specs_attrs, lookups) - tree declarator, specs_attrs, lookups; -{ - tree d; - frob_specs (specs_attrs, lookups); - d = start_method (current_declspecs, declarator, prefix_attributes); - decl_type_access_control (d); - return d; -} - -void -cp_parse_init () -{ - ggc_add_tree_root (¤t_declspecs, 1); - ggc_add_tree_root (&prefix_attributes, 1); - ggc_add_tree_root (¤t_aggr, 1); - ggc_add_tree_root (¤t_enum_type, 1); -} - -#line 221 "parse.y" -typedef union { - long itype; - tree ttype; - char *strtype; - enum tree_code code; - flagged_type_tree ftype; - struct pending_inline *pi; -} YYSTYPE; -#line 426 "parse.y" - -/* Tell yyparse how to print a token's value, if yydebug is set. */ -#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL) -extern void yyprint PARAMS ((FILE *, int, YYSTYPE)); -#include <stdio.h> - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 1730 -#define YYFLAG -32768 -#define YYNTBASE 112 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 398) - -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 110, 2, 2, 2, 83, 71, 2, 93, - 108, 81, 79, 60, 80, 92, 82, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 63, 61, 75, - 65, 76, 66, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 94, 2, 111, 70, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 59, 69, 109, 89, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 62, 64, 67, 68, 72, 73, 74, 77, - 78, 84, 85, 86, 87, 88, 90, 91, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 1, 3, 4, 7, 10, 12, 13, 14, 15, - 17, 19, 20, 23, 26, 28, 30, 36, 41, 47, - 52, 53, 60, 61, 67, 69, 72, 74, 77, 78, - 85, 88, 92, 96, 100, 104, 109, 110, 116, 119, - 123, 125, 127, 130, 133, 135, 138, 139, 145, 149, - 151, 155, 157, 158, 161, 164, 168, 170, 174, 176, - 180, 182, 186, 189, 192, 195, 197, 199, 205, 210, - 213, 216, 220, 224, 227, 230, 234, 238, 241, 244, - 247, 250, 253, 255, 257, 259, 260, 262, 265, 266, - 268, 273, 277, 281, 282, 291, 297, 298, 308, 315, - 316, 325, 331, 332, 342, 349, 352, 355, 357, 360, - 362, 369, 374, 381, 386, 389, 391, 394, 397, 399, - 402, 404, 407, 410, 415, 418, 422, 423, 424, 426, - 430, 433, 437, 439, 444, 447, 452, 455, 460, 463, - 465, 467, 469, 471, 473, 475, 477, 479, 481, 483, - 485, 487, 488, 495, 496, 503, 504, 510, 511, 517, - 518, 526, 527, 535, 536, 543, 544, 551, 552, 553, - 559, 565, 567, 569, 575, 581, 582, 584, 586, 587, - 589, 591, 595, 597, 599, 601, 603, 605, 607, 609, - 611, 613, 615, 617, 621, 623, 627, 628, 630, 632, - 633, 641, 643, 645, 649, 654, 658, 659, 663, 665, - 669, 673, 677, 681, 683, 685, 687, 690, 693, 696, - 699, 702, 705, 708, 713, 716, 721, 724, 728, 732, - 737, 742, 748, 754, 761, 764, 769, 775, 778, 781, - 788, 792, 796, 800, 802, 806, 809, 813, 818, 820, - 823, 829, 831, 835, 839, 843, 847, 851, 855, 859, - 863, 867, 871, 875, 879, 883, 887, 891, 895, 899, - 903, 907, 913, 917, 921, 923, 926, 928, 932, 936, - 940, 944, 948, 952, 956, 960, 964, 968, 972, 976, - 980, 984, 988, 992, 996, 1000, 1006, 1010, 1014, 1016, - 1019, 1023, 1027, 1029, 1031, 1033, 1035, 1037, 1038, 1044, - 1050, 1056, 1062, 1068, 1070, 1072, 1074, 1076, 1079, 1081, - 1084, 1087, 1091, 1096, 1101, 1103, 1105, 1107, 1111, 1113, - 1115, 1117, 1119, 1123, 1127, 1131, 1132, 1137, 1142, 1145, - 1150, 1153, 1158, 1161, 1164, 1166, 1171, 1173, 1181, 1189, - 1197, 1205, 1210, 1215, 1218, 1221, 1224, 1226, 1231, 1234, - 1237, 1243, 1247, 1250, 1253, 1259, 1263, 1269, 1273, 1278, - 1285, 1288, 1290, 1293, 1295, 1298, 1300, 1302, 1304, 1307, - 1308, 1311, 1314, 1318, 1322, 1326, 1329, 1332, 1335, 1337, - 1339, 1341, 1344, 1347, 1350, 1353, 1355, 1357, 1359, 1361, - 1364, 1367, 1371, 1375, 1379, 1384, 1386, 1389, 1392, 1395, - 1397, 1399, 1401, 1404, 1407, 1410, 1412, 1414, 1417, 1420, - 1424, 1426, 1429, 1431, 1433, 1435, 1440, 1445, 1450, 1455, - 1457, 1459, 1461, 1463, 1467, 1469, 1473, 1475, 1479, 1480, - 1485, 1486, 1493, 1497, 1498, 1503, 1505, 1509, 1513, 1514, - 1519, 1523, 1524, 1526, 1528, 1531, 1538, 1540, 1544, 1545, - 1547, 1552, 1559, 1564, 1566, 1568, 1570, 1572, 1574, 1578, - 1579, 1582, 1584, 1587, 1591, 1596, 1598, 1600, 1604, 1609, - 1613, 1619, 1621, 1626, 1630, 1634, 1635, 1639, 1643, 1647, - 1648, 1651, 1654, 1655, 1662, 1663, 1669, 1672, 1675, 1678, - 1679, 1680, 1681, 1692, 1694, 1695, 1697, 1698, 1700, 1702, - 1705, 1708, 1711, 1714, 1717, 1720, 1723, 1726, 1729, 1733, - 1738, 1742, 1745, 1749, 1751, 1752, 1756, 1759, 1762, 1764, - 1766, 1767, 1770, 1774, 1776, 1781, 1783, 1787, 1789, 1791, - 1794, 1797, 1801, 1805, 1806, 1808, 1812, 1815, 1818, 1820, - 1823, 1826, 1829, 1832, 1835, 1838, 1841, 1843, 1846, 1849, - 1853, 1856, 1859, 1864, 1869, 1872, 1874, 1880, 1885, 1887, - 1888, 1890, 1894, 1895, 1897, 1901, 1903, 1905, 1907, 1909, - 1914, 1919, 1924, 1929, 1934, 1938, 1943, 1948, 1953, 1958, - 1962, 1965, 1967, 1969, 1973, 1975, 1979, 1982, 1984, 1991, - 1992, 1995, 1997, 2000, 2004, 2008, 2010, 2014, 2016, 2019, - 2023, 2027, 2030, 2033, 2037, 2039, 2044, 2049, 2053, 2057, - 2060, 2062, 2064, 2067, 2069, 2071, 2074, 2077, 2079, 2082, - 2086, 2090, 2093, 2096, 2100, 2102, 2106, 2110, 2113, 2116, - 2120, 2122, 2127, 2131, 2136, 2140, 2142, 2145, 2148, 2151, - 2154, 2157, 2160, 2163, 2165, 2168, 2173, 2178, 2181, 2183, - 2185, 2187, 2189, 2192, 2197, 2200, 2203, 2206, 2209, 2211, - 2214, 2217, 2220, 2223, 2227, 2229, 2232, 2236, 2241, 2244, - 2247, 2250, 2253, 2256, 2259, 2264, 2267, 2269, 2272, 2275, - 2279, 2281, 2285, 2288, 2292, 2295, 2298, 2302, 2304, 2308, - 2313, 2315, 2318, 2322, 2325, 2328, 2330, 2334, 2337, 2340, - 2342, 2345, 2349, 2351, 2355, 2362, 2367, 2372, 2376, 2382, - 2386, 2390, 2394, 2397, 2399, 2401, 2404, 2407, 2410, 2411, - 2413, 2415, 2418, 2422, 2424, 2427, 2428, 2432, 2433, 2434, - 2440, 2442, 2443, 2446, 2448, 2450, 2452, 2455, 2456, 2461, - 2463, 2464, 2465, 2471, 2472, 2473, 2481, 2482, 2483, 2484, - 2485, 2498, 2499, 2500, 2508, 2509, 2515, 2516, 2524, 2525, - 2530, 2533, 2536, 2539, 2543, 2550, 2559, 2570, 2579, 2592, - 2603, 2614, 2619, 2623, 2626, 2629, 2631, 2633, 2635, 2637, - 2639, 2640, 2641, 2648, 2649, 2650, 2656, 2658, 2661, 2662, - 2663, 2669, 2671, 2673, 2677, 2681, 2684, 2687, 2690, 2693, - 2696, 2698, 2701, 2702, 2704, 2705, 2707, 2709, 2710, 2712, - 2714, 2718, 2723, 2725, 2729, 2730, 2732, 2734, 2736, 2739, - 2742, 2745, 2747, 2750, 2753, 2754, 2758, 2760, 2762, 2764, - 2767, 2770, 2773, 2778, 2781, 2784, 2787, 2790, 2793, 2796, - 2798, 2801, 2803, 2806, 2808, 2810, 2811, 2812, 2814, 2815, - 2820, 2823, 2825, 2827, 2831, 2832, 2836, 2840, 2844, 2846, - 2849, 2852, 2855, 2858, 2861, 2864, 2867, 2870, 2873, 2876, - 2879, 2882, 2885, 2888, 2891, 2894, 2897, 2900, 2903, 2906, - 2909, 2912, 2915, 2919, 2922, 2925, 2928, 2931, 2935, 2938, - 2941, 2946, 2951, 2955 -}; - -static const short yyrhs[] = { -1, - 113, 0, 0, 114, 120, 0, 113, 120, 0, 113, - 0, 0, 0, 0, 32, 0, 27, 0, 0, 121, - 122, 0, 148, 147, 0, 144, 0, 141, 0, 119, - 93, 218, 108, 61, 0, 133, 59, 115, 109, 0, - 133, 116, 148, 117, 147, 0, 133, 116, 144, 117, - 0, 0, 45, 163, 59, 123, 115, 109, 0, 0, - 45, 59, 124, 115, 109, 0, 125, 0, 127, 61, - 0, 129, 0, 118, 122, 0, 0, 45, 163, 65, - 126, 132, 61, 0, 47, 311, 0, 47, 325, 311, - 0, 47, 325, 208, 0, 47, 131, 163, 0, 47, - 325, 163, 0, 47, 325, 131, 163, 0, 0, 47, - 45, 130, 132, 61, 0, 58, 55, 0, 131, 58, - 55, 0, 208, 0, 311, 0, 325, 311, 0, 325, - 208, 0, 97, 0, 133, 97, 0, 0, 49, 75, - 135, 136, 76, 0, 49, 75, 76, 0, 140, 0, - 136, 60, 140, 0, 163, 0, 0, 268, 137, 0, - 46, 137, 0, 134, 268, 137, 0, 138, 0, 138, - 65, 224, 0, 389, 0, 389, 65, 203, 0, 139, - 0, 139, 65, 184, 0, 134, 142, 0, 134, 1, - 0, 148, 147, 0, 143, 0, 141, 0, 133, 116, - 148, 117, 147, 0, 133, 116, 143, 117, 0, 118, - 142, 0, 235, 61, 0, 228, 234, 61, 0, 225, - 233, 61, 0, 260, 61, 0, 235, 61, 0, 228, - 234, 61, 0, 225, 233, 61, 0, 228, 61, 0, - 166, 61, 0, 225, 61, 0, 1, 61, 0, 1, - 109, 0, 61, 0, 219, 0, 159, 0, 0, 158, - 0, 158, 61, 0, 0, 107, 0, 154, 146, 145, - 336, 0, 154, 146, 360, 0, 154, 146, 1, 0, - 0, 316, 5, 93, 150, 380, 108, 298, 392, 0, - 316, 5, 48, 298, 392, 0, 0, 325, 316, 5, - 93, 151, 380, 108, 298, 392, 0, 325, 316, 5, - 48, 298, 392, 0, 0, 316, 179, 93, 152, 380, - 108, 298, 392, 0, 316, 179, 48, 298, 392, 0, - 0, 325, 316, 179, 93, 153, 380, 108, 298, 392, - 0, 325, 316, 179, 48, 298, 392, 0, 225, 222, - 0, 228, 308, 0, 308, 0, 228, 149, 0, 149, - 0, 5, 93, 380, 108, 298, 392, 0, 5, 48, - 298, 392, 0, 179, 93, 380, 108, 298, 392, 0, - 179, 48, 298, 392, 0, 228, 155, 0, 155, 0, - 225, 222, 0, 228, 308, 0, 308, 0, 228, 149, - 0, 149, 0, 25, 3, 0, 157, 252, 0, 157, - 93, 196, 108, 0, 157, 48, 0, 63, 160, 161, - 0, 0, 0, 162, 0, 161, 60, 162, 0, 161, - 1, 0, 93, 196, 108, 0, 48, 0, 164, 93, - 196, 108, 0, 164, 48, 0, 304, 93, 196, 108, - 0, 304, 48, 0, 318, 93, 196, 108, 0, 318, - 48, 0, 1, 0, 3, 0, 4, 0, 5, 0, - 57, 0, 58, 0, 3, 0, 57, 0, 58, 0, - 104, 0, 103, 0, 105, 0, 0, 49, 175, 231, - 61, 167, 176, 0, 0, 49, 175, 225, 222, 168, - 176, 0, 0, 49, 175, 308, 169, 176, 0, 0, - 49, 175, 149, 170, 176, 0, 0, 7, 49, 175, - 231, 61, 171, 176, 0, 0, 7, 49, 175, 225, - 222, 172, 176, 0, 0, 7, 49, 175, 308, 173, - 176, 0, 0, 7, 49, 175, 149, 174, 176, 0, - 0, 0, 57, 75, 182, 181, 180, 0, 4, 75, - 182, 181, 180, 0, 179, 0, 177, 0, 163, 75, - 182, 76, 180, 0, 5, 75, 182, 181, 180, 0, - 0, 76, 0, 78, 0, 0, 183, 0, 184, 0, - 183, 60, 184, 0, 224, 0, 57, 0, 203, 0, - 80, 0, 79, 0, 87, 0, 88, 0, 110, 0, - 195, 0, 202, 0, 48, 0, 93, 186, 108, 0, - 48, 0, 93, 190, 108, 0, 0, 190, 0, 1, - 0, 0, 370, 222, 236, 245, 65, 191, 253, 0, - 186, 0, 109, 0, 333, 331, 109, 0, 333, 331, - 1, 109, 0, 333, 1, 109, 0, 0, 59, 194, - 192, 0, 345, 0, 202, 60, 202, 0, 202, 60, - 1, 0, 195, 60, 202, 0, 195, 60, 1, 0, - 202, 0, 195, 0, 213, 0, 118, 201, 0, 81, - 201, 0, 71, 201, 0, 89, 201, 0, 185, 201, - 0, 68, 163, 0, 13, 197, 0, 13, 93, 224, - 108, 0, 29, 197, 0, 29, 93, 224, 108, 0, - 215, 297, 0, 215, 297, 199, 0, 215, 198, 297, - 0, 215, 198, 297, 199, 0, 215, 93, 224, 108, - 0, 215, 93, 224, 108, 199, 0, 215, 198, 93, - 224, 108, 0, 215, 198, 93, 224, 108, 199, 0, - 216, 201, 0, 216, 94, 111, 201, 0, 216, 94, - 186, 111, 201, 0, 34, 201, 0, 35, 201, 0, - 36, 93, 202, 60, 224, 108, 0, 93, 196, 108, - 0, 59, 196, 109, 0, 93, 196, 108, 0, 48, - 0, 93, 231, 108, 0, 65, 253, 0, 93, 224, - 108, 0, 200, 93, 224, 108, 0, 197, 0, 200, - 197, 0, 200, 59, 254, 266, 109, 0, 201, 0, - 202, 84, 202, 0, 202, 85, 202, 0, 202, 79, - 202, 0, 202, 80, 202, 0, 202, 81, 202, 0, - 202, 82, 202, 0, 202, 83, 202, 0, 202, 77, - 202, 0, 202, 78, 202, 0, 202, 74, 202, 0, - 202, 75, 202, 0, 202, 76, 202, 0, 202, 73, - 202, 0, 202, 72, 202, 0, 202, 71, 202, 0, - 202, 69, 202, 0, 202, 70, 202, 0, 202, 68, - 202, 0, 202, 67, 202, 0, 202, 66, 375, 63, - 202, 0, 202, 65, 202, 0, 202, 64, 202, 0, - 62, 0, 62, 202, 0, 201, 0, 203, 84, 203, - 0, 203, 85, 203, 0, 203, 79, 203, 0, 203, - 80, 203, 0, 203, 81, 203, 0, 203, 82, 203, - 0, 203, 83, 203, 0, 203, 77, 203, 0, 203, - 78, 203, 0, 203, 74, 203, 0, 203, 75, 203, - 0, 203, 73, 203, 0, 203, 72, 203, 0, 203, - 71, 203, 0, 203, 69, 203, 0, 203, 70, 203, - 0, 203, 68, 203, 0, 203, 67, 203, 0, 203, - 66, 375, 63, 203, 0, 203, 65, 203, 0, 203, - 64, 203, 0, 62, 0, 62, 203, 0, 89, 390, - 163, 0, 89, 390, 177, 0, 206, 0, 397, 0, - 3, 0, 57, 0, 58, 0, 0, 6, 75, 205, - 182, 181, 0, 397, 75, 205, 182, 181, 0, 49, - 163, 75, 182, 181, 0, 49, 6, 75, 182, 181, - 0, 49, 397, 75, 182, 181, 0, 204, 0, 4, - 0, 5, 0, 210, 0, 246, 210, 0, 204, 0, - 81, 209, 0, 71, 209, 0, 93, 209, 108, 0, - 3, 75, 182, 181, 0, 58, 75, 183, 181, 0, - 310, 0, 204, 0, 211, 0, 93, 209, 108, 0, - 204, 0, 10, 0, 217, 0, 218, 0, 93, 186, - 108, 0, 93, 209, 108, 0, 93, 1, 108, 0, - 0, 93, 214, 337, 108, 0, 204, 93, 196, 108, - 0, 204, 48, 0, 213, 93, 196, 108, 0, 213, - 48, 0, 213, 94, 186, 111, 0, 213, 87, 0, - 213, 88, 0, 41, 0, 9, 93, 196, 108, 0, - 314, 0, 51, 75, 224, 76, 93, 186, 108, 0, - 52, 75, 224, 76, 93, 186, 108, 0, 53, 75, - 224, 76, 93, 186, 108, 0, 54, 75, 224, 76, - 93, 186, 108, 0, 50, 93, 186, 108, 0, 50, - 93, 224, 108, 0, 325, 3, 0, 325, 206, 0, - 325, 397, 0, 313, 0, 313, 93, 196, 108, 0, - 313, 48, 0, 220, 207, 0, 220, 207, 93, 196, - 108, 0, 220, 207, 48, 0, 220, 208, 0, 220, - 313, 0, 220, 208, 93, 196, 108, 0, 220, 208, - 48, 0, 220, 313, 93, 196, 108, 0, 220, 313, - 48, 0, 220, 89, 8, 48, 0, 220, 8, 55, - 89, 8, 48, 0, 220, 1, 0, 40, 0, 325, - 40, 0, 39, 0, 325, 216, 0, 43, 0, 44, - 0, 11, 0, 218, 11, 0, 0, 213, 92, 0, - 213, 91, 0, 231, 233, 61, 0, 225, 233, 61, - 0, 228, 234, 61, 0, 225, 61, 0, 228, 61, - 0, 118, 221, 0, 302, 0, 308, 0, 48, 0, - 223, 48, 0, 229, 329, 0, 299, 329, 0, 231, - 329, 0, 229, 0, 299, 0, 229, 0, 226, 0, - 228, 231, 0, 231, 227, 0, 231, 230, 227, 0, - 228, 231, 227, 0, 228, 231, 230, 0, 228, 231, - 230, 227, 0, 7, 0, 227, 232, 0, 227, 7, - 0, 227, 246, 0, 246, 0, 299, 0, 7, 0, - 228, 9, 0, 228, 7, 0, 228, 246, 0, 246, - 0, 231, 0, 299, 231, 0, 231, 230, 0, 299, - 231, 230, 0, 232, 0, 230, 232, 0, 260, 0, - 8, 0, 305, 0, 28, 93, 186, 108, 0, 28, - 93, 224, 108, 0, 30, 93, 186, 108, 0, 30, - 93, 224, 108, 0, 8, 0, 9, 0, 260, 0, - 241, 0, 233, 60, 237, 0, 242, 0, 234, 60, - 237, 0, 243, 0, 235, 60, 237, 0, 0, 119, - 93, 218, 108, 0, 0, 222, 236, 245, 65, 238, - 253, 0, 222, 236, 245, 0, 0, 245, 65, 240, - 253, 0, 245, 0, 222, 236, 239, 0, 308, 236, - 239, 0, 0, 308, 236, 244, 239, 0, 149, 236, - 245, 0, 0, 246, 0, 247, 0, 246, 247, 0, - 31, 93, 93, 248, 108, 108, 0, 249, 0, 248, - 60, 249, 0, 0, 250, 0, 250, 93, 3, 108, - 0, 250, 93, 3, 60, 196, 108, 0, 250, 93, - 196, 108, 0, 163, 0, 7, 0, 8, 0, 9, - 0, 163, 0, 251, 60, 163, 0, 0, 65, 253, - 0, 202, 0, 59, 109, 0, 59, 254, 109, 0, - 59, 254, 60, 109, 0, 1, 0, 253, 0, 254, - 60, 253, 0, 94, 202, 111, 253, 0, 163, 63, - 253, 0, 254, 60, 163, 63, 253, 0, 102, 0, - 255, 146, 145, 336, 0, 255, 146, 360, 0, 255, - 146, 1, 0, 0, 257, 256, 147, 0, 101, 202, - 107, 0, 101, 1, 107, 0, 0, 259, 258, 0, - 259, 1, 0, 0, 14, 163, 59, 261, 294, 109, - 0, 0, 14, 59, 262, 294, 109, 0, 14, 163, - 0, 14, 323, 0, 46, 318, 0, 0, 0, 0, - 275, 59, 263, 281, 109, 245, 264, 259, 265, 257, - 0, 275, 0, 0, 60, 0, 0, 60, 0, 37, - 0, 268, 7, 0, 268, 8, 0, 268, 9, 0, - 268, 37, 0, 268, 246, 0, 268, 163, 0, 268, - 165, 0, 269, 59, 0, 269, 63, 0, 268, 316, - 163, 0, 268, 325, 316, 163, 0, 268, 325, 163, - 0, 268, 178, 0, 268, 316, 178, 0, 269, 0, - 0, 270, 273, 276, 0, 271, 276, 0, 268, 59, - 0, 274, 0, 272, 0, 0, 63, 390, 0, 63, - 390, 277, 0, 278, 0, 277, 60, 390, 278, 0, - 279, 0, 280, 390, 279, 0, 318, 0, 304, 0, - 38, 390, 0, 7, 390, 0, 280, 38, 390, 0, - 280, 7, 390, 0, 0, 283, 0, 281, 282, 283, - 0, 281, 282, 0, 38, 63, 0, 284, 0, 283, - 284, 0, 285, 61, 0, 285, 109, 0, 156, 63, - 0, 156, 95, 0, 156, 25, 0, 156, 59, 0, - 61, 0, 118, 284, 0, 134, 284, 0, 134, 225, - 61, 0, 225, 286, 0, 228, 287, 0, 308, 236, - 245, 252, 0, 149, 236, 245, 252, 0, 63, 202, - 0, 1, 0, 228, 155, 236, 245, 252, 0, 155, - 236, 245, 252, 0, 127, 0, 0, 288, 0, 286, - 60, 289, 0, 0, 291, 0, 287, 60, 293, 0, - 290, 0, 291, 0, 292, 0, 293, 0, 302, 236, - 245, 252, 0, 4, 63, 202, 245, 0, 308, 236, - 245, 252, 0, 149, 236, 245, 252, 0, 3, 63, - 202, 245, 0, 63, 202, 245, 0, 302, 236, 245, - 252, 0, 4, 63, 202, 245, 0, 308, 236, 245, - 252, 0, 3, 63, 202, 245, 0, 63, 202, 245, - 0, 295, 267, 0, 267, 0, 296, 0, 295, 60, - 296, 0, 163, 0, 163, 65, 202, 0, 370, 326, - 0, 370, 0, 93, 224, 108, 94, 186, 111, 0, - 0, 298, 9, 0, 9, 0, 299, 9, 0, 93, - 196, 108, 0, 93, 380, 108, 0, 48, 0, 93, - 1, 108, 0, 302, 0, 246, 302, 0, 81, 299, - 301, 0, 71, 299, 301, 0, 81, 301, 0, 71, - 301, 0, 324, 298, 301, 0, 303, 0, 303, 300, - 298, 392, 0, 303, 94, 186, 111, 0, 303, 94, - 111, 0, 93, 301, 108, 0, 316, 315, 0, 315, - 0, 315, 0, 325, 315, 0, 304, 0, 306, 0, - 325, 306, 0, 316, 315, 0, 308, 0, 246, 308, - 0, 81, 299, 307, 0, 71, 299, 307, 0, 81, - 307, 0, 71, 307, 0, 324, 298, 307, 0, 212, - 0, 81, 299, 307, 0, 71, 299, 307, 0, 81, - 309, 0, 71, 309, 0, 324, 298, 307, 0, 310, - 0, 212, 300, 298, 392, 0, 93, 309, 108, 0, - 212, 94, 186, 111, 0, 212, 94, 111, 0, 312, - 0, 325, 312, 0, 325, 204, 0, 316, 211, 0, - 316, 208, 0, 316, 207, 0, 316, 204, 0, 316, - 207, 0, 312, 0, 325, 312, 0, 231, 93, 196, - 108, 0, 231, 93, 209, 108, 0, 231, 223, 0, - 4, 0, 5, 0, 177, 0, 317, 0, 316, 317, - 0, 316, 49, 322, 55, 0, 4, 55, 0, 5, - 55, 0, 58, 55, 0, 177, 55, 0, 319, 0, - 325, 319, 0, 320, 163, 0, 320, 177, 0, 320, - 322, 0, 320, 49, 322, 0, 321, 0, 320, 321, - 0, 320, 322, 55, 0, 320, 49, 322, 55, 0, - 4, 55, 0, 5, 55, 0, 177, 55, 0, 57, - 55, 0, 3, 55, 0, 58, 55, 0, 163, 75, - 182, 181, 0, 325, 315, 0, 306, 0, 325, 306, - 0, 316, 81, 0, 325, 316, 81, 0, 55, 0, - 81, 298, 326, 0, 81, 298, 0, 71, 298, 326, - 0, 71, 298, 0, 324, 298, 0, 324, 298, 326, - 0, 327, 0, 94, 186, 111, 0, 327, 94, 186, - 111, 0, 329, 0, 246, 329, 0, 81, 299, 328, - 0, 81, 328, 0, 81, 299, 0, 81, 0, 71, - 299, 328, 0, 71, 328, 0, 71, 299, 0, 71, - 0, 324, 298, 0, 324, 298, 328, 0, 330, 0, - 93, 328, 108, 0, 330, 93, 380, 108, 298, 392, - 0, 330, 48, 298, 392, 0, 330, 94, 186, 111, - 0, 330, 94, 111, 0, 93, 381, 108, 298, 392, - 0, 200, 298, 392, 0, 223, 298, 392, 0, 94, - 186, 111, 0, 94, 111, 0, 344, 0, 332, 0, - 331, 344, 0, 331, 332, 0, 1, 61, 0, 0, - 334, 0, 335, 0, 334, 335, 0, 33, 251, 61, - 0, 337, 0, 1, 337, 0, 0, 59, 338, 192, - 0, 0, 0, 15, 340, 188, 341, 342, 0, 337, - 0, 0, 343, 345, 0, 337, 0, 345, 0, 221, - 0, 186, 61, 0, 0, 339, 16, 346, 342, 0, - 339, 0, 0, 0, 17, 347, 188, 348, 193, 0, - 0, 0, 18, 349, 342, 17, 350, 187, 61, 0, - 0, 0, 0, 0, 19, 351, 93, 373, 352, 189, - 61, 353, 375, 108, 354, 193, 0, 0, 0, 20, - 355, 93, 190, 108, 356, 342, 0, 0, 21, 202, - 63, 357, 344, 0, 0, 21, 202, 12, 202, 63, - 358, 344, 0, 0, 22, 63, 359, 344, 0, 23, - 61, 0, 24, 61, 0, 25, 61, 0, 25, 186, - 61, 0, 119, 374, 93, 218, 108, 61, 0, 119, - 374, 93, 218, 63, 376, 108, 61, 0, 119, 374, - 93, 218, 63, 376, 63, 376, 108, 61, 0, 119, - 374, 93, 218, 55, 376, 108, 61, 0, 119, 374, - 93, 218, 63, 376, 63, 376, 63, 379, 108, 61, - 0, 119, 374, 93, 218, 55, 376, 63, 379, 108, - 61, 0, 119, 374, 93, 218, 63, 376, 55, 379, - 108, 61, 0, 26, 81, 186, 61, 0, 26, 163, - 61, 0, 372, 344, 0, 372, 109, 0, 61, 0, - 363, 0, 129, 0, 128, 0, 125, 0, 0, 0, - 95, 361, 145, 337, 362, 366, 0, 0, 0, 95, - 364, 337, 365, 366, 0, 367, 0, 366, 367, 0, - 0, 0, 96, 368, 371, 369, 337, 0, 229, 0, - 299, 0, 93, 12, 108, 0, 93, 389, 108, 0, - 3, 63, 0, 57, 63, 0, 4, 63, 0, 5, - 63, 0, 375, 61, 0, 221, 0, 59, 192, 0, - 0, 9, 0, 0, 186, 0, 1, 0, 0, 377, - 0, 378, 0, 377, 60, 378, 0, 11, 93, 186, - 108, 0, 218, 0, 379, 60, 218, 0, 0, 381, - 0, 224, 0, 385, 0, 386, 12, 0, 385, 12, - 0, 224, 12, 0, 12, 0, 385, 63, 0, 224, - 63, 0, 0, 65, 383, 384, 0, 100, 0, 253, - 0, 387, 0, 389, 382, 0, 386, 388, 0, 386, - 391, 0, 386, 391, 65, 253, 0, 385, 60, 0, - 224, 60, 0, 226, 222, 0, 229, 222, 0, 231, - 222, 0, 226, 329, 0, 226, 0, 228, 308, 0, - 389, 0, 389, 382, 0, 387, 0, 224, 0, 0, - 0, 308, 0, 0, 62, 93, 394, 108, 0, 62, - 48, 0, 224, 0, 393, 0, 394, 60, 393, 0, - 0, 81, 298, 395, 0, 71, 298, 395, 0, 324, - 298, 395, 0, 42, 0, 396, 81, 0, 396, 82, - 0, 396, 83, 0, 396, 79, 0, 396, 80, 0, - 396, 71, 0, 396, 69, 0, 396, 70, 0, 396, - 89, 0, 396, 60, 0, 396, 74, 0, 396, 75, - 0, 396, 76, 0, 396, 73, 0, 396, 64, 0, - 396, 65, 0, 396, 77, 0, 396, 78, 0, 396, - 87, 0, 396, 88, 0, 396, 68, 0, 396, 67, - 0, 396, 110, 0, 396, 66, 63, 0, 396, 72, - 0, 396, 91, 0, 396, 84, 0, 396, 48, 0, - 396, 94, 111, 0, 396, 40, 0, 396, 39, 0, - 396, 40, 94, 111, 0, 396, 39, 94, 111, 0, - 396, 370, 395, 0, 396, 1, 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 433, 436, 444, 447, 448, 452, 454, 457, 462, 466, - 472, 476, 480, 484, 487, 489, 491, 494, 496, 499, - 502, 504, 506, 508, 510, 511, 513, 514, 518, 521, - 530, 533, 535, 539, 542, 544, 548, 551, 563, 570, - 578, 580, 581, 583, 587, 590, 596, 599, 601, 606, - 609, 613, 616, 619, 622, 626, 631, 641, 643, 645, - 647, 649, 662, 665, 669, 672, 674, 676, 679, 682, - 686, 688, 690, 692, 697, 699, 701, 703, 705, 706, - 713, 714, 715, 718, 721, 725, 727, 728, 731, 733, - 736, 739, 741, 745, 748, 750, 754, 756, 758, 762, - 764, 766, 770, 772, 774, 780, 785, 788, 791, 794, - 799, 802, 804, 806, 812, 821, 824, 826, 828, 831, - 833, 838, 847, 850, 852, 856, 866, 882, 888, 893, - 904, 907, 914, 922, 924, 927, 929, 932, 934, 937, - 941, 943, 944, 945, 946, 949, 951, 952, 955, 957, - 958, 961, 966, 966, 970, 970, 973, 973, 976, 976, - 980, 980, 985, 985, 988, 988, 991, 993, 996, 1003, - 1007, 1010, 1013, 1015, 1019, 1025, 1034, 1036, 1044, 1047, - 1050, 1053, 1057, 1060, 1066, 1069, 1072, 1074, 1076, 1078, - 1082, 1085, 1088, 1093, 1097, 1102, 1106, 1109, 1110, 1114, - 1131, 1137, 1140, 1142, 1143, 1144, 1147, 1151, 1152, 1156, - 1160, 1163, 1165, 1169, 1172, 1175, 1179, 1182, 1184, 1186, - 1188, 1191, 1195, 1197, 1200, 1202, 1208, 1211, 1214, 1217, - 1220, 1225, 1228, 1231, 1235, 1237, 1241, 1245, 1247, 1249, - 1254, 1257, 1262, 1265, 1267, 1275, 1288, 1293, 1299, 1301, - 1303, 1316, 1319, 1321, 1323, 1325, 1327, 1329, 1331, 1333, - 1335, 1337, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1353, - 1355, 1357, 1359, 1363, 1365, 1367, 1371, 1374, 1376, 1378, - 1380, 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, 1398, - 1400, 1402, 1404, 1406, 1408, 1410, 1412, 1416, 1418, 1420, - 1424, 1427, 1429, 1430, 1431, 1432, 1433, 1436, 1448, 1451, - 1455, 1458, 1460, 1465, 1467, 1468, 1471, 1473, 1481, 1483, - 1485, 1487, 1491, 1494, 1498, 1502, 1503, 1504, 1508, 1516, - 1517, 1518, 1528, 1530, 1533, 1535, 1546, 1551, 1553, 1555, - 1557, 1559, 1561, 1563, 1566, 1568, 1579, 1580, 1584, 1588, - 1592, 1596, 1598, 1602, 1604, 1606, 1614, 1616, 1618, 1620, - 1624, 1626, 1628, 1630, 1635, 1637, 1639, 1641, 1644, 1646, - 1648, 1692, 1695, 1699, 1702, 1706, 1709, 1714, 1716, 1720, - 1729, 1732, 1739, 1745, 1749, 1751, 1756, 1758, 1765, 1767, - 1771, 1775, 1781, 1785, 1788, 1792, 1795, 1805, 1808, 1812, - 1816, 1819, 1822, 1825, 1828, 1834, 1840, 1842, 1847, 1849, - 1867, 1870, 1875, 1880, 1888, 1890, 1903, 1907, 1910, 1913, - 1918, 1921, 1929, 1932, 1934, 1936, 1939, 1942, 1957, 1976, - 1979, 1981, 1984, 1986, 1990, 1992, 1996, 1998, 2002, 2005, - 2009, 2014, 2015, 2028, 2035, 2036, 2042, 2047, 2052, 2058, - 2059, 2066, 2069, 2073, 2076, 2080, 2085, 2088, 2092, 2095, - 2097, 2099, 2101, 2108, 2110, 2111, 2112, 2116, 2119, 2123, - 2126, 2132, 2134, 2137, 2140, 2143, 2149, 2152, 2155, 2157, - 2159, 2163, 2169, 2175, 2180, 2186, 2188, 2193, 2196, 2199, - 2201, 2203, 2207, 2211, 2216, 2219, 2224, 2227, 2230, 2236, - 2238, 2250, 2254, 2259, 2285, 2287, 2290, 2292, 2297, 2299, - 2301, 2303, 2305, 2307, 2311, 2319, 2322, 2324, 2328, 2335, - 2341, 2347, 2353, 2363, 2369, 2373, 2380, 2408, 2418, 2424, - 2427, 2430, 2432, 2436, 2438, 2442, 2445, 2449, 2457, 2460, - 2462, 2466, 2477, 2491, 2492, 2493, 2494, 2497, 2506, 2511, - 2517, 2519, 2524, 2526, 2528, 2530, 2532, 2534, 2537, 2547, - 2554, 2579, 2585, 2588, 2591, 2593, 2604, 2609, 2612, 2617, - 2620, 2627, 2637, 2640, 2647, 2657, 2659, 2662, 2664, 2667, - 2671, 2676, 2680, 2683, 2686, 2691, 2694, 2698, 2701, 2703, - 2707, 2709, 2716, 2718, 2721, 2724, 2729, 2733, 2738, 2748, - 2751, 2755, 2759, 2768, 2771, 2773, 2775, 2781, 2783, 2792, - 2795, 2797, 2799, 2801, 2805, 2808, 2811, 2813, 2815, 2817, - 2821, 2824, 2835, 2845, 2847, 2848, 2852, 2860, 2862, 2870, - 2873, 2875, 2877, 2879, 2883, 2886, 2889, 2891, 2893, 2895, - 2899, 2902, 2905, 2907, 2909, 2911, 2913, 2915, 2919, 2926, - 2930, 2935, 2939, 2944, 2946, 2950, 2953, 2955, 2959, 2961, - 2962, 2965, 2967, 2969, 2976, 2987, 2993, 2999, 3013, 3015, - 3019, 3033, 3035, 3037, 3041, 3047, 3060, 3063, 3068, 3081, - 3087, 3089, 3090, 3091, 3099, 3104, 3113, 3114, 3118, 3121, - 3127, 3133, 3136, 3138, 3140, 3142, 3146, 3150, 3154, 3157, - 3161, 3163, 3172, 3175, 3177, 3179, 3181, 3183, 3185, 3187, - 3189, 3193, 3197, 3201, 3205, 3207, 3209, 3211, 3213, 3215, - 3217, 3219, 3221, 3229, 3231, 3232, 3233, 3236, 3242, 3244, - 3249, 3251, 3254, 3267, 3270, 3273, 3277, 3280, 3287, 3289, - 3292, 3294, 3296, 3299, 3302, 3305, 3308, 3310, 3313, 3317, - 3319, 3325, 3327, 3328, 3330, 3335, 3337, 3339, 3341, 3343, - 3346, 3347, 3349, 3352, 3353, 3356, 3356, 3359, 3359, 3362, - 3362, 3364, 3366, 3368, 3370, 3376, 3382, 3384, 3387, 3390, - 3393, 3396, 3402, 3404, 3405, 3408, 3410, 3411, 3412, 3414, - 3417, 3420, 3423, 3429, 3433, 3435, 3438, 3440, 3443, 3447, - 3449, 3452, 3454, 3457, 3474, 3482, 3485, 3487, 3489, 3493, - 3496, 3497, 3505, 3508, 3511, 3514, 3515, 3521, 3524, 3527, - 3529, 3533, 3538, 3541, 3551, 3556, 3557, 3564, 3567, 3570, - 3572, 3575, 3577, 3587, 3601, 3605, 3608, 3610, 3614, 3618, - 3621, 3624, 3626, 3630, 3632, 3639, 3646, 3649, 3653, 3657, - 3661, 3667, 3671, 3676, 3678, 3681, 3686, 3692, 3703, 3706, - 3708, 3712, 3720, 3723, 3727, 3730, 3732, 3734, 3740, 3745, - 3748, 3750, 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3766, - 3768, 3770, 3772, 3774, 3776, 3778, 3780, 3782, 3784, 3786, - 3788, 3790, 3792, 3794, 3796, 3798, 3800, 3802, 3804, 3806, - 3808, 3810, 3813, 3815 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER", -"TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT", -"STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH", -"CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF", -"ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG", -"AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE", -"TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST", -"REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','", -"';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX", -"EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'", -"'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY", -"POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL", -"DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN", -"PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'", -"program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension", -"asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl", -"namespace_using_decl","using_directive","@6","namespace_qualifier","any_id", -"extern_lang_string","template_header","@7","template_parm_list","maybe_identifier", -"template_type_parm","template_template_parm","template_parm","template_def", -"template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init", -"eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1", -"component_constructor_declarator","fn.def2","return_id","return_init","base_init", -".set_base_init","member_init_list","member_init","identifier","notype_identifier", -"identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17", -"@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type", -"apparent_template_type","self_template_type",".finish_template_type","template_close_bracket", -"template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null", -"paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt", -"@21","nontrivial_exprlist","nonnull_exprlist","unary_expr","new_placement", -"new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas","expr_no_comma_rangle", -"notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id", -"expr_or_declarator_intern","expr_or_declarator","notype_template_declarator", -"direct_notype_declarator","primary","@22","new","delete","boolean.literal", -"string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id", -"typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs", -"reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls", -"nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0", -"notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute", -"attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init", -"init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again", -"pending_defargs","structsp","@26","@27","@28","@29","@30","maybecomma","maybecomma_warn", -"aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn", -"named_complex_class_head_sans_basetype","named_class_head","@31","unnamed_class_head", -"class_head","maybe_base_class_list","base_class_list","base_class","base_class.1", -"base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list", -"component_decl","component_decl_1","components","notype_components","component_declarator0", -"component_declarator","after_type_component_declarator0","notype_component_declarator0", -"after_type_component_declarator","notype_component_declarator","enumlist_opt", -"enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers", -"maybe_parmlist","after_type_declarator_intern","after_type_declarator","direct_after_type_declarator", -"nonnested_type","complete_type_name","nested_type","notype_declarator_intern", -"notype_declarator","complex_notype_declarator","complex_direct_notype_declarator", -"qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name", -"nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0", -"typename_sub1","typename_sub2","explicit_template_type","complex_type_name", -"ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl_intern", -"absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls", -"label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if", -"@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37", -"@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block", -"@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq", -"handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr", -"asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist", -"complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm", -"full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier", -"ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL -}; -#endif - -static const short yyr1[] = { 0, - 112, 112, 114, 113, 113, 115, 115, 116, 117, 118, - 119, 121, 120, 122, 122, 122, 122, 122, 122, 122, - 123, 122, 124, 122, 122, 122, 122, 122, 126, 125, - 127, 127, 127, 128, 128, 128, 130, 129, 131, 131, - 132, 132, 132, 132, 133, 133, 135, 134, 134, 136, - 136, 137, 137, 138, 138, 139, 140, 140, 140, 140, - 140, 140, 141, 141, 142, 142, 142, 142, 142, 142, - 143, 143, 143, 143, 144, 144, 144, 144, 144, 144, - 144, 144, 144, 145, 145, 146, 146, 146, 147, 147, - 148, 148, 148, 150, 149, 149, 151, 149, 149, 152, - 149, 149, 153, 149, 149, 154, 154, 154, 154, 154, - 155, 155, 155, 155, 156, 156, 156, 156, 156, 156, - 156, 157, 158, 158, 158, 159, 160, 161, 161, 161, - 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 163, 163, 163, 163, 163, 164, 164, 164, 165, 165, - 165, 167, 166, 168, 166, 169, 166, 170, 166, 171, - 166, 172, 166, 173, 166, 174, 166, 175, 176, 177, - 177, 177, 178, 178, 179, 180, 181, 181, 182, 182, - 183, 183, 184, 184, 184, 185, 185, 185, 185, 185, - 186, 186, 187, 187, 188, 188, 189, 189, 189, 191, - 190, 190, 192, 192, 192, 192, 194, 193, 193, 195, - 195, 195, 195, 196, 196, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 198, 198, 199, 199, 199, 199, 200, 200, 201, 201, - 201, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 204, 204, 204, 204, 204, 204, 204, 205, 206, 206, - 207, 207, 207, 208, 208, 208, 209, 209, 210, 210, - 210, 210, 211, 211, 212, 212, 212, 212, 213, 213, - 213, 213, 213, 213, 213, 214, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 215, 215, 216, 216, 217, 217, 218, 218, 219, - 220, 220, 221, 221, 221, 221, 221, 221, 222, 222, - 223, 223, 224, 224, 224, 224, 224, 225, 225, 226, - 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, - 228, 228, 228, 228, 228, 228, 229, 229, 229, 229, - 230, 230, 231, 231, 231, 231, 231, 231, 231, 232, - 232, 232, 233, 233, 234, 234, 235, 235, 236, 236, - 238, 237, 237, 240, 239, 239, 241, 242, 244, 243, - 243, 245, 245, 246, 246, 247, 248, 248, 249, 249, - 249, 249, 249, 250, 250, 250, 250, 251, 251, 252, - 252, 253, 253, 253, 253, 253, 254, 254, 254, 254, - 254, 255, 256, 256, 256, 257, 257, 258, 258, 259, - 259, 259, 261, 260, 262, 260, 260, 260, 260, 263, - 264, 265, 260, 260, 266, 266, 267, 267, 268, 268, - 268, 268, 268, 268, 269, 270, 270, 270, 271, 271, - 271, 271, 271, 272, 273, 272, 272, 274, 275, 275, - 276, 276, 276, 277, 277, 278, 278, 279, 279, 280, - 280, 280, 280, 281, 281, 281, 281, 282, 283, 283, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 285, 285, 285, 285, 285, 285, 285, 285, 285, 286, - 286, 286, 287, 287, 287, 288, 288, 289, 289, 290, - 290, 291, 291, 291, 291, 292, 292, 293, 293, 293, - 294, 294, 295, 295, 296, 296, 297, 297, 297, 298, - 298, 299, 299, 300, 300, 300, 300, 301, 301, 302, - 302, 302, 302, 302, 302, 303, 303, 303, 303, 303, - 303, 304, 304, 305, 305, 305, 306, 307, 307, 308, - 308, 308, 308, 308, 308, 309, 309, 309, 309, 309, - 309, 310, 310, 310, 310, 310, 310, 310, 310, 311, - 311, 312, 312, 313, 313, 314, 314, 314, 315, 315, - 315, 316, 316, 316, 317, 317, 317, 317, 318, 318, - 319, 319, 319, 319, 320, 320, 320, 320, 321, 321, - 321, 321, 321, 321, 322, 323, 323, 323, 324, 324, - 325, 326, 326, 326, 326, 326, 326, 326, 327, 327, - 328, 328, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 330, 330, 330, 330, 330, 330, 330, - 330, 330, 330, 331, 331, 331, 331, 332, 333, 333, - 334, 334, 335, 336, 336, 338, 337, 340, 341, 339, - 342, 343, 342, 344, 344, 345, 345, 346, 345, 345, - 347, 348, 345, 349, 350, 345, 351, 352, 353, 354, - 345, 355, 356, 345, 357, 345, 358, 345, 359, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 361, 362, 360, 364, 365, 363, 366, 366, 368, 369, - 367, 370, 370, 371, 371, 372, 372, 372, 372, 373, - 373, 373, 374, 374, 375, 375, 375, 376, 376, 377, - 377, 378, 379, 379, 380, 380, 380, 381, 381, 381, - 381, 381, 381, 381, 383, 382, 384, 384, 385, 385, - 385, 385, 385, 386, 386, 387, 387, 387, 387, 387, - 387, 388, 388, 389, 389, 390, 391, 391, 392, 392, - 392, 393, 394, 394, 395, 395, 395, 395, 396, 397, - 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, - 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, - 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, - 397, 397, 397, 397 -}; - -static const short yyr2[] = { 0, - 0, 1, 0, 2, 2, 1, 0, 0, 0, 1, - 1, 0, 2, 2, 1, 1, 5, 4, 5, 4, - 0, 6, 0, 5, 1, 2, 1, 2, 0, 6, - 2, 3, 3, 3, 3, 4, 0, 5, 2, 3, - 1, 1, 2, 2, 1, 2, 0, 5, 3, 1, - 3, 1, 0, 2, 2, 3, 1, 3, 1, 3, - 1, 3, 2, 2, 2, 1, 1, 5, 4, 2, - 2, 3, 3, 2, 2, 3, 3, 2, 2, 2, - 2, 2, 1, 1, 1, 0, 1, 2, 0, 1, - 4, 3, 3, 0, 8, 5, 0, 9, 6, 0, - 8, 5, 0, 9, 6, 2, 2, 1, 2, 1, - 6, 4, 6, 4, 2, 1, 2, 2, 1, 2, - 1, 2, 2, 4, 2, 3, 0, 0, 1, 3, - 2, 3, 1, 4, 2, 4, 2, 4, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 6, 0, 6, 0, 5, 0, 5, 0, - 7, 0, 7, 0, 6, 0, 6, 0, 0, 5, - 5, 1, 1, 5, 5, 0, 1, 1, 0, 1, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 3, 0, 1, 1, 0, - 7, 1, 1, 3, 4, 3, 0, 3, 1, 3, - 3, 3, 3, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 2, 4, 2, 4, 2, 3, 3, 4, - 4, 5, 5, 6, 2, 4, 5, 2, 2, 6, - 3, 3, 3, 1, 3, 2, 3, 4, 1, 2, - 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 3, 3, 1, 2, 1, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 3, 3, 1, 2, - 3, 3, 1, 1, 1, 1, 1, 0, 5, 5, - 5, 5, 5, 1, 1, 1, 1, 2, 1, 2, - 2, 3, 4, 4, 1, 1, 1, 3, 1, 1, - 1, 1, 3, 3, 3, 0, 4, 4, 2, 4, - 2, 4, 2, 2, 1, 4, 1, 7, 7, 7, - 7, 4, 4, 2, 2, 2, 1, 4, 2, 2, - 5, 3, 2, 2, 5, 3, 5, 3, 4, 6, - 2, 1, 2, 1, 2, 1, 1, 1, 2, 0, - 2, 2, 3, 3, 3, 2, 2, 2, 1, 1, - 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, - 2, 3, 3, 3, 4, 1, 2, 2, 2, 1, - 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, - 1, 2, 1, 1, 1, 4, 4, 4, 4, 1, - 1, 1, 1, 3, 1, 3, 1, 3, 0, 4, - 0, 6, 3, 0, 4, 1, 3, 3, 0, 4, - 3, 0, 1, 1, 2, 6, 1, 3, 0, 1, - 4, 6, 4, 1, 1, 1, 1, 1, 3, 0, - 2, 1, 2, 3, 4, 1, 1, 3, 4, 3, - 5, 1, 4, 3, 3, 0, 3, 3, 3, 0, - 2, 2, 0, 6, 0, 5, 2, 2, 2, 0, - 0, 0, 10, 1, 0, 1, 0, 1, 1, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, - 3, 2, 3, 1, 0, 3, 2, 2, 1, 1, - 0, 2, 3, 1, 4, 1, 3, 1, 1, 2, - 2, 3, 3, 0, 1, 3, 2, 2, 1, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 2, 3, - 2, 2, 4, 4, 2, 1, 5, 4, 1, 0, - 1, 3, 0, 1, 3, 1, 1, 1, 1, 4, - 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, - 2, 1, 1, 3, 1, 3, 2, 1, 6, 0, - 2, 1, 2, 3, 3, 1, 3, 1, 2, 3, - 3, 2, 2, 3, 1, 4, 4, 3, 3, 2, - 1, 1, 2, 1, 1, 2, 2, 1, 2, 3, - 3, 2, 2, 3, 1, 3, 3, 2, 2, 3, - 1, 4, 3, 4, 3, 1, 2, 2, 2, 2, - 2, 2, 2, 1, 2, 4, 4, 2, 1, 1, - 1, 1, 2, 4, 2, 2, 2, 2, 1, 2, - 2, 2, 2, 3, 1, 2, 3, 4, 2, 2, - 2, 2, 2, 2, 4, 2, 1, 2, 2, 3, - 1, 3, 2, 3, 2, 2, 3, 1, 3, 4, - 1, 2, 3, 2, 2, 1, 3, 2, 2, 1, - 2, 3, 1, 3, 6, 4, 4, 3, 5, 3, - 3, 3, 2, 1, 1, 2, 2, 2, 0, 1, - 1, 2, 3, 1, 2, 0, 3, 0, 0, 5, - 1, 0, 2, 1, 1, 1, 2, 0, 4, 1, - 0, 0, 5, 0, 0, 7, 0, 0, 0, 0, - 12, 0, 0, 7, 0, 5, 0, 7, 0, 4, - 2, 2, 2, 3, 6, 8, 10, 8, 12, 10, - 10, 4, 3, 2, 2, 1, 1, 1, 1, 1, - 0, 0, 6, 0, 0, 5, 1, 2, 0, 0, - 5, 1, 1, 3, 3, 2, 2, 2, 2, 2, - 1, 2, 0, 1, 0, 1, 1, 0, 1, 1, - 3, 4, 1, 3, 0, 1, 1, 1, 2, 2, - 2, 1, 2, 2, 0, 3, 1, 1, 1, 2, - 2, 2, 4, 2, 2, 2, 2, 2, 2, 1, - 2, 1, 2, 1, 1, 0, 0, 1, 0, 4, - 2, 1, 1, 3, 0, 3, 3, 3, 1, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 2, 2, 2, 2, 3, 2, 2, - 4, 4, 3, 2 -}; - -static const short yydefact[] = { 3, - 12, 12, 5, 0, 4, 0, 305, 659, 660, 0, - 412, 424, 602, 0, 11, 0, 0, 0, 10, 509, - 869, 0, 0, 0, 168, 691, 306, 307, 83, 0, - 0, 856, 0, 45, 0, 0, 13, 25, 0, 27, - 8, 0, 16, 15, 89, 110, 86, 0, 661, 172, - 326, 303, 327, 635, 0, 399, 0, 398, 417, 0, - 437, 416, 454, 423, 0, 524, 525, 531, 530, 529, - 504, 411, 624, 425, 625, 108, 325, 646, 622, 0, - 662, 600, 0, 0, 304, 81, 82, 179, 665, 179, - 666, 179, 308, 168, 141, 142, 143, 144, 145, 495, - 497, 0, 687, 0, 498, 0, 0, 0, 0, 142, - 143, 144, 145, 23, 0, 0, 0, 0, 0, 0, - 0, 499, 669, 0, 675, 0, 0, 0, 37, 0, - 0, 31, 0, 0, 47, 0, 179, 667, 0, 0, - 0, 633, 628, 0, 0, 0, 632, 0, 0, 0, - 0, 326, 0, 317, 0, 0, 0, 325, 600, 28, - 0, 26, 3, 46, 0, 64, 412, 0, 0, 8, - 67, 63, 66, 89, 0, 0, 0, 423, 90, 14, - 0, 452, 0, 0, 470, 87, 79, 668, 606, 0, - 0, 600, 80, 0, 0, 0, 106, 0, 433, 389, - 615, 390, 621, 0, 600, 414, 413, 78, 109, 400, - 0, 435, 415, 107, 406, 430, 431, 401, 419, 421, - 410, 432, 0, 75, 455, 510, 511, 512, 513, 528, - 150, 149, 151, 515, 516, 173, 522, 514, 0, 0, - 517, 518, 531, 856, 527, 500, 603, 418, 0, 449, - 660, 0, 689, 172, 652, 653, 649, 627, 663, 0, - 305, 307, 648, 626, 647, 623, 0, 904, 900, 899, - 897, 879, 884, 885, 0, 891, 890, 876, 877, 875, - 894, 883, 880, 881, 882, 886, 887, 873, 874, 870, - 871, 872, 896, 888, 889, 878, 895, 0, 892, 802, - 417, 803, 865, 308, 602, 330, 378, 0, 0, 0, - 0, 0, 374, 372, 345, 376, 377, 0, 0, 0, - 0, 0, 306, 299, 0, 0, 187, 186, 0, 188, - 189, 0, 0, 190, 0, 0, 180, 181, 0, 249, - 0, 277, 185, 329, 216, 0, 0, 331, 332, 0, - 183, 396, 417, 397, 654, 357, 347, 0, 0, 0, - 0, 179, 0, 507, 493, 0, 688, 686, 275, 0, - 191, 252, 192, 0, 0, 0, 459, 3, 21, 29, - 683, 679, 680, 682, 684, 681, 141, 142, 143, 0, - 144, 145, 671, 672, 676, 673, 670, 0, 315, 316, - 314, 651, 650, 33, 32, 49, 0, 158, 0, 0, - 417, 156, 0, 0, 629, 631, 0, 630, 142, 143, - 301, 302, 321, 0, 639, 320, 0, 638, 0, 328, - 306, 307, 0, 0, 0, 319, 318, 643, 0, 0, - 12, 0, 168, 9, 9, 70, 0, 65, 0, 0, - 71, 74, 0, 451, 453, 122, 93, 127, 791, 0, - 85, 84, 92, 125, 0, 0, 123, 88, 0, 832, - 215, 0, 214, 827, 850, 0, 396, 417, 397, 0, - 826, 828, 857, 839, 0, 0, 645, 0, 0, 859, - 0, 0, 613, 608, 0, 612, 0, 0, 0, 0, - 0, 600, 452, 0, 77, 0, 600, 620, 0, 403, - 404, 0, 76, 452, 408, 407, 409, 402, 422, 439, - 438, 179, 519, 523, 521, 0, 526, 532, 0, 420, - 452, 600, 94, 0, 0, 0, 0, 600, 100, 601, - 634, 660, 690, 172, 0, 0, 893, 898, 419, 600, - 600, 0, 600, 0, 903, 179, 0, 0, 223, 0, - 225, 238, 239, 0, 0, 0, 0, 0, 0, 300, - 222, 219, 218, 220, 0, 0, 0, 0, 0, 329, - 0, 0, 0, 217, 177, 178, 323, 0, 221, 0, - 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 339, 0, 341, 343, 344, 382, 381, - 0, 0, 0, 0, 0, 227, 598, 0, 235, 379, - 371, 0, 0, 856, 360, 363, 364, 0, 0, 391, - 710, 706, 0, 0, 600, 600, 600, 393, 713, 0, - 658, 395, 0, 0, 394, 359, 0, 354, 373, 355, - 375, 655, 0, 356, 176, 176, 0, 166, 0, 417, - 164, 508, 595, 592, 0, 507, 593, 507, 0, 276, - 426, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 427, 428, 429, 465, 466, - 467, 464, 0, 457, 460, 0, 3, 0, 674, 179, - 677, 0, 41, 42, 0, 53, 0, 0, 57, 61, - 50, 855, 417, 53, 854, 59, 169, 154, 152, 169, - 176, 324, 637, 636, 328, 0, 640, 0, 18, 20, - 89, 9, 9, 73, 72, 0, 0, 380, 0, 736, - 91, 734, 476, 0, 472, 471, 0, 607, 604, 831, - 845, 834, 710, 706, 0, 846, 600, 849, 851, 0, - 0, 847, 0, 848, 605, 830, 844, 833, 829, 858, - 841, 852, 842, 835, 840, 644, 0, 658, 0, 642, - 609, 611, 610, 0, 0, 0, 0, 0, 0, 600, - 619, 0, 447, 446, 434, 618, 0, 859, 614, 405, - 436, 448, 452, 0, 520, 659, 660, 856, 856, 661, - 533, 534, 536, 856, 539, 538, 0, 566, 660, 0, - 557, 0, 0, 569, 0, 121, 116, 0, 172, 570, - 573, 0, 0, 549, 0, 119, 450, 859, 825, 179, - 179, 664, 179, 859, 825, 600, 97, 600, 103, 902, - 901, 865, 865, 865, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 335, 0, 333, - 334, 0, 247, 182, 305, 659, 660, 306, 307, 0, - 0, 477, 505, 0, 298, 297, 817, 816, 0, 295, - 294, 292, 293, 291, 290, 289, 287, 288, 285, 286, - 280, 281, 282, 283, 284, 278, 279, 0, 0, 0, - 0, 0, 0, 0, 229, 244, 0, 0, 228, 600, - 600, 0, 600, 597, 698, 0, 0, 0, 0, 0, - 362, 0, 366, 0, 368, 0, 0, 709, 708, 701, - 705, 704, 855, 416, 0, 0, 723, 0, 0, 859, - 392, 859, 711, 600, 825, 0, 710, 706, 0, 0, - 600, 0, 416, 0, 0, 0, 0, 171, 175, 309, - 169, 162, 160, 169, 0, 496, 508, 591, 0, 213, - 212, 211, 210, 274, 273, 0, 271, 270, 268, 269, - 267, 266, 265, 262, 263, 264, 260, 261, 255, 256, - 257, 258, 259, 253, 254, 459, 0, 0, 24, 0, - 0, 678, 0, 38, 44, 43, 55, 52, 53, 0, - 48, 0, 0, 54, 515, 0, 159, 169, 169, 157, - 170, 322, 17, 19, 69, 89, 440, 140, 146, 133, - 147, 148, 0, 126, 129, 0, 0, 0, 0, 735, - 729, 473, 0, 124, 0, 709, 705, 710, 706, 0, - 416, 622, 0, 600, 711, 0, 710, 706, 0, 329, - 0, 654, 0, 853, 0, 0, 861, 0, 0, 0, - 0, 444, 617, 616, 443, 176, 541, 540, 856, 856, - 856, 0, 600, 825, 565, 558, 570, 559, 452, 452, - 555, 556, 553, 554, 600, 825, 305, 659, 0, 439, - 117, 561, 571, 576, 577, 439, 439, 0, 0, 439, - 115, 562, 574, 439, 0, 452, 0, 550, 551, 552, - 452, 96, 0, 0, 0, 0, 102, 0, 859, 825, - 859, 825, 867, 866, 868, 310, 346, 224, 226, 0, - 352, 353, 0, 0, 0, 0, 334, 337, 0, 0, - 0, 0, 248, 0, 338, 340, 342, 242, 241, 231, - 0, 230, 246, 0, 0, 695, 693, 0, 696, 0, - 236, 0, 0, 179, 369, 0, 0, 0, 702, 707, - 703, 714, 600, 722, 720, 721, 712, 859, 0, 718, - 0, 0, 656, 657, 710, 706, 0, 358, 167, 169, - 169, 165, 596, 594, 494, 0, 458, 456, 305, 0, - 22, 30, 685, 56, 51, 58, 62, 60, 155, 153, - 68, 0, 131, 0, 135, 0, 137, 0, 139, 0, - 792, 0, 203, 737, 0, 730, 731, 0, 474, 0, - 709, 705, 710, 706, 0, 600, 627, 711, 0, 657, - 354, 355, 655, 356, 843, 837, 838, 836, 862, 863, - 0, 0, 0, 0, 0, 0, 441, 174, 0, 543, - 542, 537, 859, 0, 560, 470, 470, 859, 0, 0, - 0, 452, 452, 0, 452, 452, 0, 452, 0, 548, - 501, 0, 470, 600, 312, 311, 313, 600, 99, 0, - 105, 0, 0, 0, 0, 0, 0, 0, 480, 0, - 478, 251, 296, 0, 232, 233, 243, 245, 694, 692, - 699, 697, 0, 237, 0, 0, 361, 365, 367, 859, - 716, 600, 717, 163, 161, 272, 0, 461, 463, 132, - 130, 0, 0, 0, 0, 468, 0, 0, 305, 659, - 660, 738, 751, 754, 757, 762, 0, 0, 0, 0, - 0, 0, 0, 0, 306, 786, 794, 0, 813, 790, - 789, 788, 0, 746, 0, 0, 417, 0, 725, 744, - 750, 724, 745, 787, 0, 732, 475, 709, 705, 0, - 711, 334, 0, 860, 445, 0, 535, 112, 600, 564, - 568, 114, 600, 452, 452, 585, 470, 305, 659, 0, - 572, 578, 579, 439, 439, 470, 470, 0, 470, 575, - 490, 563, 859, 859, 600, 600, 240, 0, 0, 0, - 0, 479, 0, 0, 234, 700, 370, 311, 719, 859, - 0, 134, 136, 138, 799, 793, 797, 0, 733, 728, - 206, 806, 808, 809, 0, 0, 742, 0, 0, 0, - 769, 771, 772, 773, 0, 0, 0, 0, 0, 0, - 0, 807, 0, 388, 814, 0, 747, 386, 439, 0, - 387, 0, 439, 0, 0, 0, 204, 727, 726, 748, - 785, 784, 710, 706, 0, 0, 864, 442, 859, 859, - 584, 581, 583, 0, 0, 452, 452, 452, 580, 582, - 567, 0, 95, 101, 859, 859, 348, 349, 350, 351, - 481, 599, 715, 462, 0, 798, 469, 195, 0, 739, - 752, 741, 0, 0, 0, 0, 0, 765, 0, 774, - 0, 783, 39, 145, 34, 145, 0, 35, 795, 0, - 384, 385, 0, 0, 0, 383, 205, 742, 416, 111, - 113, 452, 452, 590, 470, 470, 492, 0, 491, 486, - 98, 104, 0, 800, 202, 0, 417, 0, 742, 0, - 755, 743, 729, 811, 758, 0, 0, 0, 0, 770, - 782, 40, 36, 0, 0, 749, 589, 587, 586, 588, - 0, 0, 503, 0, 0, 0, 196, 439, 740, 207, - 753, 209, 0, 812, 0, 810, 763, 767, 766, 796, - 818, 818, 0, 489, 488, 482, 86, 89, 804, 805, - 801, 452, 729, 193, 0, 0, 199, 0, 198, 742, - 0, 0, 0, 819, 820, 0, 775, 0, 487, 0, - 208, 0, 756, 759, 764, 768, 0, 0, 0, 0, - 0, 818, 0, 485, 0, 484, 200, 194, 0, 0, - 823, 0, 778, 821, 0, 0, 776, 483, 0, 0, - 822, 0, 0, 0, 0, 0, 201, 760, 824, 780, - 781, 0, 777, 0, 0, 761, 779, 0, 0, 0 -}; - -static const short yydefgoto[] = { 1728, - 441, 2, 442, 165, 750, 335, 181, 3, 4, 37, - 717, 378, 1400, 718, 844, 1401, 1402, 398, 1500, 722, - 41, 845, 407, 728, 1037, 729, 730, 731, 43, 172, - 173, 44, 460, 184, 180, 45, 46, 859, 1160, 865, - 1162, 47, 847, 848, 185, 186, 461, 757, 1064, 1065, - 673, 1066, 235, 48, 1049, 1048, 740, 737, 1231, 1230, - 994, 991, 136, 1047, 49, 237, 50, 988, 587, 336, - 337, 338, 339, 1403, 1666, 1560, 1668, 1606, 1709, 1264, - 1641, 1663, 371, 980, 340, 625, 939, 341, 372, 373, - 343, 344, 362, 52, 256, 723, 423, 154, 53, 54, - 345, 582, 346, 347, 348, 349, 462, 350, 1404, 520, - 646, 351, 1405, 56, 218, 476, 352, 219, 489, 220, - 198, 211, 60, 503, 521, 1426, 813, 1296, 199, 212, - 61, 531, 814, 62, 63, 713, 714, 715, 1377, 467, - 902, 903, 1657, 1658, 1633, 1599, 1542, 64, 678, 364, - 529, 1451, 1600, 1182, 674, 65, 66, 67, 68, 69, - 243, 70, 71, 245, 831, 832, 833, 834, 852, 1147, - 853, 854, 855, 1132, 1142, 1133, 1441, 1134, 1135, 1442, - 1443, 675, 676, 677, 626, 970, 354, 192, 501, 494, - 201, 73, 74, 75, 142, 143, 157, 77, 132, 355, - 356, 357, 79, 358, 81, 836, 123, 124, 125, 536, - 105, 82, 359, 944, 945, 965, 960, 649, 1408, 1409, - 1265, 1266, 1267, 761, 1410, 1071, 1411, 1485, 1609, 1563, - 1564, 1412, 1413, 1588, 1486, 1610, 1487, 1643, 1488, 1645, - 1699, 1724, 1489, 1670, 1619, 1671, 1569, 463, 758, 1375, - 1414, 1503, 1624, 1476, 1477, 1555, 1636, 1608, 1604, 1415, - 1615, 1506, 909, 1673, 1674, 1675, 1702, 480, 966, 795, - 1096, 1288, 482, 483, 484, 791, 485, 148, 793, 800, - 1290, 1291, 555, 84, 85 -}; - -static const short yypact[] = { 130, - 156,-32768,-32768, 4151,-32768, 94, 37, 244, 251, 159, - 182,-32768,-32768, 1746,-32768, 152, 246, 268,-32768,-32768, --32768, 1423, 1547, 2462, 321,-32768, 332, 360,-32768, 2363, - 2363,-32768, 3048,-32768, 4151, 327,-32768,-32768, 379,-32768, - 437, 4320,-32768,-32768, 416, 877, 520, 477, 534,-32768, --32768,-32768,-32768, 399, 2057,-32768, 5440,-32768, 1217, 676, --32768, 577,-32768,-32768, 2122, 710,-32768, 550,-32768,-32768, - 568, 6081,-32768,-32768,-32768, 985,-32768,-32768,-32768, 2423, --32768,-32768, 2053, 3983, 555,-32768,-32768, 11853,-32768, 11853, --32768, 11853,-32768,-32768,-32768, 244, 251, 332, 629,-32768, - 573, 534,-32768, 718,-32768, 279, 11944, 11944, 621,-32768, --32768,-32768,-32768,-32768, 596, 665, 476, 547, 656, 672, - 692,-32768,-32768, 1842,-32768, 984, 244, 251,-32768, 332, - 629,-32768, 1528, 2151, 684, 7804, 11853,-32768, 11853, 3494, - 3728,-32768,-32768, 3433, 3821, 3728,-32768, 1752, 4168, 4168, - 3048, 674, 679,-32768, 399, 735, 683, 687,-32768,-32768, - 799,-32768, 706,-32768, 4926,-32768,-32768, 321, 4517, 725, --32768,-32768,-32768, 416, 7212, 8001, 790, 765,-32768,-32768, - 740, 577, 832, 122, 292, 807,-32768,-32768,-32768, 6640, - 10259,-32768,-32768, 5804, 5804, 4260, 985, 854,-32768,-32768, - 418,-32768,-32768, 3515,-32768,-32768,-32768,-32768,-32768, 1217, - 883,-32768, 577, 985,-32768,-32768,-32768, 2653, 1217,-32768, - 577,-32768, 7212,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 795,-32768, 534,-32768, 577, 2016, 2029, --32768,-32768, 550,-32768,-32768,-32768,-32768, 1111, 279,-32768, - 308, 1084,-32768, 89,-32768,-32768,-32768,-32768,-32768, 5924, --32768, 629,-32768,-32768,-32768,-32768, 3662,-32768, 784, 794, --32768,-32768,-32768,-32768, 819,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 821,-32768,-32768, - 1111, 6081, 428,-32768, 802,-32768,-32768, 12673, 12764, 12855, - 12855, 843,-32768,-32768,-32768,-32768,-32768, 847, 879, 884, - 887, 889, 875, 12035, 2103, 12855,-32768,-32768, 12855,-32768, --32768, 12855, 9071,-32768, 12855, 426, 906,-32768, 12855,-32768, - 12126,-32768, 4315, 301, 2540, 2158, 12217,-32768, 957, 1025, --32768, 671, 2721, 5994,-32768, 304,-32768, 1741, 3385, 426, - 426, 11853, 7804, 780,-32768, 2103,-32768,-32768, 12309, 873, - 919,-32768, 12902, 886, 890, 896, 2166, 706,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 665, 476, 547, 2103, - 656, 672, 932, 692,-32768, 954,-32768, 458, 244, 251, --32768,-32768,-32768,-32768,-32768,-32768, 8150,-32768, 7212, 8596, - 1927,-32768, 426, 673,-32768,-32768, 4716,-32768, 940, 948, --32768,-32768,-32768, 3728,-32768,-32768, 3728,-32768, 917,-32768, --32768,-32768, 735, 735, 735,-32768,-32768,-32768, 5924, 99, - 923, 935,-32768,-32768,-32768,-32768, 7804,-32768, 885, 916, --32768,-32768, 799,-32768, 577,-32768,-32768,-32768,-32768, 112, --32768,-32768,-32768,-32768, 9622, 12309,-32768,-32768, 939,-32768, - 919, 941, 12902, 365, 1908, 8001, 1908, 4907, 3029, 964, --32768, 414, 7008, 975, 983, 802,-32768, 955, 312, 105, - 4574, 6322,-32768,-32768, 6322,-32768, 7110, 7110, 4260, 6833, - 969,-32768, 577, 7212,-32768, 10350,-32768,-32768, 7617, 2653, - 1217, 7212,-32768, 577,-32768,-32768, 577, 2653,-32768, 1038, --32768, 11853, 795,-32768,-32768, 2016,-32768, 1913, 4668, 1111, - 577,-32768,-32768, 994, 1003, 1024, 1006,-32768,-32768,-32768, --32768, 779,-32768, 320, 973, 980,-32768,-32768, 1111,-32768, --32768, 247,-32768, 576,-32768, 11853, 12309, 9071,-32768, 9071, --32768,-32768,-32768, 12309, 11944, 7023, 7023, 7023, 7023, 4315, --32768,-32768,-32768,-32768, 987, 12400, 12400, 9071, 990, 167, - 997, 1048, 1007,-32768,-32768,-32768,-32768, 11853,-32768, 9162, - 9071,-32768, 12035, 12035, 9713, 12035, 12035, 12035, 12035, 12035, - 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035, - 12035, 12035, 12035,-32768, 12309,-32768,-32768,-32768,-32768,-32768, - 12309, 12309, 12309, 11944, 4087, 404, 912, 10441,-32768,-32768, --32768, 1062, 1084, 1113, 388, 439, 482, 3832, 576,-32768, - 3192, 3192, 2277, 10532, 1030, 1076,-32768,-32768, 587, 11121, - 1867,-32768, 537, 279,-32768,-32768, 12309,-32768,-32768,-32768, --32768,-32768, 62, 555,-32768,-32768, 426,-32768, 7212, 2393, --32768,-32768, 1064,-32768, 1018, 1070,-32768, 780, 932, 12973, --32768, 9986, 10077, 12309, 12309, 9713, 12309, 12309, 12309, 12309, - 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309, - 12309, 12309, 12309, 12309, 12309,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 68,-32768, 1039, 1036, 706, 458, 1078, 11853, --32768, 1086,-32768,-32768, 2151, 1621, 1114, 188, 1087, 1088, --32768,-32768, 5097, 2122,-32768, 1090,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 1052, 1055,-32768, 1098,-32768,-32768, - 416,-32768,-32768,-32768,-32768, 100, 1634, 1101, 1048,-32768, --32768,-32768,-32768, 5217, 12973,-32768, 1061,-32768,-32768,-32768, --32768,-32768, 2405, 2405, 6302,-32768,-32768,-32768,-32768, 3515, - 2053,-32768, 11213,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 983, 1105,-32768,-32768,-32768, 11489, 1076, 507,-32768, --32768,-32768,-32768, 6322, 6322, 7865, 7865, 6833, 537,-32768, --32768, 7617,-32768, 1107,-32768,-32768, 1063, 105,-32768, 2653, --32768,-32768, 577, 1099,-32768, 476, 547,-32768,-32768, 692, - 1120,-32768,-32768, 293,-32768,-32768, 2293,-32768, 788, 1163, --32768, 12309, 5559,-32768, 5559, 131, 131, 349, 512, 2892, - 7219, 69, 4778,-32768, 201, 131,-32768, 105, 8523, 11853, - 11853,-32768, 11853, 105, 8523,-32768,-32768,-32768,-32768,-32768, --32768, 871, 871, 871, 1456, 426, 1079, 1081, 1082, 12928, - 1085, 1091, 1102, 2781, 1116, 1125, 1126,-32768, 1095,-32768, --32768, 1096,-32768,-32768, 1133, 544, 750, 503, 269, 12309, - 1143,-32768, 1151, 1104, 4315, 4315,-32768,-32768, 1150, 3219, - 7860, 8164, 6898, 4606, 3237, 3082, 1926, 1926, 2626, 2626, - 976, 976, 488, 488, 488,-32768,-32768, 1108, 1119, 1121, - 1124, 1127, 1134, 7023, 404,-32768, 9622, 12309,-32768,-32768, --32768, 12309,-32768,-32768, 1135, 12855, 1130, 1156, 1172, 1205, --32768, 12309,-32768, 12309,-32768, 12309, 1274, 6023,-32768,-32768, - 6023,-32768, 80, 1274, 1147, 1149,-32768, 1148, 7023, 105, --32768, 105, 6189,-32768, 8523, 10623, 11305, 11305, 4425, 1154, - 12126, 1157, 3127, 4839, 3385, 1721, 1160,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 12309,-32768, 2103,-32768, 1171,-32768, - 12973,-32768, 12973, 12973, 12973, 1206, 8800, 5600, 10647, 5869, - 6344, 5132, 6543, 3109, 3109, 3109, 2965, 2965, 1295, 1295, - 900, 900, 900,-32768,-32768, 2166, 1164, 12491,-32768, 1178, - 1220,-32768, 426,-32768,-32768,-32768,-32768,-32768, 2264, 8150, --32768, 7023, 11853,-32768, 898, 12035,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 416,-32768,-32768, 665,-32768, - 656, 672, 12309, 1228,-32768, 521, 543, 564, 1048,-32768, - 85,-32768, 169,-32768, 3322, 3446, 3446, 3602, 3602, 6302, - 3799, 374, 3515,-32768, 4986, 6548, 11397, 11397, 8885, 412, - 1182, 575, 2260,-32768, 9622, 9256,-32768, 7023, 1302, 1302, - 3172,-32768,-32768,-32768, 1229,-32768,-32768,-32768,-32768,-32768, --32768, 2024,-32768, 8523, 12973,-32768, 1891,-32768, 577, 577, --32768,-32768,-32768,-32768,-32768, 8523, 711, 754, 12309, 1038, --32768, 1233,-32768,-32768,-32768, 184, 217, 2423, 3821, 375, - 131, 1235,-32768, 508, 1237, 577, 5688,-32768,-32768,-32768, - 577,-32768, 1188, 426, 426, 426,-32768, 1194, 105, 8523, - 105, 8523,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 7023, --32768,-32768, 1210, 1211, 1221, 1222, 1052,-32768, 8601, 9622, - 9349, 1201,-32768, 12035,-32768,-32768,-32768,-32768,-32768, 605, - 1212,-32768,-32768, 1216, 177, 535, 535, 1208, 535, 12309, --32768, 12855, 1317, 11853,-32768, 1226, 1227, 1231,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 105, 1232,-32768, - 1225, 3127,-32768,-32768, 5346, 5346, 6785,-32768,-32768,-32768, --32768,-32768, 12973,-32768,-32768, 12309,-32768,-32768, 206, 1236, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 4315,-32768,-32768, --32768, 1239,-32768, 1051,-32768, 12309,-32768, 12309,-32768, 12309, --32768, 2103,-32768,-32768, 6439, 1304,-32768, 9440,-32768, 3799, - 3446, 3446, 5457, 5457, 6903,-32768, 597, 4986, 1250, 208, - 599, 610, 660, 287,-32768,-32768,-32768,-32768,-32768,-32768, - 207, 5338, 5338, 2861, 2861, 9622,-32768,-32768, 1913,-32768, --32768,-32768, 105, 1256,-32768, 1276, 1276, 105, 1264, 12309, - 12309, 8398, 577, 3329, 577, 577, 6719, 577, 5329,-32768, --32768, 5811, 1276,-32768,-32768, 1288,-32768,-32768,-32768, 1266, --32768, 1273, 1277, 12309, 12309, 12309, 12309, 9622,-32768, 1319, --32768,-32768, 4315, 12309,-32768, 605,-32768,-32768,-32768,-32768, --32768,-32768, 1275,-32768, 1340, 426,-32768,-32768,-32768, 105, --32768,-32768,-32768,-32768,-32768, 12973, 12309,-32768,-32768,-32768, --32768, 1284, 1290, 1298, 1307,-32768, 931, 213, 1345, 810, - 856,-32768,-32768,-32768,-32768,-32768, 12309, 1346, 1349, 1351, - 11580, 606, 2103, 756, 715,-32768,-32768, 11671, 1404,-32768, --32768,-32768, 1354,-32768, 7438, 7610, 8259, 7367,-32768,-32768, - 1400,-32768,-32768,-32768, 10732,-32768,-32768, 7824, 7824, 537, - 7970, 664, 7023,-32768,-32768, 9622,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 8398, 8398,-32768, 1276, 745, 858, 12309, --32768,-32768,-32768, 1038, 1038, 1276, 1276, 779, 1276,-32768, --32768,-32768, 105, 105,-32768,-32768,-32768, 1312, 1313, 1315, - 1323,-32768, 9622, 1314,-32768,-32768,-32768,-32768,-32768, 105, - 1325,-32768,-32768,-32768,-32768, 1307,-32768, 2103,-32768,-32768, --32768,-32768,-32768,-32768, 580, 580, 1048, 1342, 1343, 7648, --32768,-32768,-32768,-32768, 1376, 12309, 1379, 1377, 1389, 2306, - 2334,-32768, 1048,-32768,-32768, 1357,-32768,-32768, 1038, 958, --32768, 961, 1038, 11762, 974, 242,-32768,-32768,-32768,-32768, --32768,-32768, 8040, 8040, 8353, 2506,-32768,-32768, 105, 105, --32768,-32768,-32768, 12309, 12309, 8398, 577, 577,-32768,-32768, --32768, 8690,-32768,-32768, 105, 105,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 1358,-32768,-32768,-32768, 11944,-32768, --32768,-32768, 1439, 11028, 8980, 11944, 12309,-32768, 10840,-32768, - 1396,-32768,-32768, 1403,-32768, 1389, 2306,-32768,-32768, 799, --32768,-32768, 12582, 12582, 9531,-32768,-32768, 1048, 2506,-32768, --32768, 8398, 8398,-32768, 1276, 1276,-32768, 10168,-32768,-32768, --32768,-32768, 8536,-32768,-32768, 1355, 111, 7212, 1048, 10934, --32768,-32768, 85,-32768,-32768, 1398, 1356, 12951, 10840,-32768, --32768,-32768,-32768, 1307, 87,-32768,-32768,-32768,-32768,-32768, - 1360, 8749, 1369, 1366, 1367, 1048,-32768, 1038,-32768,-32768, --32768,-32768, 593,-32768, 9804,-32768,-32768,-32768,-32768, 1307, - 1472, 1472, 1424,-32768,-32768,-32768, 520, 416,-32768,-32768, --32768, 577, 85,-32768, 12309, 1429,-32768, 1440,-32768, 1048, - 10840, 1391, 622, 1443,-32768, 186,-32768, 163,-32768, 1435, --32768, 1394,-32768,-32768,-32768,-32768, 12309, 799, 1445, 1472, - 799, 1472, 1447,-32768, 112,-32768,-32768,-32768, 9895, 1401, - 957, 261,-32768,-32768, 270, 662,-32768,-32768, 9622, 1402, --32768, 799, 1451, 1457, 799, 1459,-32768,-32768, 957,-32768, --32768, 281,-32768, 10934, 1461,-32768,-32768, 1517, 1523,-32768 -}; - -static const short yypgoto[] = {-32768, - 1524,-32768, -331, 1359, -380, -1, 9, 1525,-32768, 1491, --32768,-32768, 415,-32768, 513,-32768, 515,-32768, 29, 817, - 52, 22,-32768,-32768, -663,-32768,-32768, 498, 54, 1371, - 1106, 1378, -751, -111, -169, 10, 48,-32768,-32768,-32768, --32768,-32768, 705,-32768,-32768,-32768,-32768,-32768,-32768, 305, - -2,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 1464, -704, 7613, 1332, 67, -617, -159, -42, - 1433, -548,-32768, 1258,-32768, 88,-32768, -1440,-32768, -1497, - -148,-32768, 1731, 516, -266,-32768, -873, 7436, 5570, 6893, - 1442, 4981, 1280, -334, -55, -73, 203, -121, -70, 197, --32768,-32768,-32768, -345,-32768, -146,-32768,-32768, -1308, -54, - -337, 2771, 41, 1118, -140, 47, 96, -202, -4, -65, - -171, -167, 31, -44, 185,-32768, -387,-32768,-32768,-32768, --32768,-32768, 552, 1297, 171,-32768, 554,-32768,-32768, -998, - -436, 828,-32768,-32768,-32768,-32768,-32768, -20,-32768,-32768, --32768,-32768,-32768,-32768, 920, -384,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1352,-32768, 298, 491,-32768,-32768,-32768, - 453, -776,-32768,-32768,-32768,-32768,-32768,-32768, 759,-32768, - 294, 936,-32768, 625, 998, 1680, 24, 1428, 1940, 1344, --32768, -511,-32768, 23, 1697, 1173, -131, 408, -101, 5492, - 1281,-32768, 6698, 2501, 2878, -17, -102,-32768, 1508, -52, --32768, 6046, 3777, -351,-32768, 2483, -61,-32768,-32768, 225, --32768,-32768, 370, -53, -369,-32768,-32768,-32768,-32768, -1473, --32768, -1306, -1471,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, -38,-32768,-32768, --32768,-32768,-32768, 20, -1391,-32768,-32768, -57,-32768,-32768, --32768,-32768, -656, -1465,-32768, -45, -1546, -577, -109, 855, --32768,-32768,-32768,-32768, -396,-32768, -386, -186,-32768, 380, - 223,-32768, -418,-32768, -196 -}; - - -#define YYLAST 13058 - - -static const short yytable[] = { 59, - 197, 182, 35, 449, 448, 122, 1069, 511, 450, 257, - 735, 101, 36, 661, 440, 651, 835, 425, 428, 115, - 736, 178, 734, 397, 660, 42, 303, 72, 766, 1006, - 59, 250, 405, 35, 437, 1050, 103, 59, 222, 894, - 169, 559, 561, 36, 55, 530, 716, 360, 989, 361, - 57, 174, 210, 141, 146, 537, 42, 528, 72, 403, - 404, 1192, 234, 42, 751, 72, 1116, 248, 1118, 510, - 1044, 396, 177, 257, 592, 55, 1148, 402, 518, 301, - 481, 57, 175, 353, 1556, 353, 735, 353, 176, 1504, - 762, 770, 1612, 170, 413, 171, 792, 630, 549, 58, - 313, 1519, 353, 353, 209, 264, 1145, 302, 1522, 630, - 630, 88, 759, 540, 1626, 1644, 26, 1262, 216, 217, - 197, 393, 457, 1051, 14, 1617, 822, 1026, 367, -1, - 58, 411, 353, 257, 353, 1639, 538, 58, 1642, 771, - 651, 1651, 772, 857, 1705, 421, 254, 20, 178, 1652, - 549, 798, 516, 519, 86, -2, 23, 15, 640, 72, - 59, -439, 664, 1694, 59, 1681, 799, 169, 1722, 514, - 760, 210, 424, 427, 445, 1027, 409, 1146, 174, 300, - -380, 539, 410, 408, 458, 478, 1676, 893, 72, 222, - 42, -439, 72, 1263, 1653, -439, 1685, 222, 222, 177, - 665, 666, 87, 797, 1669, 55, 748, 1057, -389, 175, - 15, 57, 892, 479, 614, 176, 459, 492, 495, -328, - 170, -380, 171, 209, 640, 458, 1706, 222, 1268, 155, - 94, 58, 225, 93, -328, 153, 523, 525, -328, -439, - 1691, -390, -389, 15, 107, 1067, -389, 1040, 1692, 535, - 127, 128, 1642, 741, 742, -328, 1614, 459, 1556, 615, - 58, 1149, 1620, 1041, 58, 1367, 1423, -328, -328, 797, - -328, 264, -328, 1480, -319, -390, 636, 1269, -389, -390, - 222, 1153, 8, 9, 1348, 477, 1229, 1158, 627, 1232, - 648, 652, 655, 1693, 635, 366, 724, 248, 89, 1110, - -328, -328, 1480, 130, 131, 91, 756, 1430, 1431, 1150, - 225, -390, 1649, 1368, 1424, -328, 1345, 661, 90, 667, - 1712, 1481, 571, 138, 1452, 92, 225, 253, 353, 1712, - 1111, -145, 222, 544, -304, 130, 131, 719, 108, 464, - 1712, 301, 1039, 1249, 1250, 155, 155, 155, 614, 248, - 1587, 656, 426, 429, 738, 532, 465, 353, 670, 640, - 109, 304, 91, 679, 1686, 425, 428, 868, 1713, 302, - 820, 1055, 1056, 1121, 712, 1244, 770, 1714, 437, -304, - -304, 264, 92, 225, 466, 1030, 72, 679, 1725, 1070, - 222, 225, 155, 615, -304, 135, 657, 1219, 153, -120, - 533, 15, 733, 669, 797, 210, 137, 1122, 225, 410, - 668, 1123, 869, 778, 138, 648, 652, 655, 38, 161, - 776, -621, 782, 784, 771, 786, 178, 772, 727, -855, - 479, 127, 128, -120, 139, 951, 537, -120, 1533, 162, - 158, 300, 59, 1124, 516, 519, 189, 1539, 1540, 38, - 1541, 936, 516, 1163, 1164, 1165, 753, 222, 58, -326, - 261, 399, 400, 10, 519, 189, -621, -621, 937, -120, - 72, 210, 1465, 787, 248, 823, 788, 177, 733, 824, - 952, -621, 26, 519, 130, 131, 953, 175, 1298, 222, - 222, 190, 191, 176, 1247, 163, 938, 222, 550, 21, - 1193, 585, 477, 586, -326, -326, 479, 990, 551, 222, - 190, 506, 26, 876, 27, 262, 39, 353, 40, -319, - 804, 805, 179, 825, 59, 1364, 1365, 843, 222, 955, - 382, 954, -118, 164, 15, 581, 1304, 187, 127, 128, - 8, 9, 58, 540, 183, 1148, 32, 39, 1309, 40, - 90, 353, 72, 353, 1097, 353, 158, 158, 158, 1125, - 353, 884, 884, 884, 884, -144, -118, 627, 1255, 850, - -118, 612, 613, 353, 956, 851, 846, 137, 477, 127, - 128, 1054, 1330, 353, 1332, 366, 353, 901, 188, 26, - 1257, 130, 131, 130, 131, 849, 1629, 1630, 89, 1098, - 835, 383, -118, 158, 1126, 940, -142, 18, 95, 110, - 111, 1259, 244, 1256, 992, 941, 724, 253, 90, 353, - 301, 92, -646, 1036, 58, 225, 246, 1558, 942, 304, - 949, 365, 130, 131, 974, 1258, 426, 746, 733, 661, - 1664, 1107, 1108, 735, -620, 478, -305, 1112, 302, 222, - 660, 1035, 936, 736, 379, 734, 1260, -303, 1285, 1287, - 380, 225, 112, 113, 958, 961, 479, -646, -646, 937, - 225, 652, 1559, 479, 127, 128, 264, 1033, 784, 975, - 976, 549, -646, 138, 1688, 1665, 1496, 225, 815, -620, - -620, -305, -305, 155, 155, 155, 821, 938, 1344, 1261, - 426, 429, -303, -303, -620, 472, -305, -647, 122, 257, - 384, -328, 222, 377, 592, 353, 1166, -303, 640, 381, - 300, 8, 9, 1038, 1715, 26, 385, 130, 131, 1689, - 137, 1045, 588, 454, 397, 223, 224, 261, 477, 1068, - 10, 641, 1067, 1339, 1341, 477, 386, 661, 585, 481, - 586, 642, -647, -647, 516, 481, -328, -328, 1282, 406, - 581, 901, 581, 643, 644, 18, 366, -647, 241, 1716, - 733, -322, 242, 1310, 130, 131, 21, 1502, 478, 426, - 889, -319, 95, 110, 111, 88, 430, 835, 664, 137, - 438, 431, 432, 581, -641, 1131, 1076, 1077, 479, 222, - 129, 1119, 1120, 264, 91, 433, 479, 1534, 89, 307, - 26, 1151, -143, 1499, -7, 434, 1311, 1154, 1155, 88, - 1156, 164, 652, 32, 92, 452, 866, 435, 90, 1099, - 1100, 1341, 453, 91, 456, 1113, 112, 113, 59, 672, - 59, 843, 91, 843, 1349, 1350, 210, 1352, 59, 223, - 451, 843, 982, 92, 733, 353, 353, 798, 353, 1425, - 733, 437, 92, 222, 89, 481, 72, 468, 72, 522, - 477, 867, 1483, 1243, 127, 128, 72, 545, 477, 540, - 1114, 547, 479, 850, 90, 1117, 1251, 546, 479, 851, - 846, 851, 846, 850, 557, 1209, 1284, 1130, 1140, 851, - 846, 1462, 1209, 15, 158, 158, 158, -439, 1616, 849, - 91, 849, 89, 504, 505, 127, 128, 849, 1484, 849, - 1535, 1209, 1299, 1300, 1301, 26, 1695, 130, 131, 884, - 92, 548, 90, 1195, -184, 564, -439, -439, 58, 565, - 58, 550, 512, 513, 504, 754, 425, 428, 58, 137, - -184, 551, -184, 566, 477, 425, 428, -52, 567, 437, - 477, 568, -52, 569, 884, 588, 26, 630, 130, 131, - 733, 155, 522, -52, 478, 512, 755, 153, 682, 155, - 681, 767, 940, 704, 705, 1091, 116, 117, 118, 1528, - 1478, 1479, 941, 706, 1325, 1326, 1327, 707, 479, 982, - 958, 961, 479, 708, 481, 942, 720, 264, 721, 426, - 746, 15, 257, 1209, 90, -439, 481, 504, 1581, 1209, - 512, 1582, 92, 712, 745, 631, 1551, 261, 399, 400, - 10, -6, 632, 504, 1586, 733, 1038, 884, 353, -854, - 119, 120, 1710, 749, -439, -439, 768, 794, 769, -439, - 481, 1058, 481, 1059, 826, 827, 609, 610, 611, 612, - 613, 727, 1131, 479, 15, 796, 21, 257, 860, 798, - 477, 785, 877, 633, 477, 733, 811, 861, 862, 26, - 863, 27, 262, 870, 478, 1313, 95, 110, 111, 534, - 871, 1315, 1316, 884, 888, 1313, 1318, 890, 1060, 1316, - 437, 1271, 1272, 479, 891, 26, 760, 1061, 1062, 733, - 1271, 1272, 479, 634, 893, 264, 948, 1562, 216, 217, - 950, 733, 969, 971, 14, 21, 996, 225, 995, 997, - 928, 1028, 1032, 1579, 225, 477, 929, 479, 931, 932, - 112, 113, 59, 1063, 1029, 843, 1034, 20, 437, 479, - 20, 1042, 1043, 225, 1046, 733, 23, 733, 1053, -322, - 1209, 1356, 1052, 458, 1130, 884, 127, 128, 1074, 1095, - 72, 1102, 987, 1103, 1106, 477, 76, 1173, 1340, 1109, - 426, 889, 158, 479, 477, 479, 1167, 850, 1168, 1169, - 158, 1174, 1171, 851, 846, -141, 1468, 1104, 1172, 353, - 1175, 1176, 1177, 1178, 254, 1180, 735, 76, 1209, 477, - 1181, 1183, 1184, 849, 76, 1185, 1635, 26, 1562, 130, - 131, 477, 733, 215, 216, 217, 1186, 202, 1200, 214, - 14, 1187, 1188, 1510, 1189, 1515, 1068, 1152, 1512, 1562, - 1202, 1190, 58, 1157, 1203, 225, 1204, 18, 958, 961, - 479, 225, 1205, 20, 1212, 477, 1213, 477, 1214, 1376, - 1407, 1223, 23, 1398, 1224, 1340, 1661, 1228, 1236, 798, - 733, 1238, 1717, 1399, 155, 155, 155, 127, 128, 1235, - 1242, 426, 429, 155, 155, 155, 1241, 1254, 72, 1280, - 426, 1279, 1314, 1297, 1319, 1324, 1418, 1419, 479, 1320, - 1562, 1328, 1334, 1335, 18, 8, 9, 475, 412, 1342, - 247, 1406, 415, 1336, 1337, 1099, 1100, 59, 1351, 1346, - 843, 640, 477, 1347, 1355, 762, 140, 140, 26, 156, - 130, 131, 18, 1357, 1358, 1363, 1262, 76, 1359, 1362, - 465, 76, -685, 1369, 641, 72, 1370, 202, 214, 1215, - 1509, 1216, 1509, 213, 642, 221, 26, 1422, 130, 131, - 58, 238, 850, 1429, 370, 375, 643, 644, 851, 846, - 477, 1433, 1292, 1455, 1105, 701, 702, 703, 704, 705, - 1456, 1463, 1293, 544, 1457, 1466, 222, 1467, 849, 1497, - 1498, 1472, 225, 1407, 1294, 202, 1398, 1473, 200, 1537, - 1538, 210, 1475, 1407, 549, 1474, 1398, 1482, 1491, 1492, - 1407, 1493, 1505, 1398, 1507, 1520, 1399, 58, 884, 1547, - 1548, 72, 1549, 1399, 1552, 95, 110, 111, 426, 746, - 1550, 72, 1554, 1625, 1565, 1566, 1570, 140, 72, 1572, - 225, 380, 140, 1573, 1406, 156, 156, 156, 488, 1580, - 1603, 425, 428, 1194, 1406, 1611, 1621, 1622, 1646, 127, - 128, 1406, 1637, 1647, 1209, 225, 1654, 1206, 514, 1207, - 1656, 1208, 213, 1659, 1660, 1557, 426, 746, 455, 112, - 113, 114, 1672, 1687, 1677, 158, 158, 158, 1679, 1683, - 491, 491, 500, 58, 158, 158, 158, 1575, 1578, 1697, - 1684, 1698, 1690, 58, 366, 1703, 221, 1707, 1711, 1718, - 58, 1720, 130, 131, 517, 221, 1729, 1721, 200, 1723, - 733, 1727, 1730, 1, 475, 160, 5, 1209, 447, 1577, - 261, 399, 400, 10, 1031, 671, 543, 1245, 1329, 446, - 1331, 1701, 444, 1240, 1701, 1678, 1418, 1419, 479, 116, - 117, 118, 752, 1638, 1607, 1141, 140, 363, 1371, 1407, - 1407, 1607, 1398, 1398, 1407, 1719, 200, 1398, 1701, 21, - 524, 414, 1399, 1561, 1623, 1726, 252, 1399, 1252, 1237, - 353, 202, 302, 556, 27, 262, 222, 72, 72, 302, - 579, 1073, 72, 1662, 527, 998, 1427, 1361, 733, 1322, - 475, 26, 1302, 119, 120, 1407, 804, 805, 1398, 1143, - 1406, 1406, 1450, 999, 1407, 1406, 32, 1398, 1399, 76, - 477, 1234, 935, 387, 388, 389, 479, 1399, 507, 156, - 637, 395, 1518, 72, 1058, 1416, 1059, 826, 827, 1696, - 1607, 1708, 72, 1650, 1704, 1527, 1094, 202, 779, 202, - 202, 0, 0, 0, 300, 790, 1406, 0, 0, 58, - 58, 300, 0, 415, 58, 1406, 1407, 0, 302, 1398, - 1306, 1307, 0, 0, 0, 26, 202, 391, 392, 1399, - 0, 1060, 1428, 0, 202, 0, 0, 1432, 26, 0, - 1061, 1062, -128, -128, 72, 0, 225, 1321, 477, 0, - 0, 856, 1323, 0, 0, 58, 213, 221, 0, 0, - 155, 0, 0, 0, 58, 0, 1091, 1406, 0, 1407, - 140, 0, 1398, 140, 8, 9, 1063, 147, 0, 156, - 156, 156, 1399, 0, 0, 140, 0, 0, 0, 1469, - 300, 0, 0, 261, 8, 9, 10, 72, 95, 96, - 97, 0, 200, 0, 95, 419, 420, 0, 0, 225, - 475, 260, 0, 817, 0, 570, 58, 475, 0, 366, - 1406, 1372, 213, 1373, 221, 1374, 0, 130, 131, 155, - 155, 155, 21, 0, 0, 0, 426, 1279, 491, 252, - 0, 491, 0, 500, 500, 500, 0, 27, 262, 455, - 26, 543, 98, 99, 100, 491, 517, 221, 98, 113, - 455, 0, 0, 0, 517, 579, 0, 579, 200, 58, - 200, 200, 881, 0, 0, 0, 0, 455, 0, 32, - 0, 0, 1543, 1544, 801, 579, 0, 416, 439, 0, - 0, 202, 418, 801, 387, 388, 389, 200, 579, 1553, - 0, 0, 908, 0, 156, 200, 156, 0, 0, 0, - 0, 0, 0, 1436, 1437, 0, 1446, 1447, 0, 1449, - 0, 490, 156, 156, 156, -600, 0, 0, -600, 930, - 0, 0, 1471, 0, 509, 947, 0, 156, 0, 0, - 390, 147, 475, 1127, 1128, 9, 10, 0, 391, 392, - 475, 968, 0, 0, 0, 202, 0, 0, 1590, 1591, - 7, 8, 9, 10, 971, 116, 826, 827, 0, 828, - 471, 158, 0, 0, 1601, 1602, -600, 0, -600, -600, - 0, -600, 21, 215, 216, 217, 0, 957, 957, 964, - 14, 0, -600, 908, -600, 26, 983, 27, 28, 21, - 829, 1305, 0, 1129, 0, 640, 541, 18, 0, -600, - -600, 194, 26, 20, 27, 28, 221, 26, 0, 119, - 120, 195, 23, 0, -600, 0, 475, 0, 773, 32, - 0, 0, 475, 196, 0, 1531, 1532, 739, 774, 0, - 158, 158, 158, 0, 0, 0, 32, 0, 0, 0, - 775, 644, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 0, 200, 0, 0, 856, 0, 856, 95, 96, - 97, 0, 1137, 1144, 0, 856, 116, 826, 827, 221, - 238, 95, 96, 97, 905, 906, 0, 910, 911, 912, - 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, - 923, 924, 925, 926, 927, 261, 8, 9, 10, 7, - 8, 9, 10, 0, 366, 0, 0, 0, 0, 1075, - 1075, 1081, 98, 99, 0, 0, 200, 0, 26, 1081, - 119, 120, 0, 0, 0, 98, 99, 1594, 1595, 1596, - 0, 0, 475, 156, 21, 0, 475, 0, 21, 0, - 491, 491, 500, 500, 500, 95, 110, 111, 491, 27, - 262, 26, 0, 27, 28, 0, 517, 193, 0, 455, - 743, 0, 0, 744, 95, 96, 97, 194, 226, 227, - 228, 0, 0, 493, 496, 747, 0, 195, 0, 0, - 0, 32, 0, 1627, 1628, 32, 0, 213, 0, 196, - 0, 0, 18, 261, 399, 400, 10, 475, 229, 112, - 113, 8, 9, 0, 0, 12, 13, 0, 95, 110, - 111, 14, 709, 710, 711, 0, 26, 0, 98, 99, - 230, 812, 0, 0, 0, 16, 818, 17, 416, 0, - 0, 418, 21, 1136, 20, 0, 471, 475, 0, 1198, - 0, 0, 0, 23, 0, 541, 475, 27, 262, 0, - 0, 858, 26, 1680, 130, 131, 623, 864, 0, 0, - 0, 0, 112, 113, 231, 232, 233, 0, 0, 872, - 873, 475, 874, 1221, 0, 0, 579, 0, 0, 32, - 0, 0, 0, 475, 0, 0, 0, 415, 0, 0, - 624, 0, 0, 0, 957, 0, 0, 957, 0, 0, - 0, 0, 1281, 8, 9, 10, 95, 110, 111, 957, - 226, 227, 228, 1222, 1222, 983, 0, 475, 0, 475, - 8, 9, 0, 167, 12, 13, 0, 471, 470, 1137, - 14, 0, 0, 0, 18, 116, 826, 827, 313, 659, - 229, 21, 0, 0, 16, 0, 17, 18, 95, 110, - 111, 0, 0, 20, 26, 0, 27, 262, 0, 856, - 112, 113, 23, 0, 640, 972, 973, 0, 0, 0, - 972, 26, 0, 130, 131, 238, 95, 110, 111, 0, - 0, 0, 0, 0, 475, 471, 579, 641, 32, 119, - 120, 471, 0, 471, 471, 0, 0, 642, 0, 0, - 0, 0, 112, 1574, 0, 7, 127, 128, 10, 643, - 644, 13, 1075, 1075, 1270, 1270, 1081, 0, 0, 0, - 471, 1075, 0, 1270, 1270, 1081, 0, 471, 0, 0, - 112, 1576, 475, 18, 0, 1295, 1295, 1295, 0, 215, - 216, 217, 0, 0, 21, 0, 14, 7, 8, 9, - 10, 0, 0, 13, 0, 455, 455, 26, 801, 27, - 28, 0, 0, 18, 801, 7, 8, 251, 10, 20, - 0, 802, 0, 30, 803, 18, 493, 496, 23, 0, - 0, 0, 455, 31, 0, 0, 21, 455, 819, 0, - 0, 32, 640, 993, 0, 33, 1085, 1353, 0, 26, - 1136, 27, 28, 0, 21, 127, 128, 0, 0, 0, - 147, 252, 0, 0, 0, 773, 0, 0, 0, 27, - 28, 0, 0, 0, 0, 774, 1445, 1248, 0, 1101, - 0, 1445, 0, 32, 856, 0, 0, 775, 644, 0, - 743, 744, 0, 253, 80, 0, 129, 0, 747, 8, - 9, 32, 0, 471, 104, 0, 26, 0, 130, 131, - 0, 1222, 1222, 983, 133, 0, 0, 471, 0, 0, - 144, 144, 0, 144, 0, 80, 18, 0, 0, 0, - 0, 0, 80, 0, 0, 1159, 0, 1161, 0, 0, - 0, 0, 0, 640, 0, 204, 0, 80, 0, 0, - 26, 0, 130, 131, 0, 239, 0, 1075, 1075, 1270, - 1270, 1081, 104, 0, 1075, 0, 1523, 202, 1513, 202, - 0, 0, 0, 267, 104, 0, 1524, 616, 1295, 1295, - 1295, 1458, 1459, 1460, 1461, 0, 0, 0, 1525, 644, - 0, 1464, 0, 0, 0, 0, 104, 0, 455, 455, - 0, 455, 455, 801, 455, 0, 0, 0, 0, 1196, - 1197, 0, 1199, 0, 0, 1343, 617, 618, 0, 0, - 619, 620, 621, 622, 133, 0, 80, 0, 801, 0, - 144, 144, 475, 0, 0, 417, 144, 0, 1495, 144, - 144, 144, 0, 1218, 0, 0, 0, 1444, 0, 515, - 216, 217, 0, 0, 0, 80, 14, 0, 471, 80, - 0, 0, 0, 0, 0, 204, 80, 0, 0, 0, - 0, 0, 471, 18, 471, 0, 471, 0, 0, 20, - 0, 0, 0, 0, 204, 204, 204, 0, 23, 0, - 0, 0, 213, 221, 607, 608, 609, 610, 611, 612, - 613, 0, 493, 496, 1526, 1526, 0, 1526, 0, 0, - 475, 0, 0, 204, 127, 128, 0, 0, 216, 217, - 455, 455, 0, 0, 14, 0, 0, 0, 0, 0, - 526, 0, 0, 802, 803, 493, 496, 0, 200, 104, - 200, 819, 0, 1571, 0, 0, 0, 20, 471, 0, - 144, 0, 0, 1278, 0, 0, 23, 0, 640, 0, - 0, 0, 416, 418, 0, 26, 0, 130, 131, 0, - 202, 541, 0, 0, 127, 128, 0, 0, 216, 217, - 0, 641, 1303, 471, 14, 0, 0, 0, 0, 0, - 0, 642, 104, 552, 1308, 0, 0, 0, 0, 0, - 500, 0, 0, 650, 644, 0, 1605, 20, 0, 1526, - 1526, 1589, 908, 1605, 0, 0, 23, 0, 640, 0, - 0, 0, 455, 455, 455, 26, 0, 130, 131, 0, - 0, 0, 579, 0, 0, 0, 104, 0, 0, 0, - 638, 641, 552, 552, 653, 0, 0, 0, 0, 0, - 0, 642, 0, 80, 8, 9, 0, 0, 0, 801, - 0, 0, 0, 643, 644, 0, 0, 374, 376, 500, - 500, 500, 0, 0, 0, 0, 0, 0, 455, 455, - 0, 18, 1360, 0, 1127, 1128, 9, 10, 133, 0, - 0, 0, 1605, 0, 0, 0, 0, 104, 0, 204, - 104, 0, 0, 0, 0, 26, 0, 130, 131, 0, - 0, 0, 1682, 0, 144, 0, 0, 144, 0, 0, - 0, 1292, 801, 21, 0, 0, 0, 0, 0, 144, - 0, 1293, 0, 0, 1700, 0, 26, 80, 27, 28, - 0, 200, 0, 1294, 1129, 1421, 908, 259, 455, 0, - 474, 0, 194, 0, 0, 0, 0, 743, 744, 0, - 0, 0, 195, 0, 747, 204, 780, 204, 204, 653, - 32, 259, 0, 780, 196, 0, 471, 0, 471, 0, - 471, 204, 204, 0, 0, 204, 0, 204, 204, 204, - 809, 0, 0, 1453, 204, 0, 0, 1454, 0, 204, - 259, 0, 204, 0, 0, 802, 803, 493, 496, 0, - 0, 259, 0, 0, 819, 0, 493, 496, 0, 80, - 0, -411, 8, 9, -411, -411, 12, 247, 802, 803, - 819, 1470, 14, 699, 700, 701, 702, 703, 704, 705, - 7, 127, 128, 10, 875, 0, 16, 0, 17, -411, - 0, 0, 0, 0, 0, 20, 104, 104, 104, 104, - -411, 0, 0, 0, 23, 0, 640, 0, 18, 0, - 0, 259, 0, 26, 0, 130, 131, 0, 0, 21, - 0, 0, 0, 0, 0, 0, 0, 471, 0, 641, - 0, 0, 26, 583, 27, 28, 0, 0, 1529, 642, - 0, 0, 1530, 0, 0, 0, 259, -411, 149, 0, - 0, 643, 644, 959, 962, 104, 0, 552, 150, 261, - 127, 128, 10, 0, 1545, 1546, 32, 0, 0, 638, - 151, 552, 552, 653, 259, 0, 0, 0, 0, 0, - 984, 0, 0, 0, 986, 603, 604, 18, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 0, 21, 204, - 0, 0, 0, 0, 640, 8, 9, 732, 0, 0, - 540, 26, 0, 27, 262, 697, 698, 699, 700, 701, - 702, 703, 704, 705, 0, 127, 128, 1225, 0, 0, - 13, 0, 18, 0, 0, 0, 0, 1226, 0, 0, - 802, 803, 493, 496, 0, 32, 0, 819, 133, 1227, - 644, 0, 18, 0, 0, 133, 26, 0, 130, 131, - 0, 493, 496, 204, 239, 259, 0, 0, 0, 640, - 0, 0, 1292, 0, 471, 0, 26, 0, 130, 131, - 0, 0, 1293, 732, 0, 959, 962, 0, 0, 0, - 0, 0, 641, 0, 1294, 0, 0, 0, 0, 0, - 0, 0, 642, 204, 204, 1083, 0, 0, 0, 0, - 0, 1086, 0, 1083, 643, 644, 597, 598, 599, 600, - 601, 602, 603, 604, 259, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 204, 204, 809, 809, 809, 602, - 603, 604, 204, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 0, 0, 7, 8, 9, 10, 878, 0, - 879, 1438, 1439, 9, 10, 882, 883, 885, 886, 887, - 133, 0, 0, 80, 0, 80, 0, 0, 583, 0, - 1138, 80, 18, 80, 0, 0, 0, 802, 803, 104, - 819, 904, 0, 21, 0, 104, 0, 0, 0, 640, - 21, 0, 552, 552, 552, 0, 26, 0, 27, 28, - 0, 0, 0, 26, 552, 27, 28, 658, 8, 9, - 10, 1440, 773, 0, 933, 0, 0, 0, 0, 194, - 0, 0, 774, 259, 0, 0, 0, 0, 0, 195, - 32, 0, 0, 963, 775, 644, 0, 32, 0, 0, - 963, 196, 0, 313, 659, 0, 21, 0, 0, 259, - 0, 0, 0, 0, 104, 7, 127, 128, 10, 26, - 1210, 130, 131, 1211, 0, 0, 0, 0, 7, 8, - 9, 10, 0, 0, 247, 1217, 0, 552, 552, 959, - 962, 552, 493, 496, 552, 0, 0, 0, 0, 104, - 0, 0, 0, 552, 21, 104, 18, 984, 984, 984, - 0, 252, 0, 552, 0, 1086, 0, 21, 0, 27, - 28, 0, 0, 640, 0, 0, 7, 127, 128, 10, - 26, 0, 27, 28, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 259, 773, 7, 8, 9, - 10, 32, 493, 496, 18, 0, 774, 0, 0, 0, - 259, 0, 0, 0, 32, 21, 0, 0, 775, 644, - 104, 0, 104, 0, 0, 963, 0, 0, 26, 0, - 27, 28, 0, 963, 0, 0, 21, 0, 1210, 1211, - 959, 962, 0, 252, 30, 0, 0, 1217, 0, 959, - 962, 27, 28, 0, 31, 204, 204, 204, 204, 204, - 1083, 809, 32, 0, 0, 204, 33, 1083, 1083, 1083, - 0, 0, 0, 1086, 0, 253, 0, 0, 104, 809, - 809, 809, 0, 32, 7, 8, 9, 10, 0, 0, - 13, 0, 0, 0, 104, 0, 0, 1138, 0, 0, - 0, 0, 0, 0, 0, 0, 104, 0, 0, 474, - 0, 0, 18, 0, 0, 474, 0, 0, 0, 1317, - 0, 0, 0, 21, 0, 0, 0, 80, 0, 640, - 0, 0, 0, 0, 0, 0, 26, 259, 27, 28, - 104, 0, 104, 0, 261, 8, 542, 10, 0, 0, - 104, 0, 1078, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1079, 0, 0, 0, 259, 0, 0, 0, - 32, 0, 0, 0, 1080, 644, 552, 552, 0, 552, - 0, 0, 0, 21, 1191, 0, 0, 959, 962, 0, - 252, 0, 0, 0, 0, 0, 0, 0, 27, 262, - 0, 0, 552, 0, 0, 552, 552, 653, 0, 0, - 7, 127, 128, 10, 0, 0, 247, 0, 0, 904, - 0, 0, 543, 0, 0, 474, 0, 0, 0, 963, - 32, 0, 259, 1210, 1211, 959, 962, 0, 18, 0, - 1217, 0, 0, 0, 0, 0, 0, 0, 0, 21, - 809, 204, 204, 809, 809, 1420, 0, 0, 204, 0, - 83, 0, 26, 0, 27, 28, 0, 0, 0, 0, - 106, 0, 809, 809, 809, 809, 0, 0, 30, 126, - 134, 261, 8, 9, 10, 0, 145, 145, 31, 145, - 732, 83, 1246, 0, 204, 0, 32, 0, 83, 144, - 33, 0, 80, 261, 127, 128, 10, 0, 0, 18, - 0, 145, 0, 83, 261, 127, 128, 10, 0, 0, - 21, 240, 0, 0, 0, 0, 640, 0, 249, 0, - 963, 0, 0, 26, 0, 27, 262, 0, 0, 963, - 249, 259, 21, 259, 0, 0, 0, 0, 1289, 1273, - 0, 0, 0, 21, 0, 0, 0, 27, 262, 1274, - 252, 0, 0, 0, 474, 0, 0, 32, 27, 262, - 0, 1275, 644, 0, 0, 0, 474, 0, 0, 0, - 1210, 1211, 0, 1217, 0, 204, 780, 204, 0, 32, - 0, 0, 83, 0, 0, 0, 145, 145, 809, 809, - 32, 809, 145, 104, 0, 145, 145, 145, 0, 0, - 474, 0, 474, 0, 0, 0, 0, 0, 0, 0, - 1333, 83, 0, 0, 0, 83, 0, 0, 0, 0, - 0, 145, 83, 0, 0, 0, 0, 0, 0, 0, - 259, 0, 0, 259, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 0, 8, 9, 0, 0, - 12, 13, 0, 0, 0, 0, 14, 963, 0, 145, - 0, 0, 0, 0, 0, 959, 962, 0, 0, 0, - 16, 0, 17, 0, 1083, 259, 0, 0, 0, 20, - 0, 269, 270, 809, 809, 1420, 809, 0, 23, 0, - 271, 0, 0, 0, 0, 0, 145, 26, 0, 130, - 131, 0, 272, 0, 0, 963, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, - 295, 296, 0, 297, 0, 0, 298, 0, 249, 554, - 0, 0, 0, 1083, 1083, 1083, 0, 0, 0, 809, - 8, 9, 299, 0, 12, 13, 0, 0, 0, 0, - 14, 0, 0, 104, 0, 0, 0, 0, 204, 0, - 0, 0, 0, 0, 16, 0, 17, 0, 0, 0, - 0, 0, 249, 20, 0, 0, 639, 0, 554, 554, - 654, 0, 23, 0, 0, 663, 0, 0, 0, 83, - 0, 26, 0, 130, 131, 0, 0, 0, 0, 0, - 0, 6, 0, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, - 7, 127, 128, 10, 725, 0, 13, 15, 16, 934, - 17, 18, 19, 249, 0, 145, 249, 20, 0, 0, - 0, 0, 21, 1289, 259, 22, 23, 24, 18, 25, - 145, 0, 0, 145, 0, 26, 0, 27, 28, 21, - 0, 29, 0, 0, 0, 145, 0, 0, 0, 0, - 0, 30, 26, 83, 27, 28, 0, 0, 0, 0, - 0, 31, 0, 0, 0, 0, 0, 0, 149, 32, - 0, 0, 0, 33, 0, 0, 0, 34, 150, 0, - 0, 145, 781, 145, 145, 654, 32, 0, 0, 781, - 151, 0, 7, 8, 9, 10, 0, 145, 145, 0, - 0, 145, 0, 145, 145, 145, 554, 0, 0, 0, - 145, 0, 0, 0, 0, 145, 0, 0, 145, 0, - 18, 0, 0, 0, 0, 963, 0, 259, 0, 0, - 0, 21, 0, 0, 837, 83, 0, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 27, 28, 0, 0, - 166, 0, 7, 8, 9, 10, 167, 12, 13, 0, - 497, 0, 0, 14, 0, 0, 0, 0, 0, 0, - 498, 0, 249, 249, 249, 249, 0, 16, 32, 17, - 18, 19, 499, 0, 0, 583, 20, 0, 0, 0, - 0, 21, 0, 0, 0, 23, 0, 0, 168, 0, - 0, 0, 0, 732, 26, 0, 27, 28, 593, 594, - 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, - 30, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 31, 249, 0, 554, 0, 0, 0, 0, 32, 0, - 0, 0, 33, 0, 0, 0, 34, 554, 554, 654, - 0, 0, 0, 0, 0, 575, 985, 261, 8, 9, - 10, 167, 12, 305, 306, 307, 470, 308, 14, 663, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, - 0, 0, 16, 309, 17, 18, 19, 0, 310, 311, - 312, 20, 0, 313, 314, 315, 21, 316, 317, 0, - 23, 0, 640, 0, 318, 319, 320, 321, 322, 26, - 0, 27, 262, -336, 0, 0, 369, 0, 0, 0, - 0, 0, 325, 0, 725, 977, 0, 0, 0, 0, - 0, 0, 126, 327, 328, 978, 0, 0, 0, 145, - 240, 330, 331, 332, 0, 0, 0, 979, 644, 7, - 8, 9, 10, 167, 12, 13, 0, 0, 0, 0, - 14, 0, 0, 837, 334, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 0, 17, 18, 19, 145, - 145, 781, 0, 20, 0, 0, 0, 0, 21, 1093, - 0, 0, 23, 0, 0, 168, 0, 0, 0, 0, - 0, 26, 0, 27, 28, 0, 7, 8, 9, 10, - 145, 145, 554, 554, 554, 0, 0, 30, 145, 0, - 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, - 0, 0, 0, 0, 18, 32, 0, 0, 0, 33, - 0, 0, 0, 34, 0, 21, 134, 0, 0, 83, - 0, 83, 0, 0, 0, 0, 1139, 83, 26, 83, - 27, 28, 0, 0, 0, 249, 0, 0, 0, 0, - 0, 249, 0, 0, 194, 0, 0, 0, 554, 554, - 554, 0, 0, 0, 195, 0, 0, 0, 0, 0, - 554, 0, 32, 0, 0, 0, 196, 0, 838, 0, - 7, 8, 839, 10, 167, 12, 13, 601, 602, 603, - 604, 14, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 0, 0, 0, 0, 16, 0, 17, 18, 19, - 0, 0, 0, 0, 20, -544, 0, 0, 0, 21, - 249, 0, 0, 23, 840, 0, 168, 0, 261, 127, - 128, 10, 26, 0, 27, 28, 0, 0, 841, 0, - 842, 0, 0, 554, 554, 0, 0, 554, 30, 0, - 554, 0, 0, 0, 0, 249, 0, 0, 31, 554, - 0, 249, 0, 985, 985, 985, 32, 21, 0, 554, - 33, 663, 0, 0, 252, 0, 0, 0, 0, 0, - 0, 0, 27, 262, 0, 0, -544, 0, 838, 0, - 7, 8, 839, 10, 167, 12, 13, 0, 0, 0, - 0, 14, 0, 0, 0, 0, 543, 0, 0, 0, - 0, 0, 0, 0, 32, 16, 0, 17, 18, 19, - 0, 0, 0, 0, 20, -545, 249, 0, 249, 21, - 0, 0, 0, 23, 840, 0, 168, 0, 0, 0, - 0, 0, 26, 0, 27, 28, 0, 0, 841, 0, - 842, 261, 8, 9, 10, 0, 0, 0, 30, 0, - 0, 145, 145, 145, 145, 145, 781, 554, 31, 0, - 0, 145, 0, 1093, 1093, 1093, 32, 0, 0, 663, - 33, 0, 0, 0, 249, 554, 554, 554, 0, 0, - 21, 0, 0, 0, 0, 0, -545, 252, 837, 0, - 249, 0, 0, 1139, 0, 27, 262, 0, 0, 0, - 0, 0, 249, 0, 0, 0, 0, 0, 0, 7, - 8, 9, 10, 215, 216, 217, 0, 0, 0, 253, - 14, 0, 0, 83, 0, 0, 6, 32, 7, 8, - 9, 10, 11, 12, 13, 0, 249, 18, 249, 14, - 0, 0, 0, 20, 0, 0, 249, 0, 21, 0, - 0, 0, 23, 16, 640, 17, 18, 0, 0, 0, - 0, 26, 20, 27, 28, 0, 0, 21, 0, 0, - 0, 23, 554, 554, 443, 554, 0, 773, 0, 0, - 26, 0, 27, 28, 51, 0, 29, 774, 7, 8, - 9, 10, 0, 0, 540, 32, 30, 0, 554, 783, - 644, 554, 554, 654, 0, 0, 31, 0, 0, 0, - 51, 51, 0, 152, 32, 51, 18, 0, 33, 0, - 0, 0, 51, 0, 0, 0, 0, 21, 0, 0, - 837, 0, 0, 640, 0, 51, 0, 51, 0, 0, - 26, 0, 27, 28, 0, 0, 554, 145, 145, 554, - 554, 654, 0, 0, 145, 0, 773, 0, 0, 0, - 255, 0, 0, 263, 0, 0, 774, 0, 554, 554, - 554, 554, 0, 0, 32, 837, 0, 0, 775, 644, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 0, 0, 0, 0, 145, 0, 0, 83, 7, - 8, 9, 10, 215, 216, 217, 0, 0, 0, 0, - 14, 0, 0, 401, 401, 0, 51, 0, 0, 0, - 51, 51, 0, 0, 255, 263, 51, 18, 0, 152, - 152, 152, 0, 20, 0, 0, 436, 0, 21, 0, - 0, 0, 23, 0, 640, 51, 0, 0, 0, 51, - 0, 26, 0, 27, 28, 51, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, - 1501, 0, 0, 0, 51, 51, 152, 774, 0, 0, - 0, 145, 781, 145, 255, 32, 0, 0, 0, 775, - 644, 0, 0, 0, 554, 554, 0, 554, 0, 249, - 0, 0, 0, 51, 693, 694, 695, 696, 697, 698, - 699, 700, 701, 702, 703, 704, 705, 763, 0, 895, - 896, 897, 10, 0, 12, 486, 306, 307, 0, 308, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 0, 0, 0, 16, 309, 17, 255, 19, 0, - 310, 311, 312, 20, 0, 313, 314, 315, 21, 316, - 317, 0, 23, 0, 0, 0, 318, 319, 320, 321, - 322, 26, 0, 898, 899, 764, 0, 0, 369, 0, - 0, 0, 0, 0, 325, 0, 0, 326, 0, 0, - 1093, 0, 0, 0, 0, 327, 328, 329, 0, 554, - 554, 654, 554, 330, 331, 332, 0, 0, 0, 333, - 900, 0, 0, 580, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1072, 334, 0, 0, 0, - 401, 1438, 127, 128, 10, 0, 0, 0, 255, 0, - 0, 8, 9, 51, 0, 0, 13, 0, 261, 127, - 128, 10, 0, 0, 13, 0, 0, 0, 0, 1093, - 1093, 1093, 0, 0, 0, 554, 0, 0, 18, 0, - 21, 0, 0, 0, 0, 0, 18, 0, 401, 249, - 0, 0, 0, 26, 145, 27, 28, 21, 0, 51, - 0, 1440, 26, 640, 130, 131, 0, 255, 0, 30, - 26, 0, 27, 262, 51, 0, 0, 51, 1292, 31, - 0, 0, 0, 436, 436, 436, 1225, 32, 1293, 51, - 0, 33, 0, 0, 0, 0, 1226, 51, 0, 0, - 1294, 0, 0, 0, 32, 0, 0, 0, 1227, 644, - 0, 0, 7, 8, 9, 10, 206, 12, 207, 0, - 0, 0, 0, 14, 0, 51, 51, 51, 51, 261, - 8, 9, 10, 51, 0, 13, 0, 16, 0, 17, - 18, 51, 51, 0, 0, 51, 20, 152, 152, 152, - 436, 21, 0, 0, 51, 23, 0, 18, 0, 51, - 0, 0, 51, 0, 26, 78, 27, 28, 21, 0, - 208, 0, 0, 0, 640, 0, 0, 0, 0, 51, - 30, 26, 0, 27, 262, 0, 0, 0, 0, 0, - 31, 78, 78, 0, 78, 0, 78, 1273, 32, 0, - 0, 0, 33, 78, 0, 0, 0, 1274, 580, 0, - 580, 0, 0, 0, 0, 32, 78, 0, 78, 1275, - 644, 0, 0, 0, 0, 0, 580, 580, 580, 838, - 0, 7, 8, 839, 10, 167, 12, 13, 0, 0, - 0, 580, 14, 0, 265, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 0, 17, 18, - 19, 0, 0, 0, 0, 20, 0, 0, 0, 0, - 21, 0, 0, 0, 23, 840, 0, 168, 0, 0, - 0, 0, 0, 26, 0, 27, 28, 0, 255, 841, - 0, 842, 0, 0, 0, 0, 0, 78, 0, 30, - 580, 78, 78, 0, 0, 0, 265, 78, 0, 31, - 78, 78, 78, 0, 0, 0, 0, 32, 0, 51, - 0, 33, 0, 0, 0, 0, 78, 342, 0, 342, - 78, 342, 0, 0, 0, 0, 78, 78, 689, 690, - 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, - 701, 702, 703, 704, 705, 78, 78, 78, 838, 0, - 7, 8, 839, 10, 167, 12, 13, 0, 401, 0, - 0, 14, 0, 0, 0, 401, 342, 0, 342, 0, - 0, 0, 0, 51, 78, 16, 0, 17, 18, 19, - 0, 0, 0, 0, 20, -547, 0, 0, 0, 21, - 0, 0, 0, 23, 840, 0, 168, 0, 0, 0, - 0, 0, 26, 0, 27, 28, 0, 0, 841, 0, - 842, 78, 0, 51, 51, 152, 0, 0, 30, 0, - 255, 263, 0, 1090, 0, 0, 0, 0, 31, 0, - 0, 0, 0, 0, 0, 0, 32, 580, 0, 0, - 33, 0, 0, 0, 51, 51, 436, 436, 436, 0, - 0, 0, 51, 0, 0, 0, -547, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 8, 9, 10, - 0, 838, 13, 7, 8, 839, 10, 167, 12, 13, - 0, 0, 0, 51, 14, 51, 0, 0, 0, 0, - 51, 51, 0, 51, 18, 0, 0, 0, 16, 0, - 17, 18, 19, 0, 0, 21, 0, 20, -546, 0, - 662, 0, 21, 0, 78, 0, 23, 840, 26, 168, - 27, 28, 0, 0, 0, 26, 0, 27, 28, 0, - 0, 841, 0, 842, 194, 0, 0, 0, 0, 562, - 563, 30, 0, 0, 195, 0, 0, 0, 0, 0, - 0, 31, 32, 342, 0, 572, 196, 0, 573, 32, - 78, 574, 0, 33, 584, 0, 0, 0, 589, 0, - 0, 0, 0, 0, 0, 78, 629, 0, 78, -546, - 0, 0, 0, 0, 0, 0, 7, 127, 128, 10, - 78, 342, 540, 0, 0, 0, 0, 0, 78, 691, - 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, - 702, 703, 704, 705, 18, 0, 0, 580, 580, 580, - 0, 0, 0, 436, 255, 21, 78, 78, 78, 78, - 0, 0, 0, 0, 78, 0, 0, 0, 26, 0, - 27, 28, 78, 78, 0, 0, 78, 0, 78, 78, - 78, 0, 0, 0, 30, 78, 0, 8, 9, 0, - 78, 12, 247, 78, 31, 0, 0, 14, 0, 0, - 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, - 78, 16, 0, 17, 0, 0, 127, 128, 0, 0, - 20, 247, 0, 0, 0, 0, 0, 0, 0, 23, - 0, 640, 0, 0, 0, 0, 0, 0, 26, 0, - 130, 131, 0, 18, 0, 51, 51, 51, 152, 152, - 152, 436, 0, 255, 641, 51, 255, 1090, 1090, 1090, - 640, 0, 0, 263, 642, 0, 0, 26, 159, 130, - 131, 0, 0, 0, 8, 9, 643, 644, 12, 247, - 0, 342, 0, 641, 14, 0, 0, 51, 0, 0, - 205, 0, 0, 642, 0, 0, 0, 0, 16, 0, - 17, 0, 0, 0, 0, 643, 644, 20, 255, 263, - 0, 0, 0, 0, 0, 342, 23, 51, 0, 0, - 662, 0, 0, 0, 0, 26, 0, 130, 131, 0, - 0, 0, 0, 0, 0, 572, 573, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, - 78, 0, 342, 342, 0, 342, 342, 342, 342, 342, - 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, - 342, 342, 342, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 128, 159, 159, 159, 540, 0, 0, - 0, 0, 436, 0, 0, 436, 436, 436, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, - 205, 0, 0, 0, 78, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 640, 0, 0, 205, - 205, 502, 0, 26, 0, 130, 131, 0, 0, 0, - 436, 51, 51, 436, 436, 436, 0, 0, 51, 641, - 0, 0, 0, 0, 78, 78, 78, 0, 205, 642, - 0, 0, 265, 0, 1092, 0, 0, 0, 0, 0, - 0, 643, 644, 0, 0, 0, 0, 0, 0, 342, - 0, 0, 0, 0, 51, 78, 78, 255, 0, 51, - 0, 0, 51, 78, 7, 8, 9, 10, 167, 12, - 13, 0, 0, 470, 0, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 8, 9, 10, 0, 16, - 247, 17, 18, 0, 78, 0, 78, 0, 20, 0, - 0, 78, 78, 21, 78, 0, 0, 23, 553, 640, - 0, 0, 18, 0, 0, 0, 26, 0, 27, 28, - 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 0, 0, 1078, 0, 0, 0, 26, 0, 27, 28, - 0, 0, 1079, 0, 0, 51, 51, 51, 0, 0, - 32, 0, 194, 0, 1080, 644, 0, 647, 647, 647, - 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 196, 692, 693, 694, 695, 696, - 697, 698, 699, 700, 701, 702, 703, 704, 705, 342, - 342, 0, 342, 0, 0, 0, 0, 0, 0, 1378, - 0, 1379, 1380, 1381, 10, 167, 12, 305, 306, 307, - 0, 308, 14, 1382, 205, 1383, 1384, 1385, 1386, 1387, - 1388, 1389, 1390, 1391, 1392, 15, 16, 309, 17, 18, - 19, 0, 310, 311, 312, 20, 662, 313, 314, 315, - 21, 316, 317, 1393, 23, 1394, 0, 0, 318, 319, - 320, 321, 322, 26, 1090, 1395, 262, 760, 0, 1396, - 369, 0, 0, 0, 0, 0, 325, 0, 0, 326, - 0, 0, 0, 0, 0, 1201, 0, 327, 328, 329, - 777, 0, 777, 777, 647, 330, 331, 332, 0, 0, - 0, 333, 0, 1397, 0, 0, 205, 205, 0, 0, - 205, 0, 502, 502, 502, 810, 572, 573, 334, 205, - 261, 8, 9, 10, 205, 0, 0, 205, 0, 0, - 0, 0, 0, 1090, 1090, 1090, 78, 78, 78, 78, - 78, 78, 0, 0, 0, 0, 78, 0, 1092, 1092, - 1092, 0, 0, 0, 1283, 0, 0, 0, 51, 21, - 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, - 0, 0, 0, 0, 27, 262, 0, 0, 78, 0, - 0, 0, 342, 0, 0, 342, 694, 695, 696, 697, - 698, 699, 700, 701, 702, 703, 704, 705, 543, 0, - 265, 0, 0, 0, 0, 0, 32, 0, 78, 0, - 469, 0, 261, 8, 9, 10, 167, 12, 305, 306, - 307, 470, 308, 14, 0, 0, 572, 573, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 309, 17, - 18, 19, 943, 310, 311, 312, 20, 0, 313, 314, - 315, 21, 316, 317, 0, 23, 647, 647, 647, 318, - 319, 320, 321, 322, 26, 647, 27, 262, 0, 0, - 0, 369, 0, 0, 0, 0, 0, 325, 0, 0, - 326, 0, 0, 0, 205, 0, 0, 0, 327, 328, - 329, 261, 127, 1448, 10, 0, 330, 331, 332, 0, - 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -825, 0, 334, - 0, 0, 203, 342, 0, 0, 0, 0, 0, 0, - 21, 0, 78, 78, 0, 0, 0, 252, 0, 78, - 0, 1354, 0, 342, 0, 27, 262, 258, 777, 0, - 266, 0, 0, 0, 0, 0, 0, 261, 8, 9, - 10, 167, 12, 13, 0, 0, 470, 0, 14, 543, - 0, 258, 0, 368, 0, 78, 0, 32, 0, 0, - 78, 0, 16, 78, 17, 18, 0, 0, 777, 777, - 1084, 20, 0, 0, 0, 0, 21, 0, 1084, 0, - 23, 0, 640, 0, 0, 261, 8, 9, 10, 26, - 0, 27, 262, 0, 0, 0, 0, 0, 0, 205, - 205, 810, 810, 810, 0, 1225, 0, 205, 0, 0, - 0, 0, 0, 18, 0, 1226, 0, 0, 0, 0, - 0, 0, 203, 32, 21, 0, 0, 1227, 644, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, - 262, 203, 203, 203, 0, 205, 78, 78, 78, 0, - 0, 508, 0, 806, 0, 261, 8, 9, 10, 167, - 12, 13, 0, 807, 470, 0, 14, 553, 553, 553, - 203, 32, 0, 0, 0, 808, 0, 0, 0, 647, - 16, 0, 17, 18, 0, 0, 0, 0, 0, 20, - 0, 0, 0, 0, 21, 0, 266, 0, 23, 0, - 640, 0, 0, 0, 0, 0, 0, 26, 0, 27, - 262, 0, 0, 0, 258, 0, 0, 584, 600, 601, - 602, 603, 604, 1273, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 1274, 0, 0, 0, 0, 0, 0, - 0, 32, 0, 0, 0, 1275, 644, 0, 0, 0, - 0, 0, 647, 647, 0, 1092, 647, 0, 0, 647, - 7, 8, 9, 10, 167, 12, 13, 0, 647, 789, - 0, 14, 647, 647, 647, 0, 8, 9, 647, 0, - 12, 13, 0, 0, 0, 16, 14, 17, 18, 0, - 0, 0, 0, 0, 20, 0, 0, 0, 0, 21, - 16, 0, 17, 23, 0, 258, 266, 0, 0, 20, - 0, 0, 26, 0, 27, 28, 0, 0, 23, 0, - 0, 0, 0, 0, 1092, 1092, 1092, 26, 30, 130, - 131, 0, 473, 0, 0, 0, 0, 0, 31, 0, - 0, 0, 0, 0, 0, 0, 32, 0, 0, 78, - 33, 0, 0, 0, 0, 0, 203, 0, 0, 0, - 0, 0, 7, 8, 9, 10, 0, 0, 13, 0, - 777, 777, 777, 1084, 1084, 1084, 1276, 0, 0, 0, - 777, 0, 1084, 1084, 1084, 0, 0, 0, 0, 0, - 18, 0, 0, 0, 810, 810, 810, 0, 0, 0, - 0, 21, 572, 573, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 0, 26, 0, 27, 28, 0, 0, - 0, 0, 203, 0, 203, 203, 0, 0, 0, 0, - 497, 0, 0, 0, 0, 0, 0, 0, 203, 203, - 498, 0, 203, 0, 203, 203, 203, 203, 32, 0, - 0, 203, 499, 0, 0, 0, 203, 0, 0, 203, - 0, 0, 0, 0, 7, 8, 9, 10, 0, 0, - 0, 1127, 8, 839, 10, 206, 12, 207, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 943, 943, 0, 943, 0, 16, 0, 17, 18, - 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, - 21, 680, 0, 0, 23, 0, 26, 647, 27, 28, - 647, 647, 647, 26, 0, 27, 28, 0, 0, 0, - 0, 1129, 194, 0, 0, 0, 0, 0, 0, 30, - 0, 0, 195, 0, 0, 0, 0, 0, 0, 31, - 32, 0, 0, 0, 196, 0, 0, 32, 0, 0, - 0, 33, 0, 0, 0, 1276, 777, 777, 1276, 1276, - 1276, 0, 0, 777, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 810, 810, 810, - 810, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 266, 0, 0, 0, 0, 0, 765, 473, 205, - 0, 0, 0, 0, 0, 0, 203, 1516, 0, 1379, - 1380, 1381, 10, 167, 12, 305, 306, 307, 0, 308, - 14, 1382, 0, 1383, 1384, 1385, 1386, 1387, 1388, 1389, - 1390, 1391, 1392, 15, 16, 309, 17, 18, 19, 0, - 310, 311, 312, 20, 0, 313, 314, 315, 21, 316, - 317, 1393, 23, 1394, 0, 0, 318, 319, 320, 321, - 322, 26, 0, 1395, 262, 760, 0, 1396, 369, 0, - 203, 0, 0, 0, 325, 0, 0, 326, 0, 0, - 7, 8, 9, 10, 0, 327, 328, 329, 0, 473, - 205, 0, 205, 330, 331, 332, 880, 0, 0, 333, - 0, 1397, 0, 1276, 1276, 0, 1276, 0, 0, 0, - 203, 203, 1082, 0, 0, 1517, 334, 258, 266, 21, - 1082, 0, 765, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 27, 28, 0, 0, 1508, 0, - 0, 203, 203, 203, 203, 203, 508, 473, 194, 203, - 0, 0, 0, 473, 0, 473, 473, 0, 195, 0, - 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, - 196, 0, 0, 0, 266, 0, 0, 0, 0, 0, - 0, 0, 473, 0, 0, 0, 0, 203, 0, 473, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, - 0, 0, 0, 0, 0, 0, 0, 0, 1276, 1276, - 1276, 1276, 0, 0, 1001, 1003, 1004, 1005, 0, 1007, - 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 8, 9, 10, 206, 12, 207, 7, - 8, 9, 10, 14, 0, 540, 102, 0, 502, 502, - 502, 0, 0, 0, 1276, 121, 102, 16, 0, 17, - 18, 0, 102, 102, 0, 102, 20, 18, 0, 0, - 0, 21, 0, 205, 0, 23, 765, 0, 21, 1567, - 0, 0, 0, 0, 26, 0, 27, 28, 0, 0, - 1511, 26, 0, 27, 28, 473, 0, 236, 0, 0, - 30, 258, 266, 258, 0, 0, 0, 194, 0, 473, - 31, 0, 0, 0, 0, 0, 0, 195, 32, 0, - 0, 0, 33, 0, 0, 32, 0, 0, 0, 196, - 1568, 684, 685, 686, 687, 688, 689, 690, 691, 692, - 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, - 703, 704, 705, 0, 1115, 0, 394, 0, 121, 0, - 0, 0, 0, 0, 0, 102, 102, 0, 0, 0, - 0, 0, 102, 102, 0, 0, 102, 102, 102, 0, - 422, 102, 102, 102, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 203, 203, 203, 203, 1082, 203, 0, - 1277, 0, 203, 258, 1082, 1082, 1082, 645, 645, 645, - 266, 0, 1179, 0, 0, 0, 203, 203, 203, 0, - 0, 0, 0, 0, 0, 0, 7, 8, 9, 10, - 167, 12, 13, 0, 203, 0, 0, 14, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 8, 9, 765, - 473, 16, 247, 17, 18, 508, 0, 0, 0, 0, - 20, 0, 0, 0, 473, 21, 473, 0, 473, 23, - 0, 236, 102, 0, 18, 0, 0, 0, 26, 0, - 27, 28, 0, 0, 0, 0, 0, 261, 8, 9, - 10, 640, 102, 13, 30, 0, 0, 0, 26, 0, - 130, 131, 0, 0, 31, 0, 0, 1233, 0, 0, - 0, 0, 32, 0, 1523, 18, 33, 0, 0, 0, - 0, 0, 0, 0, 1524, 0, 21, 0, 0, 0, - 645, 0, 645, 645, 645, 102, 1525, 644, 0, 26, - 473, 27, 262, 0, 0, 0, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 806, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 807, 0, 0, 0, 0, - 0, 0, 0, 32, 0, 473, 0, 808, 0, 0, - 0, 0, 102, 0, 102, 102, 0, 203, 203, 203, - 203, 203, 1082, 8, 9, 203, 0, 0, 540, 0, - 0, 0, 0, 0, 0, 0, 0, 765, 765, 203, - 203, 203, 203, 0, 0, 0, 0, 0, 0, 0, - 18, 0, 0, 7, 8, 9, 10, 206, 12, 207, - 102, 203, 0, 0, 14, 0, 0, 640, 0, 0, - 0, 1312, 0, 0, 26, 0, 130, 131, 16, 102, - 17, 18, 0, 0, 0, 0, 102, 20, 0, 102, - 1523, 0, 21, 8, 9, 0, 23, 0, 13, 0, - 1524, 102, 0, 0, 0, 26, 0, 27, 28, 0, - 0, 0, 1525, 644, 0, 0, 0, 0, 0, 0, - 18, 30, 765, 765, 0, 0, 645, 645, 645, 0, - 0, 31, 0, 0, 0, 981, 0, 640, 0, 32, - 0, 0, 0, 33, 26, 0, 130, 131, 0, 0, - 0, 0, 203, 0, 203, 0, 0, 0, 0, 0, - 1523, 0, 0, 0, 0, 203, 203, 1277, 203, 0, - 1524, 0, 0, 0, 0, 0, 0, 0, 1366, 0, - 0, 0, 1525, 644, 0, 0, 0, 0, 102, 0, - 830, 0, 0, 0, 0, 0, 0, 0, 473, 0, - 473, 0, 473, 8, 9, 0, 167, 12, 13, 0, - 765, 0, 0, 14, 102, 0, 102, 0, 645, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, - 18, 0, 0, 0, 0, 0, 20, 0, 765, 0, - 0, 0, 0, 0, 0, 726, 0, 0, 168, 0, - 0, 0, 1434, 1435, 26, 0, 130, 131, 645, 645, - 645, 1082, 0, 0, 0, 0, 0, 0, 981, 0, - 203, 203, 1082, 203, 0, 0, 0, 0, 0, 0, - 765, 0, 0, 599, 600, 601, 602, 603, 604, 102, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 0, - 102, 102, 0, 102, 102, 0, 0, 0, 0, 473, - 0, 7, 8, 9, 10, 215, 216, 217, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 0, 0, 1490, - 1082, 1082, 1082, 0, 0, 0, 203, 0, 0, 18, - 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, - 21, 0, 0, 0, 23, 203, 640, 0, 0, 0, - 0, 0, 0, 26, 0, 27, 28, 0, 765, 645, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, - 102, 0, 1536, 0, 0, 0, 0, 102, 121, 195, - 0, 0, 0, 0, 0, 0, 236, 32, 0, 0, - 0, 1514, 0, 0, 0, 765, 8, 9, 0, 167, - 12, 13, 0, 0, 470, 0, 14, 0, 0, 830, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 17, 18, 0, 0, 0, 0, 0, 20, - 0, 0, 645, 645, 0, 0, 645, 0, 23, 645, - 640, 0, 0, 0, 0, 0, 473, 26, 645, 130, - 131, 0, 981, 981, 981, 0, 0, 0, 645, 0, - 0, 0, 0, 1523, 0, 0, 1592, 1593, 18, 0, - 0, 0, 0, 1524, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1525, 644, 0, 0, 830, - 0, 0, 102, 0, 0, 0, 0, 0, 0, 1618, - 0, 684, 685, 686, 687, 688, 689, 690, 691, 692, - 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, - 703, 704, 705, 0, 102, 102, 102, 102, 0, 0, - 1632, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 645, 645, 645, 645, 645, 645, 645, 0, 0, 0, - 645, 0, 981, 981, 981, 0, 8, 9, 0, 167, - 12, 13, 0, 0, 470, 0, 14, 0, 0, 8, - 9, 0, 167, 12, 13, 0, 0, 1634, 0, 14, - 16, 0, 17, 18, 0, 0, 0, 0, 0, 20, - 0, 0, 0, 16, 0, 17, 18, 0, 23, 102, - 102, 0, 20, 102, 0, 0, 102, 26, 0, 130, - 131, 23, 0, 0, 0, 102, 0, 0, 0, 0, - 26, 0, 130, 131, 0, 102, 0, 0, 0, 8, - 9, 765, 206, 12, 207, 0, 0, 0, 0, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 17, 18, 0, 0, 0, - 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, - 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 26, 0, 130, 131, 0, 0, 0, 645, 0, 0, - 645, 645, 645, 0, 684, 685, 686, 687, 688, 689, - 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, - 700, 701, 702, 703, 704, 705, 0, 0, 0, 0, - 1597, 0, -502, -502, -502, -502, -502, -502, -502, 0, - 0, -502, 0, -502, 0, 645, 645, 645, 645, 645, - 645, 1338, 0, 645, -502, 0, -502, 0, 0, 0, - -502, 0, 0, 0, 830, 0, -502, 0, 0, 0, - 0, -502, 0, 0, 0, -502, 0, -502, 0, 0, - 0, 0, 0, 0, -502, 0, -502, -502, -502, -502, - -502, 102, -502, -502, -502, -502, -502, -502, -502, -502, - -502, -502, -502, -502, -502, -502, -502, -502, -502, -502, - -502, -502, -502, -502, -502, 0, -502, -502, -502, 0, - -502, -502, -502, -502, -502, 0, 0, 0, 0, 0, - 1598, -502, 0, 0, 0, 0, -502, -502, -502, 0, - -502, 0, 0, 0, 0, 0, 0, 0, 102, 102, - 0, 102, 684, 685, 686, 687, 688, 689, 690, 691, - 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, - 702, 703, 704, 705, 102, 0, 0, 102, 102, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 645, 645, 1655, 645, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 830, 688, 689, 690, - 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, - 701, 702, 703, 704, 705, 575, 0, 7, 8, 9, - 10, 167, 12, 305, 306, 307, 470, 308, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 830, 16, 309, 17, 18, 19, 0, 310, 311, - 312, 20, 0, 313, 314, 315, 21, 316, 317, 102, - 23, 102, 640, 0, 318, 319, 320, 321, 322, 26, - 0, 27, 28, -336, 0, 0, 369, 0, 0, 0, - 0, 0, 325, 0, 0, 1087, 0, 0, 645, 645, - 645, 645, 0, 327, 328, 1088, 0, 0, 0, 0, - 0, 330, 331, 332, 0, 0, 0, 1089, 644, 0, - 907, 0, 261, 8, 9, 10, 167, 12, 305, 306, - 307, 0, 308, 14, 334, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 309, 17, - 18, 19, 0, 310, 311, 312, 20, 0, 313, 314, - 315, 21, 316, 317, 645, 23, 0, 0, 0, 318, - 319, 320, 321, 322, 26, 0, 27, 262, 1613, 0, - -815, 369, 0, 0, 0, 0, 0, 325, 0, 0, - 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, - 329, 0, 0, 0, 0, 0, 330, 331, 332, 0, - 0, 575, 333, 261, 8, 9, 10, 0, 12, 305, - 306, 307, 0, 308, 14, 0, 0, 0, 0, 334, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 309, - 17, 18, 19, 0, 310, 311, 312, 20, 0, 313, - 314, 315, 21, 316, 317, 0, 23, 0, 0, 0, - 318, 319, 320, 321, 322, 26, 0, 27, 262, -336, - 0, 0, 369, 0, 0, 0, 0, 0, 325, 0, - 0, 576, 0, 0, 0, 0, 0, 0, 0, 327, - 328, 577, 0, 0, 0, 0, 0, 330, 331, 332, - 0, 0, 763, 578, 895, 896, 897, 10, 0, 12, - 486, 306, 307, 0, 308, 14, 0, 0, 0, 0, - 334, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 309, 17, 0, 19, 0, 310, 311, 312, 20, 0, - 313, 314, 315, 21, 316, 317, 0, 23, 0, 0, - 0, 318, 319, 320, 321, 322, 26, 0, 898, 899, - 764, 0, 0, 369, 0, 0, 0, 0, 0, 325, - 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, - 327, 328, 329, 0, 0, 0, 0, 0, 330, 331, - 332, 0, 0, 0, 333, 900, 763, 0, 261, 8, - 9, 10, 0, 12, 486, 306, 307, 0, 308, 14, - 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 309, 17, 0, 19, 0, 310, - 311, 312, 20, 0, 313, 314, 315, 21, 316, 317, - 0, 23, 0, 0, 0, 318, 319, 320, 321, 322, - 26, 0, 27, 262, 764, 0, 0, 369, 0, 0, - 0, 0, 0, 325, 0, 0, 326, 0, 0, 0, - 0, 0, 0, 0, 327, 328, 329, 0, 0, 0, - 0, 0, 330, 331, 332, 0, 0, 0, 333, 763, - 0, 895, 896, 897, 10, 1286, 12, 486, 306, 307, - 0, 308, 14, 0, 0, 334, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 309, 17, 0, - 19, 0, 310, 311, 312, 20, 0, 313, 314, 315, - 21, 316, 317, 0, 23, 0, 0, 0, 318, 319, - 320, 321, 322, 26, 0, 898, 899, 764, 0, 0, - 369, 0, 0, 0, 0, 0, 325, 0, 0, 326, - 0, 0, 0, 0, 0, 0, 0, 327, 328, 329, - 0, 0, 0, 0, 0, 330, 331, 332, 0, 0, - 763, 333, 895, 896, 897, 10, 0, 12, 486, 306, - 307, 0, 308, 14, 0, 0, 0, -506, 334, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 309, 17, - 0, 19, 0, 310, 311, 312, 20, 0, 313, 314, - 315, 21, 316, 317, 0, 23, 0, 0, 0, 318, - 319, 320, 321, 322, 26, 0, 898, 899, 764, 0, - 0, 369, 0, 0, 0, 0, 0, 325, 0, 0, - 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, - 329, 0, 0, 0, 0, 0, 330, 331, 332, 0, - 0, 575, 333, 7, 8, 9, 10, 0, 12, 305, - 306, 307, 0, 308, 14, 0, 0, 0, 1417, 334, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 309, - 17, 18, 19, 0, 310, 311, 312, 20, 0, 313, - 314, 315, 21, 316, 317, 0, 23, 0, 0, 0, - 318, 319, 320, 321, 322, 26, 0, 27, 28, -336, - 0, 0, 369, 0, 0, 0, 0, 0, 325, 0, - 0, 1583, 0, 0, 0, 0, 0, 0, 0, 327, - 328, 1584, 0, 0, 0, 0, 0, 330, 331, 332, - 0, 0, 763, 1585, 261, 8, 9, 10, 0, 12, - 486, 306, 307, 0, 308, 14, 0, 0, 0, 0, - 334, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 309, 17, 0, 19, 0, 310, 311, 312, 20, 0, - 313, 314, 315, 21, 316, 317, 0, 23, 0, 0, - 0, 318, 319, 320, 321, 322, 26, 0, 27, 262, - 764, 0, 0, 369, 0, 0, 0, 0, 0, 325, - 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, - 327, 328, 329, 0, 0, 0, 0, 0, 330, 331, - 332, 0, 0, 907, 333, 261, 8, 9, 10, 0, - 12, 486, 306, 307, 0, 308, 14, 0, 0, 0, - 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 309, 17, 0, 19, 0, 310, 311, 312, 20, - 0, 313, 314, 315, 21, 316, 317, 0, 23, 0, - 0, 0, 318, 319, 320, 321, 322, 26, 0, 27, - 262, 0, 0, 0, 369, -815, 0, 0, 0, 0, - 325, 0, 0, 326, 0, 0, 0, 0, 0, 0, - 0, 327, 328, 329, 0, 0, 0, 0, 0, 330, - 331, 332, 0, 0, 1667, 333, 261, 8, 9, 10, - 0, 12, 305, 306, 307, 0, 308, 14, 0, 0, - 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 309, 17, 0, 19, 0, 310, 311, 312, - 20, 0, 313, 314, 315, 21, 316, 317, 0, 23, - 0, 0, 0, 318, 319, 320, 321, 322, 26, 0, - 27, 262, 0, 0, -197, 369, 0, 0, 0, 0, - 0, 325, 0, 0, 326, 0, 0, 0, 0, 0, - 0, 0, 327, 328, 329, 0, 0, 0, 0, 0, - 330, 331, 332, 0, 0, 907, 333, 261, 8, 9, - 10, 0, 12, 486, 306, 307, 0, 308, 14, 0, - 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 309, 17, 0, 19, 0, 310, 311, - 312, 20, 0, 313, 314, 315, 21, 316, 317, 0, - 23, 0, 0, 0, 318, 319, 320, 321, 322, 26, - 0, 27, 262, 0, 0, 0, 369, 0, 0, 0, - 0, 0, 325, 0, 0, 326, 0, 0, 0, 0, - 0, 0, 0, 327, 328, 329, 0, 0, 0, 0, - 0, 330, 331, 332, 0, 0, 1000, 333, 261, 8, - 9, 10, 0, 12, 486, 306, 307, 0, 308, 14, - 0, 0, -815, 0, 334, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 309, 17, 0, 19, 0, 310, - 311, 312, 20, 0, 313, 314, 315, 21, 316, 317, - 0, 23, 0, 0, 0, 318, 319, 320, 321, 322, - 26, 0, 27, 262, 0, 0, 0, 369, 0, 0, - 0, 0, 0, 325, 0, 0, 326, 0, 0, 0, - 0, 0, 0, 0, 327, 328, 329, 0, 0, 0, - 0, 0, 330, 331, 332, 0, 0, 1002, 333, 261, - 8, 9, 10, 0, 12, 486, 306, 307, 0, 308, - 14, 0, 0, 0, 0, 334, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 309, 17, 0, 19, 0, - 310, 311, 312, 20, 0, 313, 314, 315, 21, 316, - 317, 0, 23, 0, 0, 0, 318, 319, 320, 321, - 322, 26, 0, 27, 262, 0, 0, 0, 369, 0, - 0, 0, 0, 0, 325, 0, 0, 326, 0, 0, - 0, 0, 0, 0, 0, 327, 328, 329, 0, 0, - 0, 0, 0, 330, 331, 332, 0, 0, 1631, 333, - 261, 8, 9, 10, 0, 12, 486, 306, 307, 0, - 308, 14, 0, 0, 0, 0, 334, 0, 0, 0, - 0, 0, 0, 0, 0, 16, 309, 17, 0, 19, - 0, 310, 311, 312, 20, 0, 313, 314, 315, 21, - 316, 317, 0, 23, 0, 0, 0, 318, 319, 320, - 321, 322, 26, 0, 27, 262, 0, 0, 0, 369, - 0, 0, 0, 0, 0, 325, 0, 0, 326, 0, - 0, 0, 0, 0, 0, 0, 327, 328, 329, 0, - 0, 0, 0, 0, 330, 331, 332, 0, 0, 0, - 333, 261, 8, 9, 10, 0, 12, 486, 306, 307, - 0, 308, 14, 0, 0, 0, 0, 334, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 309, 17, 0, - 19, 0, 310, 311, 312, 20, 0, 313, 314, 315, - 21, 316, 317, 0, 23, 0, 0, 0, 318, 319, - 320, 321, 322, 26, 0, 27, 262, 0, 0, 0, - 369, 0, 0, 0, 0, 0, 325, 0, 0, 326, - 0, 0, 0, 0, 0, 0, 0, 327, 328, 329, - 0, 0, 0, 0, 0, 330, 331, 332, 0, 0, - 0, 333, 261, 8, 9, 10, 0, 12, 486, 306, - 307, 0, 308, 14, 0, 0, 0, 0, 334, 487, - 0, 0, 0, 0, 0, 0, 0, 16, 309, 17, - 0, 19, 0, 310, 311, 312, 20, 0, 313, 314, - 315, 21, 316, 317, 0, 23, 0, 0, 0, 318, - 319, 320, 321, 322, 26, 0, 27, 262, 0, 0, - 0, 369, 0, 0, 0, 0, 0, 325, 0, 0, - 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, - 329, 0, 0, 0, 0, 0, 330, 331, 332, 0, - 0, 0, 333, 261, 8, 9, 10, 0, 12, 486, - 306, 307, 0, 308, 14, 0, 0, 0, 0, 334, - 816, 0, 0, 0, 0, 0, 0, 0, 16, 309, - 17, 0, 19, 0, 310, 311, 312, 20, 0, 313, - 314, 315, 21, 316, 317, 0, 23, 0, 0, 0, - 318, 319, 320, 321, 322, 26, 0, 27, 262, 0, - 0, 0, 369, 0, 0, 0, 0, 0, 325, 0, - 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, - 328, 329, 0, 0, 0, 0, 0, 330, 331, 332, - 0, 0, 0, 333, 261, 8, 9, 10, 0, 12, - 486, 306, 307, 0, 308, 14, 0, 0, 0, 0, - 334, 946, 0, 0, 0, 0, 0, 0, 0, 16, - 309, 17, 0, 19, 0, 310, 311, 312, 20, 0, - 313, 314, 315, 21, 316, 317, 0, 23, 0, 0, - 0, 318, 319, 320, 321, 322, 26, 0, 27, 262, - 0, 0, 0, 369, 0, 0, 0, 0, 0, 325, - 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, - 327, 328, 329, 0, 0, 0, 0, 0, 330, 331, - 332, 0, 0, 0, 333, 261, 8, 9, 10, 0, - 12, 486, 306, 307, 0, 308, 14, 0, 0, 0, - 0, 334, 967, 0, 0, 0, 0, 0, 0, 0, - 16, 309, 17, 0, 19, 0, 310, 311, 312, 20, - 0, 313, 314, 315, 21, 316, 317, 0, 23, 0, - 0, 0, 318, 319, 320, 321, 322, 26, 0, 27, - 262, 0, 0, 0, 369, 0, 0, 0, 0, 0, - 325, 0, 0, 326, 0, 0, 0, 0, 0, 0, - 0, 327, 328, 329, 0, 0, 0, 0, 0, 330, - 331, 332, 0, 0, 0, 333, 690, 691, 692, 693, - 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, - 704, 705, 334, 1220, 1379, 1380, 1381, 10, 167, 12, - 305, 306, 307, 0, 308, 14, 1382, 0, 1383, 1384, - 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 15, 16, - 309, 17, 18, 19, 0, 310, 311, 312, 20, 0, - 313, 314, 315, 21, 316, 317, 1393, 23, 1394, 0, - 0, 318, 319, 320, 321, 322, 26, 0, 1395, 262, - 760, 0, 1396, 369, 0, 0, 0, 0, 0, 325, - 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, - 327, 328, 329, 0, 0, 0, 0, 0, 330, 331, - 332, 0, 0, 0, 333, 0, 1397, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1521, 334, 1379, 1380, 1381, 10, 167, 12, 305, 306, - 307, 0, 308, 14, 1382, 0, 1383, 1384, 1385, 1386, - 1387, 1388, 1389, 1390, 1391, 1392, 15, 16, 309, 17, - 18, 19, 0, 310, 311, 312, 20, 0, 313, 314, - 315, 21, 316, 317, 1393, 23, 1394, 0, 0, 318, - 319, 320, 321, 322, 26, 0, 1395, 262, 760, 0, - 1396, 369, 0, 0, 0, 0, 0, 325, 0, 0, - 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, - 329, 0, 0, 0, 0, 0, 330, 331, 332, 0, - 0, 0, 333, 0, 1397, 0, 1379, 1380, 1381, 10, - 167, 12, 305, 306, 307, 0, 308, 14, 1382, 334, - 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, - 15, 16, 309, 17, 18, 19, 0, 310, 311, 312, - 20, 0, 313, 314, 315, 21, 316, 317, 1393, 23, - 1394, 0, 0, 318, 319, 320, 321, 322, 26, 0, - 1395, 262, 1640, 0, 1396, 369, 0, 0, 0, 0, - 0, 325, 0, 0, 326, 0, 0, 0, 0, 0, - 0, 0, 327, 328, 329, 0, 0, 0, 0, 0, - 330, 331, 332, 0, 0, 0, 333, 0, 1397, 0, - 1379, 1380, 1381, 10, 167, 12, 305, 306, 307, 0, - 308, 14, 1382, 334, 1383, 1384, 1385, 1386, 1387, 1388, - 1389, 1390, 1391, 1392, 15, 16, 309, 17, 18, 19, - 0, 310, 311, 312, 20, 0, 313, 314, 315, 21, - 316, 317, 1393, 23, 1394, 0, 0, 318, 319, 320, - 321, 322, 26, 0, 1395, 262, 0, 0, 1396, 369, - 0, 0, 0, 0, 0, 325, 0, 0, 326, 0, - 0, 0, 0, 0, 0, 0, 327, 328, 329, 0, - 0, 0, 0, 0, 330, 331, 332, 0, 0, 0, - 333, 0, 1397, 261, 8, 9, 10, 167, 12, 305, - 306, 307, 470, 308, 14, 0, 0, 334, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 309, - 17, 18, 19, 0, 310, 311, 312, 20, 0, 313, - 314, 315, 21, 316, 317, 0, 23, 0, 640, 0, - 318, 319, 320, 321, 322, 26, 0, 27, 262, 0, - 0, 0, 369, 0, 0, 0, 0, 0, 325, 0, - 0, 977, 0, 0, 0, 0, 0, 0, 0, 327, - 328, 978, 0, 0, 0, 0, 0, 330, 331, 332, - 0, 0, 0, 979, 644, 7, 8, 9, 10, 167, - 12, 305, 306, 307, 470, 308, 14, 0, 0, 0, - 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 309, 17, 18, 19, 0, 310, 311, 312, 20, - 0, 313, 314, 315, 21, 316, 317, 0, 23, 0, - 640, 0, 318, 319, 320, 321, 322, 26, 0, 27, - 28, 0, 0, 0, 369, 0, 0, 0, 0, 0, - 325, 0, 0, 1087, 0, 0, 0, 0, 0, 0, - 0, 327, 328, 1088, 0, 0, 0, 0, 0, 330, - 331, 332, 0, 0, 0, 1089, 644, 261, 8, 9, - 10, 0, 12, 305, 306, 307, 0, 308, 14, 0, - 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 309, 17, 18, 19, 0, 310, 311, - 312, 20, 0, 313, 314, 315, 21, 316, 317, 0, - 23, 0, 640, 0, 318, 319, 320, 321, 322, 26, - 0, 27, 262, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 325, 0, 0, 977, 0, 0, 0, 0, - 0, 0, 0, 327, 328, 978, 0, 0, 0, 0, - 0, 330, 331, 332, 0, 0, 0, 979, 644, 7, - 8, 9, 10, 0, 12, 305, 306, 307, 0, 308, - 14, 0, 0, 0, 334, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 309, 17, 18, 19, 0, - 310, 311, 312, 20, 0, 313, 314, 315, 21, 316, - 317, 0, 23, 0, 640, 0, 318, 319, 320, 321, - 322, 26, 0, 27, 28, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 325, 0, 0, 1087, 0, 0, - 0, 0, 0, 0, 0, 327, 328, 1088, 0, 0, - 0, 0, 0, 330, 331, 332, 0, 0, 0, 1089, - 644, 261, 8, 9, 10, 0, 12, 486, 306, 307, - 0, 308, 14, 0, 0, 0, 334, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 309, 17, 18, - 19, 0, 310, 311, 312, 20, 0, 313, 314, 315, - 21, 316, 317, 0, 23, 0, 0, 0, 318, 319, - 320, 321, 322, 26, 0, 27, 262, 0, 0, 0, - 369, 0, 0, 0, 0, 0, 325, 0, 0, 576, - 0, 0, 0, 0, 0, 0, 0, 327, 328, 577, - 0, 0, 0, 0, 0, 330, 331, 332, 0, 0, - 0, 578, 261, 8, 9, 10, 0, 12, 486, 306, - 307, 0, 308, 14, 0, 0, 0, 0, 334, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 309, 17, - 0, 19, 0, 310, 311, 312, 20, 0, 313, 314, - 315, 21, 316, 317, 0, 23, 0, 0, 0, 318, - 319, 320, 321, 322, 26, 0, 27, 262, 0, 0, - 1494, 369, 0, 0, 0, 0, 0, 325, 0, 0, - 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, - 329, 0, 0, 0, 0, 0, 330, 331, 332, 0, - 0, 0, 333, 261, 8, 9, 10, 167, 12, 305, - 306, 307, 0, 308, 14, 0, 0, 0, 0, 334, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 309, - 17, 18, 19, 0, 310, 311, 312, 20, 0, 313, - 314, 315, 21, 316, 317, 0, 23, 0, 0, 0, - 318, 319, 320, 321, 322, 26, 0, 27, 262, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, - 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, - 328, 329, 0, 0, 0, 0, 0, 330, 331, 332, - 0, 0, 0, 333, 7, 8, 9, 10, 0, 12, - 486, 306, 307, 0, 308, 14, 0, 0, 0, 0, - 334, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 309, 17, 18, 19, 0, 310, 311, 312, 20, 0, - 313, 314, 315, 21, 316, 317, 0, 23, 0, 0, - 0, 318, 319, 320, 321, 322, 26, 0, 27, 28, - 0, 0, 0, 369, 0, 0, 0, 0, 0, 325, - 0, 0, 1583, 0, 0, 0, 0, 0, 0, 0, - 327, 328, 1584, 0, 0, 0, 0, 0, 330, 331, - 332, 0, 0, 0, 1585, 261, 8, 9, 10, 0, - 12, 305, 306, 307, 0, 308, 14, 0, 0, 0, - 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 309, 17, 0, 19, 0, 310, 311, 312, 20, - 0, 313, 314, 315, 21, 316, 317, 0, 23, 0, - 0, 0, 318, 319, 320, 321, 322, 26, 0, 323, - 262, 0, 0, 0, 324, 0, 0, 0, 0, 0, - 325, 0, 0, 326, 0, 0, 0, 0, 0, 0, - 0, 327, 328, 329, 0, 0, 0, 0, 0, 330, - 331, 332, 0, 0, 0, 333, 261, 8, 9, 10, - 0, 12, 305, 306, 307, 0, 308, 14, 0, 0, - 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 309, 17, 0, 19, 0, 310, 311, 312, - 20, 0, 313, 314, 315, 21, 316, 317, 0, 23, - 0, 0, 0, 318, 319, 320, 321, 322, 26, 0, - 27, 262, 0, 0, 0, 369, 0, 0, 0, 0, - 0, 325, 0, 0, 326, 0, 0, 0, 0, 0, - 0, 0, 327, 328, 329, 0, 0, 0, 0, 0, - 330, 331, 332, 0, 0, 0, 333, 261, 8, 9, - 10, 0, 12, 486, 306, 307, 0, 308, 14, 0, - 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 309, 17, 0, 19, 0, 310, 311, - 312, 20, 0, 313, 314, 315, 21, 316, 317, 0, - 23, 0, 0, 0, 318, 319, 320, 321, 322, 26, - 0, 27, 262, 0, 0, 0, 324, 0, 0, 0, - 0, 0, 325, 0, 0, 326, 0, 0, 0, 0, - 0, 0, 0, 327, 328, 329, 0, 0, 0, 0, - 0, 330, 331, 332, 0, 0, 0, 333, 261, 8, - 9, 10, 0, 12, 486, 306, 307, 0, 308, 14, - 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 309, 17, 0, 19, 0, 310, - 311, 312, 20, 0, 313, 314, 315, 21, 316, 317, - 0, 23, 0, 0, 0, 318, 319, 320, 321, 322, - 26, 0, 27, 262, 590, 0, 0, 0, 0, 0, - 0, 0, 0, 325, 0, 0, 326, 0, 0, 0, - 0, 0, 0, 0, 327, 328, 329, 0, 0, 0, - 0, 0, 330, 331, 332, 0, 0, 0, 591, 261, - 8, 9, 10, 0, 12, 486, 306, 307, 0, 308, - 14, 0, 0, 0, 0, 334, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 309, 17, 0, 19, 0, - 310, 311, 312, 20, 0, 313, 314, 315, 21, 316, - 317, 0, 23, 0, 0, 0, 318, 319, 320, 321, - 322, 26, 0, 27, 262, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 325, 0, 0, 326, 0, 0, - 0, 0, 0, 0, 0, 327, 328, 329, 0, 0, - 0, 0, 0, 330, 331, 332, 0, 0, 0, 333, - 628, 261, 8, 9, 10, 0, 12, 486, 306, 307, - 0, 308, 14, 0, 0, 0, 334, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 309, 17, 0, - 19, 0, 310, 311, 312, 20, 0, 313, 314, 315, - 21, 316, 317, 0, 23, 0, 0, 0, 318, 319, - 320, 321, 322, 26, 0, 27, 262, 0, 0, 0, - 369, 0, 0, 0, 0, 0, 325, 0, 0, 326, - 0, 0, 0, 0, 0, 0, 0, 327, 328, 329, - 0, 0, 0, 0, 0, 330, 331, 332, 0, 0, - 0, 333, 261, 8, 9, 10, 0, 12, 486, 306, - 307, 0, 308, 14, 0, 0, 0, 0, 334, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 309, 17, - 18, 19, 0, 310, 311, 312, 20, 0, 313, 314, - 315, 21, 316, 317, 0, 23, 0, 0, 0, 318, - 319, 320, 321, 322, 26, 0, 27, 262, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, - 576, 0, 0, 0, 0, 0, 0, 0, 327, 328, - 577, 0, 0, 0, 0, 0, 330, 331, 332, 0, - 0, 0, 578, 1239, 8, 9, 10, 0, 12, 486, - 306, 307, 0, 308, 14, 0, 0, 0, 0, 334, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 309, - 17, 0, 19, 0, 310, 311, 312, 20, 0, 313, - 314, 315, 21, 316, 317, 0, 23, 0, 0, 0, - 318, 319, 320, 321, 322, 26, 0, 27, 262, 0, - 0, 0, 369, 0, 0, 0, 0, 0, 325, 0, - 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, - 328, 329, 0, 0, 0, 0, 0, 330, 331, 332, - 0, 0, 0, 333, 7, 8, 9, 10, 0, 12, - 305, 306, 307, 0, 308, 14, 0, 0, 0, 0, - 334, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 309, 17, 18, 19, 0, 310, 311, 312, 20, 0, - 313, 314, 315, 21, 316, 317, 0, 23, 0, 0, - 0, 318, 319, 320, 321, 322, 26, 0, 27, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, - 0, 0, 1583, 0, 0, 0, 0, 0, 0, 0, - 327, 328, 1584, 0, 0, 0, 0, 0, 330, 331, - 332, 0, 0, 0, 1585, 261, 8, 9, 10, 0, - 12, 486, 306, 307, 0, 308, 14, 0, 0, 0, - 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 309, 17, 0, 19, 0, 310, 311, 312, 20, - 0, 313, 314, 315, 21, 316, 317, 0, 23, 0, - 0, 0, 318, 319, 320, 321, 322, 26, 0, 27, - 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 325, 0, 0, 326, 0, 0, 0, 0, 0, 0, - 0, 327, 328, 329, 0, 0, 0, 0, 0, 330, - 331, 332, 0, 0, 0, 558, 261, 8, 9, 10, - 0, 12, 486, 306, 307, 0, 308, 14, 0, 0, - 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 309, 17, 0, 19, 0, 310, 311, 312, - 20, 0, 313, 314, 315, 21, 316, 317, 0, 23, - 0, 0, 0, 318, 319, 320, 321, 322, 26, 0, - 27, 262, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 325, 0, 0, 326, 0, 0, 0, 0, 0, - 0, 0, 327, 328, 329, 0, 0, 0, 0, 0, - 330, 331, 332, 0, 0, 0, 560, 261, 8, 9, - 10, 0, 12, 486, 306, 307, 0, 308, 14, 0, - 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 309, 17, 0, 19, 0, 310, 311, - 312, 20, 0, 313, 314, 315, 21, 316, 317, 0, - 23, 0, 0, 0, 318, 319, 320, 321, 322, 26, - 0, 27, 262, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 325, 0, 0, 326, 0, 0, 0, 0, - 0, 0, 0, 327, 328, 329, 0, 0, 0, 0, - 0, 330, 331, 332, 0, 0, 0, 333, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 683, 0, 0, 334, 684, 685, 686, 687, 688, - 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, - 699, 700, 701, 702, 703, 704, 705, 1170, 0, 0, - 0, 684, 685, 686, 687, 688, 689, 690, 691, 692, - 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, - 703, 704, 705, 1648, 684, 685, 686, 687, 688, 689, - 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, - 700, 701, 702, 703, 704, 705, 684, 685, 686, 687, - 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, - 698, 699, 700, 701, 702, 703, 704, 705 -}; - -static const short yycheck[] = { 4, - 55, 46, 4, 175, 174, 23, 758, 210, 176, 80, - 407, 14, 4, 359, 161, 353, 528, 149, 150, 22, - 407, 42, 407, 126, 359, 4, 84, 4, 465, 686, - 35, 76, 134, 35, 156, 740, 14, 42, 59, 588, - 42, 308, 309, 35, 4, 248, 378, 90, 666, 92, - 4, 42, 57, 30, 31, 252, 35, 244, 35, 133, - 134, 935, 65, 42, 445, 42, 843, 72, 845, 210, - 734, 124, 42, 144, 341, 35, 853, 133, 219, 84, - 190, 35, 42, 88, 1476, 90, 483, 92, 42, 1398, - 460, 12, 1564, 42, 137, 42, 483, 11, 301, 4, - 39, 1408, 107, 108, 57, 83, 38, 84, 1415, 11, - 11, 75, 1, 9, 1588, 1613, 55, 33, 8, 9, - 175, 124, 1, 741, 14, 1566, 514, 60, 106, 0, - 35, 136, 137, 204, 139, 1609, 48, 42, 1610, 60, - 478, 55, 63, 531, 1691, 148, 80, 37, 169, 63, - 353, 489, 218, 219, 61, 0, 46, 27, 48, 136, - 165, 31, 359, 1, 169, 1663, 62, 169, 1715, 214, - 59, 176, 149, 150, 165, 108, 136, 109, 169, 84, - 59, 93, 136, 136, 63, 190, 1652, 108, 165, 210, - 169, 61, 169, 109, 108, 65, 1670, 218, 219, 169, - 360, 361, 109, 93, 1645, 165, 108, 108, 25, 169, - 27, 165, 582, 190, 48, 169, 95, 194, 195, 12, - 169, 59, 169, 176, 48, 63, 1692, 248, 60, 33, - 49, 136, 62, 75, 27, 33, 239, 240, 31, 109, - 55, 25, 59, 27, 93, 757, 63, 60, 63, 252, - 4, 5, 1724, 413, 414, 48, 1565, 95, 1650, 93, - 165, 61, 1569, 76, 169, 60, 60, 60, 61, 93, - 63, 249, 65, 61, 108, 59, 350, 109, 95, 63, - 301, 859, 4, 5, 108, 190, 991, 865, 346, 994, - 352, 353, 354, 108, 350, 49, 398, 302, 55, 7, - 93, 94, 61, 57, 58, 55, 453, 1306, 1307, 109, - 140, 95, 1619, 108, 108, 108, 1190, 663, 75, 362, - 60, 109, 325, 55, 1323, 75, 156, 81, 333, 60, - 38, 63, 353, 267, 48, 57, 58, 390, 93, 48, - 60, 346, 727, 1048, 1049, 149, 150, 151, 48, 354, - 109, 48, 150, 151, 409, 48, 65, 362, 363, 48, - 93, 75, 55, 366, 1671, 497, 498, 48, 108, 346, - 511, 752, 753, 25, 377, 1039, 12, 108, 500, 93, - 94, 359, 75, 213, 93, 717, 363, 390, 108, 759, - 411, 221, 196, 93, 108, 75, 93, 975, 196, 25, - 93, 27, 407, 363, 93, 410, 75, 59, 238, 363, - 363, 63, 93, 475, 55, 477, 478, 479, 4, 93, - 475, 48, 477, 478, 60, 12, 447, 63, 407, 65, - 407, 4, 5, 59, 75, 48, 633, 63, 1437, 61, - 33, 346, 447, 95, 510, 511, 48, 1446, 1447, 35, - 1449, 48, 518, 872, 873, 874, 447, 478, 363, 48, - 3, 4, 5, 6, 530, 48, 93, 94, 65, 95, - 447, 476, 1346, 60, 479, 520, 63, 447, 483, 522, - 93, 108, 55, 549, 57, 58, 48, 447, 1106, 510, - 511, 93, 94, 447, 1043, 59, 93, 518, 71, 42, - 937, 76, 407, 78, 93, 94, 483, 667, 81, 530, - 93, 94, 55, 556, 57, 58, 4, 522, 4, 108, - 497, 498, 107, 526, 529, 1230, 1231, 529, 549, 48, - 55, 93, 25, 97, 27, 333, 1114, 61, 4, 5, - 4, 5, 447, 9, 25, 1322, 89, 35, 1126, 35, - 75, 556, 529, 558, 48, 560, 149, 150, 151, 48, - 565, 566, 567, 568, 569, 63, 59, 625, 48, 529, - 63, 84, 85, 578, 93, 529, 529, 75, 483, 4, - 5, 751, 1160, 588, 1162, 49, 591, 590, 55, 55, - 48, 57, 58, 57, 58, 529, 1595, 1596, 55, 93, - 1112, 55, 95, 196, 93, 71, 63, 31, 3, 4, - 5, 48, 63, 93, 669, 81, 718, 81, 75, 624, - 625, 75, 48, 725, 529, 455, 59, 48, 94, 75, - 633, 59, 57, 58, 48, 93, 434, 435, 643, 985, - 48, 828, 829, 1040, 48, 650, 48, 834, 625, 670, - 985, 725, 48, 1040, 59, 1040, 93, 48, 1095, 1096, - 65, 491, 57, 58, 641, 642, 643, 93, 94, 65, - 500, 733, 93, 650, 4, 5, 654, 720, 733, 93, - 94, 884, 108, 55, 63, 93, 81, 517, 504, 93, - 94, 93, 94, 497, 498, 499, 512, 93, 94, 1069, - 498, 499, 93, 94, 108, 190, 108, 48, 726, 780, - 55, 48, 733, 93, 981, 720, 876, 108, 48, 55, - 625, 4, 5, 726, 63, 55, 55, 57, 58, 108, - 75, 734, 60, 182, 837, 60, 61, 3, 643, 757, - 6, 71, 1254, 1180, 1181, 650, 55, 1093, 76, 859, - 78, 81, 93, 94, 820, 865, 93, 94, 1093, 76, - 558, 764, 560, 93, 94, 31, 49, 108, 59, 108, - 775, 108, 63, 63, 57, 58, 42, 63, 783, 577, - 578, 108, 3, 4, 5, 75, 108, 1299, 985, 75, - 108, 57, 58, 591, 108, 850, 773, 774, 775, 820, - 45, 846, 847, 781, 55, 71, 783, 63, 55, 11, - 55, 856, 63, 58, 109, 81, 63, 860, 861, 75, - 863, 97, 884, 89, 75, 61, 48, 93, 75, 806, - 807, 1268, 93, 55, 3, 48, 57, 58, 843, 60, - 845, 843, 55, 845, 1196, 1197, 851, 1199, 853, 60, - 61, 853, 650, 75, 859, 860, 861, 1195, 863, 1296, - 865, 983, 75, 884, 55, 975, 843, 61, 845, 75, - 775, 93, 63, 1033, 4, 5, 853, 94, 783, 9, - 93, 63, 859, 843, 75, 845, 1056, 94, 865, 843, - 843, 845, 845, 853, 93, 957, 1093, 850, 851, 853, - 853, 1338, 964, 27, 497, 498, 499, 31, 1565, 843, - 55, 845, 55, 60, 61, 4, 5, 851, 63, 853, - 63, 983, 1109, 1110, 1111, 55, 1678, 57, 58, 934, - 75, 111, 75, 938, 60, 93, 60, 61, 843, 93, - 845, 71, 60, 61, 60, 61, 1078, 1079, 853, 75, - 76, 81, 78, 75, 859, 1087, 1088, 60, 75, 1081, - 865, 75, 65, 75, 969, 60, 55, 11, 57, 58, - 975, 775, 75, 76, 979, 60, 61, 775, 60, 783, - 108, 466, 71, 84, 85, 783, 3, 4, 5, 1426, - 60, 61, 81, 108, 1154, 1155, 1156, 108, 975, 797, - 977, 978, 979, 108, 1114, 94, 75, 985, 55, 807, - 808, 27, 1083, 1075, 75, 31, 1126, 60, 61, 1081, - 60, 61, 75, 1026, 108, 1, 1463, 3, 4, 5, - 6, 109, 8, 60, 61, 1040, 1039, 1042, 1043, 65, - 57, 58, 1699, 109, 60, 61, 108, 65, 108, 65, - 1160, 1, 1162, 3, 4, 5, 81, 82, 83, 84, - 85, 1040, 1117, 1040, 27, 111, 42, 1138, 75, 1407, - 975, 108, 557, 49, 979, 1080, 108, 75, 55, 55, - 75, 57, 58, 111, 1089, 1130, 3, 4, 5, 6, - 111, 1136, 1137, 1098, 108, 1140, 1141, 108, 48, 1144, - 1222, 1078, 1079, 1080, 108, 55, 59, 57, 58, 1114, - 1087, 1088, 1089, 89, 108, 1093, 55, 1487, 8, 9, - 8, 1126, 93, 48, 14, 42, 109, 957, 65, 60, - 615, 93, 55, 1503, 964, 1040, 621, 1114, 623, 624, - 57, 58, 1147, 93, 109, 1147, 61, 37, 1270, 1126, - 37, 65, 65, 983, 65, 1160, 46, 1162, 61, 108, - 1222, 1204, 108, 63, 1117, 1170, 4, 5, 108, 65, - 1147, 65, 657, 111, 76, 1080, 4, 76, 1181, 60, - 978, 979, 775, 1160, 1089, 1162, 108, 1147, 108, 108, - 783, 76, 108, 1147, 1147, 63, 1356, 818, 108, 1204, - 76, 76, 108, 108, 1138, 63, 1603, 35, 1270, 1114, - 60, 108, 63, 1147, 42, 108, 1603, 55, 1588, 57, - 58, 1126, 1227, 7, 8, 9, 108, 55, 94, 57, - 14, 111, 109, 1405, 108, 1407, 1254, 858, 1406, 1609, - 111, 108, 1147, 864, 89, 1075, 75, 31, 1225, 1226, - 1227, 1081, 48, 37, 108, 1160, 108, 1162, 111, 1262, - 1265, 108, 46, 1265, 108, 1268, 1636, 108, 63, 1607, - 1275, 108, 1709, 1265, 1078, 1079, 1080, 4, 5, 109, - 61, 1079, 1080, 1087, 1088, 1089, 109, 60, 1265, 108, - 1088, 1089, 60, 65, 60, 108, 1273, 1274, 1275, 63, - 1670, 108, 93, 93, 31, 4, 5, 190, 136, 109, - 9, 1265, 140, 93, 93, 1292, 1293, 1322, 111, 108, - 1322, 48, 1227, 108, 8, 1695, 30, 31, 55, 33, - 57, 58, 31, 108, 108, 111, 33, 165, 108, 108, - 65, 169, 55, 108, 71, 1322, 108, 175, 176, 970, - 1405, 972, 1407, 57, 81, 59, 55, 108, 57, 58, - 1265, 65, 1322, 108, 107, 108, 93, 94, 1322, 1322, - 1275, 108, 71, 108, 823, 81, 82, 83, 84, 85, - 108, 63, 81, 1317, 108, 111, 1407, 48, 1322, 1392, - 1393, 108, 1222, 1398, 93, 223, 1398, 108, 55, 1444, - 1445, 1406, 96, 1408, 1607, 108, 1408, 63, 63, 61, - 1415, 61, 9, 1415, 61, 16, 1408, 1322, 1423, 108, - 108, 1398, 108, 1415, 111, 3, 4, 5, 1226, 1227, - 108, 1408, 108, 1580, 93, 93, 61, 141, 1415, 61, - 1270, 65, 146, 55, 1398, 149, 150, 151, 191, 93, - 93, 1583, 1584, 938, 1408, 17, 61, 55, 61, 4, - 5, 1415, 108, 108, 1526, 1295, 107, 952, 1513, 954, - 102, 956, 176, 108, 108, 1478, 1274, 1275, 182, 57, - 58, 59, 11, 93, 61, 1078, 1079, 1080, 1658, 61, - 194, 195, 196, 1398, 1087, 1088, 1089, 1500, 1501, 65, - 61, 108, 60, 1408, 49, 61, 210, 61, 108, 108, - 1415, 61, 57, 58, 218, 219, 0, 61, 175, 61, - 1525, 61, 0, 0, 407, 35, 2, 1589, 170, 1501, - 3, 4, 5, 6, 718, 363, 81, 1040, 1159, 169, - 1161, 1688, 165, 1028, 1691, 1657, 1523, 1524, 1525, 3, - 4, 5, 447, 1608, 1559, 851, 260, 94, 1254, 1564, - 1565, 1566, 1564, 1565, 1569, 1712, 223, 1569, 1715, 42, - 239, 139, 1564, 1486, 1577, 1724, 49, 1569, 1063, 1026, - 1585, 409, 1559, 304, 57, 58, 1607, 1564, 1565, 1566, - 333, 764, 1569, 1638, 243, 676, 1299, 1218, 1603, 1147, - 483, 55, 1112, 57, 58, 1610, 1583, 1584, 1610, 851, - 1564, 1565, 1319, 678, 1619, 1569, 89, 1619, 1610, 447, - 1525, 997, 625, 3, 4, 5, 1603, 1619, 201, 333, - 350, 124, 1408, 1610, 1, 1266, 3, 4, 5, 1678, - 1645, 1695, 1619, 1624, 1690, 1423, 792, 475, 476, 477, - 478, -1, -1, -1, 1559, 483, 1610, -1, -1, 1564, - 1565, 1566, -1, 491, 1569, 1619, 1671, -1, 1645, 1671, - 1119, 1120, -1, -1, -1, 55, 504, 57, 58, 1671, - -1, 48, 1303, -1, 512, -1, -1, 1308, 55, -1, - 57, 58, 59, 60, 1671, -1, 1526, 1146, 1603, -1, - -1, 529, 1151, -1, -1, 1610, 410, 411, -1, -1, - 1514, -1, -1, -1, 1619, -1, 1514, 1671, -1, 1724, - 424, -1, 1724, 427, 4, 5, 93, 31, -1, 433, - 434, 435, 1724, -1, -1, 439, -1, -1, -1, 1360, - 1645, -1, -1, 3, 4, 5, 6, 1724, 3, 4, - 5, -1, 409, -1, 3, 4, 5, -1, -1, 1589, - 643, 82, -1, 506, -1, 324, 1671, 650, -1, 49, - 1724, 1256, 476, 1258, 478, 1260, -1, 57, 58, 1583, - 1584, 1585, 42, -1, -1, -1, 1584, 1585, 492, 49, - -1, 495, -1, 497, 498, 499, -1, 57, 58, 503, - 55, 81, 57, 58, 59, 509, 510, 511, 57, 58, - 514, -1, -1, -1, 518, 558, -1, 560, 475, 1724, - 477, 478, 565, -1, -1, -1, -1, 531, -1, 89, - -1, -1, 1453, 1454, 491, 578, -1, 141, 159, -1, - -1, 669, 146, 500, 3, 4, 5, 504, 591, 1470, - -1, -1, 595, -1, 558, 512, 560, -1, -1, -1, - -1, -1, -1, 1312, 1313, -1, 1315, 1316, -1, 1318, - -1, 192, 576, 577, 578, 9, -1, -1, 12, 622, - -1, -1, 1367, -1, 205, 628, -1, 591, -1, -1, - 49, 195, 775, 3, 4, 5, 6, -1, 57, 58, - 783, 644, -1, -1, -1, 733, -1, -1, 1529, 1530, - 3, 4, 5, 6, 48, 3, 4, 5, -1, 7, - 190, 1514, -1, -1, 1545, 1546, 60, -1, 62, 63, - -1, 65, 42, 7, 8, 9, -1, 641, 642, 643, - 14, -1, 76, 686, 78, 55, 650, 57, 58, 42, - 38, 61, -1, 63, -1, 48, 260, 31, -1, 93, - 94, 71, 55, 37, 57, 58, 670, 55, -1, 57, - 58, 81, 46, -1, 108, -1, 859, -1, 71, 89, - -1, -1, 865, 93, -1, 1434, 1435, 61, 81, -1, - 1583, 1584, 1585, -1, -1, -1, 89, -1, -1, -1, - 93, 94, 77, 78, 79, 80, 81, 82, 83, 84, - 85, -1, 669, -1, -1, 843, -1, 845, 3, 4, - 5, -1, 850, 851, -1, 853, 3, 4, 5, 733, - 734, 3, 4, 5, 593, 594, -1, 596, 597, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 3, 4, 5, 6, 3, - 4, 5, 6, -1, 49, -1, -1, -1, -1, 773, - 774, 775, 57, 58, -1, -1, 733, -1, 55, 783, - 57, 58, -1, -1, -1, 57, 58, 1536, 1537, 1538, - -1, -1, 975, 797, 42, -1, 979, -1, 42, -1, - 804, 805, 806, 807, 808, 3, 4, 5, 812, 57, - 58, 55, -1, 57, 58, -1, 820, 61, -1, 823, - 424, -1, -1, 427, 3, 4, 5, 71, 7, 8, - 9, -1, -1, 194, 195, 439, -1, 81, -1, -1, - -1, 89, -1, 1592, 1593, 89, -1, 851, -1, 93, - -1, -1, 31, 3, 4, 5, 6, 1040, 37, 57, - 58, 4, 5, -1, -1, 8, 9, -1, 3, 4, - 5, 14, 7, 8, 9, -1, 55, -1, 57, 58, - 59, 502, -1, -1, -1, 28, 507, 30, 492, -1, - -1, 495, 42, 850, 37, -1, 466, 1080, -1, 942, - -1, -1, -1, 46, -1, 509, 1089, 57, 58, -1, - -1, 532, 55, 1662, 57, 58, 59, 538, -1, -1, - -1, -1, 57, 58, 103, 104, 105, -1, -1, 550, - 551, 1114, 553, 976, -1, -1, 979, -1, -1, 89, - -1, -1, -1, 1126, -1, -1, -1, 1075, -1, -1, - 93, -1, -1, -1, 958, -1, -1, 961, -1, -1, - -1, -1, 3, 4, 5, 6, 3, 4, 5, 973, - 7, 8, 9, 977, 978, 979, -1, 1160, -1, 1162, - 4, 5, -1, 7, 8, 9, -1, 557, 12, 1117, - 14, -1, -1, -1, 31, 3, 4, 5, 39, 40, - 37, 42, -1, -1, 28, -1, 30, 31, 3, 4, - 5, -1, -1, 37, 55, -1, 57, 58, -1, 1147, - 57, 58, 46, -1, 48, 646, 647, -1, -1, -1, - 651, 55, -1, 57, 58, 1039, 3, 4, 5, -1, - -1, -1, -1, -1, 1227, 615, 1089, 71, 89, 57, - 58, 621, -1, 623, 624, -1, -1, 81, -1, -1, - -1, -1, 57, 58, -1, 3, 4, 5, 6, 93, - 94, 9, 1076, 1077, 1078, 1079, 1080, -1, -1, -1, - 650, 1085, -1, 1087, 1088, 1089, -1, 657, -1, -1, - 57, 58, 1275, 31, -1, 1099, 1100, 1101, -1, 7, - 8, 9, -1, -1, 42, -1, 14, 3, 4, 5, - 6, -1, -1, 9, -1, 1119, 1120, 55, 1075, 57, - 58, -1, -1, 31, 1081, 3, 4, 5, 6, 37, - -1, 492, -1, 71, 495, 31, 497, 498, 46, -1, - -1, -1, 1146, 81, -1, -1, 42, 1151, 509, -1, - -1, 89, 48, 61, -1, 93, 777, 1200, -1, 55, - 1117, 57, 58, -1, 42, 4, 5, -1, -1, -1, - 774, 49, -1, -1, -1, 71, -1, -1, -1, 57, - 58, -1, -1, -1, -1, 81, 1314, 1046, -1, 810, - -1, 1319, -1, 89, 1322, -1, -1, 93, 94, -1, - 804, 805, -1, 81, 4, -1, 45, -1, 812, 4, - 5, 89, -1, 783, 14, -1, 55, -1, 57, 58, - -1, 1225, 1226, 1227, 24, -1, -1, 797, -1, -1, - 30, 31, -1, 33, -1, 35, 31, -1, -1, -1, - -1, -1, 42, -1, -1, 866, -1, 868, -1, -1, - -1, -1, -1, 48, -1, 55, -1, 57, -1, -1, - 55, -1, 57, 58, -1, 65, -1, 1271, 1272, 1273, - 1274, 1275, 72, -1, 1278, -1, 71, 1405, 1406, 1407, - -1, -1, -1, 83, 84, -1, 81, 48, 1292, 1293, - 1294, 1334, 1335, 1336, 1337, -1, -1, -1, 93, 94, - -1, 1344, -1, -1, -1, -1, 106, -1, 1312, 1313, - -1, 1315, 1316, 1270, 1318, -1, -1, -1, -1, 940, - 941, -1, 943, -1, -1, 1184, 87, 88, -1, -1, - 91, 92, 93, 94, 134, -1, 136, -1, 1295, -1, - 140, 141, 1525, -1, -1, 145, 146, -1, 1391, 149, - 150, 151, -1, 974, -1, -1, -1, 1314, -1, 7, - 8, 9, -1, -1, -1, 165, 14, -1, 938, 169, - -1, -1, -1, -1, -1, 175, 176, -1, -1, -1, - -1, -1, 952, 31, 954, -1, 956, -1, -1, 37, - -1, -1, -1, -1, 194, 195, 196, -1, 46, -1, - -1, -1, 1406, 1407, 79, 80, 81, 82, 83, 84, - 85, -1, 773, 774, 1418, 1419, -1, 1421, -1, -1, - 1603, -1, -1, 223, 4, 5, -1, -1, 8, 9, - 1434, 1435, -1, -1, 14, -1, -1, -1, -1, -1, - 240, -1, -1, 804, 805, 806, 807, -1, 1405, 249, - 1407, 812, -1, 1496, -1, -1, -1, 37, 1028, -1, - 260, -1, -1, 1084, -1, -1, 46, -1, 48, -1, - -1, -1, 1076, 1077, -1, 55, -1, 57, 58, -1, - 1608, 1085, -1, -1, 4, 5, -1, -1, 8, 9, - -1, 71, 1113, 1063, 14, -1, -1, -1, -1, -1, - -1, 81, 302, 303, 1125, -1, -1, -1, -1, -1, - 1514, -1, -1, 93, 94, -1, 1559, 37, -1, 1523, - 1524, 1525, 1565, 1566, -1, -1, 46, -1, 48, -1, - -1, -1, 1536, 1537, 1538, 55, -1, 57, 58, -1, - -1, -1, 1585, -1, -1, -1, 346, -1, -1, -1, - 350, 71, 352, 353, 354, -1, -1, -1, -1, -1, - -1, 81, -1, 363, 4, 5, -1, -1, -1, 1526, - -1, -1, -1, 93, 94, -1, -1, 107, 108, 1583, - 1584, 1585, -1, -1, -1, -1, -1, -1, 1592, 1593, - -1, 31, 1213, -1, 3, 4, 5, 6, 398, -1, - -1, -1, 1645, -1, -1, -1, -1, 407, -1, 409, - 410, -1, -1, -1, -1, 55, -1, 57, 58, -1, - -1, -1, 1665, -1, 424, -1, -1, 427, -1, -1, - -1, 71, 1589, 42, -1, -1, -1, -1, -1, 439, - -1, 81, -1, -1, 1687, -1, 55, 447, 57, 58, - -1, 1608, -1, 93, 63, 1276, 1699, 80, 1662, -1, - 190, -1, 71, -1, -1, -1, -1, 1271, 1272, -1, - -1, -1, 81, -1, 1278, 475, 476, 477, 478, 479, - 89, 104, -1, 483, 93, -1, 1256, -1, 1258, -1, - 1260, 491, 492, -1, -1, 495, -1, 497, 498, 499, - 500, -1, -1, 1324, 504, -1, -1, 1328, -1, 509, - 133, -1, 512, -1, -1, 1076, 1077, 1078, 1079, -1, - -1, 144, -1, -1, 1085, -1, 1087, 1088, -1, 529, - -1, 3, 4, 5, 6, 7, 8, 9, 1099, 1100, - 1101, 1362, 14, 79, 80, 81, 82, 83, 84, 85, - 3, 4, 5, 6, 554, -1, 28, -1, 30, 31, - -1, -1, -1, -1, -1, 37, 566, 567, 568, 569, - 42, -1, -1, -1, 46, -1, 48, -1, 31, -1, - -1, 204, -1, 55, -1, 57, 58, -1, -1, 42, - -1, -1, -1, -1, -1, -1, -1, 1367, -1, 71, - -1, -1, 55, 333, 57, 58, -1, -1, 1429, 81, - -1, -1, 1433, -1, -1, -1, 239, 89, 71, -1, - -1, 93, 94, 641, 642, 625, -1, 627, 81, 3, - 4, 5, 6, -1, 1455, 1456, 89, -1, -1, 639, - 93, 641, 642, 643, 267, -1, -1, -1, -1, -1, - 650, -1, -1, -1, 654, 74, 75, 31, 77, 78, - 79, 80, 81, 82, 83, 84, 85, -1, 42, 669, - -1, -1, -1, -1, 48, 4, 5, 407, -1, -1, - 9, 55, -1, 57, 58, 77, 78, 79, 80, 81, - 82, 83, 84, 85, -1, 4, 5, 71, -1, -1, - 9, -1, 31, -1, -1, -1, -1, 81, -1, -1, - 1271, 1272, 1273, 1274, -1, 89, -1, 1278, 718, 93, - 94, -1, 31, -1, -1, 725, 55, -1, 57, 58, - -1, 1292, 1293, 733, 734, 358, -1, -1, -1, 48, - -1, -1, 71, -1, 1514, -1, 55, -1, 57, 58, - -1, -1, 81, 483, -1, 773, 774, -1, -1, -1, - -1, -1, 71, -1, 93, -1, -1, -1, -1, -1, - -1, -1, 81, 773, 774, 775, -1, -1, -1, -1, - -1, 781, -1, 783, 93, 94, 68, 69, 70, 71, - 72, 73, 74, 75, 417, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 804, 805, 806, 807, 808, 73, - 74, 75, 812, 77, 78, 79, 80, 81, 82, 83, - 84, 85, -1, -1, 3, 4, 5, 6, 558, -1, - 560, 3, 4, 5, 6, 565, 566, 567, 568, 569, - 840, -1, -1, 843, -1, 845, -1, -1, 578, -1, - 850, 851, 31, 853, -1, -1, -1, 1418, 1419, 859, - 1421, 591, -1, 42, -1, 865, -1, -1, -1, 48, - 42, -1, 872, 873, 874, -1, 55, -1, 57, 58, - -1, -1, -1, 55, 884, 57, 58, 3, 4, 5, - 6, 63, 71, -1, 624, -1, -1, -1, -1, 71, - -1, -1, 81, 526, -1, -1, -1, -1, -1, 81, - 89, -1, -1, 643, 93, 94, -1, 89, -1, -1, - 650, 93, -1, 39, 40, -1, 42, -1, -1, 552, - -1, -1, -1, -1, 934, 3, 4, 5, 6, 55, - 958, 57, 58, 961, -1, -1, -1, -1, 3, 4, - 5, 6, -1, -1, 9, 973, -1, 957, 958, 977, - 978, 961, 1523, 1524, 964, -1, -1, -1, -1, 969, - -1, -1, -1, 973, 42, 975, 31, 977, 978, 979, - -1, 49, -1, 983, -1, 985, -1, 42, -1, 57, - 58, -1, -1, 48, -1, -1, 3, 4, 5, 6, - 55, -1, 57, 58, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, -1, 638, 71, 3, 4, 5, - 6, 89, 1583, 1584, 31, -1, 81, -1, -1, -1, - 653, -1, -1, -1, 89, 42, -1, -1, 93, 94, - 1040, -1, 1042, -1, -1, 775, -1, -1, 55, -1, - 57, 58, -1, 783, -1, -1, 42, -1, 1076, 1077, - 1078, 1079, -1, 49, 71, -1, -1, 1085, -1, 1087, - 1088, 57, 58, -1, 81, 1075, 1076, 1077, 1078, 1079, - 1080, 1081, 89, -1, -1, 1085, 93, 1087, 1088, 1089, - -1, -1, -1, 1093, -1, 81, -1, -1, 1098, 1099, - 1100, 1101, -1, 89, 3, 4, 5, 6, -1, -1, - 9, -1, -1, -1, 1114, -1, -1, 1117, -1, -1, - -1, -1, -1, -1, -1, -1, 1126, -1, -1, 859, - -1, -1, 31, -1, -1, 865, -1, -1, -1, 1139, - -1, -1, -1, 42, -1, -1, -1, 1147, -1, 48, - -1, -1, -1, -1, -1, -1, 55, 780, 57, 58, - 1160, -1, 1162, -1, 3, 4, 5, 6, -1, -1, - 1170, -1, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 81, -1, -1, -1, 809, -1, -1, -1, - 89, -1, -1, -1, 93, 94, 1196, 1197, -1, 1199, - -1, -1, -1, 42, 934, -1, -1, 1225, 1226, -1, - 49, -1, -1, -1, -1, -1, -1, -1, 57, 58, - -1, -1, 1222, -1, -1, 1225, 1226, 1227, -1, -1, - 3, 4, 5, 6, -1, -1, 9, -1, -1, 969, - -1, -1, 81, -1, -1, 975, -1, -1, -1, 979, - 89, -1, 875, 1271, 1272, 1273, 1274, -1, 31, -1, - 1278, -1, -1, -1, -1, -1, -1, -1, -1, 42, - 1270, 1271, 1272, 1273, 1274, 1275, -1, -1, 1278, -1, - 4, -1, 55, -1, 57, 58, -1, -1, -1, -1, - 14, -1, 1292, 1293, 1294, 1295, -1, -1, 71, 23, - 24, 3, 4, 5, 6, -1, 30, 31, 81, 33, - 1040, 35, 1042, -1, 1314, -1, 89, -1, 42, 1319, - 93, -1, 1322, 3, 4, 5, 6, -1, -1, 31, - -1, 55, -1, 57, 3, 4, 5, 6, -1, -1, - 42, 65, -1, -1, -1, -1, 48, -1, 72, -1, - 1080, -1, -1, 55, -1, 57, 58, -1, -1, 1089, - 84, 984, 42, 986, -1, -1, -1, -1, 1098, 71, - -1, -1, -1, 42, -1, -1, -1, 57, 58, 81, - 49, -1, -1, -1, 1114, -1, -1, 89, 57, 58, - -1, 93, 94, -1, -1, -1, 1126, -1, -1, -1, - 1418, 1419, -1, 1421, -1, 1405, 1406, 1407, -1, 89, - -1, -1, 136, -1, -1, -1, 140, 141, 1418, 1419, - 89, 1421, 146, 1423, -1, 149, 150, 151, -1, -1, - 1160, -1, 1162, -1, -1, -1, -1, -1, -1, -1, - 1170, 165, -1, -1, -1, 169, -1, -1, -1, -1, - -1, 175, 176, -1, -1, -1, -1, -1, -1, -1, - 1083, -1, -1, 1086, -1, -1, -1, -1, -1, -1, - 194, 195, 196, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1, -1, -1, 4, 5, -1, -1, - 8, 9, -1, -1, -1, -1, 14, 1227, -1, 223, - -1, -1, -1, -1, -1, 1523, 1524, -1, -1, -1, - 28, -1, 30, -1, 1514, 1138, -1, -1, -1, 37, - -1, 39, 40, 1523, 1524, 1525, 1526, -1, 46, -1, - 48, -1, -1, -1, -1, -1, 260, 55, -1, 57, - 58, -1, 60, -1, -1, 1275, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, -1, -1, 87, - 88, 89, -1, 91, -1, -1, 94, -1, 302, 303, - -1, -1, -1, 1583, 1584, 1585, -1, -1, -1, 1589, - 4, 5, 110, -1, 8, 9, -1, -1, -1, -1, - 14, -1, -1, 1603, -1, -1, -1, -1, 1608, -1, - -1, -1, -1, -1, 28, -1, 30, -1, -1, -1, - -1, -1, 346, 37, -1, -1, 350, -1, 352, 353, - 354, -1, 46, -1, -1, 359, -1, -1, -1, 363, - -1, 55, -1, 57, 58, -1, -1, -1, -1, -1, - -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, - -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, - 3, 4, 5, 6, 398, -1, 9, 27, 28, 93, - 30, 31, 32, 407, -1, 409, 410, 37, -1, -1, - -1, -1, 42, 1423, 1317, 45, 46, 47, 31, 49, - 424, -1, -1, 427, -1, 55, -1, 57, 58, 42, - -1, 61, -1, -1, -1, 439, -1, -1, -1, -1, - -1, 71, 55, 447, 57, 58, -1, -1, -1, -1, - -1, 81, -1, -1, -1, -1, -1, -1, 71, 89, - -1, -1, -1, 93, -1, -1, -1, 97, 81, -1, - -1, 475, 476, 477, 478, 479, 89, -1, -1, 483, - 93, -1, 3, 4, 5, 6, -1, 491, 492, -1, - -1, 495, -1, 497, 498, 499, 500, -1, -1, -1, - 504, -1, -1, -1, -1, 509, -1, -1, 512, -1, - 31, -1, -1, -1, -1, 1525, -1, 1420, -1, -1, - -1, 42, -1, -1, 528, 529, -1, -1, -1, -1, - -1, -1, -1, -1, 55, -1, 57, 58, -1, -1, - 1, -1, 3, 4, 5, 6, 7, 8, 9, -1, - 71, -1, -1, 14, -1, -1, -1, -1, -1, -1, - 81, -1, 566, 567, 568, 569, -1, 28, 89, 30, - 31, 32, 93, -1, -1, 1585, 37, -1, -1, -1, - -1, 42, -1, -1, -1, 46, -1, -1, 49, -1, - -1, -1, -1, 1603, 55, -1, 57, 58, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 71, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 81, 625, -1, 627, -1, -1, -1, -1, 89, -1, - -1, -1, 93, -1, -1, -1, 97, 641, 642, 643, - -1, -1, -1, -1, -1, 1, 650, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 663, - -1, -1, -1, -1, -1, 669, -1, -1, -1, -1, - -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, - 36, 37, -1, 39, 40, 41, 42, 43, 44, -1, - 46, -1, 48, -1, 50, 51, 52, 53, 54, 55, - -1, 57, 58, 59, -1, -1, 62, -1, -1, -1, - -1, -1, 68, -1, 718, 71, -1, -1, -1, -1, - -1, -1, 726, 79, 80, 81, -1, -1, -1, 733, - 734, 87, 88, 89, -1, -1, -1, 93, 94, 3, - 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, - 14, -1, -1, 757, 110, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 28, -1, 30, 31, 32, 773, - 774, 775, -1, 37, -1, -1, -1, -1, 42, 783, - -1, -1, 46, -1, -1, 49, -1, -1, -1, -1, - -1, 55, -1, 57, 58, -1, 3, 4, 5, 6, - 804, 805, 806, 807, 808, -1, -1, 71, 812, -1, - -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, - -1, -1, -1, -1, 31, 89, -1, -1, -1, 93, - -1, -1, -1, 97, -1, 42, 840, -1, -1, 843, - -1, 845, -1, -1, -1, -1, 850, 851, 55, 853, - 57, 58, -1, -1, -1, 859, -1, -1, -1, -1, - -1, 865, -1, -1, 71, -1, -1, -1, 872, 873, - 874, -1, -1, -1, 81, -1, -1, -1, -1, -1, - 884, -1, 89, -1, -1, -1, 93, -1, 1, -1, - 3, 4, 5, 6, 7, 8, 9, 72, 73, 74, - 75, 14, 77, 78, 79, 80, 81, 82, 83, 84, - 85, -1, -1, -1, -1, 28, -1, 30, 31, 32, - -1, -1, -1, -1, 37, 38, -1, -1, -1, 42, - 934, -1, -1, 46, 47, -1, 49, -1, 3, 4, - 5, 6, 55, -1, 57, 58, -1, -1, 61, -1, - 63, -1, -1, 957, 958, -1, -1, 961, 71, -1, - 964, -1, -1, -1, -1, 969, -1, -1, 81, 973, - -1, 975, -1, 977, 978, 979, 89, 42, -1, 983, - 93, 985, -1, -1, 49, -1, -1, -1, -1, -1, - -1, -1, 57, 58, -1, -1, 109, -1, 1, -1, - 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, - -1, 14, -1, -1, -1, -1, 81, -1, -1, -1, - -1, -1, -1, -1, 89, 28, -1, 30, 31, 32, - -1, -1, -1, -1, 37, 38, 1040, -1, 1042, 42, - -1, -1, -1, 46, 47, -1, 49, -1, -1, -1, - -1, -1, 55, -1, 57, 58, -1, -1, 61, -1, - 63, 3, 4, 5, 6, -1, -1, -1, 71, -1, - -1, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 81, -1, - -1, 1085, -1, 1087, 1088, 1089, 89, -1, -1, 1093, - 93, -1, -1, -1, 1098, 1099, 1100, 1101, -1, -1, - 42, -1, -1, -1, -1, -1, 109, 49, 1112, -1, - 1114, -1, -1, 1117, -1, 57, 58, -1, -1, -1, - -1, -1, 1126, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, -1, -1, -1, 81, - 14, -1, -1, 1147, -1, -1, 1, 89, 3, 4, - 5, 6, 7, 8, 9, -1, 1160, 31, 1162, 14, - -1, -1, -1, 37, -1, -1, 1170, -1, 42, -1, - -1, -1, 46, 28, 48, 30, 31, -1, -1, -1, - -1, 55, 37, 57, 58, -1, -1, 42, -1, -1, - -1, 46, 1196, 1197, 49, 1199, -1, 71, -1, -1, - 55, -1, 57, 58, 4, -1, 61, 81, 3, 4, - 5, 6, -1, -1, 9, 89, 71, -1, 1222, 93, - 94, 1225, 1226, 1227, -1, -1, 81, -1, -1, -1, - 30, 31, -1, 33, 89, 35, 31, -1, 93, -1, - -1, -1, 42, -1, -1, -1, -1, 42, -1, -1, - 1254, -1, -1, 48, -1, 55, -1, 57, -1, -1, - 55, -1, 57, 58, -1, -1, 1270, 1271, 1272, 1273, - 1274, 1275, -1, -1, 1278, -1, 71, -1, -1, -1, - 80, -1, -1, 83, -1, -1, 81, -1, 1292, 1293, - 1294, 1295, -1, -1, 89, 1299, -1, -1, 93, 94, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1314, -1, -1, -1, -1, 1319, -1, -1, 1322, 3, - 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, - 14, -1, -1, 133, 134, -1, 136, -1, -1, -1, - 140, 141, -1, -1, 144, 145, 146, 31, -1, 149, - 150, 151, -1, 37, -1, -1, 156, -1, 42, -1, - -1, -1, 46, -1, 48, 165, -1, -1, -1, 169, - -1, 55, -1, 57, 58, 175, 176, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, - 1394, -1, -1, -1, 194, 195, 196, 81, -1, -1, - -1, 1405, 1406, 1407, 204, 89, -1, -1, -1, 93, - 94, -1, -1, -1, 1418, 1419, -1, 1421, -1, 1423, - -1, -1, -1, 223, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 1, -1, 3, - 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 260, -1, -1, -1, 28, 29, 30, 267, 32, -1, - 34, 35, 36, 37, -1, 39, 40, 41, 42, 43, - 44, -1, 46, -1, -1, -1, 50, 51, 52, 53, - 54, 55, -1, 57, 58, 59, -1, -1, 62, -1, - -1, -1, -1, -1, 68, -1, -1, 71, -1, -1, - 1514, -1, -1, -1, -1, 79, 80, 81, -1, 1523, - 1524, 1525, 1526, 87, 88, 89, -1, -1, -1, 93, - 94, -1, -1, 333, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 109, 110, -1, -1, -1, - 350, 3, 4, 5, 6, -1, -1, -1, 358, -1, - -1, 4, 5, 363, -1, -1, 9, -1, 3, 4, - 5, 6, -1, -1, 9, -1, -1, -1, -1, 1583, - 1584, 1585, -1, -1, -1, 1589, -1, -1, 31, -1, - 42, -1, -1, -1, -1, -1, 31, -1, 398, 1603, - -1, -1, -1, 55, 1608, 57, 58, 42, -1, 409, - -1, 63, 55, 48, 57, 58, -1, 417, -1, 71, - 55, -1, 57, 58, 424, -1, -1, 427, 71, 81, - -1, -1, -1, 433, 434, 435, 71, 89, 81, 439, - -1, 93, -1, -1, -1, -1, 81, 447, -1, -1, - 93, -1, -1, -1, 89, -1, -1, -1, 93, 94, - -1, -1, 3, 4, 5, 6, 7, 8, 9, -1, - -1, -1, -1, 14, -1, 475, 476, 477, 478, 3, - 4, 5, 6, 483, -1, 9, -1, 28, -1, 30, - 31, 491, 492, -1, -1, 495, 37, 497, 498, 499, - 500, 42, -1, -1, 504, 46, -1, 31, -1, 509, - -1, -1, 512, -1, 55, 4, 57, 58, 42, -1, - 61, -1, -1, -1, 48, -1, -1, -1, -1, 529, - 71, 55, -1, 57, 58, -1, -1, -1, -1, -1, - 81, 30, 31, -1, 33, -1, 35, 71, 89, -1, - -1, -1, 93, 42, -1, -1, -1, 81, 558, -1, - 560, -1, -1, -1, -1, 89, 55, -1, 57, 93, - 94, -1, -1, -1, -1, -1, 576, 577, 578, 1, - -1, 3, 4, 5, 6, 7, 8, 9, -1, -1, - -1, 591, 14, -1, 83, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 28, -1, 30, 31, - 32, -1, -1, -1, -1, 37, -1, -1, -1, -1, - 42, -1, -1, -1, 46, 47, -1, 49, -1, -1, - -1, -1, -1, 55, -1, 57, 58, -1, 638, 61, - -1, 63, -1, -1, -1, -1, -1, 136, -1, 71, - 650, 140, 141, -1, -1, -1, 145, 146, -1, 81, - 149, 150, 151, -1, -1, -1, -1, 89, -1, 669, - -1, 93, -1, -1, -1, -1, 165, 88, -1, 90, - 169, 92, -1, -1, -1, -1, 175, 176, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 194, 195, 196, 1, -1, - 3, 4, 5, 6, 7, 8, 9, -1, 718, -1, - -1, 14, -1, -1, -1, 725, 137, -1, 139, -1, - -1, -1, -1, 733, 223, 28, -1, 30, 31, 32, - -1, -1, -1, -1, 37, 38, -1, -1, -1, 42, - -1, -1, -1, 46, 47, -1, 49, -1, -1, -1, - -1, -1, 55, -1, 57, 58, -1, -1, 61, -1, - 63, 260, -1, 773, 774, 775, -1, -1, 71, -1, - 780, 781, -1, 783, -1, -1, -1, -1, 81, -1, - -1, -1, -1, -1, -1, -1, 89, 797, -1, -1, - 93, -1, -1, -1, 804, 805, 806, 807, 808, -1, - -1, -1, 812, -1, -1, -1, 109, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - -1, 1, 9, 3, 4, 5, 6, 7, 8, 9, - -1, -1, -1, 843, 14, 845, -1, -1, -1, -1, - 850, 851, -1, 853, 31, -1, -1, -1, 28, -1, - 30, 31, 32, -1, -1, 42, -1, 37, 38, -1, - 359, -1, 42, -1, 363, -1, 46, 47, 55, 49, - 57, 58, -1, -1, -1, 55, -1, 57, 58, -1, - -1, 61, -1, 63, 71, -1, -1, -1, -1, 310, - 311, 71, -1, -1, 81, -1, -1, -1, -1, -1, - -1, 81, 89, 324, -1, 326, 93, -1, 329, 89, - 409, 332, -1, 93, 335, -1, -1, -1, 339, -1, - -1, -1, -1, -1, -1, 424, 347, -1, 427, 109, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 439, 362, 9, -1, -1, -1, -1, -1, 447, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 31, -1, -1, 977, 978, 979, - -1, -1, -1, 983, 984, 42, 475, 476, 477, 478, - -1, -1, -1, -1, 483, -1, -1, -1, 55, -1, - 57, 58, 491, 492, -1, -1, 495, -1, 497, 498, - 499, -1, -1, -1, 71, 504, -1, 4, 5, -1, - 509, 8, 9, 512, 81, -1, -1, 14, -1, -1, - -1, -1, 89, -1, -1, -1, 93, -1, -1, -1, - 529, 28, -1, 30, -1, -1, 4, 5, -1, -1, - 37, 9, -1, -1, -1, -1, -1, -1, -1, 46, - -1, 48, -1, -1, -1, -1, -1, -1, 55, -1, - 57, 58, -1, 31, -1, 1075, 1076, 1077, 1078, 1079, - 1080, 1081, -1, 1083, 71, 1085, 1086, 1087, 1088, 1089, - 48, -1, -1, 1093, 81, -1, -1, 55, 33, 57, - 58, -1, -1, -1, 4, 5, 93, 94, 8, 9, - -1, 522, -1, 71, 14, -1, -1, 1117, -1, -1, - 55, -1, -1, 81, -1, -1, -1, -1, 28, -1, - 30, -1, -1, -1, -1, 93, 94, 37, 1138, 1139, - -1, -1, -1, -1, -1, 556, 46, 1147, -1, -1, - 639, -1, -1, -1, -1, 55, -1, 57, 58, -1, - -1, -1, -1, -1, -1, 576, 577, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 588, -1, -1, - 669, -1, 593, 594, -1, 596, 597, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4, 5, 149, 150, 151, 9, -1, -1, - -1, -1, 1222, -1, -1, 1225, 1226, 1227, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, - 175, -1, -1, -1, 733, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 48, -1, -1, 194, - 195, 196, -1, 55, -1, 57, 58, -1, -1, -1, - 1270, 1271, 1272, 1273, 1274, 1275, -1, -1, 1278, 71, - -1, -1, -1, -1, 773, 774, 775, -1, 223, 81, - -1, -1, 781, -1, 783, -1, -1, -1, -1, -1, - -1, 93, 94, -1, -1, -1, -1, -1, -1, 720, - -1, -1, -1, -1, 1314, 804, 805, 1317, -1, 1319, - -1, -1, 1322, 812, 3, 4, 5, 6, 7, 8, - 9, -1, -1, 12, -1, 14, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, -1, 28, - 9, 30, 31, -1, 843, -1, 845, -1, 37, -1, - -1, 850, 851, 42, 853, -1, -1, 46, 303, 48, - -1, -1, 31, -1, -1, -1, 55, -1, 57, 58, - -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, - -1, -1, 71, -1, -1, -1, 55, -1, 57, 58, - -1, -1, 81, -1, -1, 1405, 1406, 1407, -1, -1, - 89, -1, 71, -1, 93, 94, -1, 352, 353, 354, - -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, - 89, -1, -1, -1, 93, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 860, - 861, -1, 863, -1, -1, -1, -1, -1, -1, 1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, 13, 14, 15, 409, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, 34, 35, 36, 37, 985, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, -1, 50, 51, - 52, 53, 54, 55, 1514, 57, 58, 59, -1, 61, - 62, -1, -1, -1, -1, -1, 68, -1, -1, 71, - -1, -1, -1, -1, -1, 946, -1, 79, 80, 81, - 475, -1, 477, 478, 479, 87, 88, 89, -1, -1, - -1, 93, -1, 95, -1, -1, 491, 492, -1, -1, - 495, -1, 497, 498, 499, 500, 977, 978, 110, 504, - 3, 4, 5, 6, 509, -1, -1, 512, -1, -1, - -1, -1, -1, 1583, 1584, 1585, 1075, 1076, 1077, 1078, - 1079, 1080, -1, -1, -1, -1, 1085, -1, 1087, 1088, - 1089, -1, -1, -1, 1093, -1, -1, -1, 1608, 42, - -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, - -1, -1, -1, -1, 57, 58, -1, -1, 1117, -1, - -1, -1, 1043, -1, -1, 1046, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 81, -1, - 1139, -1, -1, -1, -1, -1, 89, -1, 1147, -1, - 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, -1, -1, 1087, 1088, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, - 31, 32, 627, 34, 35, 36, 37, -1, 39, 40, - 41, 42, 43, 44, -1, 46, 641, 642, 643, 50, - 51, 52, 53, 54, 55, 650, 57, 58, -1, -1, - -1, 62, -1, -1, -1, -1, -1, 68, -1, -1, - 71, -1, -1, -1, 669, -1, -1, -1, 79, 80, - 81, 3, 4, 5, 6, -1, 87, 88, 89, -1, - -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 108, -1, 110, - -1, -1, 55, 1184, -1, -1, -1, -1, -1, -1, - 42, -1, 1271, 1272, -1, -1, -1, 49, -1, 1278, - -1, 1202, -1, 1204, -1, 57, 58, 80, 733, -1, - 83, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, -1, -1, 12, -1, 14, 81, - -1, 104, -1, 106, -1, 1314, -1, 89, -1, -1, - 1319, -1, 28, 1322, 30, 31, -1, -1, 773, 774, - 775, 37, -1, -1, -1, -1, 42, -1, 783, -1, - 46, -1, 48, -1, -1, 3, 4, 5, 6, 55, - -1, 57, 58, -1, -1, -1, -1, -1, -1, 804, - 805, 806, 807, 808, -1, 71, -1, 812, -1, -1, - -1, -1, -1, 31, -1, 81, -1, -1, -1, -1, - -1, -1, 175, 89, 42, -1, -1, 93, 94, -1, - -1, -1, -1, -1, -1, -1, -1, 55, -1, 57, - 58, 194, 195, 196, -1, 850, 1405, 1406, 1407, -1, - -1, 204, -1, 71, -1, 3, 4, 5, 6, 7, - 8, 9, -1, 81, 12, -1, 14, 872, 873, 874, - 223, 89, -1, -1, -1, 93, -1, -1, -1, 884, - 28, -1, 30, 31, -1, -1, -1, -1, -1, 37, - -1, -1, -1, -1, 42, -1, 249, -1, 46, -1, - 48, -1, -1, -1, -1, -1, -1, 55, -1, 57, - 58, -1, -1, -1, 267, -1, -1, 1398, 71, 72, - 73, 74, 75, 71, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 81, -1, -1, -1, -1, -1, -1, - -1, 89, -1, -1, -1, 93, 94, -1, -1, -1, - -1, -1, 957, 958, -1, 1514, 961, -1, -1, 964, - 3, 4, 5, 6, 7, 8, 9, -1, 973, 12, - -1, 14, 977, 978, 979, -1, 4, 5, 983, -1, - 8, 9, -1, -1, -1, 28, 14, 30, 31, -1, - -1, -1, -1, -1, 37, -1, -1, -1, -1, 42, - 28, -1, 30, 46, -1, 358, 359, -1, -1, 37, - -1, -1, 55, -1, 57, 58, -1, -1, 46, -1, - -1, -1, -1, -1, 1583, 1584, 1585, 55, 71, 57, - 58, -1, 190, -1, -1, -1, -1, -1, 81, -1, - -1, -1, -1, -1, -1, -1, 89, -1, -1, 1608, - 93, -1, -1, -1, -1, -1, 409, -1, -1, -1, - -1, -1, 3, 4, 5, 6, -1, -1, 9, -1, - 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1, -1, -1, - 1085, -1, 1087, 1088, 1089, -1, -1, -1, -1, -1, - 31, -1, -1, -1, 1099, 1100, 1101, -1, -1, -1, - -1, 42, 1583, 1584, -1, -1, -1, -1, -1, -1, - -1, -1, 1117, -1, 55, -1, 57, 58, -1, -1, - -1, -1, 475, -1, 477, 478, -1, -1, -1, -1, - 71, -1, -1, -1, -1, -1, -1, -1, 491, 492, - 81, -1, 495, -1, 497, 498, 499, 500, 89, -1, - -1, 504, 93, -1, -1, -1, 509, -1, -1, 512, - -1, -1, -1, -1, 3, 4, 5, 6, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, -1, -1, - -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, - -1, 1196, 1197, -1, 1199, -1, 28, -1, 30, 31, - -1, -1, -1, 42, -1, 37, -1, -1, -1, -1, - 42, 369, -1, -1, 46, -1, 55, 1222, 57, 58, - 1225, 1226, 1227, 55, -1, 57, 58, -1, -1, -1, - -1, 63, 71, -1, -1, -1, -1, -1, -1, 71, - -1, -1, 81, -1, -1, -1, -1, -1, -1, 81, - 89, -1, -1, -1, 93, -1, -1, 89, -1, -1, - -1, 93, -1, -1, -1, 1270, 1271, 1272, 1273, 1274, - 1275, -1, -1, 1278, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1292, 1293, 1294, - 1295, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 653, 654, -1, -1, -1, -1, -1, 465, 466, 1314, - -1, -1, -1, -1, -1, -1, 669, 1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, 13, - 14, 15, -1, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, - 34, 35, 36, 37, -1, 39, 40, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 50, 51, 52, 53, - 54, 55, -1, 57, 58, 59, -1, 61, 62, -1, - 733, -1, -1, -1, 68, -1, -1, 71, -1, -1, - 3, 4, 5, 6, -1, 79, 80, 81, -1, 557, - 1405, -1, 1407, 87, 88, 89, 564, -1, -1, 93, - -1, 95, -1, 1418, 1419, -1, 1421, -1, -1, -1, - 773, 774, 775, -1, -1, 109, 110, 780, 781, 42, - 783, -1, 590, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, -1, 57, 58, -1, -1, 61, -1, - -1, 804, 805, 806, 807, 808, 809, 615, 71, 812, - -1, -1, -1, 621, -1, 623, 624, -1, 81, -1, - -1, -1, -1, -1, -1, -1, 89, -1, -1, -1, - 93, -1, -1, -1, 837, -1, -1, -1, -1, -1, - -1, -1, 650, -1, -1, -1, -1, 850, -1, 657, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1514, - -1, -1, -1, -1, -1, -1, -1, -1, 1523, 1524, - 1525, 1526, -1, -1, 682, 683, 684, 685, -1, 687, - 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, - 698, 699, 700, 701, 702, 703, 704, 705, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 3, - 4, 5, 6, 14, -1, 9, 14, -1, 1583, 1584, - 1585, -1, -1, -1, 1589, 23, 24, 28, -1, 30, - 31, -1, 30, 31, -1, 33, 37, 31, -1, -1, - -1, 42, -1, 1608, -1, 46, 764, -1, 42, 12, - -1, -1, -1, -1, 55, -1, 57, 58, -1, -1, - 61, 55, -1, 57, 58, 783, -1, 65, -1, -1, - 71, 984, 985, 986, -1, -1, -1, 71, -1, 797, - 81, -1, -1, -1, -1, -1, -1, 81, 89, -1, - -1, -1, 93, -1, -1, 89, -1, -1, -1, 93, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, -1, 842, -1, 124, -1, 126, -1, - -1, -1, -1, -1, -1, 133, 134, -1, -1, -1, - -1, -1, 140, 141, -1, -1, 144, 145, 146, -1, - 148, 149, 150, 151, -1, -1, -1, -1, -1, -1, - -1, -1, 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1, - 1083, -1, 1085, 1086, 1087, 1088, 1089, 352, 353, 354, - 1093, -1, 900, -1, -1, -1, 1099, 1100, 1101, -1, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, -1, 1117, -1, -1, 14, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4, 5, 937, - 938, 28, 9, 30, 31, 1138, -1, -1, -1, -1, - 37, -1, -1, -1, 952, 42, 954, -1, 956, 46, - -1, 239, 240, -1, 31, -1, -1, -1, 55, -1, - 57, 58, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 48, 260, 9, 71, -1, -1, -1, 55, -1, - 57, 58, -1, -1, 81, -1, -1, 995, -1, -1, - -1, -1, 89, -1, 71, 31, 93, -1, -1, -1, - -1, -1, -1, -1, 81, -1, 42, -1, -1, -1, - 475, -1, 477, 478, 479, 303, 93, 94, -1, 55, - 1028, 57, 58, -1, -1, -1, -1, -1, 69, 70, - 71, 72, 73, 74, 75, 71, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 81, -1, -1, -1, -1, - -1, -1, -1, 89, -1, 1063, -1, 93, -1, -1, - -1, -1, 350, -1, 352, 353, -1, 1270, 1271, 1272, - 1273, 1274, 1275, 4, 5, 1278, -1, -1, 9, -1, - -1, -1, -1, -1, -1, -1, -1, 1095, 1096, 1292, - 1293, 1294, 1295, -1, -1, -1, -1, -1, -1, -1, - 31, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 398, 1314, -1, -1, 14, -1, -1, 48, -1, -1, - -1, 1129, -1, -1, 55, -1, 57, 58, 28, 417, - 30, 31, -1, -1, -1, -1, 424, 37, -1, 427, - 71, -1, 42, 4, 5, -1, 46, -1, 9, -1, - 81, 439, -1, -1, -1, 55, -1, 57, 58, -1, - -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, - 31, 71, 1180, 1181, -1, -1, 641, 642, 643, -1, - -1, 81, -1, -1, -1, 650, -1, 48, -1, 89, - -1, -1, -1, 93, 55, -1, 57, 58, -1, -1, - -1, -1, 1405, -1, 1407, -1, -1, -1, -1, -1, - 71, -1, -1, -1, -1, 1418, 1419, 1420, 1421, -1, - 81, -1, -1, -1, -1, -1, -1, -1, 1236, -1, - -1, -1, 93, 94, -1, -1, -1, -1, 526, -1, - 528, -1, -1, -1, -1, -1, -1, -1, 1256, -1, - 1258, -1, 1260, 4, 5, -1, 7, 8, 9, -1, - 1268, -1, -1, 14, 552, -1, 554, -1, 733, -1, - -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, - 31, -1, -1, -1, -1, -1, 37, -1, 1296, -1, - -1, -1, -1, -1, -1, 46, -1, -1, 49, -1, - -1, -1, 1310, 1311, 55, -1, 57, 58, 773, 774, - 775, 1514, -1, -1, -1, -1, -1, -1, 783, -1, - 1523, 1524, 1525, 1526, -1, -1, -1, -1, -1, -1, - 1338, -1, -1, 70, 71, 72, 73, 74, 75, 627, - 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, - 638, 639, -1, 641, 642, -1, -1, -1, -1, 1367, - -1, 3, 4, 5, 6, 7, 8, 9, -1, -1, - -1, -1, 14, -1, -1, -1, -1, -1, -1, 1387, - 1583, 1584, 1585, -1, -1, -1, 1589, -1, -1, 31, - -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, - 42, -1, -1, -1, 46, 1608, 48, -1, -1, -1, - -1, -1, -1, 55, -1, 57, 58, -1, 1426, 884, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, - 718, -1, 1440, -1, -1, -1, -1, 725, 726, 81, - -1, -1, -1, -1, -1, -1, 734, 89, -1, -1, - -1, 93, -1, -1, -1, 1463, 4, 5, -1, 7, - 8, 9, -1, -1, 12, -1, 14, -1, -1, 757, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 28, -1, 30, 31, -1, -1, -1, -1, -1, 37, - -1, -1, 957, 958, -1, -1, 961, -1, 46, 964, - 48, -1, -1, -1, -1, -1, 1514, 55, 973, 57, - 58, -1, 977, 978, 979, -1, -1, -1, 983, -1, - -1, -1, -1, 71, -1, -1, 1534, 1535, 31, -1, - -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 93, 94, -1, -1, 837, - -1, -1, 840, -1, -1, -1, -1, -1, -1, 1567, - -1, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, -1, 872, 873, 874, 875, -1, -1, - 1598, -1, -1, -1, -1, -1, 884, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1, -1, -1, - 1085, -1, 1087, 1088, 1089, -1, 4, 5, -1, 7, - 8, 9, -1, -1, 12, -1, 14, -1, -1, 4, - 5, -1, 7, 8, 9, -1, -1, 12, -1, 14, - 28, -1, 30, 31, -1, -1, -1, -1, -1, 37, - -1, -1, -1, 28, -1, 30, 31, -1, 46, 957, - 958, -1, 37, 961, -1, -1, 964, 55, -1, 57, - 58, 46, -1, -1, -1, 973, -1, -1, -1, -1, - 55, -1, 57, 58, -1, 983, -1, -1, -1, 4, - 5, 1709, 7, 8, 9, -1, -1, -1, -1, 14, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 28, -1, 30, 31, -1, -1, -1, - -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, - -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, - 55, -1, 57, 58, -1, -1, -1, 1222, -1, -1, - 1225, 1226, 1227, -1, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, -1, -1, -1, -1, - 1, -1, 3, 4, 5, 6, 7, 8, 9, -1, - -1, 12, -1, 14, -1, 1270, 1271, 1272, 1273, 1274, - 1275, 111, -1, 1278, 25, -1, 27, -1, -1, -1, - 31, -1, -1, -1, 1112, -1, 37, -1, -1, -1, - -1, 42, -1, -1, -1, 46, -1, 48, -1, -1, - -1, -1, -1, -1, 55, -1, 57, 58, 59, 60, - 61, 1139, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, -1, 87, 88, 89, -1, - 91, 92, 93, 94, 95, -1, -1, -1, -1, -1, - 101, 102, -1, -1, -1, -1, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, 1196, 1197, - -1, 1199, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 1222, -1, -1, 1225, 1226, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1418, 1419, 107, 1421, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1254, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1299, 28, 29, 30, 31, 32, -1, 34, 35, - 36, 37, -1, 39, 40, 41, 42, 43, 44, 1317, - 46, 1319, 48, -1, 50, 51, 52, 53, 54, 55, - -1, 57, 58, 59, -1, -1, 62, -1, -1, -1, - -1, -1, 68, -1, -1, 71, -1, -1, 1523, 1524, - 1525, 1526, -1, 79, 80, 81, -1, -1, -1, -1, - -1, 87, 88, 89, -1, -1, -1, 93, 94, -1, - 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, -1, 13, 14, 110, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, - 31, 32, -1, 34, 35, 36, 37, -1, 39, 40, - 41, 42, 43, 44, 1589, 46, -1, -1, -1, 50, - 51, 52, 53, 54, 55, -1, 57, 58, 59, -1, - 61, 62, -1, -1, -1, -1, -1, 68, -1, -1, - 71, -1, -1, -1, -1, -1, -1, -1, 79, 80, - 81, -1, -1, -1, -1, -1, 87, 88, 89, -1, - -1, 1, 93, 3, 4, 5, 6, -1, 8, 9, - 10, 11, -1, 13, 14, -1, -1, -1, -1, 110, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, 31, 32, -1, 34, 35, 36, 37, -1, 39, - 40, 41, 42, 43, 44, -1, 46, -1, -1, -1, - 50, 51, 52, 53, 54, 55, -1, 57, 58, 59, - -1, -1, 62, -1, -1, -1, -1, -1, 68, -1, - -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, -1, 87, 88, 89, - -1, -1, 1, 93, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, - 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, -1, 32, -1, 34, 35, 36, 37, -1, - 39, 40, 41, 42, 43, 44, -1, 46, -1, -1, - -1, 50, 51, 52, 53, 54, 55, -1, 57, 58, - 59, -1, -1, 62, -1, -1, -1, -1, -1, 68, - -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, -1, 87, 88, - 89, -1, -1, -1, 93, 94, 1, -1, 3, 4, - 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, - 35, 36, 37, -1, 39, 40, 41, 42, 43, 44, - -1, 46, -1, -1, -1, 50, 51, 52, 53, 54, - 55, -1, 57, 58, 59, -1, -1, 62, -1, -1, - -1, -1, -1, 68, -1, -1, 71, -1, -1, -1, - -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, - -1, -1, 87, 88, 89, -1, -1, -1, 93, 1, - -1, 3, 4, 5, 6, 100, 8, 9, 10, 11, - -1, 13, 14, -1, -1, 110, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 28, 29, 30, -1, - 32, -1, 34, 35, 36, 37, -1, 39, 40, 41, - 42, 43, 44, -1, 46, -1, -1, -1, 50, 51, - 52, 53, 54, 55, -1, 57, 58, 59, -1, -1, - 62, -1, -1, -1, -1, -1, 68, -1, -1, 71, - -1, -1, -1, -1, -1, -1, -1, 79, 80, 81, - -1, -1, -1, -1, -1, 87, 88, 89, -1, -1, - 1, 93, 3, 4, 5, 6, -1, 8, 9, 10, - 11, -1, 13, 14, -1, -1, -1, 109, 110, -1, - -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, - -1, 32, -1, 34, 35, 36, 37, -1, 39, 40, - 41, 42, 43, 44, -1, 46, -1, -1, -1, 50, - 51, 52, 53, 54, 55, -1, 57, 58, 59, -1, - -1, 62, -1, -1, -1, -1, -1, 68, -1, -1, - 71, -1, -1, -1, -1, -1, -1, -1, 79, 80, - 81, -1, -1, -1, -1, -1, 87, 88, 89, -1, - -1, 1, 93, 3, 4, 5, 6, -1, 8, 9, - 10, 11, -1, 13, 14, -1, -1, -1, 109, 110, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, 31, 32, -1, 34, 35, 36, 37, -1, 39, - 40, 41, 42, 43, 44, -1, 46, -1, -1, -1, - 50, 51, 52, 53, 54, 55, -1, 57, 58, 59, - -1, -1, 62, -1, -1, -1, -1, -1, 68, -1, - -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, -1, 87, 88, 89, - -1, -1, 1, 93, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, - 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, -1, 32, -1, 34, 35, 36, 37, -1, - 39, 40, 41, 42, 43, 44, -1, 46, -1, -1, - -1, 50, 51, 52, 53, 54, 55, -1, 57, 58, - 59, -1, -1, 62, -1, -1, -1, -1, -1, 68, - -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, -1, 87, 88, - 89, -1, -1, 1, 93, 3, 4, 5, 6, -1, - 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, - 28, 29, 30, -1, 32, -1, 34, 35, 36, 37, - -1, 39, 40, 41, 42, 43, 44, -1, 46, -1, - -1, -1, 50, 51, 52, 53, 54, 55, -1, 57, - 58, -1, -1, -1, 62, 63, -1, -1, -1, -1, - 68, -1, -1, 71, -1, -1, -1, -1, -1, -1, - -1, 79, 80, 81, -1, -1, -1, -1, -1, 87, - 88, 89, -1, -1, 1, 93, 3, 4, 5, 6, - -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, - -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, - -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, -1, 46, - -1, -1, -1, 50, 51, 52, 53, 54, 55, -1, - 57, 58, -1, -1, 61, 62, -1, -1, -1, -1, - -1, 68, -1, -1, 71, -1, -1, -1, -1, -1, - -1, -1, 79, 80, 81, -1, -1, -1, -1, -1, - 87, 88, 89, -1, -1, 1, 93, 3, 4, 5, - 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, - -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, - -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, - 36, 37, -1, 39, 40, 41, 42, 43, 44, -1, - 46, -1, -1, -1, 50, 51, 52, 53, 54, 55, - -1, 57, 58, -1, -1, -1, 62, -1, -1, -1, - -1, -1, 68, -1, -1, 71, -1, -1, -1, -1, - -1, -1, -1, 79, 80, 81, -1, -1, -1, -1, - -1, 87, 88, 89, -1, -1, 1, 93, 3, 4, - 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, - -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, - -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, - 35, 36, 37, -1, 39, 40, 41, 42, 43, 44, - -1, 46, -1, -1, -1, 50, 51, 52, 53, 54, - 55, -1, 57, 58, -1, -1, -1, 62, -1, -1, - -1, -1, -1, 68, -1, -1, 71, -1, -1, -1, - -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, - -1, -1, 87, 88, 89, -1, -1, 1, 93, 3, - 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, -1, 110, -1, -1, -1, -1, - -1, -1, -1, -1, 28, 29, 30, -1, 32, -1, - 34, 35, 36, 37, -1, 39, 40, 41, 42, 43, - 44, -1, 46, -1, -1, -1, 50, 51, 52, 53, - 54, 55, -1, 57, 58, -1, -1, -1, 62, -1, - -1, -1, -1, -1, 68, -1, -1, 71, -1, -1, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, -1, 87, 88, 89, -1, -1, 1, 93, - 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, - 13, 14, -1, -1, -1, -1, 110, -1, -1, -1, - -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, - -1, 34, 35, 36, 37, -1, 39, 40, 41, 42, - 43, 44, -1, 46, -1, -1, -1, 50, 51, 52, - 53, 54, 55, -1, 57, 58, -1, -1, -1, 62, - -1, -1, -1, -1, -1, 68, -1, -1, 71, -1, - -1, -1, -1, -1, -1, -1, 79, 80, 81, -1, - -1, -1, -1, -1, 87, 88, 89, -1, -1, -1, - 93, 3, 4, 5, 6, -1, 8, 9, 10, 11, - -1, 13, 14, -1, -1, -1, -1, 110, -1, -1, - -1, -1, -1, -1, -1, -1, 28, 29, 30, -1, - 32, -1, 34, 35, 36, 37, -1, 39, 40, 41, - 42, 43, 44, -1, 46, -1, -1, -1, 50, 51, - 52, 53, 54, 55, -1, 57, 58, -1, -1, -1, - 62, -1, -1, -1, -1, -1, 68, -1, -1, 71, - -1, -1, -1, -1, -1, -1, -1, 79, 80, 81, - -1, -1, -1, -1, -1, 87, 88, 89, -1, -1, - -1, 93, 3, 4, 5, 6, -1, 8, 9, 10, - 11, -1, 13, 14, -1, -1, -1, -1, 110, 111, - -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, - -1, 32, -1, 34, 35, 36, 37, -1, 39, 40, - 41, 42, 43, 44, -1, 46, -1, -1, -1, 50, - 51, 52, 53, 54, 55, -1, 57, 58, -1, -1, - -1, 62, -1, -1, -1, -1, -1, 68, -1, -1, - 71, -1, -1, -1, -1, -1, -1, -1, 79, 80, - 81, -1, -1, -1, -1, -1, 87, 88, 89, -1, - -1, -1, 93, 3, 4, 5, 6, -1, 8, 9, - 10, 11, -1, 13, 14, -1, -1, -1, -1, 110, - 111, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, -1, 32, -1, 34, 35, 36, 37, -1, 39, - 40, 41, 42, 43, 44, -1, 46, -1, -1, -1, - 50, 51, 52, 53, 54, 55, -1, 57, 58, -1, - -1, -1, 62, -1, -1, -1, -1, -1, 68, -1, - -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, -1, 87, 88, 89, - -1, -1, -1, 93, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, - 110, 111, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, -1, 32, -1, 34, 35, 36, 37, -1, - 39, 40, 41, 42, 43, 44, -1, 46, -1, -1, - -1, 50, 51, 52, 53, 54, 55, -1, 57, 58, - -1, -1, -1, 62, -1, -1, -1, -1, -1, 68, - -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, -1, 87, 88, - 89, -1, -1, -1, 93, 3, 4, 5, 6, -1, - 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, - -1, 110, 111, -1, -1, -1, -1, -1, -1, -1, - 28, 29, 30, -1, 32, -1, 34, 35, 36, 37, - -1, 39, 40, 41, 42, 43, 44, -1, 46, -1, - -1, -1, 50, 51, 52, 53, 54, 55, -1, 57, - 58, -1, -1, -1, 62, -1, -1, -1, -1, -1, - 68, -1, -1, 71, -1, -1, -1, -1, -1, -1, - -1, 79, 80, 81, -1, -1, -1, -1, -1, 87, - 88, 89, -1, -1, -1, 93, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 110, 111, 3, 4, 5, 6, 7, 8, - 9, 10, 11, -1, 13, 14, 15, -1, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, 34, 35, 36, 37, -1, - 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 50, 51, 52, 53, 54, 55, -1, 57, 58, - 59, -1, 61, 62, -1, -1, -1, -1, -1, 68, - -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, -1, 87, 88, - 89, -1, -1, -1, 93, -1, 95, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 109, 110, 3, 4, 5, 6, 7, 8, 9, 10, - 11, -1, 13, 14, 15, -1, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, -1, 34, 35, 36, 37, -1, 39, 40, - 41, 42, 43, 44, 45, 46, 47, -1, -1, 50, - 51, 52, 53, 54, 55, -1, 57, 58, 59, -1, - 61, 62, -1, -1, -1, -1, -1, 68, -1, -1, - 71, -1, -1, -1, -1, -1, -1, -1, 79, 80, - 81, -1, -1, -1, -1, -1, 87, 88, 89, -1, - -1, -1, 93, -1, 95, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, 13, 14, 15, 110, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, -1, 34, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, -1, 50, 51, 52, 53, 54, 55, -1, - 57, 58, 59, -1, 61, 62, -1, -1, -1, -1, - -1, 68, -1, -1, 71, -1, -1, -1, -1, -1, - -1, -1, 79, 80, 81, -1, -1, -1, -1, -1, - 87, 88, 89, -1, -1, -1, 93, -1, 95, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - 13, 14, 15, 110, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - -1, 34, 35, 36, 37, -1, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, -1, 50, 51, 52, - 53, 54, 55, -1, 57, 58, -1, -1, 61, 62, - -1, -1, -1, -1, -1, 68, -1, -1, 71, -1, - -1, -1, -1, -1, -1, -1, 79, 80, 81, -1, - -1, -1, -1, -1, 87, 88, 89, -1, -1, -1, - 93, -1, 95, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, -1, -1, 110, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, 31, 32, -1, 34, 35, 36, 37, -1, 39, - 40, 41, 42, 43, 44, -1, 46, -1, 48, -1, - 50, 51, 52, 53, 54, 55, -1, 57, 58, -1, - -1, -1, 62, -1, -1, -1, -1, -1, 68, -1, - -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, -1, 87, 88, 89, - -1, -1, -1, 93, 94, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, - 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 28, 29, 30, 31, 32, -1, 34, 35, 36, 37, - -1, 39, 40, 41, 42, 43, 44, -1, 46, -1, - 48, -1, 50, 51, 52, 53, 54, 55, -1, 57, - 58, -1, -1, -1, 62, -1, -1, -1, -1, -1, - 68, -1, -1, 71, -1, -1, -1, -1, -1, -1, - -1, 79, 80, 81, -1, -1, -1, -1, -1, 87, - 88, 89, -1, -1, -1, 93, 94, 3, 4, 5, - 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, - -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, - 36, 37, -1, 39, 40, 41, 42, 43, 44, -1, - 46, -1, 48, -1, 50, 51, 52, 53, 54, 55, - -1, 57, 58, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 68, -1, -1, 71, -1, -1, -1, -1, - -1, -1, -1, 79, 80, 81, -1, -1, -1, -1, - -1, 87, 88, 89, -1, -1, -1, 93, 94, 3, - 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, 110, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, - 34, 35, 36, 37, -1, 39, 40, 41, 42, 43, - 44, -1, 46, -1, 48, -1, 50, 51, 52, 53, - 54, 55, -1, 57, 58, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 68, -1, -1, 71, -1, -1, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, -1, 87, 88, 89, -1, -1, -1, 93, - 94, 3, 4, 5, 6, -1, 8, 9, 10, 11, - -1, 13, 14, -1, -1, -1, 110, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, - 32, -1, 34, 35, 36, 37, -1, 39, 40, 41, - 42, 43, 44, -1, 46, -1, -1, -1, 50, 51, - 52, 53, 54, 55, -1, 57, 58, -1, -1, -1, - 62, -1, -1, -1, -1, -1, 68, -1, -1, 71, - -1, -1, -1, -1, -1, -1, -1, 79, 80, 81, - -1, -1, -1, -1, -1, 87, 88, 89, -1, -1, - -1, 93, 3, 4, 5, 6, -1, 8, 9, 10, - 11, -1, 13, 14, -1, -1, -1, -1, 110, -1, - -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, - -1, 32, -1, 34, 35, 36, 37, -1, 39, 40, - 41, 42, 43, 44, -1, 46, -1, -1, -1, 50, - 51, 52, 53, 54, 55, -1, 57, 58, -1, -1, - 61, 62, -1, -1, -1, -1, -1, 68, -1, -1, - 71, -1, -1, -1, -1, -1, -1, -1, 79, 80, - 81, -1, -1, -1, -1, -1, 87, 88, 89, -1, - -1, -1, 93, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, 13, 14, -1, -1, -1, -1, 110, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, 31, 32, -1, 34, 35, 36, 37, -1, 39, - 40, 41, 42, 43, 44, -1, 46, -1, -1, -1, - 50, 51, 52, 53, 54, 55, -1, 57, 58, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 68, -1, - -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, -1, 87, 88, 89, - -1, -1, -1, 93, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, - 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, 31, 32, -1, 34, 35, 36, 37, -1, - 39, 40, 41, 42, 43, 44, -1, 46, -1, -1, - -1, 50, 51, 52, 53, 54, 55, -1, 57, 58, - -1, -1, -1, 62, -1, -1, -1, -1, -1, 68, - -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, -1, 87, 88, - 89, -1, -1, -1, 93, 3, 4, 5, 6, -1, - 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, - 28, 29, 30, -1, 32, -1, 34, 35, 36, 37, - -1, 39, 40, 41, 42, 43, 44, -1, 46, -1, - -1, -1, 50, 51, 52, 53, 54, 55, -1, 57, - 58, -1, -1, -1, 62, -1, -1, -1, -1, -1, - 68, -1, -1, 71, -1, -1, -1, -1, -1, -1, - -1, 79, 80, 81, -1, -1, -1, -1, -1, 87, - 88, 89, -1, -1, -1, 93, 3, 4, 5, 6, - -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, - -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, - -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, -1, 46, - -1, -1, -1, 50, 51, 52, 53, 54, 55, -1, - 57, 58, -1, -1, -1, 62, -1, -1, -1, -1, - -1, 68, -1, -1, 71, -1, -1, -1, -1, -1, - -1, -1, 79, 80, 81, -1, -1, -1, -1, -1, - 87, 88, 89, -1, -1, -1, 93, 3, 4, 5, - 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, - -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, - -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, - 36, 37, -1, 39, 40, 41, 42, 43, 44, -1, - 46, -1, -1, -1, 50, 51, 52, 53, 54, 55, - -1, 57, 58, -1, -1, -1, 62, -1, -1, -1, - -1, -1, 68, -1, -1, 71, -1, -1, -1, -1, - -1, -1, -1, 79, 80, 81, -1, -1, -1, -1, - -1, 87, 88, 89, -1, -1, -1, 93, 3, 4, - 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, - -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, - -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, - 35, 36, 37, -1, 39, 40, 41, 42, 43, 44, - -1, 46, -1, -1, -1, 50, 51, 52, 53, 54, - 55, -1, 57, 58, 59, -1, -1, -1, -1, -1, - -1, -1, -1, 68, -1, -1, 71, -1, -1, -1, - -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, - -1, -1, 87, 88, 89, -1, -1, -1, 93, 3, - 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, -1, 110, -1, -1, -1, -1, - -1, -1, -1, -1, 28, 29, 30, -1, 32, -1, - 34, 35, 36, 37, -1, 39, 40, 41, 42, 43, - 44, -1, 46, -1, -1, -1, 50, 51, 52, 53, - 54, 55, -1, 57, 58, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 68, -1, -1, 71, -1, -1, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, -1, 87, 88, 89, -1, -1, -1, 93, - 94, 3, 4, 5, 6, -1, 8, 9, 10, 11, - -1, 13, 14, -1, -1, -1, 110, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 28, 29, 30, -1, - 32, -1, 34, 35, 36, 37, -1, 39, 40, 41, - 42, 43, 44, -1, 46, -1, -1, -1, 50, 51, - 52, 53, 54, 55, -1, 57, 58, -1, -1, -1, - 62, -1, -1, -1, -1, -1, 68, -1, -1, 71, - -1, -1, -1, -1, -1, -1, -1, 79, 80, 81, - -1, -1, -1, -1, -1, 87, 88, 89, -1, -1, - -1, 93, 3, 4, 5, 6, -1, 8, 9, 10, - 11, -1, 13, 14, -1, -1, -1, -1, 110, -1, - -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, - 31, 32, -1, 34, 35, 36, 37, -1, 39, 40, - 41, 42, 43, 44, -1, 46, -1, -1, -1, 50, - 51, 52, 53, 54, 55, -1, 57, 58, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 68, -1, -1, - 71, -1, -1, -1, -1, -1, -1, -1, 79, 80, - 81, -1, -1, -1, -1, -1, 87, 88, 89, -1, - -1, -1, 93, 3, 4, 5, 6, -1, 8, 9, - 10, 11, -1, 13, 14, -1, -1, -1, -1, 110, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, -1, 32, -1, 34, 35, 36, 37, -1, 39, - 40, 41, 42, 43, 44, -1, 46, -1, -1, -1, - 50, 51, 52, 53, 54, 55, -1, 57, 58, -1, - -1, -1, 62, -1, -1, -1, -1, -1, 68, -1, - -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, -1, 87, 88, 89, - -1, -1, -1, 93, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, - 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, 31, 32, -1, 34, 35, 36, 37, -1, - 39, 40, 41, 42, 43, 44, -1, 46, -1, -1, - -1, 50, 51, 52, 53, 54, 55, -1, 57, 58, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, - -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, -1, 87, 88, - 89, -1, -1, -1, 93, 3, 4, 5, 6, -1, - 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, - 28, 29, 30, -1, 32, -1, 34, 35, 36, 37, - -1, 39, 40, 41, 42, 43, 44, -1, 46, -1, - -1, -1, 50, 51, 52, 53, 54, 55, -1, 57, - 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 68, -1, -1, 71, -1, -1, -1, -1, -1, -1, - -1, 79, 80, 81, -1, -1, -1, -1, -1, 87, - 88, 89, -1, -1, -1, 93, 3, 4, 5, 6, - -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, - -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, - -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, -1, 46, - -1, -1, -1, 50, 51, 52, 53, 54, 55, -1, - 57, 58, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 68, -1, -1, 71, -1, -1, -1, -1, -1, - -1, -1, 79, 80, 81, -1, -1, -1, -1, -1, - 87, 88, 89, -1, -1, -1, 93, 3, 4, 5, - 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, - -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, - -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, - 36, 37, -1, 39, 40, 41, 42, 43, 44, -1, - 46, -1, -1, -1, 50, 51, 52, 53, 54, 55, - -1, 57, 58, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 68, -1, -1, 71, -1, -1, -1, -1, - -1, -1, -1, 79, 80, 81, -1, -1, -1, -1, - -1, 87, 88, 89, -1, -1, -1, 93, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 60, -1, -1, 110, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 60, -1, -1, - -1, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85 -}; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/lib/bison.simple" -/* This file comes from bison-1.28. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include <alloca.h> -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include <malloc.h> -#endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include <malloc.h> */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ -#endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc -#endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Define __yy_memcpy. Note that the size argument - should be passed with type unsigned int, because that is what the non-GCC - definitions require. With GCC, __builtin_memcpy takes an arg - of type size_t, but it can handle unsigned int. */ - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - unsigned int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, unsigned int count) -{ - register char *t = to; - register char *f = from; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -#line 217 "/usr/lib/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -#ifdef YYPARSE_PARAM -int yyparse (void *); -#else -int yyparse (void); -#endif -#endif - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; -#ifndef YYSTACK_USE_ALLOCA - yyfree_stacks = 1; -#endif - yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, - size * (unsigned int) sizeof (*yyssp)); - yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, - size * (unsigned int) sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 1: -#line 435 "parse.y" -{ finish_translation_unit (); ; - break;} -case 2: -#line 437 "parse.y" -{ finish_translation_unit (); ; - break;} -case 3: -#line 445 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 4: -#line 447 "parse.y" -{ yyval.ttype = NULL_TREE; ggc_collect (); ; - break;} -case 5: -#line 449 "parse.y" -{ yyval.ttype = NULL_TREE; ggc_collect (); ; - break;} -case 8: -#line 458 "parse.y" -{ have_extern_spec = 1; - used_extern_spec = 0; - yyval.ttype = NULL_TREE; ; - break;} -case 9: -#line 463 "parse.y" -{ have_extern_spec = 0; ; - break;} -case 10: -#line 468 "parse.y" -{ yyval.itype = pedantic; - pedantic = 0; ; - break;} -case 12: -#line 477 "parse.y" -{ if (pending_lang_change) do_pending_lang_change(); - type_lookups = NULL_TREE; ; - break;} -case 13: -#line 480 "parse.y" -{ if (! toplevel_bindings_p ()) - pop_everything (); ; - break;} -case 14: -#line 486 "parse.y" -{ if (pending_inlines) do_pending_inlines (); ; - break;} -case 15: -#line 488 "parse.y" -{ if (pending_inlines) do_pending_inlines (); ; - break;} -case 16: -#line 490 "parse.y" -{ if (pending_inlines) do_pending_inlines (); ; - break;} -case 17: -#line 492 "parse.y" -{ if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype); - assemble_asm (yyvsp[-2].ttype); ; - break;} -case 18: -#line 495 "parse.y" -{ pop_lang_context (); ; - break;} -case 19: -#line 497 "parse.y" -{ if (pending_inlines) do_pending_inlines (); - pop_lang_context (); ; - break;} -case 20: -#line 500 "parse.y" -{ if (pending_inlines) do_pending_inlines (); - pop_lang_context (); ; - break;} -case 21: -#line 503 "parse.y" -{ push_namespace (yyvsp[-1].ttype); ; - break;} -case 22: -#line 505 "parse.y" -{ pop_namespace (); ; - break;} -case 23: -#line 507 "parse.y" -{ push_namespace (NULL_TREE); ; - break;} -case 24: -#line 509 "parse.y" -{ pop_namespace (); ; - break;} -case 26: -#line 512 "parse.y" -{ do_toplevel_using_decl (yyvsp[-1].ttype); ; - break;} -case 28: -#line 515 "parse.y" -{ pedantic = yyvsp[-1].itype; ; - break;} -case 29: -#line 520 "parse.y" -{ begin_only_namespace_names (); ; - break;} -case 30: -#line 522 "parse.y" -{ - end_only_namespace_names (); - if (lastiddecl) - yyvsp[-1].ttype = lastiddecl; - do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype); - ; - break;} -case 31: -#line 532 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 32: -#line 534 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 33: -#line 536 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 34: -#line 541 "parse.y" -{ yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 35: -#line 543 "parse.y" -{ yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ; - break;} -case 36: -#line 545 "parse.y" -{ yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 37: -#line 550 "parse.y" -{ begin_only_namespace_names (); ; - break;} -case 38: -#line 552 "parse.y" -{ - end_only_namespace_names (); - /* If no declaration was found, the using-directive is - invalid. Since that was not reported, we need the - identifier for the error message. */ - if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl) - yyvsp[-1].ttype = lastiddecl; - do_using_directive (yyvsp[-1].ttype); - ; - break;} -case 39: -#line 565 "parse.y" -{ - if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) - yyval.ttype = lastiddecl; - got_scope = yyval.ttype; - ; - break;} -case 40: -#line 571 "parse.y" -{ - yyval.ttype = yyvsp[-1].ttype; - if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) - yyval.ttype = lastiddecl; - got_scope = yyval.ttype; - ; - break;} -case 43: -#line 582 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 44: -#line 584 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 45: -#line 589 "parse.y" -{ push_lang_context (yyvsp[0].ttype); ; - break;} -case 46: -#line 591 "parse.y" -{ if (current_lang_name != yyvsp[0].ttype) - cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name); - pop_lang_context (); push_lang_context (yyvsp[0].ttype); ; - break;} -case 47: -#line 598 "parse.y" -{ begin_template_parm_list (); ; - break;} -case 48: -#line 600 "parse.y" -{ yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ; - break;} -case 49: -#line 602 "parse.y" -{ begin_specialization(); - yyval.ttype = NULL_TREE; ; - break;} -case 50: -#line 608 "parse.y" -{ yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 51: -#line 610 "parse.y" -{ yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 52: -#line 615 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 53: -#line 617 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 54: -#line 621 "parse.y" -{ yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 55: -#line 623 "parse.y" -{ yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ; - break;} -case 56: -#line 628 "parse.y" -{ yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 57: -#line 640 "parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 58: -#line 642 "parse.y" -{ yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ; - break;} -case 59: -#line 644 "parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; - break;} -case 60: -#line 646 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ; - break;} -case 61: -#line 648 "parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 62: -#line 650 "parse.y" -{ - if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL - && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM - && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL) - { - error ("invalid default template argument"); - yyvsp[0].ttype = error_mark_node; - } - yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype); - ; - break;} -case 63: -#line 664 "parse.y" -{ finish_template_decl (yyvsp[-1].ttype); ; - break;} -case 64: -#line 666 "parse.y" -{ finish_template_decl (yyvsp[-1].ttype); ; - break;} -case 65: -#line 671 "parse.y" -{ if (pending_inlines) do_pending_inlines (); ; - break;} -case 66: -#line 673 "parse.y" -{ if (pending_inlines) do_pending_inlines (); ; - break;} -case 67: -#line 675 "parse.y" -{ if (pending_inlines) do_pending_inlines (); ; - break;} -case 68: -#line 677 "parse.y" -{ if (pending_inlines) do_pending_inlines (); - pop_lang_context (); ; - break;} -case 69: -#line 680 "parse.y" -{ if (pending_inlines) do_pending_inlines (); - pop_lang_context (); ; - break;} -case 70: -#line 683 "parse.y" -{ pedantic = yyvsp[-1].itype; ; - break;} -case 72: -#line 689 "parse.y" -{; - break;} -case 73: -#line 691 "parse.y" -{ note_list_got_semicolon (yyvsp[-2].ftype.t); ; - break;} -case 74: -#line 693 "parse.y" -{ maybe_process_partial_specialization (yyvsp[-1].ftype.t); - note_got_semicolon (yyvsp[-1].ftype.t); ; - break;} -case 76: -#line 700 "parse.y" -{; - break;} -case 77: -#line 702 "parse.y" -{ note_list_got_semicolon (yyvsp[-2].ftype.t); ; - break;} -case 78: -#line 704 "parse.y" -{ pedwarn ("empty declaration"); ; - break;} -case 80: -#line 707 "parse.y" -{ - tree t, attrs; - split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs); - shadow_tag (t); - note_list_got_semicolon (yyvsp[-1].ftype.t); - ; - break;} -case 84: -#line 720 "parse.y" -{ yyval.itype = 0; ; - break;} -case 85: -#line 722 "parse.y" -{ yyval.itype = 1; ; - break;} -case 91: -#line 738 "parse.y" -{ expand_body (finish_function ((int)yyvsp[-1].itype)); ; - break;} -case 92: -#line 740 "parse.y" -{ expand_body (finish_function ((int)yyvsp[0].itype)); ; - break;} -case 93: -#line 742 "parse.y" -{ ; - break;} -case 94: -#line 747 "parse.y" -{ yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; - break;} -case 95: -#line 749 "parse.y" -{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 96: -#line 751 "parse.y" -{ yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); - yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); - ; - break;} -case 97: -#line 755 "parse.y" -{ yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; - break;} -case 98: -#line 757 "parse.y" -{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 99: -#line 759 "parse.y" -{ yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); - yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); - ; - break;} -case 100: -#line 763 "parse.y" -{ yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; - break;} -case 101: -#line 765 "parse.y" -{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 102: -#line 767 "parse.y" -{ yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); - yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); - ; - break;} -case 103: -#line 771 "parse.y" -{ yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; - break;} -case 104: -#line 773 "parse.y" -{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 105: -#line 775 "parse.y" -{ yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); - yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); - ; - break;} -case 106: -#line 782 "parse.y" -{ check_for_new_type ("return type", yyvsp[-1].ftype); - if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype)) - YYERROR1; ; - break;} -case 107: -#line 786 "parse.y" -{ if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype)) - YYERROR1; ; - break;} -case 108: -#line 789 "parse.y" -{ if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype)) - YYERROR1; ; - break;} -case 109: -#line 792 "parse.y" -{ if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype)) - YYERROR1; ; - break;} -case 110: -#line 795 "parse.y" -{ if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype)) - YYERROR1; ; - break;} -case 111: -#line 801 "parse.y" -{ yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 112: -#line 803 "parse.y" -{ yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 113: -#line 805 "parse.y" -{ yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 114: -#line 807 "parse.y" -{ yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 115: -#line 814 "parse.y" -{ yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); - rest_of_mdef: - if (! yyval.ttype) - YYERROR1; - if (yychar == YYEMPTY) - yychar = YYLEX; - reinit_parse_for_method (yychar, yyval.ttype); ; - break;} -case 116: -#line 822 "parse.y" -{ yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE); - goto rest_of_mdef; ; - break;} -case 117: -#line 825 "parse.y" -{ yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;; - break;} -case 118: -#line 827 "parse.y" -{ yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;; - break;} -case 119: -#line 829 "parse.y" -{ yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE); - goto rest_of_mdef; ; - break;} -case 120: -#line 832 "parse.y" -{ yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;; - break;} -case 121: -#line 834 "parse.y" -{ yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE); - goto rest_of_mdef; ; - break;} -case 122: -#line 840 "parse.y" -{ - if (! current_function_parms_stored) - store_parm_decls (); - yyval.ttype = yyvsp[0].ttype; - ; - break;} -case 123: -#line 849 "parse.y" -{ finish_named_return_value (yyval.ttype, yyvsp[0].ttype); ; - break;} -case 124: -#line 851 "parse.y" -{ finish_named_return_value (yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 125: -#line 853 "parse.y" -{ finish_named_return_value (yyval.ttype, NULL_TREE); ; - break;} -case 126: -#line 858 "parse.y" -{ - if (yyvsp[0].ftype.new_type_flag == 0) - error ("no base or member initializers given following ':'"); - - finish_mem_initializers (yyvsp[0].ftype.t); - ; - break;} -case 127: -#line 868 "parse.y" -{ - if (! current_function_parms_stored) - store_parm_decls (); - - if (DECL_CONSTRUCTOR_P (current_function_decl)) - /* Make a contour for the initializer list. */ - do_pushlevel (); - else if (current_class_type == NULL_TREE) - error ("base initializers not allowed for non-member functions"); - else if (! DECL_CONSTRUCTOR_P (current_function_decl)) - error ("only constructors take base initializers"); - ; - break;} -case 128: -#line 884 "parse.y" -{ - yyval.ftype.new_type_flag = 0; - yyval.ftype.t = NULL_TREE; - ; - break;} -case 129: -#line 889 "parse.y" -{ - yyval.ftype.new_type_flag = 1; - yyval.ftype.t = yyvsp[0].ttype; - ; - break;} -case 130: -#line 894 "parse.y" -{ - if (yyvsp[0].ttype) - { - yyval.ftype.new_type_flag = 1; - TREE_CHAIN (yyvsp[0].ttype) = yyvsp[-2].ftype.t; - yyval.ftype.t = yyvsp[0].ttype; - } - else - yyval.ftype = yyvsp[-2].ftype; - ; - break;} -case 132: -#line 909 "parse.y" -{ - if (current_class_name) - pedwarn ("anachronistic old style base class initializer"); - yyval.ttype = expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype); - ; - break;} -case 133: -#line 915 "parse.y" -{ - if (current_class_name) - pedwarn ("anachronistic old style base class initializer"); - yyval.ttype = expand_member_init (current_class_ref, - NULL_TREE, - void_type_node); - ; - break;} -case 134: -#line 923 "parse.y" -{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 135: -#line 925 "parse.y" -{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-1].ttype, - void_type_node); ; - break;} -case 136: -#line 928 "parse.y" -{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 137: -#line 930 "parse.y" -{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-1].ttype, - void_type_node); ; - break;} -case 138: -#line 933 "parse.y" -{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 139: -#line 935 "parse.y" -{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-1].ttype, - void_type_node); ; - break;} -case 140: -#line 938 "parse.y" -{ yyval.ttype = NULL_TREE ; - break;} -case 152: -#line 963 "parse.y" -{ do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE); - yyungetc (';', 1); ; - break;} -case 154: -#line 967 "parse.y" -{ tree specs = strip_attrs (yyvsp[-1].ftype.t); - do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ; - break;} -case 156: -#line 971 "parse.y" -{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; - break;} -case 158: -#line 974 "parse.y" -{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; - break;} -case 160: -#line 977 "parse.y" -{ do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype); - yyungetc (';', 1); ; - break;} -case 162: -#line 982 "parse.y" -{ tree specs = strip_attrs (yyvsp[-1].ftype.t); - do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ; - break;} -case 164: -#line 986 "parse.y" -{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; - break;} -case 166: -#line 989 "parse.y" -{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; - break;} -case 168: -#line 994 "parse.y" -{ begin_explicit_instantiation(); ; - break;} -case 169: -#line 997 "parse.y" -{ end_explicit_instantiation(); ; - break;} -case 170: -#line 1006 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 171: -#line 1009 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 174: -#line 1017 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 175: -#line 1022 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 176: -#line 1026 "parse.y" -{ - if (yychar == YYEMPTY) - yychar = YYLEX; - - yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype, - yychar == SCOPE); - ; - break;} -case 178: -#line 1037 "parse.y" -{ - /* Handle `Class<Class<Type>>' without space in the `>>' */ - pedwarn ("`>>' should be `> >' in template class name"); - yyungetc ('>', 1); - ; - break;} -case 179: -#line 1046 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 181: -#line 1052 "parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; - break;} -case 182: -#line 1054 "parse.y" -{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; - break;} -case 183: -#line 1059 "parse.y" -{ yyval.ttype = groktypename (yyvsp[0].ftype.t); ; - break;} -case 184: -#line 1061 "parse.y" -{ - yyval.ttype = lastiddecl; - if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype)) - yyval.ttype = TREE_TYPE (yyval.ttype); - ; - break;} -case 186: -#line 1071 "parse.y" -{ yyval.code = NEGATE_EXPR; ; - break;} -case 187: -#line 1073 "parse.y" -{ yyval.code = CONVERT_EXPR; ; - break;} -case 188: -#line 1075 "parse.y" -{ yyval.code = PREINCREMENT_EXPR; ; - break;} -case 189: -#line 1077 "parse.y" -{ yyval.code = PREDECREMENT_EXPR; ; - break;} -case 190: -#line 1079 "parse.y" -{ yyval.code = TRUTH_NOT_EXPR; ; - break;} -case 191: -#line 1084 "parse.y" -{ yyval.ttype = build_x_compound_expr (yyval.ttype); ; - break;} -case 193: -#line 1090 "parse.y" -{ error ("ISO C++ forbids an empty condition for `%s'", - cond_stmt_keyword); - yyval.ttype = integer_zero_node; ; - break;} -case 194: -#line 1094 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 195: -#line 1099 "parse.y" -{ error ("ISO C++ forbids an empty condition for `%s'", - cond_stmt_keyword); - yyval.ttype = integer_zero_node; ; - break;} -case 196: -#line 1103 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 197: -#line 1108 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 199: -#line 1111 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 200: -#line 1116 "parse.y" -{ { - tree d; - for (d = getdecls (); d; d = TREE_CHAIN (d)) - if (TREE_CODE (d) == TYPE_DECL) { - tree s = TREE_TYPE (d); - if (TREE_CODE (s) == RECORD_TYPE) - cp_error ("definition of class `%T' in condition", s); - else if (TREE_CODE (s) == ENUMERAL_TYPE) - cp_error ("definition of enum `%T' in condition", s); - } - } - current_declspecs = yyvsp[-4].ftype.t; - yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); - ; - break;} -case 201: -#line 1131 "parse.y" -{ - parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype); - yyval.ttype = convert_from_reference (yyvsp[-1].ttype); - if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE) - cp_error ("definition of array `%#D' in condition", yyval.ttype); - ; - break;} -case 207: -#line 1149 "parse.y" -{ yyval.ttype = begin_compound_stmt (1); ; - break;} -case 208: -#line 1151 "parse.y" -{ finish_compound_stmt (1, yyvsp[-1].ttype); ; - break;} -case 210: -#line 1158 "parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, - build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; - break;} -case 211: -#line 1161 "parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, - build_tree_list (NULL_TREE, error_mark_node)); ; - break;} -case 212: -#line 1164 "parse.y" -{ chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; - break;} -case 213: -#line 1166 "parse.y" -{ chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ; - break;} -case 214: -#line 1171 "parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; - break;} -case 216: -#line 1177 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 217: -#line 1180 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; - pedantic = yyvsp[-1].itype; ; - break;} -case 218: -#line 1183 "parse.y" -{ yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ; - break;} -case 219: -#line 1185 "parse.y" -{ yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ; - break;} -case 220: -#line 1187 "parse.y" -{ yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ; - break;} -case 221: -#line 1189 "parse.y" -{ yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ; - break;} -case 222: -#line 1192 "parse.y" -{ if (pedantic) - pedwarn ("ISO C++ forbids `&&'"); - yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ; - break;} -case 223: -#line 1196 "parse.y" -{ yyval.ttype = expr_sizeof (yyvsp[0].ttype); ; - break;} -case 224: -#line 1198 "parse.y" -{ yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); - check_for_new_type ("sizeof", yyvsp[-1].ftype); ; - break;} -case 225: -#line 1201 "parse.y" -{ yyval.ttype = grok_alignof (yyvsp[0].ttype); ; - break;} -case 226: -#line 1203 "parse.y" -{ yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t)); - check_for_new_type ("alignof", yyvsp[-1].ftype); ; - break;} -case 227: -#line 1209 "parse.y" -{ yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype); - check_for_new_type ("new", yyvsp[0].ftype); ; - break;} -case 228: -#line 1212 "parse.y" -{ yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype); - check_for_new_type ("new", yyvsp[-1].ftype); ; - break;} -case 229: -#line 1215 "parse.y" -{ yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype); - check_for_new_type ("new", yyvsp[0].ftype); ; - break;} -case 230: -#line 1218 "parse.y" -{ yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype); - check_for_new_type ("new", yyvsp[-1].ftype); ; - break;} -case 231: -#line 1222 "parse.y" -{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t), - NULL_TREE, yyvsp[-3].itype); - check_for_new_type ("new", yyvsp[-1].ftype); ; - break;} -case 232: -#line 1226 "parse.y" -{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype); - check_for_new_type ("new", yyvsp[-2].ftype); ; - break;} -case 233: -#line 1229 "parse.y" -{ yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype); - check_for_new_type ("new", yyvsp[-1].ftype); ; - break;} -case 234: -#line 1232 "parse.y" -{ yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype); - check_for_new_type ("new", yyvsp[-2].ftype); ; - break;} -case 235: -#line 1236 "parse.y" -{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ; - break;} -case 236: -#line 1238 "parse.y" -{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype); - if (yychar == YYEMPTY) - yychar = YYLEX; ; - break;} -case 237: -#line 1242 "parse.y" -{ yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype); - if (yychar == YYEMPTY) - yychar = YYLEX; ; - break;} -case 238: -#line 1246 "parse.y" -{ yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ; - break;} -case 239: -#line 1248 "parse.y" -{ yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ; - break;} -case 240: -#line 1250 "parse.y" -{ yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t)); - check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ; - break;} -case 241: -#line 1256 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 242: -#line 1258 "parse.y" -{ cp_pedwarn ("old style placement syntax, use () instead"); - yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 243: -#line 1264 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 244: -#line 1266 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 245: -#line 1268 "parse.y" -{ - cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t); - yyval.ttype = error_mark_node; - ; - break;} -case 246: -#line 1276 "parse.y" -{ - if (pedantic) - pedwarn ("ISO C++ forbids initialization of new expression with `='"); - if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST - && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR) - yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); - else - yyval.ttype = yyvsp[0].ttype; - ; - break;} -case 247: -#line 1290 "parse.y" -{ yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); - yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); - check_for_new_type ("cast", yyvsp[-1].ftype); ; - break;} -case 248: -#line 1294 "parse.y" -{ yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); - yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); - check_for_new_type ("cast", yyvsp[-1].ftype); ; - break;} -case 250: -#line 1302 "parse.y" -{ yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ; - break;} -case 251: -#line 1304 "parse.y" -{ - tree init = build_nt (CONSTRUCTOR, NULL_TREE, - nreverse (yyvsp[-2].ttype)); - if (pedantic) - pedwarn ("ISO C++ forbids constructor-expressions"); - /* Indicate that this was a GNU C constructor expression. */ - TREE_HAS_CONSTRUCTOR (init) = 1; - - yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init); - ; - break;} -case 253: -#line 1320 "parse.y" -{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 254: -#line 1322 "parse.y" -{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; - break;} -case 255: -#line 1324 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 256: -#line 1326 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 257: -#line 1328 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 258: -#line 1330 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 259: -#line 1332 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 260: -#line 1334 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 261: -#line 1336 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 262: -#line 1338 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 263: -#line 1340 "parse.y" -{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 264: -#line 1342 "parse.y" -{ yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 265: -#line 1344 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 266: -#line 1346 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 267: -#line 1348 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 268: -#line 1350 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 269: -#line 1352 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 270: -#line 1354 "parse.y" -{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 271: -#line 1356 "parse.y" -{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 272: -#line 1358 "parse.y" -{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 273: -#line 1360 "parse.y" -{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); - if (yyval.ttype != error_mark_node) - C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; - break;} -case 274: -#line 1364 "parse.y" -{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; - break;} -case 275: -#line 1366 "parse.y" -{ yyval.ttype = build_throw (NULL_TREE); ; - break;} -case 276: -#line 1368 "parse.y" -{ yyval.ttype = build_throw (yyvsp[0].ttype); ; - break;} -case 278: -#line 1375 "parse.y" -{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 279: -#line 1377 "parse.y" -{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; - break;} -case 280: -#line 1379 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 281: -#line 1381 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 282: -#line 1383 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 283: -#line 1385 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 284: -#line 1387 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 285: -#line 1389 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 286: -#line 1391 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 287: -#line 1393 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 288: -#line 1395 "parse.y" -{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 289: -#line 1397 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 290: -#line 1399 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 291: -#line 1401 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 292: -#line 1403 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 293: -#line 1405 "parse.y" -{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 294: -#line 1407 "parse.y" -{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 295: -#line 1409 "parse.y" -{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 296: -#line 1411 "parse.y" -{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 297: -#line 1413 "parse.y" -{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); - if (yyval.ttype != error_mark_node) - C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; - break;} -case 298: -#line 1417 "parse.y" -{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; - break;} -case 299: -#line 1419 "parse.y" -{ yyval.ttype = build_throw (NULL_TREE); ; - break;} -case 300: -#line 1421 "parse.y" -{ yyval.ttype = build_throw (yyvsp[0].ttype); ; - break;} -case 301: -#line 1426 "parse.y" -{ yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ; - break;} -case 302: -#line 1428 "parse.y" -{ yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ; - break;} -case 308: -#line 1437 "parse.y" -{ - /* If lastiddecl is a TREE_LIST, it's a baselink, which - means that we're in an expression like S::f<int>, so - don't do_identifier; we only do that for unqualified - identifiers. */ - if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST) - yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); - else - yyval.ttype = yyvsp[-1].ttype; - ; - break;} -case 309: -#line 1450 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; - break;} -case 310: -#line 1452 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; - break;} -case 311: -#line 1457 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 312: -#line 1459 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 313: -#line 1462 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 318: -#line 1474 "parse.y" -{ - /* Provide support for '(' attributes '*' declarator ')' - etc */ - yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); - ; - break;} -case 320: -#line 1484 "parse.y" -{ yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ; - break;} -case 321: -#line 1486 "parse.y" -{ yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ; - break;} -case 322: -#line 1488 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 323: -#line 1493 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 324: -#line 1495 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 328: -#line 1505 "parse.y" -{ yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ; - break;} -case 329: -#line 1510 "parse.y" -{ - if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR) - yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0)); - else - yyval.ttype = finish_id_expr (yyvsp[0].ttype); - ; - break;} -case 332: -#line 1519 "parse.y" -{ - yyval.ttype = combine_strings (yyval.ttype); - /* combine_strings doesn't set up TYPE_MAIN_VARIANT of - a const array the way we want, so fix it. */ - if (flag_const_strings) - TREE_TYPE (yyval.ttype) = build_cplus_array_type - (TREE_TYPE (TREE_TYPE (yyval.ttype)), - TYPE_DOMAIN (TREE_TYPE (yyval.ttype))); - ; - break;} -case 333: -#line 1529 "parse.y" -{ yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; - break;} -case 334: -#line 1531 "parse.y" -{ yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype); - yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; - break;} -case 335: -#line 1534 "parse.y" -{ yyval.ttype = error_mark_node; ; - break;} -case 336: -#line 1536 "parse.y" -{ tree scope = current_scope (); - if (!scope || TREE_CODE (scope) != FUNCTION_DECL) - { - error ("braced-group within expression allowed only inside a function"); - YYERROR; - } - if (pedantic) - pedwarn ("ISO C++ forbids braced-groups within expressions"); - yyval.ttype = begin_stmt_expr (); - ; - break;} -case 337: -#line 1547 "parse.y" -{ yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ; - break;} -case 338: -#line 1552 "parse.y" -{ yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; - break;} -case 339: -#line 1554 "parse.y" -{ yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ; - break;} -case 340: -#line 1556 "parse.y" -{ yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ; - break;} -case 341: -#line 1558 "parse.y" -{ yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ; - break;} -case 342: -#line 1560 "parse.y" -{ yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 343: -#line 1562 "parse.y" -{ yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ; - break;} -case 344: -#line 1564 "parse.y" -{ yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ; - break;} -case 345: -#line 1567 "parse.y" -{ yyval.ttype = finish_this_expr (); ; - break;} -case 346: -#line 1569 "parse.y" -{ - /* This is a C cast in C++'s `functional' notation - using the "implicit int" extension so that: - `const (3)' is equivalent to `const int (3)'. */ - tree type; - - type = hash_tree_cons (NULL_TREE, yyvsp[-3].ttype, NULL_TREE); - type = groktypename (build_decl_list (type, NULL_TREE)); - yyval.ttype = build_functional_cast (type, yyvsp[-1].ttype); - ; - break;} -case 348: -#line 1581 "parse.y" -{ tree type = groktypename (yyvsp[-4].ftype.t); - check_for_new_type ("dynamic_cast", yyvsp[-4].ftype); - yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ; - break;} -case 349: -#line 1585 "parse.y" -{ tree type = groktypename (yyvsp[-4].ftype.t); - check_for_new_type ("static_cast", yyvsp[-4].ftype); - yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ; - break;} -case 350: -#line 1589 "parse.y" -{ tree type = groktypename (yyvsp[-4].ftype.t); - check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype); - yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ; - break;} -case 351: -#line 1593 "parse.y" -{ tree type = groktypename (yyvsp[-4].ftype.t); - check_for_new_type ("const_cast", yyvsp[-4].ftype); - yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ; - break;} -case 352: -#line 1597 "parse.y" -{ yyval.ttype = build_typeid (yyvsp[-1].ttype); ; - break;} -case 353: -#line 1599 "parse.y" -{ tree type = groktypename (yyvsp[-1].ftype.t); - check_for_new_type ("typeid", yyvsp[-1].ftype); - yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ; - break;} -case 354: -#line 1603 "parse.y" -{ yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ; - break;} -case 355: -#line 1605 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 356: -#line 1607 "parse.y" -{ - got_scope = NULL_TREE; - if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) - yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); - else - yyval.ttype = yyvsp[0].ttype; - ; - break;} -case 357: -#line 1615 "parse.y" -{ yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ; - break;} -case 358: -#line 1617 "parse.y" -{ yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 359: -#line 1619 "parse.y" -{ yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ; - break;} -case 360: -#line 1621 "parse.y" -{ - yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); - ; - break;} -case 361: -#line 1625 "parse.y" -{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; - break;} -case 362: -#line 1627 "parse.y" -{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; - break;} -case 363: -#line 1629 "parse.y" -{ yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; - break;} -case 364: -#line 1631 "parse.y" -{ if (processing_template_decl) - yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype); - else - yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ; - break;} -case 365: -#line 1636 "parse.y" -{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; - break;} -case 366: -#line 1638 "parse.y" -{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; - break;} -case 367: -#line 1640 "parse.y" -{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; - break;} -case 368: -#line 1642 "parse.y" -{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; - break;} -case 369: -#line 1645 "parse.y" -{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ; - break;} -case 370: -#line 1647 "parse.y" -{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; - break;} -case 371: -#line 1649 "parse.y" -{ - yyval.ttype = error_mark_node; - ; - break;} -case 372: -#line 1694 "parse.y" -{ yyval.itype = 0; ; - break;} -case 373: -#line 1696 "parse.y" -{ got_scope = NULL_TREE; yyval.itype = 1; ; - break;} -case 374: -#line 1701 "parse.y" -{ yyval.itype = 0; ; - break;} -case 375: -#line 1703 "parse.y" -{ got_scope = NULL_TREE; yyval.itype = 1; ; - break;} -case 376: -#line 1708 "parse.y" -{ yyval.ttype = boolean_true_node; ; - break;} -case 377: -#line 1710 "parse.y" -{ yyval.ttype = boolean_false_node; ; - break;} -case 379: -#line 1717 "parse.y" -{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; - break;} -case 380: -#line 1722 "parse.y" -{ - if (! current_function_parms_stored) - store_parm_decls (); - setup_vtbl_ptr (NULL_TREE, NULL_TREE); - ; - break;} -case 381: -#line 1731 "parse.y" -{ got_object = TREE_TYPE (yyval.ttype); ; - break;} -case 382: -#line 1733 "parse.y" -{ - yyval.ttype = build_x_arrow (yyval.ttype); - got_object = TREE_TYPE (yyval.ttype); - ; - break;} -case 383: -#line 1741 "parse.y" -{ - if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t))) - note_got_semicolon (yyvsp[-2].ftype.t); - ; - break;} -case 384: -#line 1746 "parse.y" -{ - note_list_got_semicolon (yyvsp[-2].ftype.t); - ; - break;} -case 385: -#line 1750 "parse.y" -{; - break;} -case 386: -#line 1752 "parse.y" -{ - shadow_tag (yyvsp[-1].ftype.t); - note_list_got_semicolon (yyvsp[-1].ftype.t); - ; - break;} -case 387: -#line 1757 "parse.y" -{ warning ("empty declaration"); ; - break;} -case 388: -#line 1759 "parse.y" -{ pedantic = yyvsp[-1].itype; ; - break;} -case 391: -#line 1773 "parse.y" -{ yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (), - NULL_TREE, NULL_TREE); ; - break;} -case 392: -#line 1776 "parse.y" -{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE, - NULL_TREE); ; - break;} -case 393: -#line 1783 "parse.y" -{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 394: -#line 1786 "parse.y" -{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 395: -#line 1789 "parse.y" -{ yyval.ftype.t = build_decl_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t), - yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 396: -#line 1793 "parse.y" -{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); - yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; - break;} -case 397: -#line 1796 "parse.y" -{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); - yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; - break;} -case 398: -#line 1807 "parse.y" -{ yyval.ftype.lookups = type_lookups; ; - break;} -case 399: -#line 1809 "parse.y" -{ yyval.ftype.lookups = type_lookups; ; - break;} -case 400: -#line 1814 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); - yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; - break;} -case 401: -#line 1817 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 402: -#line 1820 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype)); - yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; - break;} -case 403: -#line 1823 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 404: -#line 1826 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 405: -#line 1829 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, - chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ftype.t))); - yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; - break;} -case 406: -#line 1836 "parse.y" -{ if (extra_warnings) - warning ("`%s' is not at beginning of declaration", - IDENTIFIER_POINTER (yyval.ttype)); - yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ; - break;} -case 407: -#line 1841 "parse.y" -{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ; - break;} -case 408: -#line 1843 "parse.y" -{ if (extra_warnings) - warning ("`%s' is not at beginning of declaration", - IDENTIFIER_POINTER (yyvsp[0].ttype)); - yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; - break;} -case 409: -#line 1848 "parse.y" -{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; - break;} -case 410: -#line 1850 "parse.y" -{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; - break;} -case 411: -#line 1869 "parse.y" -{ yyval.ftype.lookups = NULL_TREE; TREE_STATIC (yyval.ftype.t) = 1; ; - break;} -case 412: -#line 1871 "parse.y" -{ - yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); - yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; - ; - break;} -case 413: -#line 1876 "parse.y" -{ - yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); - TREE_STATIC (yyval.ftype.t) = 1; - ; - break;} -case 414: -#line 1881 "parse.y" -{ - if (extra_warnings && TREE_STATIC (yyval.ftype.t)) - warning ("`%s' is not at beginning of declaration", - IDENTIFIER_POINTER (yyvsp[0].ttype)); - yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); - TREE_STATIC (yyval.ftype.t) = TREE_STATIC (yyvsp[-1].ftype.t); - ; - break;} -case 415: -#line 1889 "parse.y" -{ yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); ; - break;} -case 416: -#line 1891 "parse.y" -{ - yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); - yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; - ; - break;} -case 417: -#line 1905 "parse.y" -{ yyval.ftype.t = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); - yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; - break;} -case 418: -#line 1908 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); - yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; - break;} -case 419: -#line 1911 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 420: -#line 1914 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 421: -#line 1920 "parse.y" -{ yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ; - break;} -case 422: -#line 1922 "parse.y" -{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ; - break;} -case 423: -#line 1931 "parse.y" -{ yyval.ftype.lookups = NULL_TREE; ; - break;} -case 424: -#line 1933 "parse.y" -{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; - break;} -case 425: -#line 1935 "parse.y" -{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; - break;} -case 426: -#line 1937 "parse.y" -{ yyval.ftype.t = finish_typeof (yyvsp[-1].ttype); - yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; - break;} -case 427: -#line 1940 "parse.y" -{ yyval.ftype.t = groktypename (yyvsp[-1].ftype.t); - yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; - break;} -case 428: -#line 1943 "parse.y" -{ tree type = TREE_TYPE (yyvsp[-1].ttype); - - yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; - if (IS_AGGR_TYPE (type)) - { - sorry ("sigof type specifier"); - yyval.ftype.t = type; - } - else - { - error ("`sigof' applied to non-aggregate expression"); - yyval.ftype.t = error_mark_node; - } - ; - break;} -case 429: -#line 1958 "parse.y" -{ tree type = groktypename (yyvsp[-1].ftype.t); - - yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; - if (IS_AGGR_TYPE (type)) - { - sorry ("sigof type specifier"); - yyval.ftype.t = type; - } - else - { - error("`sigof' applied to non-aggregate type"); - yyval.ftype.t = error_mark_node; - } - ; - break;} -case 430: -#line 1978 "parse.y" -{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; - break;} -case 431: -#line 1980 "parse.y" -{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; - break;} -case 434: -#line 1987 "parse.y" -{ check_multiple_declarators (); ; - break;} -case 436: -#line 1993 "parse.y" -{ check_multiple_declarators (); ; - break;} -case 438: -#line 1999 "parse.y" -{ check_multiple_declarators (); ; - break;} -case 439: -#line 2004 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 440: -#line 2006 "parse.y" -{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 441: -#line 2011 "parse.y" -{ yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; - break;} -case 442: -#line 2014 "parse.y" -{ parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; - break;} -case 443: -#line 2016 "parse.y" -{ - yyval.ttype = parse_decl (yyvsp[-2].ttype, yyvsp[0].ttype, 0); - parse_end_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype); - ; - break;} -case 444: -#line 2030 "parse.y" -{ yyval.ttype = parse_decl0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, - yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, 1); ; - break;} -case 445: -#line 2035 "parse.y" -{ parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; - break;} -case 446: -#line 2037 "parse.y" -{ tree d = parse_decl0 (yyvsp[-2].ttype, yyvsp[-3].ftype.t, - yyvsp[-3].ftype.lookups, yyvsp[0].ttype, 0); - parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ; - break;} -case 447: -#line 2044 "parse.y" -{; - break;} -case 448: -#line 2049 "parse.y" -{; - break;} -case 449: -#line 2054 "parse.y" -{ /* Set things up as initdcl0_innards expects. */ - yyvsp[0].ttype = yyvsp[-1].ttype; - yyvsp[-1].ttype = NULL_TREE; ; - break;} -case 450: -#line 2058 "parse.y" -{; - break;} -case 451: -#line 2060 "parse.y" -{ tree d = parse_decl0 (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[0].ttype, 0); - parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ; - break;} -case 452: -#line 2068 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 453: -#line 2070 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 454: -#line 2075 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 455: -#line 2077 "parse.y" -{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 456: -#line 2082 "parse.y" -{ yyval.ttype = yyvsp[-2].ttype; ; - break;} -case 457: -#line 2087 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 458: -#line 2089 "parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 459: -#line 2094 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 460: -#line 2096 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; - break;} -case 461: -#line 2098 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; - break;} -case 462: -#line 2100 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; - break;} -case 463: -#line 2102 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 468: -#line 2118 "parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 469: -#line 2120 "parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; - break;} -case 470: -#line 2125 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 471: -#line 2127 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 473: -#line 2135 "parse.y" -{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE); - TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; - break;} -case 474: -#line 2138 "parse.y" -{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); - TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; - break;} -case 475: -#line 2141 "parse.y" -{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); - TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; - break;} -case 476: -#line 2144 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 477: -#line 2151 "parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; - break;} -case 478: -#line 2153 "parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; - break;} -case 479: -#line 2156 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 480: -#line 2158 "parse.y" -{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ; - break;} -case 481: -#line 2160 "parse.y" -{ yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ; - break;} -case 482: -#line 2165 "parse.y" -{ start_function (NULL_TREE, yyvsp[0].pi->fndecl, NULL_TREE, - (SF_DEFAULT | SF_PRE_PARSED - | SF_INCLASS_INLINE)); ; - break;} -case 483: -#line 2171 "parse.y" -{ - expand_body (finish_function ((int)yyvsp[-1].itype | 2)); - process_next_inline (yyvsp[-3].pi); - ; - break;} -case 484: -#line 2176 "parse.y" -{ - expand_body (finish_function ((int)yyvsp[0].itype | 2)); - process_next_inline (yyvsp[-2].pi); - ; - break;} -case 485: -#line 2181 "parse.y" -{ - finish_function (2); - process_next_inline (yyvsp[-2].pi); ; - break;} -case 488: -#line 2195 "parse.y" -{ replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ; - break;} -case 489: -#line 2197 "parse.y" -{ replace_defarg (yyvsp[-2].ttype, error_mark_node); ; - break;} -case 491: -#line 2202 "parse.y" -{ do_pending_defargs (); ; - break;} -case 492: -#line 2204 "parse.y" -{ do_pending_defargs (); ; - break;} -case 493: -#line 2209 "parse.y" -{ yyval.ttype = current_enum_type; - current_enum_type = start_enum (yyvsp[-1].ttype); ; - break;} -case 494: -#line 2212 "parse.y" -{ yyval.ftype.t = finish_enum (current_enum_type); - yyval.ftype.new_type_flag = 1; - current_enum_type = yyvsp[-2].ttype; - check_for_missing_semicolon (yyval.ftype.t); ; - break;} -case 495: -#line 2217 "parse.y" -{ yyval.ttype = current_enum_type; - current_enum_type = start_enum (make_anon_name ()); ; - break;} -case 496: -#line 2220 "parse.y" -{ yyval.ftype.t = finish_enum (current_enum_type); - yyval.ftype.new_type_flag = 1; - current_enum_type = yyvsp[-2].ttype; - check_for_missing_semicolon (yyval.ftype.t); ; - break;} -case 497: -#line 2225 "parse.y" -{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); - yyval.ftype.new_type_flag = 0; ; - break;} -case 498: -#line 2228 "parse.y" -{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); - yyval.ftype.new_type_flag = 0; ; - break;} -case 499: -#line 2231 "parse.y" -{ yyval.ftype.t = yyvsp[0].ttype; - yyval.ftype.new_type_flag = 0; - if (!processing_template_decl) - cp_pedwarn ("using `typename' outside of template"); ; - break;} -case 500: -#line 2237 "parse.y" -{ yyvsp[-1].ftype.t = begin_class_definition (yyvsp[-1].ftype.t); ; - break;} -case 501: -#line 2239 "parse.y" -{ - int semi; - - if (yychar == YYEMPTY) - yychar = YYLEX; - semi = yychar == ';'; - - yyval.ttype = finish_class_definition (yyvsp[-5].ftype.t, yyvsp[0].ttype, semi, - yyvsp[-5].ftype.new_type_flag); - ; - break;} -case 502: -#line 2250 "parse.y" -{ - begin_inline_definitions (); - ; - break;} -case 503: -#line 2254 "parse.y" -{ - finish_inline_definitions (); - yyval.ftype.t = yyvsp[-3].ttype; - yyval.ftype.new_type_flag = 1; - ; - break;} -case 504: -#line 2260 "parse.y" -{ - if (yyvsp[0].ftype.new_type_flag && yyvsp[0].ftype.t != error_mark_node) - pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp[0].ftype.t))); - yyval.ftype.new_type_flag = 0; - if (yyvsp[0].ftype.t == error_mark_node) - yyval.ftype.t = yyvsp[0].ftype.t; - else if (TYPE_BINFO (yyvsp[0].ftype.t) == NULL_TREE) - { - cp_error ("%T is not a class type", yyvsp[0].ftype.t); - yyval.ftype.t = error_mark_node; - } - else - { - yyval.ftype.t = yyvsp[0].ftype.t; - /* struct B: public A; is not accepted by the standard grammar. */ - if (CLASS_TYPE_P (yyval.ftype.t) - && TYPE_BINFO_BASETYPES (yyval.ftype.t) - && !COMPLETE_TYPE_P (yyval.ftype.t) - && ! TYPE_BEING_DEFINED (yyval.ftype.t)) - cp_error ("base clause without member specification for `%#T'", - yyval.ftype.t); - } - ; - break;} -case 508: -#line 2293 "parse.y" -{ if (pedantic && !in_system_header) - pedwarn ("comma at end of enumerator list"); ; - break;} -case 510: -#line 2300 "parse.y" -{ error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; - break;} -case 511: -#line 2302 "parse.y" -{ error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; - break;} -case 512: -#line 2304 "parse.y" -{ error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; - break;} -case 513: -#line 2306 "parse.y" -{ error ("no body nor ';' separates two class, struct or union declarations"); ; - break;} -case 514: -#line 2308 "parse.y" -{ yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 515: -#line 2313 "parse.y" -{ - current_aggr = yyvsp[-1].ttype; - yyval.ttype = yyvsp[0].ttype; - ; - break;} -case 516: -#line 2321 "parse.y" -{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; - break;} -case 517: -#line 2323 "parse.y" -{ yyungetc ('{', 1); ; - break;} -case 518: -#line 2325 "parse.y" -{ yyungetc (':', 1); ; - break;} -case 519: -#line 2330 "parse.y" -{ - current_aggr = yyvsp[-2].ttype; - yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ftype.new_type_flag = 1; - ; - break;} -case 520: -#line 2336 "parse.y" -{ - current_aggr = yyvsp[-3].ttype; - yyval.ftype.t = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ftype.new_type_flag = 1; - ; - break;} -case 521: -#line 2342 "parse.y" -{ - current_aggr = yyvsp[-2].ttype; - yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); - yyval.ftype.new_type_flag = 1; - ; - break;} -case 522: -#line 2348 "parse.y" -{ - current_aggr = yyvsp[-1].ttype; - yyval.ftype.t = yyvsp[0].ttype; - yyval.ftype.new_type_flag = 0; - ; - break;} -case 523: -#line 2354 "parse.y" -{ - current_aggr = yyvsp[-2].ttype; - yyval.ftype.t = yyvsp[0].ttype; - if (CP_DECL_CONTEXT (yyval.ftype.t)) - push_scope (CP_DECL_CONTEXT (yyval.ftype.t)); - yyval.ftype.new_type_flag = 1; - ; - break;} -case 524: -#line 2365 "parse.y" -{ - yyval.ftype.t = xref_tag (current_aggr, yyvsp[0].ttype, 1); - yyval.ftype.new_type_flag = 0; - ; - break;} -case 525: -#line 2370 "parse.y" -{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ; - break;} -case 526: -#line 2374 "parse.y" -{ - yyval.ftype.t = yyvsp[-1].ttype; - yyval.ftype.new_type_flag = 0; - if (yyvsp[0].ttype) - xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); - ; - break;} -case 527: -#line 2382 "parse.y" -{ - if (yyvsp[-1].ftype.t != error_mark_node) - { - yyval.ftype.t = TREE_TYPE (yyvsp[-1].ftype.t); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; - if (current_aggr == union_type_node - && TREE_CODE (yyval.ftype.t) != UNION_TYPE) - cp_pedwarn ("`union' tag used in declaring `%#T'", - yyval.ftype.t); - else if (TREE_CODE (yyval.ftype.t) == UNION_TYPE - && current_aggr != union_type_node) - cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ftype); - else if (TREE_CODE (yyval.ftype.t) == RECORD_TYPE) - /* We might be specializing a template with a different - class-key; deal. */ - CLASSTYPE_DECLARED_CLASS (yyval.ftype.t) - = (current_aggr == class_type_node); - if (yyvsp[0].ttype) - { - maybe_process_partial_specialization (yyval.ftype.t); - xref_basetypes (current_aggr, yyvsp[-1].ftype.t, yyval.ftype.t, yyvsp[0].ttype); - } - } - ; - break;} -case 528: -#line 2410 "parse.y" -{ yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0); - yyungetc ('{', 1); ; - break;} -case 529: -#line 2420 "parse.y" -{ - yyval.ftype.t = yyvsp[0].ttype; - yyval.ftype.new_type_flag = 0; - ; - break;} -case 531: -#line 2429 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 532: -#line 2431 "parse.y" -{ yyungetc(':', 1); yyval.ttype = NULL_TREE; ; - break;} -case 533: -#line 2433 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 535: -#line 2439 "parse.y" -{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; - break;} -case 536: -#line 2444 "parse.y" -{ yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ; - break;} -case 537: -#line 2446 "parse.y" -{ yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 538: -#line 2451 "parse.y" -{ if (yyval.ttype == error_mark_node) - ; - else if (!TYPE_P (yyval.ttype)) - yyval.ttype = error_mark_node; - else - yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ; - break;} -case 541: -#line 2463 "parse.y" -{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) - cp_error ("`%D' access", yyvsp[-1].ttype); - yyval.ttype = access_default_virtual_node; ; - break;} -case 542: -#line 2467 "parse.y" -{ - if (yyvsp[-2].ttype != access_default_virtual_node) - error ("multiple access specifiers"); - else if (yyvsp[-1].ttype == access_public_node) - yyval.ttype = access_public_virtual_node; - else if (yyvsp[-1].ttype == access_protected_node) - yyval.ttype = access_protected_virtual_node; - else /* $2 == access_private_node */ - yyval.ttype = access_private_virtual_node; - ; - break;} -case 543: -#line 2478 "parse.y" -{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) - cp_error ("`%D' access", yyvsp[-1].ttype); - else if (yyval.ttype == access_public_node) - yyval.ttype = access_public_virtual_node; - else if (yyval.ttype == access_protected_node) - yyval.ttype = access_protected_virtual_node; - else if (yyval.ttype == access_private_node) - yyval.ttype = access_private_virtual_node; - else - error ("multiple `virtual' specifiers"); - ; - break;} -case 548: -#line 2499 "parse.y" -{ - current_access_specifier = yyvsp[-1].ttype; - ; - break;} -case 549: -#line 2508 "parse.y" -{ - finish_member_declaration (yyvsp[0].ttype); - ; - break;} -case 550: -#line 2512 "parse.y" -{ - finish_member_declaration (yyvsp[0].ttype); - ; - break;} -case 552: -#line 2520 "parse.y" -{ error ("missing ';' before right brace"); - yyungetc ('}', 0); ; - break;} -case 553: -#line 2525 "parse.y" -{ yyval.ttype = finish_method (yyval.ttype); ; - break;} -case 554: -#line 2527 "parse.y" -{ yyval.ttype = finish_method (yyval.ttype); ; - break;} -case 555: -#line 2529 "parse.y" -{ yyval.ttype = finish_method (yyval.ttype); ; - break;} -case 556: -#line 2531 "parse.y" -{ yyval.ttype = finish_method (yyval.ttype); ; - break;} -case 557: -#line 2533 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 558: -#line 2535 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; - pedantic = yyvsp[-1].itype; ; - break;} -case 559: -#line 2538 "parse.y" -{ - if (yyvsp[0].ttype) - yyval.ttype = finish_member_template_decl (yyvsp[0].ttype); - else - /* The component was already processed. */ - yyval.ttype = NULL_TREE; - - finish_template_decl (yyvsp[-1].ttype); - ; - break;} -case 560: -#line 2548 "parse.y" -{ - yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t); - finish_template_decl (yyvsp[-2].ttype); - ; - break;} -case 561: -#line 2559 "parse.y" -{ - /* Most of the productions for component_decl only - allow the creation of one new member, so we call - finish_member_declaration in component_decl_list. - For this rule and the next, however, there can be - more than one member, e.g.: - - int i, j; - - and we need the first member to be fully - registered before the second is processed. - Therefore, the rules for components take care of - this processing. To avoid registering the - components more than once, we send NULL_TREE up - here; that lets finish_member_declaration know - that there is nothing to do. */ - if (!yyvsp[0].itype) - grok_x_components (yyvsp[-1].ftype.t); - yyval.ttype = NULL_TREE; - ; - break;} -case 562: -#line 2580 "parse.y" -{ - if (!yyvsp[0].itype) - grok_x_components (yyvsp[-1].ftype.t); - yyval.ttype = NULL_TREE; - ; - break;} -case 563: -#line 2586 "parse.y" -{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, - build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; - break;} -case 564: -#line 2589 "parse.y" -{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, - build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; - break;} -case 565: -#line 2592 "parse.y" -{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; - break;} -case 566: -#line 2594 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 567: -#line 2605 "parse.y" -{ tree specs, attrs; - split_specs_attrs (yyvsp[-4].ftype.t, &specs, &attrs); - yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype, - build_tree_list (yyvsp[-1].ttype, attrs)); ; - break;} -case 568: -#line 2610 "parse.y" -{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, - build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; - break;} -case 569: -#line 2613 "parse.y" -{ yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ; - break;} -case 570: -#line 2619 "parse.y" -{ yyval.itype = 0; ; - break;} -case 571: -#line 2621 "parse.y" -{ - if (PROCESSING_REAL_TEMPLATE_DECL_P ()) - yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); - finish_member_declaration (yyvsp[0].ttype); - yyval.itype = 1; - ; - break;} -case 572: -#line 2628 "parse.y" -{ - check_multiple_declarators (); - if (PROCESSING_REAL_TEMPLATE_DECL_P ()) - yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); - finish_member_declaration (yyvsp[0].ttype); - yyval.itype = 2; - ; - break;} -case 573: -#line 2639 "parse.y" -{ yyval.itype = 0; ; - break;} -case 574: -#line 2641 "parse.y" -{ - if (PROCESSING_REAL_TEMPLATE_DECL_P ()) - yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); - finish_member_declaration (yyvsp[0].ttype); - yyval.itype = 1; - ; - break;} -case 575: -#line 2648 "parse.y" -{ - check_multiple_declarators (); - if (PROCESSING_REAL_TEMPLATE_DECL_P ()) - yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); - finish_member_declaration (yyvsp[0].ttype); - yyval.itype = 2; - ; - break;} -case 580: -#line 2669 "parse.y" -{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, - yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 581: -#line 2672 "parse.y" -{ yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, - yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 582: -#line 2678 "parse.y" -{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, - yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 583: -#line 2681 "parse.y" -{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, - yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 584: -#line 2684 "parse.y" -{ yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, - yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 585: -#line 2687 "parse.y" -{ yyval.ttype = parse_bitfield0 (NULL_TREE, yyvsp[-3].ftype.t, - yyvsp[-3].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 586: -#line 2693 "parse.y" -{ yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 587: -#line 2695 "parse.y" -{ yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 588: -#line 2700 "parse.y" -{ yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} -case 589: -#line 2702 "parse.y" -{ yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 590: -#line 2704 "parse.y" -{ yyval.ttype = parse_bitfield (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 595: -#line 2723 "parse.y" -{ build_enumerator (yyvsp[0].ttype, NULL_TREE, current_enum_type); ; - break;} -case 596: -#line 2725 "parse.y" -{ build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype, current_enum_type); ; - break;} -case 597: -#line 2731 "parse.y" -{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 598: -#line 2734 "parse.y" -{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); - yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; - break;} -case 599: -#line 2739 "parse.y" -{ - if (pedantic) - pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new"); - yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype); - yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t); - yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag; - ; - break;} -case 600: -#line 2750 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 601: -#line 2752 "parse.y" -{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; - break;} -case 602: -#line 2757 "parse.y" -{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); - yyval.ftype.new_type_flag = 0; ; - break;} -case 603: -#line 2760 "parse.y" -{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 604: -#line 2770 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 605: -#line 2772 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 606: -#line 2774 "parse.y" -{ yyval.ttype = empty_parms (); ; - break;} -case 607: -#line 2776 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 609: -#line 2784 "parse.y" -{ - /* Provide support for '(' attributes '*' declarator ')' - etc */ - yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); - ; - break;} -case 610: -#line 2794 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 611: -#line 2796 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 612: -#line 2798 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 613: -#line 2800 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 614: -#line 2802 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); - ; - break;} -case 616: -#line 2810 "parse.y" -{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 617: -#line 2812 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 618: -#line 2814 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; - break;} -case 619: -#line 2816 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 620: -#line 2818 "parse.y" -{ push_nested_class (yyvsp[-1].ttype, 3); - yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); - TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ; - break;} -case 622: -#line 2826 "parse.y" -{ - if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) - { - yyval.ttype = lookup_name (yyvsp[0].ttype, 1); - maybe_note_name_used_in_class (yyvsp[0].ttype, yyval.ttype); - } - else - yyval.ttype = yyvsp[0].ttype; - ; - break;} -case 623: -#line 2836 "parse.y" -{ - if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) - yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); - else - yyval.ttype = yyvsp[0].ttype; - got_scope = NULL_TREE; - ; - break;} -case 626: -#line 2849 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 627: -#line 2854 "parse.y" -{ yyval.ttype = get_type_decl (yyvsp[0].ttype); ; - break;} -case 629: -#line 2863 "parse.y" -{ - /* Provide support for '(' attributes '*' declarator ')' - etc */ - yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); - ; - break;} -case 630: -#line 2872 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 631: -#line 2874 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 632: -#line 2876 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 633: -#line 2878 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 634: -#line 2880 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); - ; - break;} -case 636: -#line 2888 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 637: -#line 2890 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 638: -#line 2892 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 639: -#line 2894 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 640: -#line 2896 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); - ; - break;} -case 642: -#line 2904 "parse.y" -{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 643: -#line 2906 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 644: -#line 2908 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 645: -#line 2910 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; - break;} -case 646: -#line 2912 "parse.y" -{ enter_scope_of (yyvsp[0].ttype); ; - break;} -case 647: -#line 2914 "parse.y" -{ enter_scope_of (yyvsp[0].ttype); yyval.ttype = yyvsp[0].ttype;; - break;} -case 648: -#line 2916 "parse.y" -{ yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); - enter_scope_of (yyval.ttype); - ; - break;} -case 649: -#line 2920 "parse.y" -{ got_scope = NULL_TREE; - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); - enter_scope_of (yyval.ttype); - ; - break;} -case 650: -#line 2928 "parse.y" -{ got_scope = NULL_TREE; - yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 651: -#line 2931 "parse.y" -{ got_scope = NULL_TREE; - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 652: -#line 2937 "parse.y" -{ got_scope = NULL_TREE; - yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; - break;} -case 653: -#line 2940 "parse.y" -{ got_scope = NULL_TREE; - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 655: -#line 2947 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 656: -#line 2952 "parse.y" -{ yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; - break;} -case 657: -#line 2954 "parse.y" -{ yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; - break;} -case 658: -#line 2956 "parse.y" -{ yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 663: -#line 2968 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 664: -#line 2970 "parse.y" -{ got_scope = yyval.ttype - = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ; - break;} -case 665: -#line 2978 "parse.y" -{ - if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) - { - yyval.ttype = lastiddecl; - maybe_note_name_used_in_class (yyvsp[-1].ttype, yyval.ttype); - } - got_scope = yyval.ttype = - complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype))); - ; - break;} -case 666: -#line 2988 "parse.y" -{ - if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) - yyval.ttype = lastiddecl; - got_scope = yyval.ttype = TREE_TYPE (yyval.ttype); - ; - break;} -case 667: -#line 2994 "parse.y" -{ - if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) - yyval.ttype = lastiddecl; - got_scope = yyval.ttype; - ; - break;} -case 668: -#line 3000 "parse.y" -{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ; - break;} -case 670: -#line 3016 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 671: -#line 3021 "parse.y" -{ - if (TYPE_P (yyvsp[-1].ttype)) - yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1); - else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) - cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); - else - { - yyval.ttype = yyvsp[0].ttype; - if (TREE_CODE (yyval.ttype) == TYPE_DECL) - yyval.ttype = TREE_TYPE (yyval.ttype); - } - ; - break;} -case 672: -#line 3034 "parse.y" -{ yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ; - break;} -case 673: -#line 3036 "parse.y" -{ yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1); ; - break;} -case 674: -#line 3038 "parse.y" -{ yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, /*complain=*/1); ; - break;} -case 675: -#line 3043 "parse.y" -{ - if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) - cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); - ; - break;} -case 676: -#line 3048 "parse.y" -{ - if (TYPE_P (yyvsp[-1].ttype)) - yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1); - else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) - cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); - else - { - yyval.ttype = yyvsp[0].ttype; - if (TREE_CODE (yyval.ttype) == TYPE_DECL) - yyval.ttype = TREE_TYPE (yyval.ttype); - } - ; - break;} -case 677: -#line 3061 "parse.y" -{ got_scope = yyval.ttype - = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, /*complain=*/1); ; - break;} -case 678: -#line 3064 "parse.y" -{ got_scope = yyval.ttype - = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ; - break;} -case 679: -#line 3070 "parse.y" -{ - if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE) - yyvsp[-1].ttype = lastiddecl; - - /* Retrieve the type for the identifier, which might involve - some computation. */ - got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype)); - - if (yyval.ttype == error_mark_node) - cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype); - ; - break;} -case 680: -#line 3082 "parse.y" -{ - if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE) - yyval.ttype = lastiddecl; - got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); - ; - break;} -case 681: -#line 3088 "parse.y" -{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ; - break;} -case 684: -#line 3092 "parse.y" -{ - if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) - yyval.ttype = lastiddecl; - got_scope = yyval.ttype; - ; - break;} -case 685: -#line 3101 "parse.y" -{ yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 686: -#line 3106 "parse.y" -{ - if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) - yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); - else - yyval.ttype = yyvsp[0].ttype; - got_scope = NULL_TREE; - ; - break;} -case 688: -#line 3115 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 689: -#line 3120 "parse.y" -{ got_scope = NULL_TREE; ; - break;} -case 690: -#line 3122 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ; - break;} -case 691: -#line 3129 "parse.y" -{ got_scope = void_type_node; ; - break;} -case 692: -#line 3135 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 693: -#line 3137 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; - break;} -case 694: -#line 3139 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 695: -#line 3141 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ; - break;} -case 696: -#line 3143 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); - ; - break;} -case 697: -#line 3147 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); - ; - break;} -case 699: -#line 3156 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; - break;} -case 700: -#line 3158 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 702: -#line 3164 "parse.y" -{ - /* Provide support for '(' attributes '*' declarator ')' - etc */ - yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); - ; - break;} -case 703: -#line 3174 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 704: -#line 3176 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 705: -#line 3178 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ; - break;} -case 706: -#line 3180 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ; - break;} -case 707: -#line 3182 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 708: -#line 3184 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 709: -#line 3186 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ; - break;} -case 710: -#line 3188 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ; - break;} -case 711: -#line 3190 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); - ; - break;} -case 712: -#line 3194 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); - ; - break;} -case 714: -#line 3203 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 715: -#line 3206 "parse.y" -{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 716: -#line 3208 "parse.y" -{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 717: -#line 3210 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 718: -#line 3212 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; - break;} -case 719: -#line 3214 "parse.y" -{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 720: -#line 3216 "parse.y" -{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 721: -#line 3218 "parse.y" -{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 722: -#line 3220 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; - break;} -case 723: -#line 3222 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ; - break;} -case 730: -#line 3245 "parse.y" -{ if (pedantic) - pedwarn ("ISO C++ forbids label declarations"); ; - break;} -case 733: -#line 3256 "parse.y" -{ - while (yyvsp[-1].ttype) - { - finish_label_decl (TREE_VALUE (yyvsp[-1].ttype)); - yyvsp[-1].ttype = TREE_CHAIN (yyvsp[-1].ttype); - } - ; - break;} -case 734: -#line 3269 "parse.y" -{; - break;} -case 736: -#line 3275 "parse.y" -{ yyval.ttype = begin_compound_stmt (0); ; - break;} -case 737: -#line 3277 "parse.y" -{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ; - break;} -case 738: -#line 3282 "parse.y" -{ - yyval.ttype = begin_if_stmt (); - cond_stmt_keyword = "if"; - ; - break;} -case 739: -#line 3287 "parse.y" -{ finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 740: -#line 3289 "parse.y" -{ yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ; - break;} -case 742: -#line 3294 "parse.y" -{ yyval.ttype = begin_compound_stmt (0); ; - break;} -case 743: -#line 3296 "parse.y" -{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ; - break;} -case 744: -#line 3301 "parse.y" -{; - break;} -case 746: -#line 3307 "parse.y" -{ finish_stmt (); ; - break;} -case 747: -#line 3309 "parse.y" -{ finish_expr_stmt (yyvsp[-1].ttype); ; - break;} -case 748: -#line 3311 "parse.y" -{ begin_else_clause (); ; - break;} -case 749: -#line 3313 "parse.y" -{ - finish_else_clause (yyvsp[-3].ttype); - finish_if_stmt (); - ; - break;} -case 750: -#line 3318 "parse.y" -{ finish_if_stmt (); ; - break;} -case 751: -#line 3320 "parse.y" -{ - yyval.ttype = begin_while_stmt (); - cond_stmt_keyword = "while"; - ; - break;} -case 752: -#line 3325 "parse.y" -{ finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 753: -#line 3327 "parse.y" -{ finish_while_stmt (yyvsp[-3].ttype); ; - break;} -case 754: -#line 3329 "parse.y" -{ yyval.ttype = begin_do_stmt (); ; - break;} -case 755: -#line 3331 "parse.y" -{ - finish_do_body (yyvsp[-2].ttype); - cond_stmt_keyword = "do"; - ; - break;} -case 756: -#line 3336 "parse.y" -{ finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ; - break;} -case 757: -#line 3338 "parse.y" -{ yyval.ttype = begin_for_stmt (); ; - break;} -case 758: -#line 3340 "parse.y" -{ finish_for_init_stmt (yyvsp[-2].ttype); ; - break;} -case 759: -#line 3342 "parse.y" -{ finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ; - break;} -case 760: -#line 3344 "parse.y" -{ finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ; - break;} -case 761: -#line 3346 "parse.y" -{ finish_for_stmt (yyvsp[-10].ttype); ; - break;} -case 762: -#line 3348 "parse.y" -{ yyval.ttype = begin_switch_stmt (); ; - break;} -case 763: -#line 3350 "parse.y" -{ finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ; - break;} -case 764: -#line 3352 "parse.y" -{ finish_switch_stmt (yyvsp[-5].ttype); ; - break;} -case 765: -#line 3354 "parse.y" -{ finish_case_label (yyvsp[-1].ttype, NULL_TREE); ; - break;} -case 767: -#line 3357 "parse.y" -{ finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 769: -#line 3360 "parse.y" -{ finish_case_label (NULL_TREE, NULL_TREE); ; - break;} -case 771: -#line 3363 "parse.y" -{ finish_break_stmt (); ; - break;} -case 772: -#line 3365 "parse.y" -{ finish_continue_stmt (); ; - break;} -case 773: -#line 3367 "parse.y" -{ finish_return_stmt (NULL_TREE); ; - break;} -case 774: -#line 3369 "parse.y" -{ finish_return_stmt (yyvsp[-1].ttype); ; - break;} -case 775: -#line 3371 "parse.y" -{ - finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, - NULL_TREE); - ; - break;} -case 776: -#line 3377 "parse.y" -{ - finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, - NULL_TREE); - ; - break;} -case 777: -#line 3383 "parse.y" -{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; - break;} -case 778: -#line 3385 "parse.y" -{ finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE); ; - break;} -case 779: -#line 3389 "parse.y" -{ finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; - break;} -case 780: -#line 3392 "parse.y" -{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, NULL_TREE, yyvsp[-4].ttype, yyvsp[-2].ttype); ; - break;} -case 781: -#line 3395 "parse.y" -{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype); ; - break;} -case 782: -#line 3397 "parse.y" -{ - if (pedantic) - pedwarn ("ISO C++ forbids computed gotos"); - finish_goto_stmt (yyvsp[-1].ttype); - ; - break;} -case 783: -#line 3403 "parse.y" -{ finish_goto_stmt (yyvsp[-1].ttype); ; - break;} -case 785: -#line 3406 "parse.y" -{ error ("label must be followed by statement"); - yyungetc ('}', 0); ; - break;} -case 786: -#line 3409 "parse.y" -{ finish_stmt (); ; - break;} -case 789: -#line 3413 "parse.y" -{ do_local_using_decl (yyvsp[0].ttype); ; - break;} -case 791: -#line 3419 "parse.y" -{ yyval.ttype = begin_function_try_block (); ; - break;} -case 792: -#line 3421 "parse.y" -{ finish_function_try_block (yyvsp[-2].ttype); ; - break;} -case 793: -#line 3423 "parse.y" -{ - finish_function_handler_sequence (yyvsp[-4].ttype); - yyval.itype = yyvsp[-3].itype; - ; - break;} -case 794: -#line 3431 "parse.y" -{ yyval.ttype = begin_try_block (); ; - break;} -case 795: -#line 3433 "parse.y" -{ finish_try_block (yyvsp[-1].ttype); ; - break;} -case 796: -#line 3435 "parse.y" -{ finish_handler_sequence (yyvsp[-3].ttype); ; - break;} -case 799: -#line 3445 "parse.y" -{ yyval.ttype = begin_handler(); ; - break;} -case 800: -#line 3447 "parse.y" -{ yyval.ttype = finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ; - break;} -case 801: -#line 3449 "parse.y" -{ finish_handler (yyvsp[-1].ttype, yyvsp[-3].ttype); ; - break;} -case 804: -#line 3459 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 805: -#line 3475 "parse.y" -{ - check_for_new_type ("inside exception declarations", yyvsp[-1].ftype); - yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t), - TREE_VALUE (yyvsp[-1].ftype.t)); - ; - break;} -case 806: -#line 3484 "parse.y" -{ finish_label_stmt (yyvsp[-1].ttype); ; - break;} -case 807: -#line 3486 "parse.y" -{ finish_label_stmt (yyvsp[-1].ttype); ; - break;} -case 808: -#line 3488 "parse.y" -{ finish_label_stmt (yyvsp[-1].ttype); ; - break;} -case 809: -#line 3490 "parse.y" -{ finish_label_stmt (yyvsp[-1].ttype); ; - break;} -case 810: -#line 3495 "parse.y" -{ finish_expr_stmt (yyvsp[-1].ttype); ; - break;} -case 812: -#line 3498 "parse.y" -{ if (pedantic) - pedwarn ("ISO C++ forbids compound statements inside for initializations"); - ; - break;} -case 813: -#line 3507 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 815: -#line 3513 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 817: -#line 3516 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 818: -#line 3523 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 821: -#line 3530 "parse.y" -{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; - break;} -case 822: -#line 3535 "parse.y" -{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 823: -#line 3540 "parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE);; - break;} -case 824: -#line 3542 "parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; - break;} -case 825: -#line 3553 "parse.y" -{ - yyval.ttype = empty_parms(); - ; - break;} -case 827: -#line 3558 "parse.y" -{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0); - check_for_new_type ("inside parameter list", yyvsp[0].ftype); ; - break;} -case 828: -#line 3566 "parse.y" -{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ; - break;} -case 829: -#line 3568 "parse.y" -{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; - break;} -case 830: -#line 3571 "parse.y" -{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; - break;} -case 831: -#line 3573 "parse.y" -{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, - yyvsp[-1].ftype.t), 1); ; - break;} -case 832: -#line 3576 "parse.y" -{ yyval.ttype = finish_parmlist (NULL_TREE, 1); ; - break;} -case 833: -#line 3578 "parse.y" -{ - /* This helps us recover from really nasty - parse errors, for example, a missing right - parenthesis. */ - yyerror ("possibly missing ')'"); - yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0); - yyungetc (':', 0); - yychar = ')'; - ; - break;} -case 834: -#line 3588 "parse.y" -{ - /* This helps us recover from really nasty - parse errors, for example, a missing right - parenthesis. */ - yyerror ("possibly missing ')'"); - yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, - yyvsp[-1].ftype.t), 0); - yyungetc (':', 0); - yychar = ')'; - ; - break;} -case 835: -#line 3603 "parse.y" -{ maybe_snarf_defarg (); ; - break;} -case 836: -#line 3605 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 839: -#line 3616 "parse.y" -{ check_for_new_type ("in a parameter list", yyvsp[0].ftype); - yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; - break;} -case 840: -#line 3619 "parse.y" -{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype); - yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ; - break;} -case 841: -#line 3622 "parse.y" -{ check_for_new_type ("in a parameter list", yyvsp[0].ftype); - yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ; - break;} -case 842: -#line 3625 "parse.y" -{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; - break;} -case 843: -#line 3627 "parse.y" -{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ; - break;} -case 845: -#line 3633 "parse.y" -{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype); - yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ; - break;} -case 846: -#line 3643 "parse.y" -{ tree specs = strip_attrs (yyvsp[-1].ftype.t); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; - yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ; - break;} -case 847: -#line 3647 "parse.y" -{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 848: -#line 3650 "parse.y" -{ yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t), - yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 849: -#line 3654 "parse.y" -{ tree specs = strip_attrs (yyvsp[-1].ftype.t); - yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 850: -#line 3658 "parse.y" -{ tree specs = strip_attrs (yyvsp[0].ftype.t); - yyval.ftype.t = build_tree_list (specs, NULL_TREE); - yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; - break;} -case 851: -#line 3662 "parse.y" -{ tree specs = strip_attrs (yyvsp[-1].ftype.t); - yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); - yyval.ftype.new_type_flag = 0; ; - break;} -case 852: -#line 3669 "parse.y" -{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); - yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; - break;} -case 853: -#line 3672 "parse.y" -{ yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 856: -#line 3683 "parse.y" -{ see_typename (); ; - break;} -case 857: -#line 3688 "parse.y" -{ - error ("type specifier omitted for parameter"); - yyval.ttype = build_tree_list (integer_type_node, NULL_TREE); - ; - break;} -case 858: -#line 3693 "parse.y" -{ - error ("type specifier omitted for parameter"); - if (TREE_CODE (yyval.ttype) == SCOPE_REF - && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM - || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM)) - cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype); - yyval.ttype = build_tree_list (integer_type_node, yyval.ttype); - ; - break;} -case 859: -#line 3705 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 860: -#line 3707 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 861: -#line 3709 "parse.y" -{ yyval.ttype = empty_except_spec; ; - break;} -case 862: -#line 3714 "parse.y" -{ - check_for_new_type ("exception specifier", yyvsp[0].ftype); - yyval.ttype = groktypename (yyvsp[0].ftype.t); - ; - break;} -case 863: -#line 3722 "parse.y" -{ yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ; - break;} -case 864: -#line 3724 "parse.y" -{ yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ; - break;} -case 865: -#line 3729 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 866: -#line 3731 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 867: -#line 3733 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 868: -#line 3735 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); - ; - break;} -case 869: -#line 3742 "parse.y" -{ got_scope = NULL_TREE; ; - break;} -case 870: -#line 3747 "parse.y" -{ yyval.ttype = ansi_opname (MULT_EXPR); ; - break;} -case 871: -#line 3749 "parse.y" -{ yyval.ttype = ansi_opname (TRUNC_DIV_EXPR); ; - break;} -case 872: -#line 3751 "parse.y" -{ yyval.ttype = ansi_opname (TRUNC_MOD_EXPR); ; - break;} -case 873: -#line 3753 "parse.y" -{ yyval.ttype = ansi_opname (PLUS_EXPR); ; - break;} -case 874: -#line 3755 "parse.y" -{ yyval.ttype = ansi_opname (MINUS_EXPR); ; - break;} -case 875: -#line 3757 "parse.y" -{ yyval.ttype = ansi_opname (BIT_AND_EXPR); ; - break;} -case 876: -#line 3759 "parse.y" -{ yyval.ttype = ansi_opname (BIT_IOR_EXPR); ; - break;} -case 877: -#line 3761 "parse.y" -{ yyval.ttype = ansi_opname (BIT_XOR_EXPR); ; - break;} -case 878: -#line 3763 "parse.y" -{ yyval.ttype = ansi_opname (BIT_NOT_EXPR); ; - break;} -case 879: -#line 3765 "parse.y" -{ yyval.ttype = ansi_opname (COMPOUND_EXPR); ; - break;} -case 880: -#line 3767 "parse.y" -{ yyval.ttype = ansi_opname (yyvsp[0].code); ; - break;} -case 881: -#line 3769 "parse.y" -{ yyval.ttype = ansi_opname (LT_EXPR); ; - break;} -case 882: -#line 3771 "parse.y" -{ yyval.ttype = ansi_opname (GT_EXPR); ; - break;} -case 883: -#line 3773 "parse.y" -{ yyval.ttype = ansi_opname (yyvsp[0].code); ; - break;} -case 884: -#line 3775 "parse.y" -{ yyval.ttype = ansi_assopname (yyvsp[0].code); ; - break;} -case 885: -#line 3777 "parse.y" -{ yyval.ttype = ansi_assopname (NOP_EXPR); ; - break;} -case 886: -#line 3779 "parse.y" -{ yyval.ttype = ansi_opname (yyvsp[0].code); ; - break;} -case 887: -#line 3781 "parse.y" -{ yyval.ttype = ansi_opname (yyvsp[0].code); ; - break;} -case 888: -#line 3783 "parse.y" -{ yyval.ttype = ansi_opname (POSTINCREMENT_EXPR); ; - break;} -case 889: -#line 3785 "parse.y" -{ yyval.ttype = ansi_opname (PREDECREMENT_EXPR); ; - break;} -case 890: -#line 3787 "parse.y" -{ yyval.ttype = ansi_opname (TRUTH_ANDIF_EXPR); ; - break;} -case 891: -#line 3789 "parse.y" -{ yyval.ttype = ansi_opname (TRUTH_ORIF_EXPR); ; - break;} -case 892: -#line 3791 "parse.y" -{ yyval.ttype = ansi_opname (TRUTH_NOT_EXPR); ; - break;} -case 893: -#line 3793 "parse.y" -{ yyval.ttype = ansi_opname (COND_EXPR); ; - break;} -case 894: -#line 3795 "parse.y" -{ yyval.ttype = ansi_opname (yyvsp[0].code); ; - break;} -case 895: -#line 3797 "parse.y" -{ yyval.ttype = ansi_opname (COMPONENT_REF); ; - break;} -case 896: -#line 3799 "parse.y" -{ yyval.ttype = ansi_opname (MEMBER_REF); ; - break;} -case 897: -#line 3801 "parse.y" -{ yyval.ttype = ansi_opname (CALL_EXPR); ; - break;} -case 898: -#line 3803 "parse.y" -{ yyval.ttype = ansi_opname (ARRAY_REF); ; - break;} -case 899: -#line 3805 "parse.y" -{ yyval.ttype = ansi_opname (NEW_EXPR); ; - break;} -case 900: -#line 3807 "parse.y" -{ yyval.ttype = ansi_opname (DELETE_EXPR); ; - break;} -case 901: -#line 3809 "parse.y" -{ yyval.ttype = ansi_opname (VEC_NEW_EXPR); ; - break;} -case 902: -#line 3811 "parse.y" -{ yyval.ttype = ansi_opname (VEC_DELETE_EXPR); ; - break;} -case 903: -#line 3814 "parse.y" -{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 904: -#line 3816 "parse.y" -{ yyval.ttype = ansi_opname (ERROR_MARK); ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 543 "/usr/lib/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; - - yyacceptlab: - /* YYACCEPT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 0; - - yyabortlab: - /* YYABORT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 1; -} -#line 3819 "parse.y" - - -#ifdef SPEW_DEBUG -const char * -debug_yytranslate (value) - int value; -{ - return yytname[YYTRANSLATE (value)]; -} - -#endif |