/* Code generated from eC source file: grammar.ec */ #if defined(_WIN32) #define __runtimePlatform 1 #elif defined(__APPLE__) #define __runtimePlatform 3 #else #define __runtimePlatform 2 #endif #if defined(__GNUC__) typedef long long int64; typedef unsigned long long uint64; #ifndef _WIN32 #define __declspec(x) #endif #elif defined(__TINYC__) #include #define __builtin_va_list va_list #define __builtin_va_start va_start #define __builtin_va_end va_end #ifdef _WIN32 #define strcasecmp stricmp #define strncasecmp strnicmp #define __declspec(x) __attribute__((x)) #else #define __declspec(x) #endif typedef long long int64; typedef unsigned long long uint64; #else typedef __int64 int64; typedef unsigned __int64 uint64; #endif #ifdef __BIG_ENDIAN__ #define __ENDIAN_PAD(x) (8 - (x)) #else #define __ENDIAN_PAD(x) 0 #endif #if defined(_WIN32) # if defined(__GNUC__) || defined(__TINYC__) # define ecere_stdcall __attribute__((__stdcall__)) # define ecere_gcc_struct __attribute__((gcc_struct)) # else # define ecere_stdcall __stdcall # define ecere_gcc_struct # endif #else # define ecere_stdcall # define ecere_gcc_struct #endif #include #include enum yytokentype { IDENTIFIER = 258, CONSTANT = 259, STRING_LITERAL = 260, SIZEOF = 261, PTR_OP = 262, INC_OP = 263, DEC_OP = 264, LEFT_OP = 265, RIGHT_OP = 266, LE_OP = 267, GE_OP = 268, EQ_OP = 269, NE_OP = 270, AND_OP = 271, OR_OP = 272, MUL_ASSIGN = 273, DIV_ASSIGN = 274, MOD_ASSIGN = 275, ADD_ASSIGN = 276, SUB_ASSIGN = 277, LEFT_ASSIGN = 278, RIGHT_ASSIGN = 279, AND_ASSIGN = 280, XOR_ASSIGN = 281, OR_ASSIGN = 282, TYPE_NAME = 283, TYPEDEF = 284, EXTERN = 285, STATIC = 286, AUTO = 287, REGISTER = 288, CHAR = 289, SHORT = 290, INT = 291, UINT = 292, INT64 = 293, INT128 = 294, LONG = 295, SIGNED = 296, UNSIGNED = 297, FLOAT = 298, DOUBLE = 299, CONST = 300, VOLATILE = 301, VOID = 302, VALIST = 303, STRUCT = 304, UNION = 305, ENUM = 306, ELLIPSIS = 307, CASE = 308, DEFAULT = 309, IF = 310, SWITCH = 311, WHILE = 312, DO = 313, FOR = 314, GOTO = 315, CONTINUE = 316, BREAK = 317, RETURN = 318, IFX = 319, ELSE = 320, CLASS = 321, THISCLASS = 322, CLASS_NAME = 323, PROPERTY = 324, SETPROP = 325, GETPROP = 326, NEWOP = 327, RENEW = 328, DELETE = 329, EXT_DECL = 330, EXT_STORAGE = 331, IMPORT = 332, DEFINE = 333, VIRTUAL = 334, ATTRIB = 335, PUBLIC = 336, PRIVATE = 337, TYPED_OBJECT = 338, ANY_OBJECT = 339, _INCREF = 340, EXTENSION = 341, ASM = 342, TYPEOF = 343, WATCH = 344, STOPWATCHING = 345, FIREWATCHERS = 346, WATCHABLE = 347, CLASS_DESIGNER = 348, CLASS_NO_EXPANSION = 349, CLASS_FIXED = 350, ISPROPSET = 351, CLASS_DEFAULT_PROPERTY = 352, PROPERTY_CATEGORY = 353, CLASS_DATA = 354, CLASS_PROPERTY = 355, SUBCLASS = 356, NAMESPACE = 357, NEW0OP = 358, RENEW0 = 359, VAARG = 360, DBTABLE = 361, DBFIELD = 362, DBINDEX = 363, DATABASE_OPEN = 364, ALIGNOF = 365, ATTRIB_DEP = 366, __ATTRIB = 367, BOOL = 368, _BOOL = 369, _COMPLEX = 370, _IMAGINARY = 371, RESTRICT = 372, THREAD = 373, WIDE_STRING_LITERAL = 374, BUILTIN_OFFSETOF = 375 }; extern char * yytext; int yylex(); int yyerror(); unsigned int guess; unsigned int deleteWatchable = 0; int memberAccessStack[256]; int defaultMemberAccess = -1; typedef unsigned char yytype_uint8; typedef signed char yytype_int8; typedef unsigned short int yytype_uint16; typedef short int yytype_int16; void * malloc(size_t); void free(void *); static const yytype_uint8 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, 140, 2, 2, 134, 142, 137, 2, 124, 125, 121, 138, 129, 139, 132, 141, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 133, 127, 122, 128, 123, 145, 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, 135, 2, 136, 143, 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, 131, 144, 130, 126, 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, 2, 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, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120 }; static const yytype_uint16 yyprhs[] = { 0, 0, 3, 6, 9, 11, 14, 16, 18, 20, 25, 30, 33, 35, 39, 44, 48, 51, 54, 56, 60, 63, 66, 69, 72, 75, 78, 81, 85, 88, 90, 93, 95, 98, 101, 104, 107, 110, 113, 115, 117, 121, 123, 127, 131, 133, 135, 139, 143, 145, 149, 153, 157, 161, 163, 166, 169, 171, 173, 176, 179, 182, 185, 188, 191, 193, 195, 197, 200, 203, 205, 208, 211, 214, 217, 219, 222, 225, 229, 234, 240, 245, 249, 254, 257, 261, 266, 272, 277, 281, 286, 292, 298, 303, 306, 310, 314, 318, 322, 325, 330, 334, 338, 341, 346, 350, 353, 357, 360, 364, 367, 369, 372, 376, 380, 384, 387, 389, 393, 397, 399, 403, 407, 410, 415, 421, 425, 430, 434, 436, 440, 444, 448, 451, 455, 458, 463, 469, 473, 478, 482, 484, 488, 492, 495, 497, 500, 503, 506, 508, 511, 517, 525, 535, 542, 551, 556, 563, 565, 568, 572, 577, 580, 583, 585, 587, 590, 593, 595, 597, 599, 601, 609, 611, 614, 619, 621, 623, 626, 630, 633, 636, 639, 643, 645, 648, 651, 654, 656, 658, 660, 663, 666, 669, 673, 677, 679, 681, 684, 687, 689, 692, 695, 698, 701, 703, 706, 708, 711, 714, 719, 724, 731, 734, 739, 744, 751, 753, 755, 759, 761, 766, 772, 774, 776, 778, 780, 784, 786, 788, 790, 794, 798, 802, 804, 808, 810, 813, 816, 820, 824, 830, 836, 843, 850, 853, 856, 860, 864, 868, 872, 876, 880, 884, 888, 892, 896, 900, 902, 904, 908, 910, 913, 918, 920, 922, 924, 929, 934, 940, 949, 952, 954, 956, 958, 961, 968, 975, 981, 987, 994, 1001, 1007, 1013, 1021, 1029, 1036, 1043, 1051, 1059, 1066, 1073, 1078, 1084, 1089, 1096, 1101, 1103, 1105, 1107, 1109, 1113, 1116, 1118, 1121, 1124, 1127, 1129, 1134, 1139, 1143, 1148, 1153, 1157, 1161, 1164, 1167, 1172, 1177, 1181, 1186, 1190, 1194, 1197, 1200, 1202, 1204, 1208, 1212, 1214, 1216, 1220, 1224, 1227, 1230, 1233, 1236, 1239, 1242, 1247, 1253, 1259, 1262, 1267, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1301, 1303, 1307, 1311, 1315, 1319, 1323, 1327, 1329, 1333, 1337, 1341, 1345, 1347, 1351, 1355, 1359, 1363, 1366, 1368, 1371, 1375, 1379, 1383, 1387, 1391, 1395, 1399, 1401, 1405, 1409, 1413, 1417, 1421, 1425, 1429, 1433, 1435, 1439, 1443, 1447, 1451, 1453, 1457, 1461, 1465, 1469, 1471, 1475, 1479, 1483, 1487, 1489, 1493, 1497, 1499, 1503, 1507, 1509, 1515, 1521, 1527, 1533, 1539, 1545, 1551, 1557, 1563, 1569, 1575, 1581, 1587, 1593, 1599, 1605, 1607, 1611, 1615, 1619, 1623, 1627, 1631, 1635, 1639, 1641, 1643, 1645, 1647, 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1667, 1671, 1674, 1676, 1680, 1684, 1686, 1688, 1691, 1694, 1698, 1702, 1706, 1710, 1714, 1718, 1722, 1725, 1728, 1731, 1734, 1737, 1743, 1750, 1757, 1760, 1766, 1768, 1770, 1772, 1777, 1779, 1783, 1787, 1791, 1795, 1799, 1803, 1805, 1809, 1813, 1817, 1821, 1823, 1827, 1831, 1835, 1839, 1841, 1844, 1848, 1852, 1856, 1860, 1864, 1868, 1872, 1874, 1878, 1882, 1886, 1890, 1894, 1898, 1902, 1906, 1908, 1912, 1916, 1920, 1924, 1926, 1930, 1934, 1938, 1942, 1944, 1948, 1952, 1956, 1960, 1962, 1966, 1970, 1972, 1976, 1980, 1982, 1988, 1994, 2000, 2006, 2011, 2016, 2021, 2026, 2032, 2038, 2044, 2050, 2055, 2060, 2065, 2070, 2076, 2082, 2088, 2094, 2100, 2106, 2112, 2118, 2122, 2126, 2129, 2132, 2134, 2138, 2142, 2146, 2150, 2152, 2155, 2159, 2163, 2166, 2169, 2172, 2174, 2177, 2181, 2185, 2187, 2189, 2191, 2193, 2195, 2197, 2199, 2201, 2203, 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2223, 2227, 2229, 2233, 2236, 2238, 2241, 2244, 2247, 2252, 2257, 2261, 2265, 2270, 2276, 2281, 2288, 2295, 2300, 2306, 2311, 2318, 2325, 2331, 2337, 2340, 2343, 2346, 2352, 2356, 2362, 2369, 2375, 2383, 2391, 2400, 2409, 2417, 2425, 2429, 2433, 2437, 2442, 2446, 2452, 2458, 2465, 2473, 2480, 2485, 2487, 2489, 2491, 2493, 2495, 2497, 2499, 2501, 2503, 2506, 2508, 2510, 2512, 2514, 2516, 2518, 2520, 2522, 2524, 2526, 2528, 2530, 2532, 2534, 2536, 2538, 2540, 2545, 2550, 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569, 2571, 2573, 2575, 2577, 2579, 2581, 2583, 2585, 2587, 2589, 2591, 2593, 2595, 2597, 2599, 2601, 2603, 2605, 2607, 2609, 2611, 2616, 2621, 2626, 2628, 2630, 2633, 2636, 2640, 2646, 2649, 2653, 2659, 2665, 2671, 2673, 2677, 2680, 2683, 2687, 2691, 2694, 2698, 2702, 2707, 2711, 2715, 2719, 2723, 2727, 2731, 2736, 2741, 2746, 2748, 2750, 2755, 2759, 2762, 2766, 2770, 2774, 2778, 2782, 2786, 2790, 2794, 2798, 2802, 2806, 2810, 2812, 2814, 2816, 2819, 2821, 2824, 2826, 2829, 2831, 2834, 2836, 2839, 2841, 2844, 2846, 2849, 2851, 2854, 2856, 2859, 2861, 2864, 2866, 2869, 2871, 2874, 2876, 2879, 2881, 2884, 2886, 2889, 2891, 2894, 2896, 2899, 2901, 2904, 2906, 2909, 2911, 2914, 2916, 2919, 2921, 2924, 2926, 2929, 2931, 2934, 2936, 2939, 2941, 2944, 2946, 2948, 2950, 2953, 2955, 2958, 2960, 2963, 2965, 2968, 2973, 2979, 2981, 2983, 2985, 2988, 2990, 2993, 2995, 2998, 3000, 3003, 3008, 3014, 3016, 3019, 3021, 3024, 3026, 3029, 3031, 3034, 3036, 3039, 3041, 3044, 3049, 3055, 3057, 3060, 3062, 3065, 3067, 3070, 3072, 3075, 3077, 3080, 3082, 3085, 3090, 3096, 3100, 3104, 3106, 3110, 3114, 3118, 3122, 3124, 3126, 3128, 3133, 3138, 3143, 3147, 3152, 3157, 3162, 3166, 3168, 3172, 3177, 3181, 3186, 3191, 3196, 3201, 3205, 3208, 3212, 3216, 3220, 3224, 3227, 3230, 3233, 3237, 3242, 3244, 3246, 3249, 3253, 3257, 3261, 3265, 3268, 3271, 3274, 3278, 3283, 3285, 3287, 3289, 3291, 3293, 3298, 3300, 3302, 3304, 3306, 3308, 3310, 3312, 3314, 3316, 3321, 3323, 3326, 3330, 3337, 3343, 3347, 3352, 3355, 3359, 3363, 3367, 3371, 3376, 3381, 3386, 3389, 3393, 3397, 3401, 3406, 3411, 3415, 3420, 3423, 3427, 3431, 3435, 3440, 3445, 3447, 3450, 3453, 3457, 3459, 3461, 3464, 3467, 3471, 3473, 3475, 3478, 3481, 3485, 3487, 3490, 3494, 3497, 3500, 3502, 3505, 3509, 3512, 3514, 3517, 3521, 3525, 3527, 3530, 3534, 3538, 3540, 3543, 3547, 3551, 3553, 3556, 3560, 3564, 3566, 3569, 3573, 3577, 3579, 3583, 3588, 3590, 3595, 3598, 3604, 3608, 3610, 3612, 3614, 3616, 3618, 3620, 3624, 3628, 3631, 3634, 3636, 3638, 3642, 3645, 3649, 3651, 3655, 3659, 3663, 3667, 3671, 3675, 3677, 3680, 3684, 3688, 3690, 3693, 3695, 3698, 3701, 3704, 3707, 3711, 3713, 3715, 3719, 3723, 3725, 3729, 3734, 3738, 3743, 3747, 3751, 3756, 3760, 3765, 3767, 3771, 3775, 3780, 3784, 3788, 3792, 3797, 3799, 3803, 3807, 3811, 3815, 3819, 3821, 3825, 3828, 3830, 3832, 3834, 3836, 3838, 3841, 3843, 3845, 3847, 3849, 3852, 3855, 3858, 3860, 3862, 3864, 3866, 3868, 3871, 3873, 3875, 3880, 3888, 3890, 3894, 3895, 3902, 3911, 3922, 3935, 3944, 3955, 3966, 3972, 3980, 3990, 4002, 4010, 4020, 4030, 4034, 4039, 4044, 4048, 4052, 4056, 4061, 4066, 4070, 4074, 4078, 4083, 4088, 4092, 4095, 4099, 4102, 4106, 4111, 4116, 4120, 4124, 4126, 4128, 4130, 4132, 4134, 4137, 4141, 4144, 4147, 4150, 4154, 4158, 4161, 4167, 4174, 4177, 4180, 4183, 4186, 4189, 4192, 4194, 4197, 4200, 4204, 4206, 4209, 4211, 4214, 4217, 4219, 4222, 4225, 4228, 4231, 4234, 4237, 4239, 4241, 4244, 4247, 4249, 4251, 4254, 4257, 4259, 4262, 4265, 4267, 4270, 4272, 4275, 4278, 4284, 4290, 4298, 4306, 4312, 4318, 4322, 4325, 4331, 4336, 4341, 4349, 4356, 4363, 4369, 4377, 4384, 4389, 4397, 4407, 4411, 4416, 4421, 4427, 4433, 4440, 4448, 4455, 4462, 4468, 4474, 4479, 4483, 4486, 4488, 4491, 4496, 4500, 4506, 4511, 4515, 4518, 4521, 4524, 4528, 4532, 4536, 4540, 4543, 4546, 4548, 4550, 4555, 4559, 4564, 4568, 4572, 4575, 4580, 4584, 4589, 4593, 4597, 4600, 4602, 4605, 4607, 4609, 4612, 4614, 4617, 4621, 4625, 4627, 4630, 4633, 4636, 4640, 4645, 4650, 4653, 4656, 4659, 4662, 4664, 4667, 4669, 4672, 4674, 4677, 4680, 4682, 4685, 4687, 4690, 4693, 4696, 4699, 4701, 4704, 4707, 4711, 4713, 4715, 4716, 4723, 4730, 4736, 4741, 4743, 4746, 4749, 4751, 4755, 4759, 4764, 4766, 4768, 4771, 4774, 4781, 4788, 4795 }; static const yytype_int16 yyrhs[] = { 392, 0, -1, 218, 121, -1, 218, 122, -1, 151, -1, 218, 218, -1, 28, -1, 28, -1, 149, -1, 149, 122, 212, 123, -1, 149, 122, 212, 11, -1, 301, 336, -1, 334, -1, 301, 124, 125, -1, 126, 301, 124, 125, -1, 79, 301, 336, -1, 79, 334, -1, 301, 337, -1, 335, -1, 79, 301, 337, -1, 79, 335, -1, 152, 376, -1, 155, 376, -1, 155, 127, -1, 153, 376, -1, 154, 376, -1, 152, 127, -1, 152, 326, 127, -1, 152, 377, -1, 156, -1, 155, 377, -1, 157, -1, 157, 127, -1, 300, 336, -1, 300, 338, -1, 300, 337, -1, 160, 376, -1, 160, 377, -1, 161, -1, 160, -1, 226, 128, 341, -1, 341, -1, 226, 128, 342, -1, 226, 128, 1, -1, 342, -1, 164, -1, 166, 129, 164, -1, 167, 129, 164, -1, 165, -1, 166, 129, 165, -1, 167, 129, 165, -1, 166, 129, 1, -1, 167, 129, 1, -1, 129, -1, 166, 127, -1, 167, 127, -1, 168, -1, 162, -1, 171, 168, -1, 171, 162, -1, 169, 168, -1, 169, 162, -1, 171, 127, -1, 169, 127, -1, 127, -1, 169, -1, 166, -1, 169, 166, -1, 171, 166, -1, 163, -1, 170, 163, -1, 171, 163, -1, 169, 163, -1, 169, 167, -1, 167, -1, 166, 1, -1, 173, 130, -1, 173, 1, 130, -1, 300, 218, 131, 171, -1, 300, 218, 131, 170, 1, -1, 300, 218, 131, 170, -1, 300, 218, 131, -1, 300, 218, 131, 1, -1, 175, 130, -1, 175, 1, 130, -1, 301, 218, 131, 171, -1, 301, 218, 131, 170, 1, -1, 301, 218, 131, 170, -1, 301, 218, 131, -1, 301, 218, 131, 1, -1, 302, 218, 131, 170, 130, -1, 302, 218, 131, 171, 130, -1, 302, 218, 131, 130, -1, 178, 130, -1, 178, 1, 130, -1, 151, 131, 170, -1, 218, 131, 170, -1, 151, 131, 171, -1, 151, 131, -1, 151, 131, 170, 1, -1, 151, 131, 1, -1, 218, 131, 171, -1, 218, 131, -1, 218, 131, 170, 1, -1, 218, 131, 1, -1, 180, 130, -1, 180, 1, 130, -1, 131, 171, -1, 131, 170, 1, -1, 131, 1, -1, 131, -1, 131, 170, -1, 226, 128, 341, -1, 226, 128, 342, -1, 226, 128, 1, -1, 226, 1, -1, 181, -1, 183, 129, 181, -1, 184, 129, 181, -1, 182, -1, 183, 129, 182, -1, 184, 129, 182, -1, 183, 1, -1, 69, 306, 218, 131, -1, 69, 306, 330, 218, 131, -1, 69, 306, 131, -1, 69, 306, 330, 131, -1, 69, 1, 131, -1, 185, -1, 186, 70, 376, -1, 186, 71, 376, -1, 186, 96, 376, -1, 186, 92, -1, 186, 98, 220, -1, 186, 130, -1, 100, 306, 218, 131, -1, 100, 306, 330, 218, 131, -1, 100, 306, 131, -1, 100, 306, 330, 131, -1, 100, 1, 131, -1, 188, -1, 189, 70, 376, -1, 189, 71, 376, -1, 189, 130, -1, 218, -1, 191, 218, -1, 191, 376, -1, 74, 376, -1, 192, -1, 193, 192, -1, 89, 124, 191, 125, 376, -1, 89, 124, 245, 125, 131, 193, 130, -1, 245, 132, 89, 124, 245, 125, 131, 193, 130, -1, 90, 124, 245, 129, 191, 125, -1, 245, 132, 90, 124, 245, 129, 191, 125, -1, 90, 124, 245, 125, -1, 245, 132, 90, 124, 245, 125, -1, 91, -1, 91, 191, -1, 226, 132, 91, -1, 245, 132, 91, 191, -1, 199, 127, -1, 183, 127, -1, 158, -1, 187, -1, 364, 158, -1, 364, 187, -1, 190, -1, 92, -1, 94, -1, 95, -1, 100, 124, 218, 125, 128, 341, 127, -1, 127, -1, 364, 133, -1, 364, 124, 218, 125, -1, 159, -1, 301, -1, 301, 288, -1, 364, 301, 288, -1, 364, 301, -1, 364, 177, -1, 364, 174, -1, 99, 301, 288, -1, 194, -1, 93, 218, -1, 93, 151, -1, 97, 218, -1, 177, -1, 174, -1, 183, -1, 175, 1, -1, 178, 1, -1, 364, 159, -1, 364, 175, 1, -1, 364, 178, 1, -1, 184, -1, 198, -1, 200, 198, -1, 201, 198, -1, 199, -1, 200, 1, -1, 201, 1, -1, 200, 199, -1, 201, 199, -1, 301, -1, 301, 330, -1, 301, -1, 301, 330, -1, 66, 218, -1, 66, 218, 128, 203, -1, 66, 218, 133, 202, -1, 66, 218, 133, 202, 128, 203, -1, 66, 150, -1, 66, 150, 128, 203, -1, 66, 150, 133, 202, -1, 66, 150, 133, 202, 128, 203, -1, 218, -1, 218, -1, 218, 128, 205, -1, 235, -1, 301, 218, 128, 207, -1, 301, 330, 218, 128, 207, -1, 204, -1, 206, -1, 208, -1, 209, -1, 210, 129, 209, -1, 207, -1, 205, -1, 203, -1, 218, 128, 207, -1, 218, 128, 205, -1, 218, 128, 203, -1, 211, -1, 212, 129, 211, -1, 66, -1, 213, 218, -1, 213, 149, -1, 218, 213, 218, -1, 218, 213, 149, -1, 213, 218, 122, 210, 123, -1, 213, 149, 122, 210, 123, -1, 218, 213, 218, 122, 210, 123, -1, 218, 213, 149, 122, 210, 123, -1, 217, 130, -1, 216, 127, -1, 214, 131, 130, -1, 216, 131, 130, -1, 213, 218, 127, -1, 213, 148, 127, -1, 214, 133, 305, -1, 214, 131, 201, -1, 216, 131, 201, -1, 214, 131, 200, -1, 216, 131, 200, -1, 214, 131, 1, -1, 216, 131, 1, -1, 3, -1, 222, -1, 124, 247, 125, -1, 387, -1, 134, 387, -1, 134, 387, 132, 387, -1, 4, -1, 218, -1, 177, -1, 86, 124, 376, 125, -1, 86, 124, 247, 125, -1, 86, 124, 348, 125, 339, -1, 86, 124, 348, 125, 124, 348, 125, 339, -1, 221, 218, -1, 221, -1, 220, -1, 119, -1, 124, 125, -1, 72, 308, 331, 135, 267, 136, -1, 72, 308, 331, 135, 268, 136, -1, 72, 308, 135, 267, 136, -1, 72, 308, 135, 268, 136, -1, 103, 308, 331, 135, 267, 136, -1, 103, 308, 331, 135, 268, 136, -1, 103, 308, 135, 267, 136, -1, 103, 308, 135, 268, 136, -1, 73, 267, 307, 331, 135, 267, 136, -1, 73, 267, 307, 331, 135, 268, 136, -1, 73, 267, 307, 135, 267, 136, -1, 73, 267, 307, 135, 268, 136, -1, 104, 267, 307, 331, 135, 267, 136, -1, 104, 267, 307, 331, 135, 268, 136, -1, 104, 267, 307, 135, 267, 136, -1, 104, 267, 307, 135, 268, 136, -1, 66, 124, 300, 125, -1, 66, 124, 300, 330, 125, -1, 66, 124, 218, 125, -1, 105, 124, 245, 129, 348, 125, -1, 99, 124, 218, 125, -1, 399, -1, 400, -1, 401, -1, 402, -1, 135, 227, 136, -1, 135, 136, -1, 179, -1, 180, 1, -1, 124, 247, -1, 124, 265, -1, 219, -1, 226, 135, 247, 136, -1, 226, 135, 265, 136, -1, 226, 124, 125, -1, 226, 124, 227, 125, -1, 226, 124, 228, 125, -1, 226, 132, 218, -1, 226, 7, 218, -1, 226, 8, -1, 226, 9, -1, 249, 135, 247, 136, -1, 249, 135, 265, 136, -1, 249, 124, 125, -1, 249, 124, 227, 125, -1, 249, 132, 218, -1, 249, 7, 218, -1, 249, 8, -1, 249, 9, -1, 245, -1, 223, -1, 227, 129, 245, -1, 227, 129, 223, -1, 264, -1, 224, -1, 227, 129, 264, -1, 227, 129, 224, -1, 227, 129, -1, 8, 230, -1, 9, 230, -1, 231, 232, -1, 231, 223, -1, 6, 230, -1, 6, 124, 349, 125, -1, 6, 124, 66, 148, 125, -1, 6, 124, 66, 147, 125, -1, 110, 230, -1, 110, 124, 349, 125, -1, 120, 124, 349, 129, 218, 125, -1, 229, -1, 226, -1, 137, -1, 121, -1, 138, -1, 139, -1, 126, -1, 140, -1, 74, -1, 85, -1, 230, -1, 124, 348, 125, 232, -1, 232, -1, 233, 121, 232, -1, 233, 141, 232, -1, 233, 142, 232, -1, 253, 121, 232, -1, 253, 141, 232, -1, 253, 142, 232, -1, 233, -1, 234, 138, 233, -1, 234, 139, 233, -1, 254, 138, 233, -1, 254, 139, 233, -1, 234, -1, 235, 10, 234, -1, 235, 11, 234, -1, 255, 10, 234, -1, 255, 11, 234, -1, 237, 122, -1, 235, -1, 236, 235, -1, 237, 123, 235, -1, 237, 12, 235, -1, 237, 13, 235, -1, 256, 122, 235, -1, 256, 123, 235, -1, 256, 12, 235, -1, 256, 13, 235, -1, 237, -1, 238, 14, 237, -1, 238, 15, 237, -1, 257, 14, 237, -1, 257, 15, 237, -1, 238, 14, 223, -1, 238, 15, 223, -1, 257, 14, 223, -1, 257, 15, 223, -1, 238, -1, 239, 137, 238, -1, 258, 137, 238, -1, 239, 137, 223, -1, 258, 137, 223, -1, 239, -1, 240, 143, 239, -1, 259, 143, 239, -1, 240, 143, 223, -1, 259, 143, 223, -1, 240, -1, 241, 144, 240, -1, 260, 144, 240, -1, 241, 144, 223, -1, 260, 144, 223, -1, 241, -1, 242, 16, 241, -1, 261, 16, 241, -1, 242, -1, 243, 17, 242, -1, 262, 17, 242, -1, 243, -1, 243, 145, 247, 133, 244, -1, 243, 145, 265, 133, 244, -1, 262, 145, 247, 133, 244, -1, 262, 145, 265, 133, 244, -1, 243, 145, 248, 133, 244, -1, 243, 145, 266, 133, 244, -1, 262, 145, 248, 133, 244, -1, 262, 145, 266, 133, 244, -1, 243, 145, 247, 133, 223, -1, 243, 145, 265, 133, 223, -1, 262, 145, 247, 133, 223, -1, 262, 145, 265, 133, 223, -1, 243, 145, 248, 133, 223, -1, 243, 145, 266, 133, 223, -1, 262, 145, 248, 133, 223, -1, 262, 145, 266, 133, 223, -1, 244, -1, 230, 246, 245, -1, 251, 246, 245, -1, 244, 246, 245, -1, 263, 246, 245, -1, 230, 246, 223, -1, 251, 246, 223, -1, 244, 246, 223, -1, 263, 246, 223, -1, 128, -1, 18, -1, 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 245, -1, 247, 129, 245, -1, 265, 129, 245, -1, 265, 125, -1, 223, -1, 247, 129, 223, -1, 265, 129, 223, -1, 225, -1, 1, -1, 226, 1, -1, 178, 1, -1, 226, 7, 1, -1, 249, 7, 1, -1, 226, 124, 227, -1, 226, 124, 228, -1, 226, 132, 1, -1, 249, 124, 228, -1, 249, 132, 1, -1, 8, 251, -1, 9, 251, -1, 231, 252, -1, 231, 224, -1, 6, 251, -1, 6, 124, 349, 125, 1, -1, 6, 124, 66, 148, 125, 1, -1, 6, 124, 66, 147, 125, 1, -1, 110, 251, -1, 110, 124, 349, 125, 1, -1, 250, -1, 249, -1, 251, -1, 124, 348, 125, 252, -1, 252, -1, 233, 121, 252, -1, 233, 141, 252, -1, 233, 142, 252, -1, 253, 121, 252, -1, 253, 141, 252, -1, 253, 142, 252, -1, 253, -1, 234, 138, 253, -1, 234, 139, 253, -1, 254, 138, 253, -1, 254, 139, 253, -1, 254, -1, 235, 10, 254, -1, 235, 11, 254, -1, 255, 10, 254, -1, 255, 11, 254, -1, 255, -1, 236, 255, -1, 237, 123, 255, -1, 237, 12, 255, -1, 237, 13, 255, -1, 256, 122, 255, -1, 256, 123, 255, -1, 256, 12, 255, -1, 256, 13, 255, -1, 256, -1, 238, 14, 256, -1, 238, 15, 256, -1, 257, 14, 256, -1, 257, 15, 256, -1, 238, 14, 224, -1, 238, 15, 224, -1, 257, 14, 224, -1, 257, 15, 224, -1, 257, -1, 239, 137, 257, -1, 258, 137, 257, -1, 239, 137, 224, -1, 258, 137, 224, -1, 258, -1, 240, 143, 258, -1, 259, 143, 258, -1, 240, 143, 224, -1, 259, 143, 224, -1, 259, -1, 241, 144, 259, -1, 260, 144, 259, -1, 241, 144, 224, -1, 260, 144, 224, -1, 260, -1, 242, 16, 260, -1, 261, 16, 260, -1, 261, -1, 243, 17, 261, -1, 262, 17, 261, -1, 262, -1, 243, 145, 247, 133, 262, -1, 243, 145, 265, 133, 262, -1, 262, 145, 247, 133, 262, -1, 262, 145, 265, 133, 262, -1, 243, 145, 247, 133, -1, 243, 145, 265, 133, -1, 262, 145, 247, 133, -1, 262, 145, 265, 133, -1, 243, 145, 248, 133, 262, -1, 243, 145, 266, 133, 262, -1, 262, 145, 248, 133, 262, -1, 262, 145, 266, 133, 262, -1, 243, 145, 248, 133, -1, 243, 145, 266, 133, -1, 262, 145, 248, 133, -1, 262, 145, 266, 133, -1, 243, 145, 247, 133, 224, -1, 243, 145, 265, 133, 224, -1, 262, 145, 247, 133, 224, -1, 262, 145, 265, 133, 224, -1, 243, 145, 248, 133, 224, -1, 243, 145, 266, 133, 224, -1, 262, 145, 248, 133, 224, -1, 262, 145, 266, 133, 224, -1, 243, 145, 133, -1, 262, 145, 133, -1, 243, 145, -1, 262, 145, -1, 263, -1, 230, 246, 264, -1, 251, 246, 264, -1, 230, 246, 224, -1, 251, 246, 224, -1, 264, -1, 245, 1, -1, 247, 129, 264, -1, 265, 129, 264, -1, 247, 247, -1, 265, 247, -1, 247, 265, -1, 224, -1, 223, 1, -1, 247, 129, 224, -1, 265, 129, 224, -1, 244, -1, 263, -1, 29, -1, 30, -1, 31, -1, 118, -1, 32, -1, 33, -1, 117, -1, 29, -1, 30, -1, 31, -1, 118, -1, 32, -1, 33, -1, 117, -1, 218, -1, 218, 128, 267, -1, 218, 128, 268, -1, 271, -1, 272, 129, 271, -1, 272, 129, -1, 51, -1, 273, 218, -1, 273, 151, -1, 276, 130, -1, 273, 218, 131, 130, -1, 273, 151, 131, 130, -1, 273, 131, 272, -1, 273, 131, 1, -1, 273, 218, 131, 272, -1, 273, 218, 131, 272, 1, -1, 273, 218, 131, 1, -1, 273, 218, 131, 272, 127, 200, -1, 273, 218, 131, 272, 127, 201, -1, 273, 151, 131, 272, -1, 273, 151, 131, 272, 1, -1, 273, 151, 131, 1, -1, 273, 151, 131, 272, 127, 200, -1, 273, 151, 131, 272, 127, 201, -1, 273, 218, 131, 272, 127, -1, 273, 151, 131, 272, 127, -1, 273, 218, -1, 273, 151, -1, 279, 130, -1, 277, 133, 305, 131, 130, -1, 277, 131, 130, -1, 277, 133, 305, 131, 272, -1, 277, 133, 305, 131, 272, 1, -1, 277, 133, 305, 131, 1, -1, 277, 133, 305, 131, 272, 127, 200, -1, 277, 133, 305, 131, 272, 127, 201, -1, 277, 133, 305, 131, 272, 1, 127, 200, -1, 277, 133, 305, 131, 272, 1, 127, 201, -1, 277, 133, 305, 131, 1, 127, 200, -1, 277, 133, 305, 131, 1, 127, 201, -1, 273, 131, 272, -1, 273, 131, 1, -1, 277, 131, 272, -1, 277, 131, 272, 1, -1, 277, 131, 1, -1, 277, 131, 272, 127, 200, -1, 277, 131, 272, 127, 201, -1, 277, 133, 305, 131, 272, 127, -1, 277, 133, 305, 131, 272, 1, 127, -1, 277, 133, 305, 131, 1, 127, -1, 277, 131, 272, 127, -1, 278, -1, 295, -1, 279, -1, 296, -1, 321, -1, 45, -1, 46, -1, 282, -1, 283, -1, 284, 283, -1, 47, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 39, -1, 48, -1, 40, -1, 43, -1, 44, -1, 41, -1, 42, -1, 86, -1, 292, -1, 274, -1, 148, -1, 88, 124, 245, 125, -1, 101, 124, 148, 125, -1, 101, 124, 218, 125, -1, 67, -1, 83, -1, 84, -1, 114, -1, 113, -1, 115, -1, 116, -1, 47, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 39, -1, 48, -1, 40, -1, 43, -1, 44, -1, 41, -1, 42, -1, 86, -1, 292, -1, 274, -1, 151, -1, 114, -1, 113, -1, 115, -1, 116, -1, 88, 124, 245, 125, -1, 101, 124, 148, 125, -1, 101, 124, 218, 125, -1, 67, -1, 338, -1, 338, 326, -1, 133, 267, -1, 338, 133, 267, -1, 338, 133, 267, 133, 267, -1, 133, 268, -1, 338, 133, 268, -1, 338, 133, 267, 133, 268, -1, 338, 133, 268, 133, 268, -1, 338, 133, 268, 133, 267, -1, 287, -1, 288, 129, 287, -1, 297, 218, -1, 297, 149, -1, 297, 321, 218, -1, 297, 321, 149, -1, 291, 130, -1, 289, 131, 130, -1, 297, 131, 130, -1, 297, 321, 131, 130, -1, 289, 131, 200, -1, 289, 131, 201, -1, 289, 131, 1, -1, 297, 131, 200, -1, 297, 131, 201, -1, 297, 131, 1, -1, 297, 321, 131, 200, -1, 297, 321, 131, 201, -1, 297, 321, 131, 1, -1, 289, -1, 289, -1, 289, 122, 210, 123, -1, 293, 133, 305, -1, 296, 130, -1, 294, 131, 130, -1, 293, 131, 130, -1, 297, 131, 130, -1, 294, 131, 200, -1, 294, 131, 201, -1, 294, 131, 1, -1, 293, 131, 200, -1, 293, 131, 201, -1, 293, 131, 1, -1, 297, 131, 200, -1, 297, 131, 201, -1, 297, 131, 1, -1, 49, -1, 50, -1, 283, -1, 298, 283, -1, 285, -1, 298, 285, -1, 275, -1, 298, 275, -1, 290, -1, 298, 290, -1, 283, -1, 299, 283, -1, 285, -1, 299, 285, -1, 147, -1, 299, 147, -1, 275, -1, 299, 275, -1, 290, -1, 299, 290, -1, 269, -1, 300, 269, -1, 283, -1, 300, 283, -1, 286, -1, 300, 286, -1, 275, -1, 300, 275, -1, 290, -1, 300, 290, -1, 269, -1, 301, 269, -1, 283, -1, 301, 283, -1, 285, -1, 301, 285, -1, 147, -1, 301, 147, -1, 290, -1, 301, 290, -1, 275, -1, 301, 275, -1, 270, -1, 302, 270, -1, 283, -1, 302, 283, -1, 285, -1, 302, 285, -1, 147, -1, 302, 147, -1, 280, -1, 302, 280, -1, 281, -1, 302, 281, -1, 82, -1, 81, -1, 269, -1, 304, 269, -1, 283, -1, 304, 283, -1, 286, -1, 304, 286, -1, 218, -1, 304, 218, -1, 218, 122, 212, 123, -1, 304, 218, 122, 212, 123, -1, 304, -1, 297, -1, 269, -1, 306, 269, -1, 283, -1, 306, 283, -1, 286, -1, 306, 286, -1, 218, -1, 306, 218, -1, 218, 122, 212, 123, -1, 306, 218, 122, 212, 123, -1, 269, -1, 307, 269, -1, 283, -1, 307, 283, -1, 286, -1, 307, 286, -1, 290, -1, 307, 290, -1, 275, -1, 307, 275, -1, 218, -1, 307, 218, -1, 218, 122, 212, 123, -1, 307, 218, 122, 212, 123, -1, 269, -1, 308, 269, -1, 283, -1, 308, 283, -1, 286, -1, 308, 286, -1, 290, -1, 308, 290, -1, 275, -1, 308, 275, -1, 218, -1, 308, 218, -1, 218, 122, 212, 123, -1, 308, 218, 122, 212, 123, -1, 310, 129, 1, -1, 309, 129, 1, -1, 218, -1, 310, 129, 218, -1, 309, 129, 218, -1, 352, 129, 218, -1, 353, 129, 218, -1, 312, -1, 149, -1, 37, -1, 149, 135, 267, 136, -1, 149, 135, 268, 136, -1, 149, 135, 148, 136, -1, 149, 135, 136, -1, 311, 135, 267, 136, -1, 311, 135, 268, 136, -1, 311, 135, 148, 136, -1, 311, 135, 136, -1, 218, -1, 124, 332, 125, -1, 124, 321, 332, 125, -1, 124, 333, 125, -1, 124, 321, 333, 125, -1, 312, 135, 267, 136, -1, 312, 135, 268, 136, -1, 312, 135, 148, 136, -1, 312, 135, 136, -1, 312, 124, -1, 313, 354, 125, -1, 313, 355, 125, -1, 313, 310, 125, -1, 313, 309, 125, -1, 313, 125, -1, 313, 309, -1, 313, 1, -1, 313, 352, 124, -1, 313, 301, 218, 124, -1, 314, -1, 312, -1, 311, 124, -1, 317, 354, 125, -1, 317, 355, 125, -1, 317, 310, 125, -1, 317, 309, 125, -1, 317, 125, -1, 317, 309, -1, 317, 1, -1, 317, 352, 124, -1, 317, 301, 218, 124, -1, 318, -1, 311, -1, 75, -1, 76, -1, 326, -1, 87, 124, 387, 125, -1, 80, -1, 111, -1, 112, -1, 3, -1, 28, -1, 76, -1, 75, -1, 45, -1, 323, -1, 323, 124, 247, 125, -1, 324, -1, 325, 324, -1, 325, 129, 324, -1, 322, 124, 124, 325, 125, 125, -1, 322, 124, 124, 125, 125, -1, 124, 330, 125, -1, 124, 321, 330, 125, -1, 135, 136, -1, 135, 267, 136, -1, 135, 268, 136, -1, 135, 148, 136, -1, 327, 135, 136, -1, 327, 135, 267, 136, -1, 327, 135, 148, 136, -1, 327, 135, 268, 136, -1, 124, 125, -1, 124, 354, 125, -1, 124, 355, 125, -1, 327, 124, 125, -1, 327, 124, 354, 125, -1, 327, 124, 355, 125, -1, 124, 331, 125, -1, 124, 321, 331, 125, -1, 124, 125, -1, 124, 354, 125, -1, 124, 355, 125, -1, 328, 124, 125, -1, 328, 124, 354, 125, -1, 328, 124, 355, 125, -1, 121, -1, 121, 284, -1, 121, 329, -1, 121, 284, 329, -1, 329, -1, 327, -1, 329, 327, -1, 321, 329, -1, 321, 329, 327, -1, 329, -1, 328, -1, 329, 328, -1, 321, 329, -1, 321, 329, 328, -1, 316, -1, 329, 316, -1, 321, 329, 316, -1, 332, 321, -1, 338, 321, -1, 320, -1, 329, 320, -1, 321, 329, 320, -1, 333, 321, -1, 314, -1, 329, 314, -1, 321, 329, 314, -1, 329, 321, 314, -1, 315, -1, 329, 315, -1, 321, 329, 315, -1, 329, 321, 315, -1, 318, -1, 329, 318, -1, 321, 329, 318, -1, 329, 321, 318, -1, 319, -1, 329, 319, -1, 321, 329, 319, -1, 329, 321, 319, -1, 311, -1, 329, 311, -1, 321, 329, 311, -1, 329, 321, 311, -1, 245, -1, 131, 343, 130, -1, 131, 343, 129, 130, -1, 264, -1, 131, 343, 130, 1, -1, 131, 343, -1, 131, 343, 129, 130, 1, -1, 131, 343, 129, -1, 244, -1, 223, -1, 263, -1, 224, -1, 339, -1, 340, -1, 343, 129, 339, -1, 343, 129, 340, -1, 343, 339, -1, 343, 340, -1, 332, -1, 333, -1, 332, 128, 339, -1, 332, 1, -1, 332, 128, 340, -1, 344, -1, 346, 129, 344, -1, 37, 129, 344, -1, 38, 129, 344, -1, 39, 129, 344, -1, 149, 129, 344, -1, 347, 129, 344, -1, 345, -1, 344, 1, -1, 346, 129, 345, -1, 347, 129, 345, -1, 298, -1, 298, 330, -1, 299, -1, 299, 330, -1, 301, 333, -1, 301, 330, -1, 301, 137, -1, 301, 137, 333, -1, 301, -1, 66, -1, 301, 333, 1, -1, 301, 330, 1, -1, 350, -1, 352, 129, 350, -1, 352, 1, 129, 350, -1, 353, 129, 350, -1, 353, 1, 129, 350, -1, 1, 129, 350, -1, 310, 129, 350, -1, 310, 1, 129, 350, -1, 309, 129, 350, -1, 309, 1, 129, 350, -1, 351, -1, 352, 129, 351, -1, 353, 129, 351, -1, 353, 1, 129, 351, -1, 1, 129, 351, -1, 310, 129, 351, -1, 309, 129, 351, -1, 309, 1, 129, 351, -1, 352, -1, 352, 129, 52, -1, 353, 129, 52, -1, 310, 129, 52, -1, 309, 129, 52, -1, 1, 129, 52, -1, 353, -1, 352, 129, 1, -1, 353, 1, -1, 361, -1, 326, -1, 376, -1, 127, -1, 133, -1, 247, 127, -1, 379, -1, 381, -1, 383, -1, 360, -1, 197, 127, -1, 196, 127, -1, 195, 127, -1, 362, -1, 382, -1, 377, -1, 380, -1, 384, -1, 383, 1, -1, 265, -1, 387, -1, 387, 124, 245, 125, -1, 135, 218, 136, 387, 124, 245, 125, -1, 358, -1, 359, 129, 358, -1, -1, 87, 283, 124, 387, 125, 127, -1, 87, 283, 124, 387, 133, 359, 125, 127, -1, 87, 283, 124, 387, 133, 359, 133, 359, 125, 127, -1, 87, 283, 124, 387, 133, 359, 133, 359, 133, 359, 125, 127, -1, 87, 283, 124, 387, 3, 359, 125, 127, -1, 87, 283, 124, 387, 3, 359, 133, 359, 125, 127, -1, 87, 283, 124, 387, 133, 359, 3, 359, 125, 127, -1, 87, 124, 387, 125, 127, -1, 87, 124, 387, 133, 359, 125, 127, -1, 87, 124, 387, 133, 359, 133, 359, 125, 127, -1, 87, 124, 387, 133, 359, 133, 359, 133, 359, 125, 127, -1, 87, 124, 387, 3, 359, 125, 127, -1, 87, 124, 387, 3, 359, 133, 359, 125, 127, -1, 87, 124, 387, 133, 359, 3, 359, 125, 127, -1, 218, 133, 356, -1, 53, 267, 133, 356, -1, 53, 268, 133, 356, -1, 53, 133, 356, -1, 54, 133, 356, -1, 218, 133, 365, -1, 53, 267, 133, 365, -1, 53, 268, 133, 365, -1, 53, 133, 365, -1, 54, 133, 365, -1, 218, 133, 357, -1, 53, 267, 133, 357, -1, 53, 268, 133, 357, -1, 53, 133, 357, -1, 53, 133, -1, 54, 133, 357, -1, 54, 133, -1, 218, 133, 368, -1, 53, 267, 133, 368, -1, 53, 268, 133, 368, -1, 53, 133, 368, -1, 54, 133, 368, -1, 81, -1, 82, -1, 54, -1, 81, -1, 82, -1, 300, 127, -1, 300, 346, 127, -1, 172, 127, -1, 368, 127, -1, 302, 127, -1, 302, 346, 127, -1, 303, 346, 127, -1, 176, 127, -1, 78, 218, 128, 244, 127, -1, 31, 78, 218, 128, 244, 127, -1, 302, 1, -1, 300, 1, -1, 368, 1, -1, 173, 1, -1, 172, 1, -1, 300, 347, -1, 365, -1, 369, 365, -1, 370, 365, -1, 369, 1, 127, -1, 368, -1, 369, 368, -1, 356, -1, 371, 356, -1, 372, 356, -1, 357, -1, 371, 357, -1, 372, 357, -1, 371, 365, -1, 372, 365, -1, 371, 368, -1, 372, 368, -1, 371, -1, 369, -1, 369, 371, -1, 370, 371, -1, 372, -1, 370, -1, 369, 372, -1, 370, 372, -1, 131, -1, 377, 130, -1, 375, 374, -1, 375, -1, 375, 373, -1, 127, -1, 247, 127, -1, 265, 127, -1, 55, 124, 247, 125, 356, -1, 55, 124, 265, 125, 356, -1, 55, 124, 247, 125, 356, 65, 356, -1, 55, 124, 265, 125, 356, 65, 356, -1, 56, 124, 247, 125, 356, -1, 56, 124, 265, 125, 356, -1, 55, 124, 265, -1, 379, 1, -1, 57, 124, 247, 125, 356, -1, 57, 124, 265, 356, -1, 57, 124, 125, 356, -1, 58, 356, 57, 124, 247, 125, 127, -1, 58, 356, 57, 124, 265, 127, -1, 59, 124, 378, 378, 125, 356, -1, 59, 124, 378, 125, 356, -1, 59, 124, 378, 378, 247, 125, 356, -1, 59, 124, 378, 378, 265, 356, -1, 59, 124, 125, 356, -1, 59, 124, 218, 133, 247, 125, 356, -1, 59, 124, 218, 133, 247, 127, 247, 125, 356, -1, 59, 124, 1, -1, 59, 124, 265, 1, -1, 59, 124, 378, 1, -1, 59, 124, 378, 265, 1, -1, 59, 124, 378, 378, 265, -1, 59, 124, 378, 378, 125, 357, -1, 59, 124, 378, 378, 247, 125, 357, -1, 59, 124, 378, 378, 265, 357, -1, 58, 356, 57, 124, 247, 125, -1, 58, 356, 57, 124, 247, -1, 58, 356, 57, 124, 265, -1, 58, 356, 57, 124, -1, 58, 356, 57, -1, 58, 356, -1, 58, -1, 57, 1, -1, 57, 124, 125, 1, -1, 57, 124, 265, -1, 57, 124, 247, 125, 357, -1, 57, 124, 265, 357, -1, 60, 218, 127, -1, 61, 127, -1, 62, 127, -1, 63, 127, -1, 63, 247, 127, -1, 63, 265, 127, -1, 63, 223, 127, -1, 63, 224, 127, -1, 63, 265, -1, 63, 224, -1, 63, -1, 60, -1, 302, 334, 369, 376, -1, 302, 334, 376, -1, 302, 336, 369, 376, -1, 302, 336, 376, -1, 334, 369, 376, -1, 334, 376, -1, 302, 334, 369, 377, -1, 302, 334, 377, -1, 302, 336, 369, 377, -1, 302, 336, 377, -1, 334, 369, 377, -1, 334, 377, -1, 5, -1, 387, 5, -1, 385, -1, 215, -1, 302, 215, -1, 366, -1, 77, 387, -1, 77, 31, 387, -1, 77, 218, 387, -1, 127, -1, 363, 385, -1, 363, 215, -1, 363, 366, -1, 363, 77, 387, -1, 363, 77, 31, 387, -1, 363, 77, 218, 387, -1, 363, 133, -1, 31, 133, -1, 102, 218, -1, 102, 151, -1, 393, -1, 363, 393, -1, 217, -1, 302, 217, -1, 386, -1, 363, 217, -1, 363, 386, -1, 367, -1, 363, 367, -1, 389, -1, 391, 389, -1, 390, 389, -1, 391, 1, -1, 390, 1, -1, 388, -1, 391, 388, -1, 390, 215, -1, 390, 363, 215, -1, 391, -1, 390, -1, -1, 106, 387, 218, 131, 398, 130, -1, 106, 387, 151, 131, 398, 130, -1, 106, 387, 131, 398, 130, -1, 301, 218, 387, 127, -1, 218, -1, 123, 218, -1, 122, 218, -1, 395, -1, 396, 129, 395, -1, 108, 396, 127, -1, 108, 396, 218, 127, -1, 394, -1, 397, -1, 398, 394, -1, 398, 397, -1, 109, 124, 245, 129, 245, 125, -1, 107, 124, 387, 129, 218, 125, -1, 108, 124, 387, 129, 218, 125, -1, 106, 124, 387, 125, -1 }; static const yytype_uint16 yyrline[] = { 0, 284, 284, 303, 342, 343, 423, 427, 430, 431, 432, 471, 473, 478, 483, 488, 490, 495, 497, 502, 504, 509, 511, 513, 515, 517, 521, 525, 538, 540, 542, 544, 546, 552, 554, 559, 564, 569, 571, 573, 578, 579, 583, 584, 595, 599, 600, 602, 607, 608, 610, 613, 625, 636, 655, 657, 662, 663, 664, 665, 666, 667, 668, 669, 682, 686, 687, 688, 689, 693, 694, 695, 696, 697, 698, 699, 703, 705, 710, 712, 714, 716, 718, 748, 750, 755, 757, 759, 761, 763, 792, 794, 796, 801, 803, 808, 810, 814, 816, 818, 820, 825, 828, 831, 834, 899, 901, 906, 908, 910, 912, 914, 945, 949, 950, 951, 955, 956, 957, 961, 962, 963, 964, 968, 971, 974, 977, 980, 985, 986, 988, 990, 992, 994, 999, 1003, 1006, 1009, 1012, 1015, 1020, 1021, 1023, 1028, 1032, 1034, 1039, 1041, 1046, 1048, 1053, 1058, 1060, 1065, 1067, 1069, 1071, 1076, 1078, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1099, 1100, 1102, 1106, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1124, 1125, 1129, 1130, 1131, 1135, 1139, 1140, 1141, 1145, 1146, 1147, 1148, 1149, 1153, 1154, 1166, 1167, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1182, 1186, 1187, 1191, 1199, 1200, 1204, 1205, 1206, 1210, 1211, 1215, 1216, 1217, 1218, 1219, 1220, 1260, 1261, 1265, 1273, 1274, 1282, 1283, 1285, 1286, 1295, 1296, 1300, 1307, 1314, 1320, 1327, 1333, 1342, 1349, 1355, 1361, 1367, 1373, 1379, 1390, 1395, 1396, 1401, 1402, 1403, 1407, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1455, 1456, 1457, 1458, 1459, 1461, 1462, 1466, 1470, 1474, 1475, 1479, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1525, 1526, 1527, 1528, 1532, 1533, 1534, 1535, 1536, 1540, 1541, 1542, 1543, 1545, 1546, 1547, 1548, 1551, 1552, 1554, 1558, 1559, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1579, 1580, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1594, 1595, 1596, 1597, 1598, 1602, 1603, 1604, 1605, 1606, 1610, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1630, 1631, 1632, 1633, 1634, 1636, 1637, 1638, 1639, 1643, 1644, 1645, 1647, 1648, 1652, 1653, 1654, 1656, 1657, 1661, 1662, 1663, 1665, 1666, 1670, 1671, 1672, 1676, 1677, 1678, 1682, 1683, 1684, 1685, 1686, 1688, 1689, 1690, 1691, 1693, 1694, 1695, 1696, 1698, 1699, 1700, 1701, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1714, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1732, 1733, 1734, 1735, 1739, 1740, 1741, 1745, 1746, 1747, 1748, 1750, 1751, 1753, 1754, 1759, 1761, 1766, 1794, 1795, 1796, 1797, 1799, 1800, 1801, 1802, 1804, 1805, 1809, 1810, 1819, 1820, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1834, 1835, 1839, 1843, 1847, 1854, 1855, 1856, 1857, 1858, 1862, 1863, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1916, 1917, 1918, 1919, 1920, 1927, 1928, 1929, 1930, 1934, 1935, 1936, 1938, 1939, 1943, 1944, 1945, 1947, 1948, 1952, 1953, 1954, 1956, 1957, 1961, 1962, 1963, 1967, 1968, 1969, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2002, 2010, 2014, 2019, 2026, 2027, 2031, 2036, 2037, 2041, 2042, 2043, 2044, 2050, 2051, 2052, 2056, 2057, 2058, 2059, 2063, 2065, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2089, 2090, 2091, 2095, 2096, 2097, 2101, 2105, 2106, 2110, 2111, 2112, 2116, 2117, 2119, 2120, 2121, 2122, 2123, 2125, 2126, 2127, 2128, 2129, 2131, 2132, 2136, 2137, 2141, 2142, 2143, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2157, 2158, 2160, 2161, 2162, 2163, 2164, 2166, 2167, 2168, 2169, 2173, 2174, 2178, 2179, 2183, 2187, 2188, 2189, 2194, 2195, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2259, 2261, 2263, 2265, 2267, 2269, 2271, 2273, 2275, 2277, 2282, 2283, 2287, 2293, 2299, 2306, 2316, 2317, 2318, 2319, 2323, 2324, 2325, 2327, 2328, 2329, 2331, 2332, 2333, 2337, 2341, 2349, 2358, 2367, 2368, 2370, 2371, 2375, 2382, 2389, 2392, 2405, 2419, 2422, 2424, 2426, 2431, 2432, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2501, 2502, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2516, 2518, 2526, 2536, 2537, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2557, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2586, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2615, 2624, 2625, 2629, 2630, 2631, 2632, 2633, 2637, 2638, 2645, 2647, 2656, 2665, 2674, 2683, 2684, 2685, 2686, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2702, 2706, 2707, 2708, 2709, 2710, 2715, 2724, 2733, 2742, 2756, 2757, 2762, 2766, 2767, 2768, 2769, 2770, 2775, 2784, 2793, 2802, 2816, 2817, 2866, 2867, 2868, 2869, 2881, 2882, 2883, 2888, 2889, 2890, 2891, 2892, 2896, 2897, 2901, 2902, 2903, 2907, 2908, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2942, 2943, 2944, 2945, 2949, 2950, 2951, 2952, 2953, 2957, 2958, 2959, 2960, 2961, 2965, 2966, 2968, 2970, 2972, 2977, 2978, 2980, 2982, 2987, 2988, 2989, 2990, 2994, 2995, 2996, 2997, 3001, 3002, 3003, 3004, 3008, 3009, 3010, 3011, 3015, 3016, 3017, 3018, 3022, 3023, 3024, 3041, 3042, 3043, 3044, 3057, 3074, 3075, 3080, 3081, 3085, 3086, 3087, 3088, 3091, 3092, 3096, 3097, 3098, 3102, 3106, 3110, 3111, 3112, 3113, 3114, 3115, 3124, 3133, 3134, 3135, 3136, 3140, 3141, 3145, 3146, 3151, 3152, 3153, 3154, 3155, 3156, 3175, 3176, 3180, 3181, 3182, 3183, 3184, 3185, 3187, 3188, 3189, 3190, 3194, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3206, 3207, 3208, 3209, 3210, 3211, 3215, 3216, 3217, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3248, 3249, 3250, 3254, 3255, 3256, 3260, 3261, 3262, 3263, 3265, 3266, 3267, 3269, 3270, 3271, 3272, 3274, 3275, 3276, 3280, 3281, 3282, 3283, 3284, 3286, 3287, 3288, 3289, 3290, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3303, 3304, 3305, 3306, 3310, 3311, 3312, 3316, 3317, 3321, 3322, 3323, 3324, 3328, 3329, 3330, 3332, 3333, 3334, 3338, 3342, 3343, 3345, 3346, 3347, 3351, 3352, 3353, 3354, 3358, 3359, 3363, 3364, 3365, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3379, 3380, 3381, 3382, 3386, 3387, 3388, 3389, 3393, 3397, 3401, 3403, 3406, 3412, 3413, 3414, 3418, 3419, 3420, 3421, 3422, 3423, 3427, 3428, 3432, 3433, 3434, 3436, 3437, 3439, 3440, 3441, 3442, 3443, 3445, 3446, 3450, 3451, 3452, 3453, 3457, 3458, 3459, 3460, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3471, 3475, 3476, 3480, 3481, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3496, 3497, 3498, 3499, 3505, 3506, 3508, 3509, 3512, 3513, 3516, 3517, 3518, 3519, 3520, 3521, 3525, 3526, 3538, 3539, 3542, 3545, 3547, 3548, 3549, 3559, 3561, 3562, 3564, 3565, 3566, 3567, 3577, 3578, 3579, 3580, 3581, 3582, 3586, 3587, 3596, 3598, 3599, 3601, 3603, 3607, 3608, 3609, 3610, 3611, 3615, 3616, 3617, 3619, 3624, 3625, 3626, 3630, 3631, 3632, 3636, 3640, 3641, 3642, 3646, 3647, 3651, 3652, 3656, 3657, 3658, 3659, 3663, 3667, 3671, 3675 }; static const char * const yytname[] = { "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT", "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR", "SHORT", "INT", "UINT", "INT64", "INT128", "LONG", "SIGNED", "UNSIGNED", "FLOAT", "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION", "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO", "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS", "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP", "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE", "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT", "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING", "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION", "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY", "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS", "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD", "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL", "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD", "WIDE_STRING_LITERAL", "BUILTIN_OFFSETOF", "'*'", "'<'", "'>'", "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'", "':'", "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'", "'?'", "$accept", "guess_type", "type", "base_strict_type", "base_strict_type_name", "strict_type", "class_function_definition_start", "constructor_function_definition_start", "destructor_function_definition_start", "virtual_class_function_definition_start", "class_function_definition_start_error", "virtual_class_function_definition_start_error", "class_function_definition", "class_function_definition_error", "instance_class_function_definition_start", "instance_class_function_definition_start_error", "instance_class_function_definition", "instance_class_function_definition_error", "data_member_initialization", "data_member_initialization_error", "data_member_initialization_list", "data_member_initialization_list_error", "data_member_initialization_list_coloned", "members_initialization_list_coloned", "members_initialization_list", "members_initialization_list_error", "instantiation_named", "instantiation_named_error", "guess_instantiation_named", "guess_instantiation_named_error", "external_guess_instantiation_named", "instantiation_unnamed", "instantiation_unnamed_error", "instantiation_anon", "instantiation_anon_error", "default_property", "default_property_error", "default_property_list", "default_property_list_error", "property_start", "property_body", "property", "class_property_start", "class_property_body", "class_property", "watch_property_list", "property_watch", "property_watch_list", "self_watch_definition", "watch_definition", "stopwatching", "firewatchers", "struct_declaration", "struct_declaration_error", "struct_declaration_list", "struct_declaration_list_error", "template_datatype", "template_type_argument", "template_type_parameter", "template_identifier_argument", "template_identifier_parameter", "template_expression_argument", "template_expression_parameter", "template_parameter", "template_parameters_list", "template_argument", "template_arguments_list", "class_entry", "class_decl", "class", "class_head", "class_error", "identifier", "primary_expression", "i18n_string", "constant", "simple_primary_expression", "anon_instantiation_expression", "anon_instantiation_expression_error", "primary_expression_error", "postfix_expression", "argument_expression_list", "argument_expression_list_error", "common_unary_expression", "unary_expression", "unary_operator", "cast_expression", "multiplicative_expression", "additive_expression", "shift_expression", "relational_expression_smaller_than", "relational_expression", "equality_expression", "and_expression", "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression", "conditional_expression", "assignment_expression", "assignment_operator", "expression", "expression_anon_inst", "postfix_expression_error", "common_unary_expression_error", "unary_expression_error", "cast_expression_error", "multiplicative_expression_error", "additive_expression_error", "shift_expression_error", "relational_expression_error", "equality_expression_error", "and_expression_error", "exclusive_or_expression_error", "inclusive_or_expression_error", "logical_and_expression_error", "logical_or_expression_error", "conditional_expression_error", "assignment_expression_error", "expression_error", "expression_anon_inst_error", "constant_expression", "constant_expression_error", "storage_class_specifier", "external_storage_class_specifier", "enumerator", "enumerator_list", "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound", "enum_specifier_compound_error", "enum_decl", "enum_class", "enum_class_error", "class_specifier", "class_specifier_error", "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier", "strict_type_specifier", "struct_declarator", "struct_declarator_list", "struct_entry", "struct_or_union_specifier_compound", "struct_or_union_specifier_compound_error", "struct_or_union_specifier_nocompound", "struct_decl", "struct_head", "struct_class", "struct_class_error", "struct_or_union", "specifier_qualifier_list", "guess_specifier_qualifier_list", "declaration_specifiers", "guess_declaration_specifiers", "external_guess_declaration_specifiers", "external_guess_declaration_specifiers_error", "_inheritance_specifiers", "inheritance_specifiers", "property_specifiers", "renew_specifiers", "new_specifiers", "identifier_list_error", "identifier_list", "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction", "direct_declarator_function_start", "direct_declarator_function", "direct_declarator_function_error", "direct_declarator", "direct_declarator_function_start_type_ok", "direct_declarator_function_type_ok", "direct_declarator_function_error_type_ok", "direct_declarator_type_ok", "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list", "attrib", "direct_abstract_declarator", "direct_abstract_declarator_noarray", "pointer", "abstract_declarator", "abstract_declarator_noarray", "declarator", "declarator_type_ok", "declarator_function", "declarator_function_error", "declarator_function_type_ok", "declarator_function_error_type_ok", "declarator_nofunction_type_ok", "initializer", "initializer_error", "initializer_condition", "initializer_condition_error", "initializer_list", "init_declarator", "init_declarator_error", "init_declarator_list", "init_declarator_list_error", "type_name", "guess_type_name", "parameter_declaration", "parameter_declaration_error", "parameter_list", "parameter_list_error", "parameter_type_list", "parameter_type_list_error", "statement", "statement_error", "asm_field", "asm_field_list", "asm_statement", "labeled_statement", "labeled_statement_error", "declaration_mode", "member_access", "declaration", "external_guess_declaration", "external_guess_declaration_error", "declaration_error", "declaration_list", "declaration_list_error", "statement_list", "statement_list_error", "compound_inside", "compound_inside_error", "compound_start", "compound_statement", "compound_statement_error", "expression_statement", "selection_statement", "selection_statement_error", "iteration_statement", "iteration_statement_error", "jump_statement", "jump_statement_error", "function_definition", "function_definition_error", "string_literal", "external_declaration", "external_declaration_error", "translation_unit_error", "translation_unit", "thefile", "dbtable_definition", "dbfield_entry", "dbindex_item", "dbindex_item_list", "dbindex_entry", "dbfield_definition_list", "database_open", "dbfield", "dbindex", "dbtable", 0 }; static const yytype_uint16 yyr1[] = { 0, 146, 147, 147, 148, 148, 149, 150, 151, 151, 151, 152, 152, 153, 154, 155, 155, 156, 156, 157, 157, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 159, 160, 160, 161, 162, 163, 163, 163, 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 167, 167, 167, 168, 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, 170, 170, 170, 170, 171, 171, 171, 171, 171, 171, 171, 172, 172, 173, 173, 173, 173, 173, 174, 174, 175, 175, 175, 175, 175, 176, 176, 176, 177, 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 180, 180, 180, 180, 180, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 184, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, 186, 187, 188, 188, 188, 188, 188, 189, 189, 189, 190, 191, 191, 192, 192, 193, 193, 194, 195, 195, 196, 196, 196, 196, 197, 197, 197, 197, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 200, 200, 200, 201, 201, 201, 201, 201, 202, 202, 203, 203, 204, 204, 204, 204, 204, 204, 204, 204, 205, 206, 206, 207, 208, 208, 209, 209, 209, 210, 210, 211, 211, 211, 211, 211, 211, 212, 212, 213, 214, 214, 214, 214, 214, 214, 214, 214, 215, 215, 215, 215, 215, 215, 216, 217, 217, 217, 217, 217, 217, 218, 219, 219, 220, 220, 220, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 223, 224, 225, 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, 230, 231, 231, 231, 231, 231, 231, 231, 231, 232, 232, 233, 233, 233, 233, 233, 233, 233, 234, 234, 234, 234, 234, 235, 235, 235, 235, 235, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 242, 242, 242, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 247, 247, 247, 247, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 252, 252, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 256, 256, 256, 256, 256, 256, 256, 256, 256, 257, 257, 257, 257, 257, 257, 257, 257, 257, 258, 258, 258, 258, 258, 259, 259, 259, 259, 259, 260, 260, 260, 260, 260, 261, 261, 261, 262, 262, 262, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 264, 264, 264, 264, 264, 265, 265, 265, 265, 265, 265, 265, 266, 266, 266, 266, 267, 268, 269, 269, 269, 269, 269, 269, 269, 270, 270, 270, 270, 270, 270, 270, 271, 271, 271, 272, 272, 272, 273, 274, 274, 275, 275, 275, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 277, 277, 278, 278, 278, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 280, 280, 281, 281, 282, 283, 283, 283, 284, 284, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 288, 288, 289, 289, 289, 289, 290, 290, 290, 290, 291, 291, 291, 291, 291, 291, 291, 291, 291, 292, 293, 293, 294, 295, 295, 295, 295, 296, 296, 296, 296, 296, 296, 296, 296, 296, 297, 297, 298, 298, 298, 298, 298, 298, 298, 298, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 303, 303, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 305, 305, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 309, 309, 310, 310, 310, 310, 310, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 312, 312, 312, 312, 312, 312, 312, 312, 312, 313, 314, 314, 314, 314, 314, 315, 315, 315, 315, 316, 316, 317, 318, 318, 318, 318, 318, 319, 319, 319, 319, 320, 320, 321, 321, 321, 321, 322, 322, 322, 323, 323, 323, 323, 323, 324, 324, 325, 325, 325, 326, 326, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 328, 328, 328, 328, 328, 328, 328, 328, 329, 329, 329, 329, 330, 330, 330, 330, 330, 331, 331, 331, 331, 331, 332, 332, 332, 332, 332, 333, 333, 333, 333, 334, 334, 334, 334, 335, 335, 335, 335, 336, 336, 336, 336, 337, 337, 337, 337, 338, 338, 338, 338, 339, 339, 339, 340, 340, 340, 340, 340, 341, 341, 342, 342, 343, 343, 343, 343, 343, 343, 344, 344, 344, 345, 345, 346, 346, 346, 346, 346, 346, 346, 347, 347, 347, 347, 348, 348, 349, 349, 350, 350, 350, 350, 350, 350, 351, 351, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 353, 353, 353, 353, 353, 353, 353, 353, 354, 354, 354, 354, 354, 354, 355, 355, 355, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 357, 357, 357, 357, 357, 357, 357, 358, 358, 358, 359, 359, 359, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 363, 363, 363, 364, 364, 365, 365, 365, 365, 366, 366, 366, 366, 366, 366, 367, 368, 368, 368, 368, 368, 369, 369, 369, 369, 370, 370, 371, 371, 371, 372, 372, 372, 372, 372, 372, 372, 373, 373, 373, 373, 374, 374, 374, 374, 375, 376, 377, 377, 377, 378, 378, 378, 379, 379, 379, 379, 379, 379, 380, 380, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 383, 383, 383, 383, 383, 383, 383, 383, 384, 384, 384, 384, 385, 385, 385, 385, 385, 385, 386, 386, 386, 386, 386, 386, 387, 387, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 389, 389, 389, 389, 389, 389, 389, 390, 390, 390, 390, 390, 391, 391, 391, 391, 392, 392, 392, 393, 393, 393, 394, 395, 395, 395, 396, 396, 397, 397, 398, 398, 398, 398, 399, 400, 401, 402 }; static const yytype_uint8 yyr2[] = { 0, 2, 2, 2, 1, 2, 1, 1, 1, 4, 4, 2, 1, 3, 4, 3, 2, 2, 1, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 3, 1, 3, 3, 1, 1, 3, 3, 1, 3, 3, 3, 3, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 3, 4, 5, 4, 3, 4, 2, 3, 4, 5, 4, 3, 4, 5, 5, 4, 2, 3, 3, 3, 3, 2, 4, 3, 3, 2, 4, 3, 2, 3, 2, 3, 2, 1, 2, 3, 3, 3, 2, 1, 3, 3, 1, 3, 3, 2, 4, 5, 3, 4, 3, 1, 3, 3, 3, 2, 3, 2, 4, 5, 3, 4, 3, 1, 3, 3, 2, 1, 2, 2, 2, 1, 2, 5, 7, 9, 6, 8, 4, 6, 1, 2, 3, 4, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 7, 1, 2, 4, 1, 1, 2, 3, 2, 2, 2, 3, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 3, 3, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 2, 4, 4, 6, 2, 4, 4, 6, 1, 1, 3, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 3, 3, 3, 1, 3, 1, 2, 2, 3, 3, 5, 5, 6, 6, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 1, 2, 4, 1, 1, 1, 4, 4, 5, 8, 2, 1, 1, 1, 2, 6, 6, 5, 5, 6, 6, 5, 5, 7, 7, 6, 6, 7, 7, 6, 6, 4, 5, 4, 6, 4, 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, 1, 4, 4, 3, 4, 4, 3, 3, 2, 2, 4, 4, 3, 4, 3, 3, 2, 2, 1, 1, 3, 3, 1, 1, 3, 3, 2, 2, 2, 2, 2, 2, 4, 5, 5, 2, 4, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 2, 1, 2, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 2, 1, 3, 3, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 5, 6, 6, 2, 5, 1, 1, 1, 4, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 2, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 5, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 2, 2, 1, 3, 3, 3, 3, 1, 2, 3, 3, 2, 2, 2, 1, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 3, 2, 1, 2, 2, 2, 4, 4, 3, 3, 4, 5, 4, 6, 6, 4, 5, 4, 6, 6, 5, 5, 2, 2, 2, 5, 3, 5, 6, 5, 7, 7, 8, 8, 7, 7, 3, 3, 3, 4, 3, 5, 5, 6, 7, 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 2, 2, 3, 5, 2, 3, 5, 5, 5, 1, 3, 2, 2, 3, 3, 2, 3, 3, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4, 1, 1, 4, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 3, 3, 1, 3, 3, 3, 3, 1, 1, 1, 4, 4, 4, 3, 4, 4, 4, 3, 1, 3, 4, 3, 4, 4, 4, 4, 3, 2, 3, 3, 3, 3, 2, 2, 2, 3, 4, 1, 1, 2, 3, 3, 3, 3, 2, 2, 2, 3, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 2, 3, 6, 5, 3, 4, 2, 3, 3, 3, 3, 4, 4, 4, 2, 3, 3, 3, 4, 4, 3, 4, 2, 3, 3, 3, 4, 4, 1, 2, 2, 3, 1, 1, 2, 2, 3, 1, 1, 2, 2, 3, 1, 2, 3, 2, 2, 1, 2, 3, 2, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 3, 4, 1, 4, 2, 5, 3, 1, 1, 1, 1, 1, 1, 3, 3, 2, 2, 1, 1, 3, 2, 3, 1, 3, 3, 3, 3, 3, 3, 1, 2, 3, 3, 1, 2, 1, 2, 2, 2, 2, 3, 1, 1, 3, 3, 1, 3, 4, 3, 4, 3, 3, 4, 3, 4, 1, 3, 3, 4, 3, 3, 3, 4, 1, 3, 3, 3, 3, 3, 1, 3, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 4, 7, 1, 3, 0, 6, 8, 10, 12, 8, 10, 10, 5, 7, 9, 11, 7, 9, 9, 3, 4, 4, 3, 3, 3, 4, 4, 3, 3, 3, 4, 4, 3, 2, 3, 2, 3, 4, 4, 3, 3, 1, 1, 1, 1, 1, 2, 3, 2, 2, 2, 3, 3, 2, 5, 6, 2, 2, 2, 2, 2, 2, 1, 2, 2, 3, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2, 5, 5, 7, 7, 5, 5, 3, 2, 5, 4, 4, 7, 6, 6, 5, 7, 6, 4, 7, 9, 3, 4, 4, 5, 5, 6, 7, 6, 6, 5, 5, 4, 3, 2, 1, 2, 4, 3, 5, 4, 3, 2, 2, 2, 3, 3, 3, 3, 2, 2, 1, 1, 4, 3, 4, 3, 3, 2, 4, 3, 4, 3, 3, 2, 1, 2, 1, 1, 2, 1, 2, 3, 3, 1, 2, 2, 2, 3, 4, 4, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 2, 2, 3, 1, 1, 0, 6, 6, 5, 4, 1, 2, 2, 1, 3, 3, 4, 1, 1, 2, 2, 6, 6, 6, 4 }; static const yytype_uint16 yydefact[] = { 1293, 257, 6, 592, 593, 594, 596, 597, 661, 662, 663, 664, 665, 666, 668, 671, 672, 669, 670, 655, 656, 660, 667, 758, 759, 605, 1138, 235, 680, 915, 916, 0, 0, 919, 1136, 1137, 681, 682, 673, 0, 0, 0, 0, 0, 920, 921, 684, 683, 685, 686, 598, 595, 958, 0, 1262, 806, 676, 8, 4, 0, 0, 0, 1256, 0, 1275, 882, 800, 0, 675, 0, 650, 652, 808, 810, 657, 802, 804, 741, 674, 0, 0, 651, 653, 0, 0, 0, 0, 0, 981, 654, 0, 917, 0, 0, 0, 1258, 1280, 1255, 1277, 1287, 1282, 0, 0, 0, 1273, 0, 1270, 1253, 0, 0, 1259, 0, 0, 0, 0, 1272, 1271, 0, 658, 959, 654, 960, 873, 872, 882, 914, 871, 901, 972, 0, 913, 977, 0, 0, 0, 0, 0, 0, 1148, 0, 237, 236, 0, 0, 245, 0, 244, 2, 3, 0, 5, 0, 607, 606, 0, 0, 627, 0, 0, 0, 0, 745, 0, 725, 724, 0, 1151, 594, 664, 665, 666, 1145, 807, 8, 1257, 1276, 882, 801, 809, 811, 803, 805, 981, 989, 654, 0, 0, 1020, 0, 0, 0, 1031, 0, 0, 873, 0, 0, 872, 0, 0, 891, 0, 0, 585, 586, 587, 589, 590, 1044, 591, 588, 896, 794, 866, 788, 0, 798, 0, 790, 792, 741, 796, 0, 0, 1043, 0, 0, 1047, 1057, 0, 0, 0, 0, 0, 0, 982, 0, 688, 689, 690, 691, 692, 693, 695, 698, 699, 696, 697, 687, 694, 711, 700, 0, 0, 705, 704, 706, 707, 1181, 703, 0, 0, 778, 702, 784, 780, 782, 786, 701, 0, 1157, 0, 0, 0, 0, 1246, 1252, 594, 0, 1269, 1264, 1278, 0, 1265, 1281, 1263, 1279, 1274, 1286, 1289, 0, 0, 0, 0, 0, 1284, 1285, 1288, 1283, 1, 0, 1260, 1261, 1254, 0, 0, 458, 263, 0, 0, 0, 0, 0, 0, 352, 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 0, 347, 0, 350, 0, 0, 346, 348, 349, 351, 0, 265, 0, 264, 306, 272, 271, 258, 457, 0, 344, 354, 0, 356, 363, 368, 374, 0, 383, 392, 397, 402, 407, 410, 413, 430, 0, 479, 478, 480, 482, 489, 494, 499, 508, 517, 522, 527, 532, 535, 538, 0, 260, 296, 297, 298, 299, 0, 0, 0, 0, 0, 659, 961, 0, 903, 0, 908, 0, 0, 0, 0, 0, 0, 0, 914, 973, 978, 0, 883, 975, 885, 980, 976, 673, 4, 229, 228, 227, 233, 0, 264, 354, 219, 480, 0, 206, 249, 0, 0, 248, 255, 0, 0, 1139, 1140, 0, 168, 0, 169, 170, 0, 0, 0, 0, 0, 172, 246, 0, 0, 0, 0, 29, 31, 163, 175, 188, 0, 187, 0, 116, 119, 0, 195, 128, 0, 164, 140, 0, 167, 183, 196, 199, 0, 0, 264, 0, 0, 176, 0, 985, 654, 0, 12, 18, 0, 813, 812, 820, 814, 0, 816, 818, 741, 825, 824, 250, 256, 247, 0, 0, 239, 238, 640, 599, 602, 639, 643, 629, 0, 0, 0, 222, 223, 224, 225, 0, 217, 0, 754, 747, 0, 0, 744, 751, 746, 0, 0, 757, 748, 0, 0, 727, 726, 0, 0, 0, 0, 0, 0, 982, 990, 0, 1022, 0, 0, 1242, 1248, 0, 1244, 1250, 1032, 1146, 0, 0, 0, 1147, 890, 0, 264, 583, 584, 0, 0, 0, 0, 607, 606, 608, 0, 728, 0, 0, 664, 0, 0, 1041, 795, 8, 882, 789, 799, 791, 793, 797, 914, 871, 654, 963, 962, 0, 0, 0, 895, 0, 0, 894, 0, 0, 0, 1073, 0, 892, 893, 983, 0, 984, 0, 0, 1155, 1143, 1154, 76, 1152, 691, 692, 693, 1141, 882, 779, 785, 781, 783, 787, 654, 0, 1156, 1153, 1144, 0, 1158, 0, 1245, 1251, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0, 700, 0, 0, 0, 157, 1077, 1078, 703, 0, 0, 0, 264, 0, 354, 0, 0, 480, 567, 572, 0, 1075, 1163, 1166, 1083, 1074, 1087, 0, 0, 0, 0, 1185, 1183, 1076, 1089, 0, 1090, 1081, 1088, 0, 1091, 1182, 0, 0, 1266, 882, 0, 0, 0, 1276, 0, 871, 989, 654, 0, 0, 0, 0, 1252, 1290, 0, 0, 413, 0, 0, 918, 0, 337, 472, 0, 333, 468, 334, 469, 0, 860, 850, 858, 852, 854, 856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 476, 0, 274, 0, 0, 0, 764, 760, 762, 766, 1035, 0, 261, 0, 301, 302, 0, 325, 0, 324, 0, 460, 93, 0, 270, 459, 0, 314, 315, 0, 0, 0, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 439, 0, 0, 336, 471, 335, 470, 0, 0, 0, 0, 0, 0, 0, 375, 500, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 677, 0, 322, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 678, 679, 0, 0, 0, 1305, 1306, 0, 0, 0, 877, 0, 0, 0, 881, 0, 0, 0, 907, 906, 904, 905, 914, 973, 978, 884, 886, 1000, 10, 9, 0, 0, 0, 654, 962, 207, 0, 0, 264, 206, 0, 0, 832, 826, 828, 830, 0, 0, 0, 16, 20, 0, 185, 184, 186, 0, 0, 0, 0, 347, 0, 264, 0, 26, 0, 21, 28, 24, 0, 25, 23, 22, 30, 32, 190, 83, 191, 122, 162, 0, 0, 0, 0, 132, 0, 0, 134, 0, 0, 143, 161, 200, 197, 202, 201, 198, 203, 115, 0, 0, 0, 882, 722, 177, 997, 0, 993, 654, 0, 11, 17, 712, 898, 1043, 0, 0, 0, 986, 0, 0, 173, 165, 192, 181, 0, 180, 0, 166, 882, 179, 0, 607, 606, 821, 815, 817, 819, 0, 0, 0, 604, 642, 0, 0, 7, 212, 208, 743, 0, 0, 0, 0, 1019, 1026, 1027, 1028, 1029, 64, 53, 92, 39, 38, 57, 69, 45, 48, 0, 74, 56, 0, 0, 0, 1010, 1012, 0, 1009, 1011, 0, 41, 44, 914, 983, 974, 991, 979, 1000, 992, 0, 1001, 1004, 1021, 1023, 1241, 1247, 1243, 1249, 1025, 1033, 1030, 1034, 889, 887, 888, 1070, 1052, 1061, 612, 611, 0, 0, 458, 729, 0, 0, 458, 730, 0, 0, 0, 944, 882, 0, 0, 654, 962, 0, 0, 0, 936, 0, 0, 0, 0, 0, 1042, 965, 0, 0, 964, 1046, 1045, 0, 865, 1069, 868, 1055, 1063, 0, 864, 1068, 867, 1053, 1062, 0, 1072, 1066, 869, 1048, 1058, 0, 1067, 870, 1050, 1059, 922, 923, 926, 925, 924, 0, 927, 929, 0, 0, 0, 0, 77, 0, 1142, 1160, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 1075, 1222, 1080, 1082, 0, 0, 1230, 1231, 1232, 0, 1238, 0, 0, 0, 0, 0, 0, 158, 144, 1086, 1085, 1084, 0, 0, 0, 573, 0, 1079, 0, 0, 0, 0, 453, 0, 0, 458, 0, 0, 0, 0, 1164, 1167, 1169, 0, 1165, 1168, 1170, 0, 1196, 1092, 1267, 1268, 237, 236, 0, 0, 0, 990, 0, 0, 1248, 0, 1250, 1251, 0, 0, 1149, 0, 0, 772, 264, 774, 768, 770, 776, 1037, 0, 0, 0, 0, 0, 0, 861, 851, 859, 853, 855, 857, 654, 968, 967, 0, 846, 836, 844, 838, 840, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 765, 761, 763, 767, 1036, 0, 0, 458, 0, 0, 0, 105, 0, 300, 458, 0, 0, 94, 458, 0, 0, 461, 313, 309, 329, 463, 464, 328, 465, 312, 0, 0, 435, 431, 303, 357, 483, 358, 484, 359, 485, 364, 490, 365, 491, 369, 495, 370, 496, 377, 502, 378, 503, 376, 501, 388, 513, 384, 509, 389, 514, 385, 510, 395, 520, 393, 518, 400, 525, 398, 523, 405, 530, 403, 528, 408, 533, 411, 536, 563, 0, 579, 0, 0, 0, 0, 437, 433, 462, 321, 318, 0, 466, 467, 320, 0, 0, 436, 432, 360, 486, 361, 487, 362, 488, 366, 492, 367, 493, 371, 497, 372, 498, 381, 506, 382, 507, 379, 504, 380, 505, 390, 515, 386, 511, 391, 516, 387, 512, 396, 521, 394, 519, 401, 526, 399, 524, 406, 531, 404, 529, 409, 534, 412, 537, 564, 0, 0, 0, 0, 438, 434, 0, 0, 1298, 1301, 0, 0, 1296, 1307, 1308, 0, 0, 876, 874, 875, 880, 878, 879, 234, 232, 231, 230, 264, 654, 965, 241, 0, 207, 240, 127, 0, 125, 833, 827, 829, 831, 0, 654, 0, 15, 19, 0, 182, 997, 654, 0, 139, 0, 137, 833, 0, 264, 654, 0, 27, 84, 117, 120, 118, 121, 129, 130, 131, 133, 141, 142, 114, 112, 113, 13, 714, 717, 0, 0, 910, 1043, 0, 0, 0, 998, 994, 0, 0, 713, 882, 899, 987, 988, 882, 193, 194, 178, 0, 0, 0, 0, 600, 601, 603, 0, 0, 632, 628, 0, 0, 0, 0, 0, 226, 218, 216, 0, 0, 0, 36, 37, 75, 54, 0, 55, 0, 63, 61, 72, 67, 73, 60, 90, 39, 70, 62, 91, 59, 71, 68, 0, 58, 0, 691, 33, 35, 34, 1013, 1014, 0, 620, 610, 0, 615, 609, 0, 458, 731, 0, 0, 0, 962, 0, 934, 945, 946, 939, 937, 938, 0, 966, 947, 0, 0, 940, 0, 0, 0, 1056, 1064, 1043, 1054, 1049, 1051, 1060, 933, 0, 0, 0, 930, 708, 709, 710, 458, 0, 0, 1117, 1127, 1122, 0, 0, 0, 1118, 1129, 1123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 1209, 0, 1186, 264, 0, 0, 0, 1229, 1235, 1236, 1233, 1234, 0, 0, 0, 0, 145, 1114, 1124, 1119, 0, 159, 570, 568, 0, 0, 0, 451, 574, 571, 569, 452, 575, 0, 991, 1247, 1249, 1150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 775, 769, 771, 777, 1038, 0, 293, 291, 0, 0, 952, 654, 0, 0, 0, 0, 0, 0, 970, 0, 969, 0, 0, 0, 847, 837, 845, 839, 841, 843, 0, 267, 0, 266, 295, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0, 0, 0, 355, 481, 262, 108, 106, 327, 326, 99, 103, 310, 0, 311, 307, 308, 580, 0, 0, 0, 0, 0, 0, 319, 316, 317, 0, 0, 0, 0, 1300, 1299, 1303, 0, 0, 0, 1295, 1294, 0, 962, 218, 0, 0, 123, 126, 0, 0, 0, 0, 0, 998, 0, 135, 138, 0, 14, 458, 0, 0, 723, 0, 882, 911, 999, 995, 996, 715, 718, 900, 174, 822, 0, 243, 242, 0, 631, 0, 213, 214, 204, 209, 210, 220, 0, 0, 51, 46, 49, 52, 47, 50, 37, 43, 40, 42, 0, 0, 1017, 1018, 619, 0, 614, 0, 965, 964, 935, 948, 949, 942, 941, 943, 1040, 1039, 0, 932, 931, 79, 1115, 1125, 1120, 0, 1116, 1126, 1121, 0, 0, 0, 0, 0, 1225, 1199, 0, 0, 1198, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 1187, 1210, 1188, 1211, 0, 0, 0, 1099, 918, 1099, 0, 0, 155, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 292, 862, 0, 967, 0, 950, 953, 954, 277, 278, 0, 971, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 281, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 0, 331, 330, 455, 581, 422, 555, 414, 539, 426, 559, 418, 547, 456, 582, 423, 556, 415, 540, 427, 560, 419, 548, 424, 557, 416, 541, 428, 561, 420, 549, 425, 558, 417, 542, 429, 562, 421, 550, 1302, 1304, 1297, 834, 0, 124, 150, 999, 0, 136, 86, 912, 0, 0, 823, 0, 0, 0, 0, 0, 0, 205, 0, 221, 0, 0, 1015, 1016, 1005, 0, 0, 0, 0, 928, 1189, 1190, 1193, 1194, 1197, 1227, 0, 0, 0, 0, 0, 0, 0, 1203, 1212, 0, 0, 0, 0, 1097, 0, 1094, 1107, 0, 1099, 0, 1099, 0, 0, 0, 0, 475, 474, 969, 951, 863, 956, 957, 275, 276, 848, 285, 286, 0, 0, 0, 0, 279, 280, 289, 290, 0, 0, 294, 1310, 1311, 1309, 343, 835, 0, 716, 719, 721, 720, 0, 0, 215, 211, 0, 1002, 1007, 0, 0, 0, 0, 0, 0, 0, 1217, 1201, 0, 0, 1202, 1214, 0, 1205, 1216, 0, 0, 0, 1099, 0, 1099, 0, 1099, 0, 1100, 0, 0, 0, 148, 0, 153, 0, 156, 0, 849, 283, 284, 0, 287, 288, 171, 1003, 1191, 1192, 0, 0, 1200, 1207, 0, 1204, 1215, 0, 1111, 1098, 0, 0, 0, 1108, 0, 0, 1099, 1099, 0, 1099, 147, 146, 151, 149, 0, 0, 355, 481, 269, 0, 0, 0, 1095, 0, 0, 1099, 1104, 0, 0, 1101, 0, 0, 154, 1208, 0, 1112, 1113, 1109, 0, 0, 0, 0, 1099, 152, 0, 0, 1105, 1106, 1102, 0, 1096, 1110, 0, 1103 }; static const yytype_int16 yydefgoto[] = { -1, 212, 56, 57, 981, 337, 445, 446, 447, 448, 449, 450, 451, 452, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 260, 261, 453, 454, 59, 338, 339, 752, 781, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 2100, 2101, 2102, 467, 652, 653, 654, 468, 469, 470, 471, 1794, 413, 509, 414, 510, 415, 511, 512, 873, 416, 417, 60, 61, 62, 63, 64, 340, 341, 342, 343, 344, 1008, 1009, 345, 346, 755, 1276, 347, 657, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 740, 835, 659, 1333, 364, 365, 660, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 661, 662, 1134, 1335, 559, 560, 214, 66, 502, 503, 215, 68, 216, 217, 69, 70, 71, 72, 73, 74, 218, 119, 219, 266, 938, 939, 220, 221, 222, 78, 79, 80, 81, 82, 223, 747, 1210, 269, 475, 84, 85, 492, 493, 883, 1233, 724, 1057, 1058, 125, 86, 476, 88, 477, 128, 129, 130, 942, 131, 120, 90, 1106, 1107, 1108, 91, 585, 1224, 479, 587, 1226, 134, 187, 480, 481, 189, 946, 136, 1026, 1544, 1014, 1015, 1545, 190, 191, 192, 193, 748, 1211, 227, 228, 229, 230, 231, 232, 665, 666, 2020, 2021, 667, 668, 669, 94, 482, 270, 95, 96, 271, 272, 273, 672, 673, 674, 675, 274, 676, 904, 1628, 1137, 679, 680, 681, 1138, 683, 97, 98, 379, 99, 100, 101, 102, 103, 104, 841, 1405, 1406, 842, 843, 380, 381, 382, 383 }; static const int yypact[] = { 38766, -2034, -2034, -2034, -2034, 319, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 887, 344, -2034, -2034, -2034, -2034, -2034, -2034, 78, 244, 260, 389, 396, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 2702, 2912, -2034, -2034, -2034, 17, -2034, 371, 389, -11, -2034, 920, 408, 1047, -2034, 282, -2034, 332, -2034, 418, -2034, -2034, -2034, -2034, -2034, 839, -2034, 1010, 444, -2034, 489, 930, 38363, 2850, -17, 39066, -2034, 518, 527, -2034, 1204, 41733, 36912, -2034, -2034, -2034, -2034, -2034, -2034, 38870, 37954, 678, -2034, 344, -2034, -2034, 396, 396, 696, 591, 396, 29560, 389, -2034, -2034, 532, -2034, 2702, -2034, -2034, -2034, 610, -2034, -12, 810, -2034, -2034, 39165, -2034, -2034, 2912, 2746, 2357, 2539, 2016, 24201, -2034, 635, 798, 619, 30655, 41352, -2034, 30783, -2034, -2034, -2034, 389, -2034, 1184, 1066, 1086, 133, 41352, -2034, 41079, 30911, 41352, 31039, -2034, 31167, -2034, -2034, 389, -2034, -2034, 480, 647, 654, -2034, -2034, 952, -2034, 408, 577, -2034, -2034, -2034, -2034, -2034, 1256, 1423, 518, 2746, 1640, 2016, 41733, 41733, 573, -2034, 1163, 668, 671, 647, 654, 821, 518, 1197, -2034, 28140, 683, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 825, -2034, 335, -2034, 717, -2034, -2034, 754, -2034, 778, 2014, 36000, 401, 505, -2034, -2034, 539, 624, 815, 828, 164, 857, -2034, 164, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 873, 876, -2034, -2034, -2034, -2034, -2034, -2034, 85, 95, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 38565, -2034, 17872, 8187, 41940, 18013, -2034, 833, 929, 985, -2034, -2034, 408, 38464, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 418, 489, 39660, 41733, 39951, -2034, -2034, -2034, -2034, -2034, 902, 696, 696, -2034, 29560, 375, -2034, -2034, 29616, 29702, 29702, 909, 41534, 29560, -2034, -2034, 915, 960, 41534, 29560, 982, 990, 993, 1002, 1009, 29758, -2034, 1035, -2034, 12448, -2034, 396, 25738, -2034, -2034, -2034, -2034, 1046, -2034, 107, 1095, -2034, -2034, 344, -2034, -2034, 13083, -2034, 2029, 28196, -2034, 827, 685, 1198, 29560, 780, 1221, 1106, 1130, 1168, 1265, 38, 2029, 1228, 599, -2034, 2029, -2034, 922, 1112, 1250, 1166, 1435, 1258, 1266, 1212, 1349, 136, 2029, 696, -2034, -2034, -2034, -2034, 1297, 186, 41170, 1298, 1304, -2034, -2034, 28282, -2034, 28338, -2034, 630, 655, 1319, 1348, 2746, 2600, 2684, -12, -2034, -2034, 737, -2034, -2034, -2034, -2034, -2034, 915, 1046, -2034, -2034, -2034, -2034, 875, 1337, -2034, 1198, -2034, 1250, 36116, -2034, 24325, 41079, -2034, 367, 40806, 40048, -2034, -2034, 1363, -2034, 389, -2034, -2034, 344, 40242, 39854, 6126, 41443, -2034, -2034, 1307, 1364, 1364, 967, -2034, 1388, -2034, -2034, -2034, 114, 794, 129, -2034, -2034, 30007, 1395, -2034, 1225, -2034, -2034, 829, -2034, -2034, -2034, 1400, 30143, 30271, 267, 198, 599, 37124, 39264, -2034, 518, 1204, -2034, -2034, 37018, -2034, -2034, 1416, -2034, 389, -2034, -2034, -2034, 1417, 41534, -2034, 367, -2034, 30399, 30527, 1420, 1450, -2034, 1460, -2034, 1464, -2034, -2034, 3332, 1476, 886, -2034, -2034, -2034, -2034, 899, 594, 36116, 653, -2034, 31295, 31423, -2034, 653, -2034, 31551, 31679, 653, -2034, 31807, 31935, -2034, -2034, 2912, 2912, 2912, 2912, 22381, 737, 1256, 1423, 737, -2034, 28424, 8187, -2034, 833, 8187, -2034, 833, -2034, -2034, 2912, 2912, 737, -2034, -2034, 1459, 167, -2034, -2034, 1475, 1478, 40897, 1370, 1488, 1494, -2034, 32063, -2034, 32191, 450, -2034, 35765, 28480, 2912, -2034, 1219, 825, -2034, -2034, -2034, -2034, -2034, -12, 1491, 518, 181, 110, 199, 1798, 1499, -2034, 40533, 1501, -2034, 40624, 1502, 40715, 1503, 40988, -2034, -2034, -2034, 1305, -2034, 29560, 389, -2034, -2034, 1506, -2034, -2034, 480, 647, 654, -2034, 1498, -2034, -2034, -2034, -2034, -2034, 518, 1263, 668, -2034, -2034, 1510, -2034, 18154, -2034, 833, -2034, 215, 28566, 1507, 1518, 1519, 80, 18295, 1525, 344, 1524, 1529, 18436, 915, 2209, 1526, 1528, 344, -2034, -2034, 1046, 1530, 1540, 1542, 1324, 16312, 2029, 16603, 25794, 2029, 2029, -2034, 16744, 38666, -2034, -2034, -2034, -2034, -2034, 18577, 18718, 18859, 19000, -2034, -2034, -2034, 833, 19141, -2034, -2034, -2034, 19282, -2034, -2034, 396, 396, 696, 554, 389, 1344, 1548, -2034, -12, -17, -2034, 518, 2746, 41733, 41733, 8187, -2034, -2034, 39757, 29560, 158, 1544, 304, -2034, 24449, -2034, -2034, 28622, -2034, -2034, -2034, -2034, 41534, 1563, -2034, -2034, -2034, -2034, -2034, 36348, 41534, 24589, 344, 36464, 41534, 29560, 396, 396, 396, 29560, 12448, -2034, -2034, 10719, -2034, 13246, 13392, 13538, -2034, -2034, -2034, -2034, 36798, 1521, 159, 22521, -2034, -2034, 134, -2034, 585, -2034, 22661, 1556, -2034, 22801, -2034, -2034, 1485, -2034, -2034, 25880, 1508, 29560, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 28196, 165, -2034, -2034, -2034, -2034, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 1198, 1250, 29560, 29560, -2034, 29560, 28196, 28196, 28196, 28196, 28196, 29560, 29560, 13684, 28196, -2034, 1515, -2034, -2034, 25936, 1522, 29560, 28196, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 28196, 28196, 28196, 28196, 28196, 29560, 29560, 13830, 28196, -2034, -2034, 730, 825, 41443, -2034, -2034, 38054, 41170, 41170, -2034, 1551, 1553, 1555, -2034, 1566, 1567, 1568, -2034, -2034, -2034, -2034, -12, -2034, -2034, -2034, -2034, 1557, -2034, -2034, 24201, 24201, 35884, 518, 633, -2034, 324, 962, 1341, 36116, 995, 1575, 1586, -2034, -2034, -2034, 1417, 8921, 40145, -2034, -2034, 344, -2034, -2034, -2034, 37230, 1578, 344, 36232, 1987, 24713, 1826, 40339, -2034, 1585, -2034, 833, -2034, 833, -2034, -2034, -2034, 833, -2034, 1588, -2034, 799, -2034, -2034, 5167, 5167, 1364, 1364, -2034, 1364, 106, -2034, 1364, 1364, -2034, -2034, 811, -2034, 1400, 811, -2034, 1400, 862, 28708, 2513, 29560, 639, -2034, 1590, -12, 39363, -2034, 518, 2746, -2034, -2034, 1042, 683, 36000, 29871, 237, 164, -2034, 164, 2912, -2034, -2034, -2034, -2034, 189, -2034, 229, -2034, 267, 37124, 24201, -2034, -2034, 1599, -2034, -2034, -2034, 41079, 41079, 29560, 344, -2034, 32319, 149, -2034, 1125, 1135, -2034, 41079, 344, 802, 344, 1865, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1364, -2034, -2034, -2034, -2034, -2034, 37336, 1404, -2034, 22941, 41837, 23081, -2034, -2034, 12738, -2034, -2034, 40436, -2034, -2034, -12, 1256, -2034, 1423, -2034, -12, -2034, 28424, -2034, -2034, -2034, -2034, -2034, 833, -2034, 833, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1464, 183, 216, 1593, -2034, 32447, 32575, 1596, -2034, 32703, 32831, 32959, -2034, 615, 436, 449, 1523, 1722, 1603, 1604, 1605, -2034, 1595, 1597, 1600, 518, 737, 2016, 110, 39462, 28764, 181, -2034, -2034, 41261, -2034, -2034, 825, -2034, -2034, 41261, -2034, -2034, 825, -2034, -2034, 41261, -2034, -2034, 825, -2034, -2034, 41261, -2034, 825, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1607, 1611, -2034, 1137, 1613, 1614, 223, -2034, 23221, -2034, -2034, 19423, 1608, 1609, 19564, 29560, 29560, -2034, 28850, 28906, 1610, 1616, 1621, 24802, 1622, 344, 26022, 2212, 1408, 26078, -2034, 1691, -2034, -2034, 26164, 1630, -2034, -2034, -2034, 1633, 1634, 26220, 16885, 396, 1642, 29560, 29560, 344, -2034, -2034, -2034, -2034, 22101, 305, 28196, -2034, 1220, -2034, 29560, 13976, 14122, 28196, -2034, 29560, 14268, 1510, 19705, 19846, 19987, 20128, -2034, -2034, -2034, 20269, -2034, -2034, -2034, 20410, -2034, -2034, 696, 696, 1648, 1649, 35519, 35646, 737, -2034, 737, 8187, -2034, 8187, -2034, -2034, 1637, 28196, -2034, 28196, 736, -2034, 267, -2034, -2034, -2034, -2034, 36798, 1647, 1650, 41625, 24201, 38967, 29560, 1652, -2034, -2034, -2034, -2034, -2034, 518, 1654, 1655, 1645, 1659, -2034, -2034, -2034, -2034, -2034, 36580, 26306, 1658, 1661, 1662, 29560, 1665, 36696, 1660, 382, 355, 366, 1664, 1669, 1675, -2034, 344, -2034, -2034, -2034, -2034, -2034, 29560, 396, 234, 37439, 23361, 1676, -2034, 28196, -2034, 242, 37542, 23501, -2034, 265, 37645, 23641, -2034, -2034, -2034, -2034, 1213, 1685, -2034, -2034, -2034, 26392, 4399, -2034, -2034, 1676, -2034, -2034, -2034, -2034, -2034, -2034, 827, 922, 827, 922, 685, 1112, 685, 1112, 1198, 1250, 1198, 1250, 1198, 1250, -2034, -2034, 780, 1166, -2034, -2034, 780, 1166, -2034, -2034, 1221, 1435, -2034, -2034, 1106, 1258, -2034, -2034, 1130, 1266, 1168, 1212, 1265, 1349, -2034, 94, -2034, 26451, 1651, 5970, 1681, -2034, -2034, -2034, -2034, -2034, 1237, -2034, -2034, -2034, 26537, 6518, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 827, 922, 827, 922, 685, 1112, 685, 1112, 1198, 1250, 1198, 1250, 1198, 1250, 1198, 1250, -2034, -2034, 780, 1166, -2034, -2034, 780, 1166, -2034, -2034, 1221, 1435, -2034, -2034, 1106, 1258, -2034, -2034, 1130, 1266, 1168, 1212, 1265, 1349, -2034, 26596, 1682, 6876, 1684, -2034, -2034, 344, 344, -2034, -2034, 567, 1099, -2034, -2034, -2034, 38157, 38260, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1576, 2265, 633, -2034, 24201, 344, -2034, -2034, 24201, -2034, 880, -2034, -2034, -2034, 458, 518, 2746, -2034, -2034, 258, 1590, 1557, 518, 2746, -2034, 1695, -2034, 905, 464, 1493, 2912, 1697, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 2707, -2034, -2034, -2034, -2034, -2034, 23781, 1867, 683, 36000, 21961, 562, 737, -12, -2034, 737, 29560, -2034, 910, -2034, -2034, -2034, 1699, 1588, 1556, 1590, 1021, 24201, 1033, 1041, -2034, -2034, -2034, 33087, 33215, 1698, -2034, 4169, 41443, 41443, 41443, 41443, -2034, -2034, -2034, 29560, 1700, 28992, -2034, 833, -2034, -2034, 29048, -2034, 29134, -2034, -2034, -2034, 1429, 1404, -2034, -2034, 1364, -2034, -2034, -2034, -2034, -2034, 1429, 1404, -2034, 29190, 9625, -2034, -2034, -2034, -2034, -2034, 20551, -2034, -2034, 102, -2034, -2034, 120, 1701, -2034, 33343, 33471, 518, 1722, 1705, -2034, -2034, -2034, -2034, -2034, -2034, 737, 181, -2034, 1707, 1711, -2034, 1702, 1703, 1704, -2034, -2034, 36000, -2034, -2034, -2034, -2034, -2034, 29560, 1712, 1302, -2034, -2034, -2034, -2034, 276, 37748, 23921, -2034, -2034, -2034, 20692, 22101, 22101, -2034, -2034, -2034, 20833, 26682, 17026, 26768, 26854, 24942, 26940, 17167, 22241, 1715, 1716, 22241, 29560, 29276, 1793, 27026, 1634, 7280, 396, 22241, 1729, 12885, 24802, -2034, 1431, 27082, 9917, 27168, -2034, -2034, -2034, -2034, -2034, 143, 396, 1730, 1257, -2034, -2034, -2034, -2034, 20974, -2034, -2034, -2034, 1734, 1735, 344, -2034, -2034, -2034, -2034, -2034, -2034, 41079, -2034, -2034, -2034, -2034, 27224, 1728, 25222, 1731, 27310, 1732, 25308, 1733, 1738, 1742, -2034, -2034, -2034, -2034, -2034, -2034, 14414, -2034, -2034, 1744, 1057, -2034, 2008, 1750, 1751, 1754, 1745, 1746, 24201, 1655, 39561, 1654, 29560, 24201, 29560, 1762, -2034, -2034, -2034, -2034, -2034, 1752, -2034, 29332, -2034, -2034, 1753, 1755, 29560, 29560, 1759, 10719, -2034, 344, 344, 29560, 14560, 344, -2034, -2034, 696, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 14706, -2034, -2034, -2034, -2034, 28196, 14852, 14998, 28196, 15144, 15290, -2034, -2034, -2034, 15436, 15582, 15728, 15874, -2034, -2034, -2034, 730, 1761, 463, -2034, -2034, 518, 633, 1888, 1115, 24201, -2034, -2034, 1774, 737, 737, 1364, 737, 1557, 1780, -2034, -2034, 1784, -2034, 285, 37851, 24061, -2034, 518, 954, -2034, -12, -2034, -2034, 1778, 1783, -2034, -2034, -2034, 1147, -2034, -2034, 33599, 1790, 33727, -2034, 1802, 36116, -2034, 1803, -2034, 29560, 28424, 2262, -2034, -2034, 2262, -2034, -2034, -2034, 2262, -2034, -2034, 21115, 21256, -2034, -2034, -2034, 33855, -2034, 33983, 110, 181, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 2016, 27396, -2034, -2034, -2034, -2034, -2034, -2034, 21397, -2034, -2034, -2034, 21538, 24802, 7016, 24802, 7016, 16457, -2034, 25082, 17308, -2034, -2034, 22241, 22241, 27482, 24802, 27568, 11097, 1794, 12215, 27654, 174, 21679, -2034, 29560, -2034, 16457, -2034, 12885, 24802, 25394, 29418, 68, 1799, 68, 192, 1801, -2034, 344, 29560, 29560, 344, 28196, 28196, 28196, 28196, 28196, 28196, 28196, 28196, 16020, 16166, -2034, -2034, -2034, 518, 1655, 1796, -2034, -2034, -2034, -2034, -2034, 1177, 1654, -2034, 1808, 1809, 1800, 1810, 1178, 1814, 1815, 24201, 29560, 12448, -2034, -2034, -2034, 1817, 1823, 1824, 1825, 29560, 1819, 1837, 1838, 1839, -2034, 1841, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, -2034, 1190, -2034, -2034, 1557, 28196, -2034, -2034, -2034, 29560, 29560, -2034, 34111, 34239, 34367, 34495, 34623, 41443, -2034, 41443, -2034, 25480, 21820, -2034, -2034, -2034, 34751, 34879, 35007, 35135, -2034, 1874, 1905, -2034, -2034, -2034, -2034, 24802, 29560, 29474, 1799, 17449, 17590, 25566, -2034, 16457, 25082, 27710, 17731, 344, -2034, 937, 606, -2034, 206, 68, 1844, 68, 299, 581, 1849, 1264, -2034, -2034, 1654, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1222, 1845, 1858, 1850, -2034, -2034, -2034, -2034, 1866, 1868, -2034, -2034, -2034, -2034, -2034, -2034, 1853, -2034, -2034, -2034, -2034, 35263, 35391, -2034, -2034, 27796, -2034, -2034, 24802, 24802, 27882, 25652, 24802, 27968, 11097, 1876, -2034, 24802, 29560, -2034, -2034, 25082, -2034, -2034, 1875, 1883, 68, 68, 29560, 68, 1885, 68, 976, -2034, 211, 1364, 561, -2034, 277, -2034, 1884, -2034, 344, -2034, -2034, -2034, 28992, -2034, -2034, -2034, -2034, -2034, -2034, 1876, 24802, -2034, -2034, 28054, -2034, -2034, 396, -2034, -2034, 1276, 1889, 1279, -2034, 1063, 1898, 68, 68, 1899, 68, -2034, -2034, -2034, -2034, 299, 607, -2034, -2034, -2034, 24802, 648, 1900, -2034, 1903, 1907, 68, -2034, 1285, 1296, -2034, 1073, 429, -2034, -2034, 29560, -2034, -2034, -2034, 1318, 1908, 1909, 1912, 68, -2034, 1913, 1914, -2034, -2034, -2034, 1342, -2034, -2034, 1930, -2034 }; static const yytype_int16 yypgoto[] = { -2034, 2396, 64, 9927, -2034, 2037, -2034, -2034, -2034, -2034, -2034, -2034, 1558, 1579, -998, -2034, -970, -749, 62, 65, -925, -901, -797, -2034, -731, -694, -2034, -2034, 1582, 1587, -2034, 1401, 3070, -2034, -222, 500, 575, -2034, -2034, -2034, -2034, 1589, -2034, -2034, -2034, -645, -2033, -83, -2034, -2034, -2034, -2034, 1820, 2003, -122, 11, 552, -826, -2034, -845, -2034, -860, -2034, 1091, -143, 1211, -877, -8, 1788, 15, 1795, -40, 0, -2034, 1149, -2034, -2034, 4986, 4663, -2034, 5940, -640, 1270, -2034, 3960, -2034, -328, 452, 692, 574, -2034, -13, -710, -453, -450, -120, -85, 477, 8670, 5187, -174, 8829, -766, 759, -2034, 4795, -275, 747, 753, 1380, 193, -47, 32, 34, -15, 43, 918, 3107, -56, 7473, -755, 1911, 264, 10823, -71, 1117, -129, 2980, 11098, 8509, -2034, -2034, -2034, -74, -20, -9, -2034, 7152, -2034, 320, -125, 631, -258, 3671, 9117, -2034, 11465, -2034, -2034, -2034, -53, 3758, -2034, -2034, 1143, 7030, -1, -2034, -2034, 1277, 1667, 1382, 1804, -86, -82, 5745, 10386, 3393, 4790, -407, -124, -464, 942, -856, -109, 3181, -2034, -2034, -1059, -2034, 3340, -406, -1215, 7619, -201, -711, 714, 200, 1082, 1683, -247, -597, -460, -990, -537, -918, -914, 316, 1150, 1027, -14, 1848, -720, -335, 538, -400, -448, -2034, -90, -77, 7278, -294, 33, -773, -2034, -2034, -2034, 2033, -2034, 2028, 2042, -48, 2627, -111, 1863, 919, 921, -2034, -2034, -2034, -91, 849, -1558, -262, -2034, -2034, -2034, -26, -2034, 2046, -43, 19, 2045, 1500, -2034, -2034, -2034, 2050, -784, 407, -2034, -753, 773, -2034, -2034, -2034, -2034 }; static const yytype_int16 yytable[] = { 65, 225, 275, 1152, 1027, 226, 1235, 1422, 1529, 403, 1691, 941, 678, 177, 513, 947, 1468, 1239, 489, 1258, 1469, 784, 1421, 496, 404, 506, 1265, 290, 951, 1269, 489, 109, 111, 1543, 489, 1523, 518, 1533, 523, 397, 527, 1420, 116, 395, 175, 699, 284, 396, 291, 1585, 110, 286, 398, 124, 281, 805, 1259, 149, 1859, 1409, 141, 403, 117, 1266, 178, 150, 1270, 153, 1397, 2140, 1870, 199, 953, 107, 785, 179, 404, 542, 545, 1399, 1525, 1122, 1535, 164, 176, 124, 606, 213, 1481, 1493, 1410, 1315, 124, 282, 65, 1732, 608, 543, 546, 174, 292, 65, 65, 1815, 1526, 300, 1536, 200, 758, 280, 753, 107, 392, 1, 385, 910, 289, 388, 201, 1381, 142, 1817, 143, 393, 139, 2140, 1275, 301, 302, 213, 912, 305, 124, 124, 504, 1260, 1, 418, 2, 137, 1510, 150, 472, 485, 619, 472, 1871, 122, 303, 499, 1502, 501, 1, 833, 501, 485, 497, 514, 472, 485, 472, 1041, 472, 670, 303, 530, 1284, 1, 149, 519, 1, 524, 1341, 528, 780, 805, 150, 1871, 384, 303, 1074, 629, 700, 806, 1546, 124, 1, 722, 807, 1, 1490, 1082, 815, 722, 1088, 2025, 1094, 303, 1099, 933, 1075, 556, 112, 2019, 1123, 763, 764, 765, 1527, 2093, 1537, 177, 607, 150, 2134, 564, 624, 1549, 290, 1, 290, 177, 871, 164, 576, 609, 1, -454, 945, 1816, 1491, 976, -618, 124, 571, -109, 124, 759, 595, 291, 331, 291, 1442, -100, 911, 572, 284, 1818, 682, 976, -613, 286, 692, 135, 281, 622, 1524, 1530, 1534, 759, 1529, 1, 178, 505, 1261, 555, -104, 1529, 1872, 615, 1, 1529, 178, 179, 655, 859, 1873, -82, 686, 1503, 1, 834, 688, 876, 689, 1, -89, 1441, 53, 1533, 860, 1256, 65, 703, 65, 1261, 1533, 687, 760, 2010, 1533, 2009, 1, 1200, 881, 1072, 1278, 1873, 1, 702, 2, 837, 718, 1547, 987, 881, 1073, 2026, 718, 911, 76, 833, 766, -1040, -1040, 2027, 934, 1, -1040, 556, 767, 2094, 401, 768, 1535, 2090, 2135, 1680, 1, 2095, 2090, 1535, 625, 761, 2136, 1535, 1550, 1, 1588, 1319, 749, 2099, 980, 1323, 901, 903, 905, 907, 1536, 759, 303, 1486, -1065, 2, -109, 1536, 596, 972, 113, 1536, 1061, 303, -100, 2099, -458, -458, -458, 1385, 1176, 1180, 303, 1389, 1590, 1764, 114, 150, 839, 303, 147, 148, 950, 556, 1, 556, 226, -104, 1643, 105, 760, 124, 1246, 107, 589, 1247, 181, 124, -82, 2139, 678, 678, 678, 678, 1018, 151, 76, -89, 1541, 2, 150, 1591, 941, 76, 76, 839, 588, 874, 514, 1020, 1018, 878, 576, 947, 1, 1043, 1661, 889, 1665, 589, 890, 839, 878, 897, 839, 1020, 1048, 1663, 1052, 1667, 717, 1202, 592, 1028, 106, 1, 1030, 847, 699, 851, 1285, 1287, 1289, 1, 1537, 154, 1074, 155, 562, 1, 303, 1537, 472, 472, 150, 1537, 1903, 937, 213, 404, 2, 124, 941, 1062, 964, 1159, 1713, 1025, 1166, 968, 1349, 1351, 1353, 164, 969, 1478, 1063, 1714, 472, 472, 138, -458, 708, 941, -458, 2099, 1683, 947, 592, 1712, 982, 1530, 1534, 1286, 1288, 1290, 150, 986, 1530, 1534, 472, 472, 1530, 1534, 1701, 472, 472, 1831, 590, 472, 472, 1710, 591, 124, 124, 124, 124, 1, 124, 303, 146, 124, 595, 1350, 1352, 1354, 580, 1487, 1254, 1488, 156, 941, 124, 124, 124, 1542, 1757, 1813, 150, 1, 753, 2170, 2, 839, 501, 595, 1, 591, 472, 1422, 472, 530, 1, 1056, 556, 124, 548, 160, 150, 1049, 594, 1053, 1, 1054, 1756, 1481, 1, 753, 124, 1194, 1196, 1760, 1969, 1080, 1529, 753, 1086, 1769, 1092, 1, 1097, 1221, 1231, 1420, 181, 1221, 1231, 1111, 809, 810, 811, 531, 1, 303, 181, 753, 76, -873, -866, 1787, 1, 161, 1809, 1533, 1, 1780, 1810, 597, 1781, 1409, 1409, 290, 593, 589, 177, 1443, 594, 1236, 1065, 1440, 1133, 52, 1140, 135, 1, 27, 682, 682, 682, 682, 1153, 745, 291, 234, 1798, 303, 1074, 849, 592, 853, 1410, 1410, -458, -458, -458, 386, -1065, 1566, 1535, 1061, 596, 1110, 655, 655, 655, 655, 1428, 147, 148, 1575, 299, 1793, 2034, 1796, 1437, 178, 1325, 535, 1778, -1065, 150, 1188, 1536, 596, 258, 1451, 1748, 1580, 1749, 124, 147, 148, -1024, 303, -1024, 576, 1185, 1186, 2103, 1492, 535, 1205, 1277, 420, 1391, 1915, 1262, 147, 148, 1212, 945, 304, 1327, 1263, 985, 812, 1217, 1227, 556, 1237, 1217, 1227, 2092, 813, 2159, 1, 814, 1205, 147, 148, 839, 1, 1, 426, 1773, 580, -866, 391, 427, 1249, 1393, -1071, 1242, 1243, 1244, 598, 1316, 854, 1277, 868, 1436, 591, 147, 148, 424, 1272, 2, 2, 1540, 1279, 572, 1436, 1473, 135, 2161, 1070, 122, 1529, 532, -458, 1062, 1774, 855, 705, 1382, 533, 594, -458, 1307, 1311, -458, 1326, 705, 1063, 795, 796, 1537, 580, 705, 551, 186, 186, 531, -265, -265, -265, 1533, 1, -460, -460, -460, 1339, 1543, 1902, 561, 1344, 1373, 1377, 1909, 1392, -458, -458, -458, 1993, 1593, 789, 790, 1599, 1461, 1462, 1, 1463, 1495, 1496, 1465, 1466, 1320, 580, 1067, 1324, 1404, 150, 1407, 1530, 1534, 839, 839, 839, 400, 565, 1328, 1535, 1504, 397, 1402, 1403, 678, 1477, 1500, 678, 1558, 396, 717, 53, 1386, 1640, 398, 1390, 418, 1423, 213, -459, -459, -459, 982, 1536, 150, 986, 1394, 1176, 1180, 1176, 1180, 1971, 164, 1433, 576, 566, 864, 1153, 619, 1, 1, 576, 107, 1448, 1450, 678, 1452, 1118, 839, 923, 924, 474, 797, 798, 474, 1515, 1780, 1781, 567, 678, 678, 678, 678, 1, 980, 1548, 1551, 474, 108, 474, 425, 474, -265, 147, 148, -8, -265, 1718, 793, 1267, 1512, -460, 1554, 1, 200, 124, 403, 150, -902, 1990, 599, 213, 276, -458, 124, 201, 147, 148, 786, 1485, 534, 404, 124, 600, 124, 1489, 391, 1, 2, 925, 404, 157, 1020, 684, 150, 937, 418, 1025, 787, 788, -742, 1896, -742, 514, 514, 941, 501, 1537, 472, 501, 1719, 602, 1568, 186, 514, 1511, 150, 1513, 1, 1501, 107, 1923, 1308, 1312, -459, 1569, 186, 604, 865, 420, 605, 1813, 1758, 1880, 866, 29, 30, 105, 1814, 1675, 33, 1759, 1679, 124, 947, 941, 685, 39, 941, 1566, 1374, 1378, 983, 181, 1530, 1534, 183, 1758, 984, 1208, 704, 147, 148, 717, 1784, 2044, 1768, 544, 547, 726, 753, 44, 45, 816, 501, 501, 745, 144, 472, 472, 1, 145, 472, 472, 472, 1208, 150, 2060, 1208, 124, 124, 162, 2089, 817, 818, 1555, 2090, 1252, 496, 124, 2091, 124, 213, 556, 137, 147, 148, 839, 1978, 1993, 150, 534, 93, 839, 727, 1426, 150, 391, 619, 839, 682, 984, 150, 682, 906, 839, 135, 150, 258, 1040, 2024, 2132, 1, 1645, 107, 2090, 730, 1650, 1699, 2133, 1652, 150, 1654, 27, 731, 1699, 655, 732, 1429, 655, 2145, 630, 33, 677, 984, 1684, 733, 538, 1133, 1081, 1140, 682, 1087, 734, 1093, 135, 1098, 1571, 1685, 1625, 1100, 158, 701, 159, 1786, 682, 682, 682, 682, 588, 866, 1820, 1638, 44, 45, 135, 1788, 655, 1279, 738, 580, 2067, 984, 2068, 1789, 1101, 188, 1634, 147, 148, 984, 655, 655, 655, 655, 1483, 93, 757, 823, 824, 1893, 705, 1102, 293, 93, 500, 866, 1, 2151, 472, 472, 124, 2090, 124, 2047, 580, 2152, -626, 2168, -626, 1472, 497, 2090, 839, 580, 150, 2169, 1, 791, 792, 839, 580, 1103, 1104, 418, 213, 745, -625, 580, -625, 147, 148, 707, 1558, 183, -872, 760, -872, -872, 474, 474, 707, 2029, 1695, 695, 799, 800, 707, 1970, 1498, 1695, 1291, 1293, 801, 866, 988, 988, 988, 988, 150, 819, 820, 2096, 1505, 2098, 474, 474, -901, 1506, 401, 821, 822, 1583, 1507, 186, 186, 1584, 1669, 1508, 580, 1981, 1355, 1357, 802, 1994, 1720, 866, 474, 474, 29, 30, 804, 474, 474, 33, 580, 474, 474, 825, 826, 549, 39, 550, -872, 902, 917, 918, 908, 941, 941, 2036, 2041, 1834, 1838, -872, 1100, 866, 866, 1100, 1646, 1647, 1648, 803, 2059, 1850, 44, 45, 919, 2127, 866, 2129, 920, 2131, 921, 553, 474, 550, 474, 53, -872, 1101, -901, -901, 1101, 678, 678, -901, 1573, 1727, -872, 1, 137, 1728, -901, 1, 2107, 678, 1102, -216, 1820, 1102, 866, -216, 808, 391, 922, 831, -872, -872, -872, 2154, 2155, 1739, 2157, 188, 832, 1728, -901, -901, 1299, 1301, 1042, 1303, 1, 698, 1827, 293, 1103, 1104, 2165, 1103, 1104, 1876, -901, -901, -901, 1877, 33, 1611, 2105, 1114, 1029, 550, 2106, 1031, 829, 2176, 1363, 1365, 1367, 1369, 2148, 1746, 1747, 2150, 2090, 1750, 150, 2090, 830, 2166, 839, 839, 1566, 2090, 1457, 1459, 695, 44, 45, 1, 2167, 836, 150, -913, 2090, 1751, 1423, 1513, 844, 1105, 418, 507, 859, 899, 845, 520, 1761, 258, 124, 420, 420, 1638, 2172, 856, 2, 124, 2090, 860, 827, 828, 1770, 150, 124, 1814, 760, 1020, 1157, 147, 148, -216, 2142, 147, 148, -216, 867, -216, 2179, 760, 1427, -216, 2090, 760, 857, 124, 1189, 1777, 143, 1019, 124, 1687, 1022, 124, 1295, 1297, 150, 1271, 887, 1, 1025, 1458, 1460, 29, 30, 418, 258, 1, 33, -913, -913, 472, 472, 1707, -913, 39, 839, 839, 839, 839, 1278, -913, 1, 885, 1359, 1361, 909, 1338, 422, 1, 677, 677, 677, 677, 1343, 916, 1, 1, 926, 44, 45, 1673, 1520, 1994, 1521, -913, -913, 1292, 1294, 966, 760, 420, 1620, 973, 455, 1296, 1298, 455, 1195, 1197, 1198, -913, 2, -913, 2006, 472, 472, 1518, 124, 1519, 455, 122, 455, 760, 455, 1863, 124, 1356, 1358, -882, -882, 682, 682, 974, -882, 1360, 1362, 576, 1033, 1035, 1, -882, 1802, 682, 1805, 1803, 678, 1806, -216, 975, 1171, 1173, 1172, 1174, 976, 1988, 1036, 655, 655, 29, 30, 1905, 295, 298, 33, -882, -882, 1133, 979, 655, 1133, 39, 1037, 1133, 1906, 1038, 1574, 1625, 1411, 1412, 1044, 1133, 1577, 707, 1133, 760, 1045, 201, 1578, 1077, 1113, 1083, 1089, 1095, 1579, 44, 45, 1112, 1115, 1860, 1192, 1119, 540, 1120, 1121, 52, 695, 1255, 571, 1153, 1139, 1150, 1141, 1151, 401, 1874, 514, 1142, 1154, 572, 753, 753, 753, 753, 753, 753, 753, 753, 1155, 1982, 1156, 1985, 1201, 1930, 1973, 474, 474, 588, 1650, 1013, 1190, 1654, 989, 990, 991, 992, 1214, 1267, 1413, 418, 1414, 213, 1415, 393, 418, 1996, 1018, 1998, 147, 148, -216, 1032, 1034, 1416, 1417, 1418, -216, 1430, 760, 1431, 1447, 1020, 1249, 1455, 1924, 1925, 29, 30, 1928, 1456, 1474, 33, 1494, 2084, -734, 2087, 1, -737, 39, 1559, 1560, 1561, 1562, 1581, 1563, 794, 1582, 1564, 474, 1586, 1587, 1613, 1596, 1597, 1612, 1025, 1614, 1616, 1783, 1621, 1404, 2, 44, 45, 753, 678, 1025, 678, 1629, 418, 122, 1630, 1631, 124, 124, 1659, 124, 1635, -1019, 541, -1019, 1655, 426, 1676, 400, 1688, 1677, 1828, 150, 1690, 1215, 1692, 1693, 2143, 1703, 1735, 698, 1704, 1705, 420, 1711, 472, 2123, 472, 1715, 1716, 839, 580, 29, 30, 1076, 1708, 1983, 33, 1986, 1717, 422, 1722, 474, 474, 39, 1729, 474, 474, 474, 1738, 1743, 472, 1745, 472, 124, 1767, 682, 1771, 678, 1785, 1790, 695, 1997, 1799, 1999, 1821, -740, 1822, 44, 45, 2144, 1823, 1830, 1824, 1825, 1826, 1133, 1133, 1133, 1133, 1516, 571, 655, 1851, 1852, 1857, 1133, 1133, 1861, 1133, 1875, 1133, 572, 1878, 1879, 1213, 1882, 2065, 1889, 1884, 1886, 1888, 1890, 1133, 1892, 1, 455, 455, 29, 30, 1897, 1898, 1153, 33, 1899, 1638, 1900, 1901, 961, 1912, 39, 1192, 1913, 1968, 1916, 2022, 1917, 2022, 1013, 1922, 2, 580, 455, 455, -231, 1013, -882, -882, 1013, 122, 1972, -882, 695, 1975, 44, 45, 1979, 418, -882, 556, 1976, 1980, 1984, 2008, 455, 455, 2035, -1039, -1039, 455, 455, 2023, -1039, 455, 455, 1987, 1989, 2028, 2037, 2038, 1025, 2039, -882, -882, 2072, 29, 30, 29, 30, 2054, 33, 2040, 33, 474, 474, 2042, 2043, 39, 2048, 39, 695, 1908, 760, 1911, 2049, 2050, 2051, 2055, 2056, 2057, 677, 2058, 455, 677, 455, 2073, 2097, 1919, 1921, 2104, 2110, 44, 45, 44, 45, 2113, 2108, 472, 472, 472, 472, 472, 839, 52, 839, 682, 53, 682, 1514, 2109, 2066, 472, 472, 472, 472, 936, 420, 2111, 2119, 2112, 420, 677, 1133, 2137, 2138, 2125, 2124, 2130, 1025, 2149, 2141, 655, 1, 655, 2088, 677, 677, 677, 677, -958, 2153, 2156, 2162, 1153, 1638, 2163, 745, 19, 20, 2164, 2173, 2174, 58, 2177, 2175, 957, 2178, 2, 1657, 2022, 1658, 2022, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 2180, 2158, 682, 1797, 958, 29, 30, 959, 472, 472, 33, 420, 960, 1464, 963, 1133, 1133, 39, 1509, 1133, 1419, 1133, 115, 690, 1133, 1342, 29, 30, 655, 420, 691, 33, 29, 30, 29, 30, 1499, 33, 39, 33, 58, 44, 45, 1638, 39, 1153, 39, 152, 1775, 1153, 894, 52, 2022, 2022, 1240, 2022, 886, 2022, 580, 1991, 623, 1133, 44, 45, 58, 728, 2126, 58, 44, 45, 44, 45, 52, 259, 58, 1215, 1656, 294, 1022, 283, 671, 58, 58, 285, 1153, 1638, 2147, 287, 568, 1133, 297, 1013, 1013, 1013, 58, 2022, 2022, 387, 2022, 1967, 779, 1153, 0, 0, 0, 0, 0, 0, 0, 58, 400, 0, 0, 0, 2022, 0, 0, 412, 1300, 1302, 2046, 1304, 412, 259, 0, 412, 0, 0, 0, 2053, 0, 2022, 0, 0, 0, 259, 0, 58, 412, 259, 412, 0, 412, 0, 0, 0, 1364, 1366, 1368, 1370, 0, 0, 0, 0, 705, 705, 0, 705, 705, 0, 0, 0, 705, 705, 705, 705, 0, 725, 259, 259, 0, 0, 0, 729, 0, 0, 0, 745, 0, 0, 0, 412, 0, 0, 0, 0, 2062, 2064, 0, 422, 422, 0, 0, 0, 0, 563, 0, 19, 20, 1013, 19, 20, 474, 474, 58, 420, 0, 0, 0, 0, 420, 0, -458, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 29, 30, 0, 29, 30, 33, 928, 931, 33, 0, 0, 0, 39, 0, 0, 39, 627, 631, 848, 0, 852, 0, 259, 0, 0, 259, 259, 651, 0, 474, 474, 0, 928, 931, 0, 58, 44, 45, 0, 44, 45, 0, 0, 0, 0, 58, 259, 58, 420, 1148, 0, 0, 1619, 0, 928, 931, 29, 30, 0, 928, 931, 33, 422, 928, 931, 259, 0, 0, 39, 0, 0, 259, 0, 0, 705, 705, 705, 705, 705, 705, 705, 705, 412, 0, 0, 0, 0, 0, 0, 420, 0, 0, 44, 45, 1807, 455, 0, 1192, 0, 0, -458, -458, 52, 0, 0, 868, 0, 0, 0, 0, -458, 0, 55, 0, 0, 0, 572, 1013, 1013, -458, -458, -458, -458, -458, 1013, 1013, 0, 0, 1013, 1013, 0, 0, 0, 0, 0, 0, 0, 1656, 0, 58, 1022, 0, 0, 0, 412, 0, 412, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 39, 677, 677, 0, 0, 455, 455, 0, 705, 455, 455, 455, 0, 677, 0, 0, 58, 0, 412, 58, 0, 0, 259, 58, 44, 45, 0, 0, 888, 929, 932, 0, 58, 259, 0, 58, 172, 0, 406, 1066, 0, 0, 420, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 55, 55, 929, 932, 0, 0, 0, 0, 0, 0, 412, 412, 0, 0, 0, 58, 58, 0, 0, 1, 0, 0, 412, 0, 929, 932, 0, 967, 0, 929, 932, 0, 259, 929, 932, 0, 412, 412, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1117, 0, 0, 0, 0, 474, 122, 474, 58, 0, 0, 412, 412, 0, 0, 0, 412, 412, 0, 0, 412, 412, 0, 0, 0, 0, 627, 0, 651, 627, 0, 474, 0, 474, 0, 259, 0, 0, 259, 0, 0, 0, 0, 0, 29, 30, 455, 455, 0, 33, 422, 0, 0, 0, 58, 0, 39, 0, 0, 412, 0, 412, 0, 0, 58, 412, 0, 0, 0, 0, 29, 30, 1013, 0, 0, 33, 574, 0, 0, 0, 44, 45, 39, 0, 58, 0, 0, 58, 0, 58, 52, 58, 0, 53, 1470, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 44, 45, 1936, 1940, 0, 1946, 1950, 0, 0, 0, 1954, 1958, 1962, 1966, 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 172, 0, 33, 0, 0, 0, 0, 0, 0, 39, 172, 0, 55, 0, 0, 0, 0, 0, 677, 0, 627, 631, 1177, 1181, 0, 0, 1656, 1022, 0, 651, 651, 651, 651, 44, 45, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 861, 0, 0, 627, 0, 0, 0, 0, 1013, 1013, 259, 259, 259, 0, 0, 58, 474, 474, 474, 474, 474, 412, 19, 20, 1, 0, 0, 0, 0, 259, 474, 474, 474, 474, 29, 30, 259, 259, 412, 33, 259, 259, 0, 0, 0, 0, 39, 412, 0, 2, 58, 0, 29, 30, 0, 0, 0, 33, 122, 58, 0, 0, 651, 0, 39, 0, 0, 0, 0, 651, 44, 45, 651, 0, 707, 707, 707, 707, 707, 707, 707, 707, 422, 0, 862, 0, 422, 0, 44, 45, 0, 0, 0, 0, 574, 0, 29, 30, 52, 474, 474, 33, 0, 0, -458, -458, 0, 0, 39, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, -458, -458, -458, 1471, -458, -458, -458, -458, -458, 1, 0, 0, 0, 44, 45, 0, 0, 0, 0, 0, 0, 677, 0, 677, 928, 931, 53, 574, 928, 931, 422, 0, 0, 58, 2, 0, 58, 58, 58, 0, 0, 0, 1497, 194, 195, 196, 0, 0, 422, 707, 0, 0, 0, 0, 0, 628, 632, 455, 455, 412, 412, 58, 0, 0, 0, 0, 0, 574, 58, 0, 0, 1, 1013, 1013, 0, 0, 259, 58, 0, 0, 0, 29, 30, 0, 58, 0, 33, 259, 0, 412, 677, 58, 0, 39, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 455, 455, 0, 0, 0, 0, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, 0, 58, 0, 67, 0, 0, 0, 1572, 0, 58, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 39, 0, 0, 58, 412, 0, 0, 0, 0, 0, 0, 58, 58, 0, 0, 0, 412, 0, 0, 0, 0, 0, 58, 0, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 1610, 53, 0, 0, 0, 0, 0, 651, 259, 651, 0, 0, 0, 0, 0, 259, 929, 932, 0, 0, 929, 932, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 422, 0, 0, 0, 0, 422, 67, 0, 0, 0, 0, 0, 0, 67, 67, 0, 0, 412, 412, 0, 0, 412, 412, 412, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 1204, 0, 0, 0, 58, 412, 0, 0, 0, 58, 0, 0, 0, 0, 0, 58, 0, 0, 487, 0, 0, 58, 1686, 0, 0, 0, 1204, 58, 0, 1204, 487, 0, 0, 422, 487, 0, 0, 0, 0, 1594, 0, 0, 1600, 0, 1706, 651, 0, 0, 651, 0, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 0, 0, 628, 0, 0, 0, 0, 0, 0, 422, 0, 89, 0, 0, 0, 1641, 0, 0, 0, 0, 0, 455, 0, 455, 651, 0, 0, 0, 0, 1177, 1181, 1177, 1181, 0, 0, 0, 0, 0, 651, 651, 651, 651, 456, 0, 0, 456, 0, 455, 0, 455, 378, 0, 627, 0, 627, 0, 412, 412, 456, 0, 456, 259, 456, 259, 132, 0, 574, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 58, 0, 0, 259, 412, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 165, 184, 198, 0, 0, 0, 259, 574, 67, 236, 67, 89, 0, 259, 0, 0, 574, 0, 89, 89, 0, 0, 0, 574, 0, 0, 0, 0, 422, 0, 574, 259, 651, 628, 632, 1178, 1182, 0, 259, 651, 0, 0, 259, 651, 558, 0, 0, 0, 0, 198, 405, 407, 409, 410, 0, 0, 928, 931, 0, 478, 0, 0, 478, 628, 0, 0, 0, 0, 0, 977, 0, -641, 0, 0, 0, 478, 0, 478, 0, 478, 0, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -641, 574, 0, 0, 0, 0, 539, 407, 409, -641, -641, -641, 0, 0, 928, 931, 0, 0, 0, 0, 0, 0, 0, 455, 455, 455, 455, 455, 0, 0, 0, 0, 0, 87, 1782, 0, 0, 455, 455, 455, 455, 0, 0, 0, 569, 584, 0, -641, -641, 487, 0, 0, -641, 0, 0, 0, 0, 0, 0, -641, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, -641, -641, 0, 87, 0, 58, 58, 621, 0, 0, -641, 0, 0, -641, 0, 0, 978, 0, 976, -641, 184, 412, 0, 455, 455, 412, 0, 0, 0, 487, 696, 0, 89, 0, 87, 87, 0, 0, 0, 0, 0, 0, 87, 0, 87, 0, 0, 0, 0, 0, 0, 87, 87, 0, 0, 558, 0, 558, 0, 0, 929, 932, 0, 0, 0, 0, 0, 651, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 412, 412, 0, 456, 456, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 962, 0, 0, 0, 0, 929, 932, 0, 0, 0, 0, 0, 0, 0, 456, 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 405, 407, 409, 0, 0, 0, 0, 0, 456, 456, 0, 412, 412, 456, 456, 0, 0, 456, 456, 1668, 0, 0, 0, 1907, 869, 1910, 1670, 0, 0, 0, 0, 478, 0, 58, 664, 0, 0, 0, 0, 1918, 1920, 0, 132, 0, 1835, 1839, 87, 259, 651, 87, 0, 0, 0, 651, 651, 0, 456, 1594, 456, 0, 1600, 0, 1012, 0, 0, 0, 651, 0, 1641, 651, 0, 478, 478, 0, 0, 0, 943, 651, 0, 0, 954, 0, 87, 478, 0, 0, 0, 0, 0, 0, 0, 77, 165, 0, 0, 87, 0, 478, 478, 558, 0, 0, 0, 67, 0, 87, 0, 87, 0, 0, 0, 0, 58, 0, 0, 0, 869, 0, 0, 478, 478, 0, 0, 0, 478, 478, 0, 0, 478, 478, 0, 378, 198, 198, 198, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 58, 0, 0, 412, 198, 198, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 1595, 0, 0, 1601, 478, 58, 478, 0, 0, 1059, 0, 1068, 77, 0, 0, 83, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 409, 0, 0, 77, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1642, 900, 0, 0, 0, 0, 0, 0, 87, 0, 0, 412, 0, 0, 1178, 1182, 1178, 1182, 928, 931, 0, 928, 931, 0, 0, 0, 259, 651, 0, 0, 490, 0, 928, 931, 928, 931, 0, 628, 0, 628, 2045, 0, 490, 412, 0, 412, 490, 0, 58, 2052, 87, 0, 0, 378, 0, 0, 0, 378, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 412, 0, 412, 0, 1012, 0, 83, 83, 0, 0, 487, 1012, 0, 0, 1012, 0, 0, 0, 0, 574, 0, 487, 0, 0, 0, 1193, 1835, 1839, 0, 0, 0, 696, 928, 931, 378, 651, 651, 2061, 2063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0, 1223, 0, 0, 0, 1223, 0, 0, 0, 491, 378, 0, 0, 491, 0, 0, 0, 0, 378, 0, 87, 87, 87, 87, 869, 87, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 87, 87, 87, 0, 0, 0, 412, 0, 412, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 87, 77, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0, 929, 932, 0, 929, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 932, 929, 932, 0, 0, 0, 0, 0, 0, 0, 664, 664, 664, 664, 0, 0, 0, 0, 0, 412, 412, 412, 412, 412, 58, 0, 58, 0, 0, 0, 0, 0, 0, 412, 412, 412, 412, 0, 0, 0, 83, 1012, 0, 558, 0, 0, 0, 0, 456, 1424, 83, 0, 83, 0, 0, 0, 869, 0, 0, 0, 0, 0, 0, 165, 869, 1438, 0, 0, 929, 932, 0, 0, 1445, 348, 0, 869, 0, 1453, 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 87, 419, 0, 0, 490, 0, 412, 412, 0, 0, 0, 0, 0, 0, 0, 490, 1012, 0, 1012, 0, 132, 0, 456, 456, 0, 0, 456, 456, 456, 1482, 0, 0, 0, 0, 584, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 0, 419, 0, 490, 0, 0, 0, 0, 0, 407, 1791, 0, -630, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, 0, 882, 0, 0, 0, 574, 0, 0, 943, 0, 0, -630, 882, 0, 0, 0, 0, 0, 0, 0, -630, -630, -630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 1836, 1840, 0, 0, 0, 0, 478, 478, 558, 0, 478, 478, 478, 632, 0, 0, 632, 1556, 405, 0, 0, -630, -630, 0, 632, 0, -630, 882, 409, 0, 0, 0, 0, -630, 378, 378, 456, 456, 0, 0, 0, 419, 0, 0, 0, 710, 713, 715, 0, 0, 419, 0, 0, 0, 0, 0, 419, -630, -630, 0, 0, 0, 736, 0, 1484, 0, 87, -630, 0, 348, -630, 0, 0, 1792, 0, 976, -630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 87, 0, 0, 419, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 378, 478, 478, 0, 1012, 77, 0, 0, 1012, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 869, 0, 0, 869, 0, 1682, 0, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 0, 0, 664, 0, 0, 664, 0, 83, 0, 0, 0, 311, 0, 0, 1135, 0, 0, 312, 313, 314, 0, 0, 0, 0, 632, 632, 0, 0, 0, 0, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 664, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 664, 664, 664, 664, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1168, 0, 0, 0, 419, 331, 332, 1731, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 490, 0, 0, 0, 0, 456, 456, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 0, 87, 0, 87, 0, 0, 0, 558, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1763, 378, 0, 0, 456, 456, 1012, 405, 1012, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 882, 0, 0, 0, 1012, 0, 0, 0, 0, 0, 0, 882, 0, 0, 1776, 0, 584, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 478, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 348, 0, 0, 0, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 419, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 478, 0, 405, 0, 348, 0, 0, 0, 0, 0, 419, 419, 419, 419, 419, 419, 419, 0, 0, 419, 419, 584, 419, 419, 419, 419, 419, 419, 419, 419, 0, 348, 0, 0, 0, 0, 0, 0, 0, 348, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 0, 348, 0, 0, 0, 558, 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 558, 558, 0, 0, 0, 0, 0, 378, 0, 0, 0, 419, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 456, 1894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 127, 0, 0, 0, 0, 0, 1012, 235, 0, 0, 0, 456, 0, 456, 0, 0, 0, 0, 0, 419, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 0, 0, 419, 0, 0, 0, 0, 0, 421, 0, 0, 419, 664, 664, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 1135, 664, 87, 0, 664, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 1135, 0, 419, 0, 419, 0, 0, 0, 478, 0, 478, 0, 537, 869, 0, 0, 0, 0, 0, 0, 0, 0, 378, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 478, 0, 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 0, 0, 783, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 601, 0, 0, 603, 0, 0, 558, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 456, 456, 456, 456, 0, 0, 127, 0, 0, 0, 0, 0, 0, 456, 456, 456, 456, 0, 0, 182, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 558, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 711, 714, 716, 0, 0, 421, 0, 348, 348, 0, 0, 421, 0, 0, 0, 0, 0, 737, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 456, 456, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 478, 478, 478, 478, 306, 0, 1, 307, 107, 0, 419, 0, 419, 478, 478, 478, 478, 1135, 1135, 1135, 1135, 0, 421, 1135, 421, 127, 0, 664, 664, 0, 1135, 2, 1135, 0, 419, 378, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 87, 0, 0, 419, 0, 378, 0, 419, 421, 0, 348, 0, 0, 0, 419, 0, 0, 0, 419, 127, 0, 311, 0, 0, 0, 0, 0, 312, 313, 0, 0, 0, 0, 0, 478, 478, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 378, 235, 318, 319, 320, 321, 322, 323, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 712, 0, 0, 0, 0, 0, 0, 0, 0, 363, 331, 332, 0, 0, 0, 1145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 127, 127, 127, 127, 0, 1017, 0, 0, 603, 421, 0, 0, 0, 0, 782, 0, 0, 0, 0, 127, 127, 127, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 1135, 0, 0, 127, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1135, 0, 0, 1135, 0, 1135, 0, 0, 1135, 0, 0, 0, 1135, 0, 0, 421, 1274, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 1135, 0, 0, 658, 1306, 1310, 1314, 1318, 1322, 0, 0, 1331, 0, 0, 419, 0, 348, 1274, 0, 0, 0, 419, 0, 419, 0, 0, 0, 0, 1135, 235, 0, 0, 1372, 1376, 1380, 1384, 1388, 0, 0, 1331, 419, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 366, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 419, 421, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 421, 421, 421, 421, 421, 421, 421, 0, 0, 421, 421, 0, 421, 421, 421, 421, 421, 421, 421, 421, 0, 366, 0, 0, 0, 0, 0, 0, 0, 366, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 1144, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 419, 419, 419, 0, 0, 0, 0, 0, 0, 421, 421, 348, 0, 0, 0, 0, 419, 419, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 419, 419, 0, 419, 419, 0, 0, 0, 419, 419, 419, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 127, 0, 0, 1024, 421, 0, 421, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 601, 0, 603, 127, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 419, 0, 421, 0, 0, 0, 0, 1282, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1305, 1309, 1313, 1317, 1321, 0, 1109, 1330, 1336, 1617, 0, 0, 0, 754, 0, 421, 1347, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1371, 1375, 1379, 1383, 1387, 0, 0, 1330, 1400, 1644, 0, 0, 658, 0, 0, 0, 1651, 0, 0, 0, 0, 0, 0, 0, 0, 348, 348, 0, 419, 419, 419, 419, 419, 419, 419, 419, 127, 127, 0, 0, 0, 0, 0, 0, 658, 658, 658, 658, 0, 0, 1331, 0, 1331, 0, 0, 421, 0, 0, 0, 419, 419, 0, 0, 0, 0, 402, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 421, 0, 1245, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 419, 0, 0, 0, 419, 419, 0, 0, 0, 0, 366, 366, 0, 0, 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1283, 0, 582, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 601, 0, 603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, 0, 0, 0, 2, 756, 0, 0, 1348, 0, 0, 0, 0, 0, 0, 421, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 311, 693, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 421, 0, 348, 0, 421, 315, 316, 366, 0, 0, 0, 421, 0, 0, 0, 421, 0, 0, 0, 317, 348, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 473, 0, 0, 473, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 473, 1736, 473, 0, 473, 1737, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 1144, 0, 0, 0, 348, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 858, 1282, 0, 0, 0, 0, 863, 0, 1347, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1330, 0, 1330, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 1024, 315, 316, 39, 656, 0, 0, 0, 0, 0, 940, 0, 421, 0, 0, 317, 421, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 127, 0, 326, 327, 895, 1723, 0, 896, 739, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 1016, 0, 0, 1021, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0, 0, 0, 658, 0, 0, 658, 421, 0, 366, 0, 0, 0, 0, 421, 658, 421, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 582, 0, 421, 0, 0, 0, 1636, 1637, 0, 0, 0, 0, 0, 658, 0, 1283, 127, 0, 0, 1649, 0, 0, 1348, 0, 1653, 0, 0, 658, 658, 658, 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 1929, 0, 0, 0, 0, 1932, 1934, 1938, 1942, 1944, 1948, 0, 0, 0, 1952, 1956, 1960, 1964, 0, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 0, 0, 0, 0, 693, 0, 0, 0, 0, 0, 693, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 0, 0, 0, 473, 473, 0, 0, 473, 473, 0, 0, 0, 0, 0, 0, 1010, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 421, 421, 421, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 421, 421, 0, 473, 0, 473, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 421, 421, 0, 421, 421, 0, 0, 0, 421, 421, 421, 421, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 0, 0, 0, 0, 127, 656, 656, 656, 656, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 693, 0, 0, 0, 0, 0, 0, 1444, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1168, 0, 0, 0, 0, 331, 332, 1741, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 366, 0, 421, 421, 421, 421, 421, 421, 421, 421, 0, 0, 0, 0, 0, 1480, 1010, 0, 0, 0, 582, 0, 0, 1010, 0, 0, 1010, 1024, 0, 0, 0, 0, 0, 421, 421, 0, 940, 0, 0, 0, 1723, 0, 0, 421, 0, 1931, 1933, 1937, 1941, 1943, 1947, 0, 0, 0, 1951, 1955, 1959, 1963, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 421, 421, 0, 0, 0, 0, 0, 0, 0, 658, 658, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 658, 658, 0, 0, 658, 0, 0, 0, 0, 0, 402, 0, 658, 0, 0, 658, 0, 0, 0, 582, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1933, 1937, 1943, 1947, 1951, 1955, 1959, 1963, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 366, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1926, 0, 2, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 473, 0, 1649, 0, 0, 1653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 693, 0, 693, 0, 0, 0, 311, 0, 0, 1010, 0, 1010, 312, 313, 314, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 1024, 473, 473, 0, 0, 473, 473, 473, 326, 327, 328, 1024, 0, 329, 1167, 330, 0, 0, 1736, 0, 0, 0, 1744, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 658, 658, 658, 658, 0, 0, 658, 0, 0, 0, 658, 658, 0, 658, 0, 658, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1010, 0, 658, 656, 0, 0, 656, 0, 0, 0, 0, 0, 2030, 2031, 0, 656, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 656, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 0, 656, 656, 656, 656, 317, 0, 224, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 473, 473, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, -453, 330, 649, 0, -453, 0, 258, 0, 650, 331, 332, 75, 333, 334, 335, 336, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 693, 0, 0, 515, 0, 0, 0, 1766, 0, 0, 658, 0, 0, 0, 0, 1010, 0, 0, 0, 658, 118, 658, 1010, 0, 0, 0, 1010, 0, 0, 0, 0, 0, 0, 0, 0, 1444, 0, 582, 0, 0, 1779, 0, 0, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, 265, 75, 0, 0, 0, 0, 0, 0, 75, 75, 0, 1024, 0, 0, 658, 658, 0, 0, 658, 0, 658, 0, 0, 658, 0, 0, 389, 658, 0, 0, 0, 0, 0, 0, 2128, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 488, 0, 1024, 0, 0, 0, 0, 858, 0, 0, 658, 0, 488, 2, 0, 582, 488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, 265, 265, 0, 0, 0, 0, 311, 0, 2171, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 1633, 0, 1168, 0, 0, 0, 1010, 331, 332, 840, 333, 334, 335, 336, 618, 0, 0, 265, 265, 265, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 473, 473, 0, 0, 180, 265, 75, 0, 0, 0, 0, 0, 0, 0, 0, 875, 515, 0, 0, 1010, 884, 1010, 0, 0, 721, 0, 0, 0, 0, 891, 721, 0, 898, 0, 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 949, 693, 693, 0, 1974, 0, 965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1010, 0, 0, 0, 0, 656, 656, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 656, 656, 0, 0, 656, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 656, 1016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 0, 0, 0, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 880, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 224, 0, 0, 224, 0, 224, 579, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 0, 121, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 265, 0, 0, 265, 0, 0, 0, 0, 0, 185, 133, 0, 0, 0, 233, 0, 0, 0, 0, 92, 1010, 0, 0, 0, 0, 0, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 473, 0, 473, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 0, 399, 0, 0, 0, 0, 473, 0, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 656, 656, 656, 0, 0, 656, 0, 0, 0, 656, 656, 0, 656, 0, 656, 1149, 0, 0, 0, 0, 742, 536, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 265, 265, 265, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, 0, 265, 265, 265, 0, 0, 180, 0, 0, 0, 0, 0, 1207, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 840, 840, 840, 1220, 1230, 744, 0, 1220, 1230, 0, 0, 0, 0, 0, 1207, 133, 0, 1207, 0, 0, 0, 0, 0, 423, 423, 224, 1251, 0, 185, 265, 0, 0, 0, 0, 0, 0, 265, 0, 697, 265, 92, 742, 0, 1136, 0, 0, 0, 0, 0, 473, 473, 473, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 473, 473, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 1175, 1179, 0, 0, 0, 0, 656, 0, 656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 515, 515, 473, 473, 0, 0, 0, 0, 0, 656, 656, 515, 0, 656, 0, 656, 0, 0, 656, 0, 0, 0, 656, 0, 579, 0, 0, 0, 0, 0, 0, 0, 1435, 579, 0, 0, 0, 0, 0, 870, 579, 0, 0, 1435, 118, 744, 0, 579, 0, 0, 0, 0, 0, 0, 0, 656, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 0, 0, 944, 0, 0, 952, 0, 0, 0, 579, 224, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 1576, 0, 0, 1147, 579, 0, 1576, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 1165, 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 663, 663, 663, 663, 0, 0, 0, 133, 133, 133, 133, 0, 0, 0, 265, 265, 265, 0, 0, 0, 0, 0, 618, 0, 0, 0, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 742, 0, 0, 626, 0, 1060, 0, 1069, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1071, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 1165, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 552, 1281, 0, 0, 423, 224, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 265, 0, 33, 265, 0, 0, 265, 0, 251, 39, 252, 0, 0, 0, 1334, 0, 0, 0, 0, 1149, 0, 0, 1346, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 1398, 0, 265, 0, 0, 0, 0, 0, 1191, 0, 0, 258, 0, 0, 0, 697, 265, 265, 265, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 265, 1225, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1672, 0, 0, 618, 870, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1698, 0, 0, 0, 0, 0, 0, 1698, 0, 1592, 0, 0, 1598, 0, 0, 0, 0, 0, 0, 0, 0, 1615, 0, 0, 0, 265, 265, 0, 0, 0, 0, 0, 265, 265, 0, 0, 265, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1639, 0, 0, 0, 0, 0, 840, 840, 0, 0, 0, 0, 0, 0, 1175, 1179, 1175, 1179, 0, 0, 0, 0, 423, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 870, 1425, 0, 0, 0, 0, 0, 870, 0, 0, 0, 0, 0, 0, 0, 870, 1439, 0, 0, 0, 0, 0, 0, 1446, 0, 0, 870, 121, 133, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 1795, 423, 1795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 1479, 0, 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 944, 0, 0, 0, 0, 663, 0, 0, 663, 1603, 1605, 0, 1608, 0, 0, 0, 0, 0, 264, 0, 1618, 0, 0, 0, 0, 0, 0, 0, 1627, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 265, 0, 0, 579, 0, 663, 0, 944, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 1165, 0, 663, 663, 663, 663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1662, 0, 1666, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 515, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 224, 0, 0, 423, 0, 0, 0, 0, 579, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 265, 265, 0, 0, 0, 0, 265, 265, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 617, 0, 0, 264, 264, 264, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 720, 0, 0, 0, 0, 0, 720, 0, 870, 0, 0, 870, 0, 1225, 0, 0, 0, 743, 0, 0, 0, 1689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 744, 0, 0, 0, 0, 0, 1165, 0, 557, 0, 0, 1833, 1837, 0, 0, 0, 0, 0, 0, 0, 0, 1846, 0, 1849, 1592, 0, 0, 1598, 0, 0, 0, 0, 0, 0, 0, 1639, 0, 0, 1862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 265, 265, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, 579, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 557, 578, 0, 0, 0, 250, 557, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 265, 265, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 423, 0, 423, 0, 0, 253, 0, 578, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 1755, 264, 868, 0, 0, 0, 0, 0, 264, 1432, 0, 264, 0, 572, 1762, 0, 0, 0, 557, 0, 557, 1765, 0, 744, 0, 0, 663, 663, 0, 399, 0, 0, 1165, 0, 1165, 0, 0, 1165, 663, 0, 0, 0, 0, 1853, 1856, 0, 1858, 0, 0, 0, 1446, 0, 586, 0, 0, 0, 1165, 0, 1869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2001, 2002, 2003, 2004, 0, 0, 2005, 0, 0, 0, 1833, 1837, 0, 1846, 1165, 1849, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 2014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1819, 0, 0, 0, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 264, 264, 264, 267, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 1219, 1229, 743, 0, 1219, 1229, 0, 0, 0, 557, 0, 1206, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 1250, 0, 0, 264, 0, 0, 0, 0, 0, 0, 264, 0, 0, 264, 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2005, 0, 0, 0, 0, 0, 0, 0, 0, 2083, 0, 2086, 0, 0, 0, 0, 1895, 1165, 557, 0, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 1165, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 1858, 0, 2012, 0, 0, 0, 0, 0, 0, 581, 0, 2018, 0, 0, 0, 0, 0, 578, 2115, 2116, 0, 0, 2083, 0, 2086, 0, 0, 2120, 0, 0, 0, 2122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 1199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 620, 742, 0, 267, 267, 267, 0, 578, 0, 1765, 2122, 0, 0, 0, 578, 0, 0, 0, 0, 743, 0, 578, 0, 0, 267, 0, 0, 0, 870, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 2160, 0, 0, 1011, 0, 723, 1011, 0, 0, 0, 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1146, 0, 578, 0, 0, 0, 0, 0, 0, 2075, 2078, 0, 1165, 0, 1165, 0, 1164, 663, 1165, 663, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 264, 264, 264, 0, 0, 0, 0, 0, 617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 581, 741, 0, 0, 0, 0, 0, 1165, 0, 0, 1165, 0, 0, 0, 0, 1234, 0, 0, 663, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 1164, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 1165, 0, 0, 1280, 0, 0, 0, 0, 0, 0, 1011, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 264, -873, 0, 264, -873, -873, -873, 581, -873, -873, 1332, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 557, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 0, 267, 0, 0, 267, 1396, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 1011, 0, 0, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, -873, 0, 0, 0, 0, 0, -873, -873, -873, 0, 0, 0, 264, 0, 264, 0, 0, 0, 0, -873, 0, 0, 0, 0, 0, 0, 0, 0, 1671, 0, 0, 617, 0, -873, 741, 0, 0, -873, -873, -873, -873, -873, -873, -873, -873, 0, 0, 0, 0, 0, 0, 1697, 557, -873, -873, 0, 0, 0, 1697, 0, -873, -873, 0, -873, -873, -873, 0, 0, -873, -873, 0, -873, -873, -873, -873, 0, 264, 264, 0, 0, 0, 0, 0, 264, 264, 0, 0, 264, 264, 0, 0, 0, 1011, 0, 0, 0, 267, 267, 267, 267, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 0, 1222, 1232, 746, 0, 1222, 1232, 0, 0, 0, 0, 0, 1209, 0, 0, 1209, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 267, 0, 0, 0, 0, 0, 0, 267, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1865, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 1011, 0, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 1011, 0, 0, 0, 0, 2, 0, 0, 0, 1602, 1604, 0, 1607, 0, 0, 0, 0, 581, 0, 0, 1146, 0, 0, 1169, 0, 0, 0, 0, 1626, 0, 0, 0, 0, 0, 0, 1164, 1169, 0, 0, 0, 123, 0, 264, 311, 0, 578, 0, 140, 0, 312, 313, 314, 581, 1164, 1169, 0, 0, 0, 1164, 0, 0, 581, 315, 316, 0, 0, 0, 0, 581, 0, 163, 173, 197, 746, 0, 581, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 1660, 0, 1664, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 1866, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 123, 123, 0, 0, 1164, 0, 0, 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, 581, 0, 0, 578, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 264, 264, 0, 0, 1164, 1169, 0, 123, 0, 0, 0, 0, 0, 264, 0, 0, 264, 267, 267, 267, 0, 0, 0, 0, 264, 620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 0, 0, 0, 163, 575, 0, 557, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 1011, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 743, 0, 0, 0, 0, 1164, 0, 1169, 0, 0, 267, 0, 0, 267, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 267, 267, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 267, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 1674, 0, 0, 620, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 264, 264, 557, 0, 557, 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, 267, 267, 0, 557, 557, 0, 0, 267, 267, 0, 0, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 0, 1935, 1939, 0, 1945, 1949, 0, 0, 1829, 1953, 1957, 1961, 1965, 0, 0, 163, 0, 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, 0, 1164, 1169, 1164, 1169, 0, 1164, 1848, 0, 126, 0, 0, 1602, 1855, 1011, 1626, 0, 1169, 0, 0, 0, 0, 0, 0, 0, 1164, 1169, 1626, 123, 123, 123, 123, 0, 123, 0, 0, 123, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 1169, 0, 1164, 0, 1169, 529, 0, 575, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1935, 1939, 1945, 1949, 1953, 1957, 1961, 1965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 267, 0, 557, 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 1187, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 557, 557, 0, 0, 0, 0, 126, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 694, 0, 0, 0, 1169, 0, 1164, 1848, 0, 1169, 1626, 0, 2011, 0, 2013, 581, 0, 0, 0, 0, 1169, 2017, 0, 0, 0, 0, 0, 0, 0, 267, 267, 0, 0, 0, 0, 267, 267, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 267, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 741, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 28, 0, 0, 0, 0, 583, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 163, 0, 575, 0, 0, 0, 0, 0, 0, 575, 0, 41, 0, 0, 575, 0, 0, 0, 126, 746, 0, 44, 45, 46, 47, 48, 49, 0, 2074, 2077, 0, 1164, 1169, 1164, 0, 0, 0, 1164, 1848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 123, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 267, 267, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 1169, 0, 1164, 1848, 0, 0, 0, 2121, 581, 0, 0, 0, 262, 126, 126, 126, 126, 0, 126, 0, 0, 694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 126, 0, 583, 0, 0, 0, 0, 0, 0, 486, 0, 267, 267, 0, 0, 583, 0, 0, 0, 0, 0, 486, 0, 0, 0, 486, 0, 0, 0, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, 0, 0, 0, 0, 694, 0, 0, 616, 0, 0, 262, 262, 262, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 123, 0, 123, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 263, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 649, 0, 1168, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 263, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 879, 263, 0, 0, 0, 263, 0, 0, 0, 0, 0, 879, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 126, 0, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 583, 0, 0, 577, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 262, 123, 263, 262, 0, 263, 263, 263, 123, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 583, 0, 123, 0, 575, 0, 0, 123, 0, 0, 123, 263, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 123, 262, 262, 262, 262, 0, 0, 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 262, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 262, 0, 0, 0, 0, 0, 0, 1218, 1228, 0, 0, 1218, 1228, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 694, 0, 694, 262, 0, 0, 262, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 123, 0, 123, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 1434, 577, 0, 0, 0, 0, 0, 0, 577, 0, 0, 1434, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 268, 268, 268, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 263, 577, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 263, 0, 583, 263, 263, 262, 262, 262, 0, 583, 0, 0, 0, 616, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 583, 0, 583, 0, 0, 583, 0, 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 262, 0, 0, 262, 126, 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 262, 262, 262, 262, 0, 0, 268, 0, 0, 0, 0, 0, 0, 268, 0, 0, 268, 0, 0, 0, 0, 0, 0, 262, 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1696, 0, 0, 0, 0, 0, 0, 1696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 262, 262, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 583, 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 268, 268, 0, 0, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 263, 0, 0, 263, 268, 306, 263, 1, 307, 107, 308, 268, 309, 310, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 263, 0, 263, 0, 262, 0, 0, 577, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 263, 0, 0, 326, 327, 328, 0, 263, 329, 1167, 330, 1866, 0, 1168, 0, 0, 0, 268, 331, 332, 0, 333, 334, 335, 336, 263, 263, 0, 268, 0, 0, 0, 263, 263, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 268, 0, 0, 0, 2, 0, 268, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 0, 0, 326, 327, 328, 0, 263, 329, 739, 330, 0, 0, 0, 268, 0, 0, 268, 331, 332, 268, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 263, 263, 0, 0, 268, 0, 0, 0, 0, 0, 0, 268, 0, 263, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 0, 268, 268, 0, 0, 268, 268, 0, 0, 0, 762, 0, 0, 0, 0, 0, 763, 764, 765, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, -345, -345, 0, 0, 0, -345, 0, 0, 0, 0, 0, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, 766, 0, 0, -345, 1538, -345, -345, 0, 767, 263, 263, 768, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, 0, 0, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, -458, 0, 0, 0, 0, 0, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, -458, 0, -458, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 268, 0, 0, 0, 0, 0, -345, 762, 268, -345, -345, -345, -345, 763, 764, 765, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, 0, -345, 0, 0, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 766, -345, -345, -345, -345, -345, -345, -345, 767, -345, -345, 768, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 0, 0, -450, 1160, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, 0, -450, 268, 268, -450, -450, -450, -450, -450, 0, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, 0, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -304, 306, 0, 1, 307, 107, 308, -304, 309, 310, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 2, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, 0, 311, -304, 0, -304, 0, 0, 312, 313, 314, -304, -304, 0, 0, -304, -304, -304, -304, -304, -304, 315, 316, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, -304, 0, 317, -304, -304, 0, 318, 319, 320, 321, 322, 323, 324, 325, -304, -304, -304, -304, -304, -304, -304, -304, 326, 327, 328, -304, -304, 329, 1248, 330, -304, -304, 1163, -304, -304, -304, -304, 331, 332, -304, 333, 334, 335, 336, -304, -304, -304, -304, -304, -305, 306, 0, 1, 307, 107, 308, -305, 309, 310, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 2, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, 0, 311, -305, 0, -305, 0, 0, 312, 313, 314, -305, -305, 0, 0, -305, -305, -305, -305, -305, -305, 315, 316, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, -305, 0, 317, -305, -305, 0, 318, 319, 320, 321, 322, 323, 324, 325, -305, -305, -305, -305, -305, -305, -305, -305, 326, 327, 328, -305, -305, 329, 1167, 330, -305, -305, 1168, -305, -305, -305, -305, 331, 332, -305, 333, 334, 335, 336, -305, -305, -305, -305, -305, -565, 306, 0, 1, 307, 107, 308, -565, 309, 310, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 2, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, 0, 311, -565, 0, -565, 0, 0, 312, 313, 314, -565, -565, 0, 0, -565, -565, -565, -565, -565, -565, 315, 316, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, -565, 0, 317, -565, -565, 0, 318, 319, 320, 321, 322, 323, 324, 325, -565, -565, -565, -565, -565, -565, -565, -565, 326, 327, 328, -565, -565, 329, -565, 330, -565, -565, -565, -565, 750, -565, 1329, 331, 332, -565, 333, 334, 335, 336, -565, -565, -565, -565, -565, -566, 306, 0, 1, 307, 107, 308, -566, 309, 310, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 2, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, 0, 311, -566, 0, -566, 0, 0, 312, 313, 314, -566, -566, 0, 0, -566, -566, -566, -566, -566, -566, 315, 316, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, -566, 0, 317, -566, -566, 0, 318, 319, 320, 321, 322, 323, 324, 325, -566, -566, -566, -566, -566, -566, -566, -566, 326, 327, 328, -566, -566, 329, -566, 330, -566, -566, -566, -566, 750, -566, 1395, 331, 332, -566, 333, 334, 335, 336, -566, -566, -566, -566, -566, -576, 306, 0, 1, 307, 107, 308, -576, 309, 310, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 2, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, 0, 311, -576, 0, -576, 0, 0, 312, 313, 314, -576, -576, 0, 0, -576, -576, -576, -576, -576, -576, 315, 316, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, -576, 0, 317, -576, -576, 0, 318, 319, 320, 321, 322, 323, 324, 325, -576, -576, -576, -576, -576, -576, -576, -576, 326, 327, 328, -576, -576, 329, -576, 330, -576, -576, 1163, -576, -576, -576, -576, 331, 332, -576, 333, 334, 335, 336, -576, -576, -576, -576, -576, -578, 306, 0, 1, 307, 107, 308, -578, 309, 310, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 2, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, 0, 311, -578, 0, -578, 0, 0, 312, 313, 314, -578, -578, 0, 0, -578, -578, -578, -578, -578, -578, 315, 316, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, -578, 0, 317, -578, -578, 0, 318, 319, 320, 321, 322, 323, 324, 325, -578, -578, -578, -578, -578, -578, -578, -578, 326, 327, 328, -578, -578, 329, 1167, 330, -578, -578, 1168, -578, -578, -578, -578, 331, 332, -578, 333, 334, 335, 336, -578, -578, -578, -578, -578, -577, 306, 0, 1, 307, 107, 308, -577, 309, 310, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 2, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, 0, 311, -577, 0, -577, 0, 0, 312, 313, 314, -577, -577, 0, 0, -577, -577, -577, -577, -577, -577, 315, 316, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, 0, 317, -577, -577, 0, 318, 319, 320, 321, 322, 323, 324, 325, -577, -577, -577, -577, -577, -577, -577, -577, 326, 327, 328, -577, -577, 329, -577, 330, -577, -577, 1163, -577, -577, -577, -577, 331, 332, -577, 333, 334, 335, 336, -577, -577, -577, -577, -577, -338, 1891, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, 0, -338, -338, 0, -338, 0, 0, -338, -338, -338, -338, -338, 0, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, -338, 0, -338, -338, -338, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -342, 1927, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, 0, -342, -342, 0, -342, 0, 0, -342, -342, -342, -342, -342, 0, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, -342, 0, -342, -342, -342, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -332, 306, 0, 1, 307, 107, 308, -332, 309, 310, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 2, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, 0, 311, -332, 0, -332, 0, 0, 312, 313, 314, -332, -332, 0, 0, -332, -332, -332, -332, -332, -332, 315, 316, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, -332, 0, 317, -332, -332, 0, 318, 319, 320, 321, 322, 323, 324, 325, -332, -332, -332, -332, -332, -332, -332, -332, 326, 327, 328, -332, -332, 329, -332, 330, -332, -332, -332, -332, 750, -332, -332, 331, 332, -332, 333, 334, 335, 336, -332, -332, -332, -332, -332, -543, 306, 0, 1, 307, 107, 308, -543, 309, 310, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 2, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, 0, 311, -543, 0, -543, 0, 0, 312, 313, 314, -543, -543, 0, 0, -543, -543, -543, -543, -543, -543, 315, 316, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, -543, 0, 317, -543, -543, 0, 318, 319, 320, 321, 322, 323, 324, 325, -543, -543, -543, -543, -543, -543, -543, -543, 326, 327, 328, -543, -543, 329, -543, 330, -543, -543, -543, -543, 750, -543, -543, 331, 332, -543, 333, 334, 335, 336, -543, -543, -543, -543, -543, -551, 306, 0, 1, 307, 107, 308, -551, 309, 310, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 2, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, 0, 311, -551, 0, -551, 0, 0, 312, 313, 314, -551, -551, 0, 0, -551, -551, -551, -551, -551, -551, 315, 316, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, -551, 0, 317, -551, -551, 0, 318, 319, 320, 321, 322, 323, 324, 325, -551, -551, -551, -551, -551, -551, -551, -551, 326, 327, 328, -551, -551, 329, -551, 330, -551, -551, -551, -551, 750, -551, -551, 331, 332, -551, 333, 334, 335, 336, -551, -551, -551, -551, -551, -544, 306, 0, 1, 307, 107, 308, -544, 309, 310, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 2, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, 0, 311, -544, 0, -544, 0, 0, 312, 313, 314, -544, -544, 0, 0, -544, -544, -544, -544, -544, -544, 315, 316, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, -544, 0, 317, -544, -544, 0, 318, 319, 320, 321, 322, 323, 324, 325, -544, -544, -544, -544, -544, -544, -544, -544, 326, 327, 328, -544, -544, 329, -544, 330, -544, -544, -544, -544, 750, -544, -544, 331, 332, -544, 333, 334, 335, 336, -544, -544, -544, -544, -544, -552, 306, 0, 1, 307, 107, 308, -552, 309, 310, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 2, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, 0, 311, -552, 0, -552, 0, 0, 312, 313, 314, -552, -552, 0, 0, -552, -552, -552, -552, -552, -552, 315, 316, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, -552, 0, 317, -552, -552, 0, 318, 319, 320, 321, 322, 323, 324, 325, -552, -552, -552, -552, -552, -552, -552, -552, 326, 327, 328, -552, -552, 329, -552, 330, -552, -552, -552, -552, 750, -552, -552, 331, 332, -552, 333, 334, 335, 336, -552, -552, -552, -552, -552, -545, 306, 0, 1, 307, 107, 308, -545, 309, 310, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 2, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, 0, 311, -545, 0, -545, 0, 0, 312, 313, 314, -545, -545, 0, 0, -545, -545, -545, -545, -545, -545, 315, 316, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, -545, 0, 317, -545, -545, 0, 318, 319, 320, 321, 322, 323, 324, 325, -545, -545, -545, -545, -545, -545, -545, -545, 326, 327, 328, -545, -545, 329, -545, 330, -545, -545, -545, -545, 750, -545, -545, 331, 332, -545, 333, 334, 335, 336, -545, -545, -545, -545, -545, -553, 306, 0, 1, 307, 107, 308, -553, 309, 310, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 2, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, 0, 311, -553, 0, -553, 0, 0, 312, 313, 314, -553, -553, 0, 0, -553, -553, -553, -553, -553, -553, 315, 316, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, -553, 0, 317, -553, -553, 0, 318, 319, 320, 321, 322, 323, 324, 325, -553, -553, -553, -553, -553, -553, -553, -553, 326, 327, 328, -553, -553, 329, -553, 330, -553, -553, -553, -553, 750, -553, -553, 331, 332, -553, 333, 334, 335, 336, -553, -553, -553, -553, -553, -546, 306, 0, 1, 307, 107, 308, -546, 309, 310, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 2, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, 0, 311, -546, 0, -546, 0, 0, 312, 313, 314, -546, -546, 0, 0, -546, -546, -546, -546, -546, -546, 315, 316, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, -546, 0, 317, -546, -546, 0, 318, 319, 320, 321, 322, 323, 324, 325, -546, -546, -546, -546, -546, -546, -546, -546, 326, 327, 328, -546, -546, 329, -546, 330, -546, -546, -546, -546, 750, -546, -546, 331, 332, -546, 333, 334, 335, 336, -546, -546, -546, -546, -546, -554, 306, 0, 1, 307, 107, 308, -554, 309, 310, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 2, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, 0, 311, -554, 0, -554, 0, 0, 312, 313, 314, -554, -554, 0, 0, -554, -554, -554, -554, -554, -554, 315, 316, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, -554, 0, 317, -554, -554, 0, 318, 319, 320, 321, 322, 323, 324, 325, -554, -554, -554, -554, -554, -554, -554, -554, 326, 327, 328, -554, -554, 329, -554, 330, -554, -554, -554, -554, 750, -554, -554, 331, 332, -554, 333, 334, 335, 336, -554, -554, -554, -554, -554, -340, 2032, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, 0, -340, -340, 0, -340, 0, 0, -340, -340, -340, -340, -340, 0, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, -340, 0, -340, -340, -340, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -339, 2033, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, 0, -339, -339, 0, -339, 0, 0, -339, -339, -339, -339, -339, 0, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, -339, 0, -339, -339, -339, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -345, 762, 0, -345, -345, -345, -345, 763, 764, 765, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, 0, -345, 0, 0, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 766, -345, -345, -345, -345, -345, -345, -345, 1158, -345, -345, 768, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, -458, -458, 0, 0, -458, 0, -458, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -450, 1160, 0, -450, -450, -450, -450, 0, -450, -450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, 0, -450, 0, 0, -450, -450, -450, -450, -450, 0, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, 0, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, -450, -450, 0, -450, -450, -450, 1161, -450, -450, -450, 0, -450, -450, -450, -450, -1093, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 0, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 0, 0, 311, -1093, 0, -1093, 0, 0, 312, 313, 314, -1093, -1093, 0, 0, -1093, -1093, -1093, -1093, -1093, -1093, 315, 316, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 0, -1093, 0, 317, -1093, -1093, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 326, 327, 328, 0, 0, 329, 1167, 330, -1093, 0, 1168, -1093, -1093, 0, -1093, 331, 332, 0, 333, 334, 335, 336, -1237, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, 0, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, 0, 0, 311, -1237, 0, -1237, 0, 0, 312, 313, 314, -1237, -1237, 0, 0, -1237, -1237, -1237, -1237, -1237, -1237, 315, 316, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, 0, -1237, 0, 317, -1237, -1237, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, 326, 327, 328, 0, 0, 329, 1167, 330, 1633, 0, 1168, -1237, -1237, 0, -1237, 331, 332, 0, 333, 334, 335, 336, -1195, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, 0, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, 0, 0, 311, -1195, 0, -1195, 0, 0, 312, 313, 314, -1195, -1195, 0, 0, -1195, -1195, -1195, -1195, -1195, -1195, 315, 316, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, 0, -1195, 0, 317, -1195, -1195, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, 326, 327, 328, 0, 0, 329, 1842, 330, -1195, 0, 1168, -1195, -1195, 0, -1195, 331, 332, 0, 333, 334, 335, 336, -1226, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, -1226, 0, -1226, 0, 0, 312, 313, 314, -1226, -1226, 0, 0, -1226, 33, -1226, -1226, -1226, -1226, 315, 316, 1132, -1226, 646, 647, 648, -1226, -1226, -1226, -1226, 0, -1226, 0, 317, -1226, -1226, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, -1226, -1226, -1226, -1226, -1226, -1226, 326, 327, 328, 0, 0, 329, 1167, 330, 649, 0, 1168, -1226, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -577, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, 0, 311, -577, 0, -577, 0, 0, 312, 313, 314, -577, -577, 0, 0, -577, -577, -577, -577, -577, -577, 315, 316, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, 0, 317, -577, -577, 0, 318, 319, 320, 321, 322, 323, 324, 325, -577, -577, -577, -577, -577, -577, -577, -577, 326, 327, 328, 0, 0, 329, -577, 330, 1162, 0, 1163, -577, -577, 0, -577, 331, 332, 0, 333, 334, 335, 336, -1218, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, 0, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, 0, 0, 311, -1218, 0, -1218, 0, 0, 312, 313, 314, -1218, -1218, 0, 0, -1218, -1218, -1218, -1218, -1218, -1218, 315, 316, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, 0, -1218, 0, 317, -1218, -1218, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, 326, 327, 328, 0, 0, 329, 2079, 330, -1218, 0, 1163, -1218, -1218, 0, -1218, 331, 332, 0, 333, 334, 335, 336, -1219, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 0, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 0, 0, 311, -1219, 0, -1219, 0, 0, 312, 313, 314, -1219, -1219, 0, 0, -1219, -1219, -1219, -1219, -1219, -1219, 315, 316, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 0, -1219, 0, 317, -1219, -1219, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 326, 327, 328, 0, 0, 329, 1167, 330, 2080, 0, 1168, -1219, -1219, 0, -1219, 331, 332, 0, 333, 334, 335, 336, -1213, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, -1213, 0, -1213, 0, 0, 312, 313, 314, -1213, -1213, 0, 0, -1213, 33, -1213, -1213, -1213, -1213, 315, 316, 1132, -1213, 646, 647, 648, -1213, -1213, -1213, -1213, 0, -1213, 0, 317, -1213, -1213, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, -1213, -1213, -1213, -1213, -1213, -1213, 326, 327, 328, 0, 0, 329, 1167, 330, 649, 0, 1168, -1213, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1161, 624, 0, -1161, -1161, -1161, -1161, 0, -1161, -1161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, 0, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, 0, 0, -1161, -1161, 0, -1161, 0, 0, -1161, -1161, -1161, -1161, -1161, 0, 0, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, 0, -1161, 0, -1161, -1161, -1161, 0, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, 0, 0, -1161, 0, -1161, 625, 0, -1161, -1161, -1161, 0, -1161, -1161, -1161, 0, -1161, -1161, -1161, -1161, -1184, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1184, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1184, 33, -1184, -1184, -1184, -1184, 315, 644, 645, 252, 646, 647, 648, -1184, -1184, -1184, -1184, 0, -1184, 0, 317, -1184, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1184, -1184, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1162, 624, 0, -1162, -1162, -1162, -1162, 0, -1162, -1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, 0, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, 0, 0, -1162, -1162, 0, -1162, 0, 0, -1162, -1162, -1162, -1162, -1162, 0, 0, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, 0, -1162, 0, -1162, -1162, -1162, 0, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, 0, 0, -1162, 0, -1162, 625, 0, -1162, -1162, -1162, 0, -1162, -1162, -1162, 0, -1162, -1162, -1162, -1162, -1223, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, -1223, 0, -1223, 0, 0, 312, 313, 314, -1223, -1223, 0, 0, -1223, 33, -1223, -1223, -1223, -1223, 315, 316, 1132, -1223, 646, 647, 648, -1223, -1223, -1223, -1223, 0, -1223, 0, 317, -1223, -1223, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, -1223, -1223, -1223, -1223, -1223, -1223, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1223, -1223, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1239, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, 0, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, 0, 0, 311, -1239, 0, -1239, 0, 0, 312, 313, 314, -1239, -1239, 0, 0, -1239, -1239, -1239, -1239, -1239, -1239, 315, 316, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, 0, -1239, 0, 317, -1239, -1239, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, 326, 327, 328, 0, 0, 329, 0, 330, 1143, 0, -1239, -1239, 750, 0, -1239, 331, 332, 0, 333, 334, 335, 336, -1174, 1170, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1174, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1174, 33, -1174, -1174, -1174, -1174, 315, 644, 645, 252, 646, 647, 648, -1174, -1174, -1174, -1174, 0, -1174, 0, 317, -1174, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1174, -1174, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1178, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1178, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1178, 33, -1178, -1178, -1178, -1178, 315, 644, 645, 252, 646, 647, 648, -1178, -1178, -1178, -1178, 0, -1178, 0, 317, -1178, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1178, -1178, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1173, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1173, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1173, 33, -1173, -1173, -1173, -1173, 315, 644, 645, 252, 646, 647, 648, -1173, -1173, -1173, -1173, 0, -1173, 0, 317, -1173, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1173, -1173, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1177, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1177, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1177, 33, -1177, -1177, -1177, -1177, 315, 644, 645, 252, 646, 647, 648, -1177, -1177, -1177, -1177, 0, -1177, 0, 317, -1177, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1177, -1177, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1080, 1183, 0, -1080, -1080, -1080, -1080, 0, -1080, -1080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, 0, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, 0, 0, -1080, -1080, 0, -1080, 0, 0, -1080, -1080, -1080, -1080, -1080, 0, 0, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, 0, -1080, 0, -1080, -1080, -1080, 0, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, 0, 0, -1080, 0, -1080, -1080, 0, -1080, -1080, -1080, 0, -1080, -1080, -1080, 0, -1080, -1080, -1080, -1080, -1082, 1184, 0, -1082, -1082, -1082, -1082, 0, -1082, -1082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 0, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 0, 0, -1082, -1082, 0, -1082, 0, 0, -1082, -1082, -1082, -1082, -1082, 0, 0, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 0, -1082, 0, -1082, -1082, -1082, 0, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 0, 0, -1082, 0, -1082, -1082, 0, -1082, -1082, -1082, 0, -1082, -1082, -1082, 0, -1082, -1082, -1082, -1082, -1128, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1128, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1128, 33, -1128, -1128, -1128, -1128, 315, 644, 645, 252, 646, 647, 648, -1128, -1128, -1128, -1128, 0, -1128, 0, 317, -1128, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1128, -1128, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1130, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1130, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1130, 33, -1130, -1130, -1130, -1130, 315, 644, 645, 252, 646, 647, 648, -1130, -1130, -1130, -1130, 0, -1130, 0, 317, -1130, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1130, -1130, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1175, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1175, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1175, 33, -1175, -1175, -1175, -1175, 315, 644, 645, 252, 646, 647, 648, -1175, -1175, -1175, -1175, 0, -1175, 0, 317, -1175, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1175, -1175, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1179, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1179, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1179, 33, -1179, -1179, -1179, -1179, 315, 644, 645, 252, 646, 647, 648, -1179, -1179, -1179, -1179, 0, -1179, 0, 317, -1179, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1179, -1179, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1176, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1176, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1176, 33, -1176, -1176, -1176, -1176, 315, 644, 645, 252, 646, 647, 648, -1176, -1176, -1176, -1176, 0, -1176, 0, 317, -1176, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1176, -1176, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1180, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1180, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1180, 33, -1180, -1180, -1180, -1180, 315, 644, 645, 252, 646, 647, 648, -1180, -1180, -1180, -1180, 0, -1180, 0, 317, -1180, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1180, -1180, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1171, 624, 0, -1171, -1171, -1171, -1171, 0, -1171, -1171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, 0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, 0, 0, -1171, -1171, 0, -1171, 0, 0, -1171, -1171, -1171, -1171, -1171, 0, 0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, 0, -1171, 0, -1171, -1171, -1171, 0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, 0, 0, -1171, 0, -1171, 625, 0, -1171, -1171, -1171, 0, -1171, -1171, -1171, 0, -1171, -1171, -1171, -1171, -1172, 624, 0, -1172, -1172, -1172, -1172, 0, -1172, -1172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, 0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, 0, 0, -1172, -1172, 0, -1172, 0, 0, -1172, -1172, -1172, -1172, -1172, 0, 0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, 0, -1172, 0, -1172, -1172, -1172, 0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, 0, 0, -1172, 0, -1172, 625, 0, -1172, -1172, -1172, 0, -1172, -1172, -1172, 0, -1172, -1172, -1172, -1172, -1006, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, 0, 311, -1006, 0, -1006, 0, 0, 312, 313, 314, -1006, -1006, 0, 0, -1006, -1006, -1006, -1006, -1006, -1006, 315, 316, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, -1006, 0, 317, -1006, -1006, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 326, 327, 328, 0, 0, 329, 0, 330, -1006, 0, 1811, 1812, 1023, 0, -1006, 331, 332, 0, 333, 334, 335, 336, -1134, 624, 0, -1134, -1134, -1134, -1134, 0, -1134, -1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, 0, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, 0, 0, -1134, -1134, 0, -1134, 0, 0, -1134, -1134, -1134, -1134, -1134, 0, 0, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, 0, -1134, 0, -1134, -1134, -1134, 0, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, 0, 0, -1134, 0, -1134, 625, 0, -1134, -1134, -1134, 0, -1134, -1134, -1134, 0, -1134, -1134, -1134, -1134, -1135, 624, 0, -1135, -1135, -1135, -1135, 0, -1135, -1135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, 0, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, 0, 0, -1135, -1135, 0, -1135, 0, 0, -1135, -1135, -1135, -1135, -1135, 0, 0, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, 0, -1135, 0, -1135, -1135, -1135, 0, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, 0, 0, -1135, 0, -1135, 625, 0, -1135, -1135, -1135, 0, -1135, -1135, -1135, 0, -1135, -1135, -1135, -1135, -1131, 624, 0, -1131, -1131, -1131, -1131, 0, -1131, -1131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, -1131, 0, -1131, 0, 0, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, -1131, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, 0, -1131, 625, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1008, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, 0, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, 0, 0, 311, -1008, 0, -1008, 0, 0, 312, 313, 314, -1008, -1008, 0, 0, -1008, -1008, -1008, -1008, -1008, -1008, 315, 316, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, 0, -1008, 0, 317, -1008, -1008, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, 326, 327, 328, 0, 0, 329, 0, 330, -1008, 0, -1008, 1992, 1023, 0, -1008, 331, 332, 0, 333, 334, 335, 336, -1002, 1995, 0, -1002, -1002, -1002, -1002, 0, -1002, -1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 0, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 0, 0, -1002, -1002, 0, -1002, 0, 0, -1002, -1002, -1002, -1002, -1002, 0, 0, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 0, -1002, 0, -1002, -1002, -1002, 0, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 0, 0, -1002, 0, -1002, -1002, 0, -1002, -1002, -1002, 0, -1002, -1002, -1002, 0, -1002, -1002, -1002, -1002, -1132, 624, 0, -1132, -1132, -1132, -1132, 0, -1132, -1132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, -1132, 0, -1132, 0, 0, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, -1132, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, 0, -1132, 625, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1133, 624, 0, -1133, -1133, -1133, -1133, 0, -1133, -1133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, 0, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, 0, 0, -1133, -1133, 0, -1133, 0, 0, -1133, -1133, -1133, -1133, -1133, 0, 0, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, 0, -1133, 0, -1133, -1133, -1133, 0, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, 0, 0, -1133, 0, -1133, 625, 0, -1133, -1133, -1133, 0, -1133, -1133, -1133, 0, -1133, -1133, -1133, -1133, -1220, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 0, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 0, 0, 311, -1220, 0, -1220, 0, 0, 312, 313, 314, -1220, -1220, 0, 0, -1220, -1220, -1220, -1220, -1220, -1220, 315, 316, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 0, -1220, 0, 317, -1220, -1220, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 326, 327, 328, 0, 0, 329, 0, 330, -1220, 0, -1220, -1220, -1220, 0, -1220, 331, 332, 0, 333, 334, 335, 336, -1003, 2071, 0, -1003, -1003, -1003, -1003, 0, -1003, -1003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, 0, -1003, -1003, 0, -1003, 0, 0, -1003, -1003, -1003, -1003, -1003, 0, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, -1003, 0, -1003, -1003, -1003, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, 0, -1003, 0, -1003, -1003, 0, -1003, -1003, -1003, 0, -1003, -1003, -1003, 0, -1003, -1003, -1003, -1003, -909, 589, 0, -909, -909, -909, -909, 0, -909, -909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, 0, 0, -909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -909, -909, 0, -909, 0, 0, -909, -909, -909, -909, -909, 0, 0, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, 0, 0, -909, -909, -909, -909, 0, -909, 0, -909, -909, -909, 0, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, 0, 0, -909, 854, -909, -909, 0, 591, -909, -909, 0, 0, -909, -909, 0, -909, -909, -909, -909, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 645, 252, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 645, 252, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, 995, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1257, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -110, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1264, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -98, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1268, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -102, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1522, 0, 994, -65, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, 1532, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1589, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -81, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -107, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -97, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -101, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1772, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -88, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -78, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -85, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 209, 210, 326, 327, 328, 0, 0, 329, 306, 330, 1, 307, 107, 308, 0, 309, 310, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 872, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 209, 210, 326, 327, 328, 0, 0, 329, 306, 330, 1, 307, 107, 308, 0, 309, 310, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1203, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 0, 0, 326, 327, 328, 0, 0, 329, 739, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 0, 0, 326, 327, 328, 0, 0, 329, 306, 330, 1, 307, 107, 308, 258, 309, 310, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 2, 0, 326, 327, 895, 0, 0, 896, 739, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 1845, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1736, 0, 0, 0, 1883, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 2015, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1736, 0, 0, 0, 1887, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 1866, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 2069, 2070, 1023, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2081, 330, 2082, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 2080, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 750, 0, 0, 331, 332, 751, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 1162, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1273, 330, 0, 312, 313, 314, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1340, 330, 0, 0, 0, 0, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 1143, 312, 313, 314, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 1622, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1623, 330, 1624, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 1632, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1702, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 311, 309, 310, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 311, 330, 0, 0, 1163, 0, 312, 313, 314, 331, 332, 1730, 333, 334, 335, 336, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 1733, 0, 0, 0, 1734, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 311, 309, 310, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 311, 330, 0, 0, 1163, 0, 312, 313, 314, 331, 332, 1740, 333, 334, 335, 336, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 1733, 0, 0, 0, 1742, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1841, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1843, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1844, 330, 0, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1847, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1623, 330, 1624, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 1867, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 1864, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1868, 330, 1624, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 1733, 0, 0, 0, 1881, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 1733, 0, 0, 0, 1885, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2000, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1842, 330, 0, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2007, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1868, 330, 1624, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2085, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 2114, 1023, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2117, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2118, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2146, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 554, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 846, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 850, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 1023, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 1064, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 0, 0, 1116, 331, 332, 0, 333, 334, 335, 336, 315, 316, 1467, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 739, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 1570, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1606, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 0, 0, 1609, 331, 332, 0, 333, 334, 335, 336, 0, 0, 1801, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 1800, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 1804, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 1808, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1854, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 1914, 0, 330, 0, 0, 0, 0, 1800, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 2016, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2076, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 709, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 712, 0, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, -897, 589, 0, -897, -897, -897, 326, 327, 328, 0, 0, 735, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, 0, 0, -897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -897, -897, 0, -897, 0, 0, -897, -897, 0, -897, -897, 0, 0, -897, -897, -897, -897, -897, -897, 0, -897, -897, -897, -897, 0, 0, -897, -897, -897, -897, 0, -897, 0, -897, -897, -897, 0, -897, -897, -897, -897, -897, -897, -897, 0, -897, -897, -897, -897, -897, -897, -897, -897, -897, 0, -897, 0, 0, -897, 590, -897, -897, 0, 591, -897, 0, 0, 0, -897, -897, -189, 913, 0, -189, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, -189, 0, -189, 0, 0, -189, -189, 0, -189, -189, 0, 0, -189, -189, -189, -189, -189, -189, 0, -189, -189, -189, -189, 0, 0, -189, -189, -189, -189, 0, -189, 0, -189, -189, -189, 0, -189, -189, -189, -189, -189, -189, -189, 0, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, -189, 0, 0, -189, 0, -189, 914, 0, 915, -189, 0, 0, 0, -189, -189, -253, 927, 0, 1, 307, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, -251, 930, -253, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, -254, 927, -251, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, -252, 930, -254, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 428, -252, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 494, 444, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 516, 495, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 521, 517, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 525, 522, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, 526, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -752, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -753, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -749, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -750, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -755, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 1046, -756, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 1050, 1047, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, 1051, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -649, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -732, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -733, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -735, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 1552, -736, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, 1553, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -644, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -645, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -738, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -739, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -648, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -646, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -624, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -623, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -637, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -638, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -647, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -633, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -634, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -621, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -622, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -616, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -617, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -635, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 428, -636, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 494, 0, 1, 307, 107, 0, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 202, 52, 1, 0, 441, 0, 442, 443, 0, 0, 0, 0, 0, 0, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 202, 52, 1, 0, 571, 1055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 1, 0, 52, 0, 0, 868, 1055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 1, 0, 52, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 573, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 1, 0, 52, 0, 0, 868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 1, 0, 52, 0, 0, 868, 0, 0, 0, 0, 0, 0, 1449, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 1, 0, 52, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 1, 0, 52, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 1, 0, 52, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1694, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 1, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 0, 0, 1215, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1709, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 1, 0, 0, 0, 52, 0, 0, 868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 2, 3, 4, 277, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 278, 32, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 43, 0, 0, 1, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 279, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 429, 0, 0, 0, 0, 0, 29, 30, 0, 0, 430, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 955, 0, 442, 0, 0, 0, 0, 0, 0, 956, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 936, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 1517, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 936, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, -66, -66, 0, 0, 0, -66, 0, 0, 0, 0, 0, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 1721, 0, 0, 0, 0, 0, 0, -66, -66, -66, -66, -66, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 1518, 0, 1519, -66, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 1725, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 1726, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 1977, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, -1291, 296, 0, 1, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, 33, 34, 35, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 1, 0, 0, 43, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 54, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 1, 0, 838, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1408, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 1, 0, 838, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 166, 0, 1, 0, 838, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1753, 2, 3, 4, 167, 6, 7, 8, 9, 10, 168, 169, 170, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 166, 0, 1, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 171, 0, 2, 3, 4, 167, 6, 7, 8, 9, 10, 168, 169, 170, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 610, 0, 1, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 171, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 611, 612, 613, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, -917, 0, -917, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 0, 0, 53, 0, 0, 614, 0, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -917, 0, 0, 0, 0, 0, 0, 0, -917, -917, 0, 0, 0, -917, 0, 0, 0, 0, 0, -917, -917, -917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -917, 0, 1, 0, 0, 0, 0, 0, 0, 0, -917, -917, -917, -917, -917, -917, -917, -917, 0, 0, -917, 0, 0, -917, 0, 0, -917, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, 33, 34, 35, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, -1292, 288, 43, 1, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 54, 0, 0, 0, 0, 2, 3, 4, 167, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 34, 35, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 1215, 1681, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 211, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 948, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 394, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1475, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 211, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 394, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 1567, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 1904, 0, 2, 3, 4, 167, 6, 7, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 2, 3, 4, 167, 6, 7, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 892, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 893, 2, 3, 4, 167, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 727, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 1454, 2, 203, 204, 205, 206, 207, 237, 238, 239, 1539, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 0, 1, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 1084, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 1090, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 877, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 508, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 838, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 483, 484, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 0, 0, 868, 1678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210 }; static const yytype_int16 yycheck[] = { 0, 87, 93, 648, 541, 87, 726, 867, 1006, 133, 1225, 475, 274, 84, 157, 475, 934, 728, 143, 750, 934, 349, 867, 145, 133, 154, 757, 101, 476, 760, 155, 31, 32, 1023, 159, 1005, 158, 1007, 160, 129, 162, 867, 42, 129, 84, 292, 94, 129, 101, 1108, 31, 94, 129, 53, 94, 17, 750, 65, 1616, 843, 60, 185, 43, 757, 84, 65, 760, 67, 834, 2102, 1628, 85, 479, 5, 349, 84, 185, 188, 189, 834, 1005, 1, 1007, 83, 84, 85, 1, 87, 944, 966, 843, 801, 92, 94, 94, 1, 1, 188, 189, 84, 101, 101, 102, 1, 1005, 105, 1007, 124, 1, 94, 332, 5, 124, 3, 114, 1, 101, 117, 135, 829, 131, 1, 133, 135, 60, 2158, 766, 108, 109, 129, 1, 112, 132, 133, 1, 1, 3, 137, 28, 122, 985, 141, 142, 143, 269, 145, 3, 37, 5, 149, 1, 151, 3, 17, 154, 155, 145, 157, 158, 159, 160, 561, 162, 274, 5, 165, 1, 3, 176, 158, 3, 160, 812, 162, 348, 17, 176, 3, 114, 5, 586, 272, 293, 145, 1, 185, 3, 312, 362, 3, 1, 591, 366, 318, 594, 3, 596, 5, 598, 1, 1, 201, 124, 135, 124, 7, 8, 9, 1005, 3, 1007, 282, 127, 213, 3, 215, 1, 1, 292, 3, 294, 292, 423, 223, 224, 130, 3, 133, 475, 127, 1, 129, 130, 233, 124, 1, 236, 130, 1, 292, 134, 294, 887, 1, 130, 135, 294, 127, 274, 129, 130, 294, 292, 53, 294, 269, 1005, 1006, 1007, 130, 1258, 3, 282, 130, 130, 201, 1, 1265, 125, 269, 3, 1269, 292, 282, 274, 399, 133, 1, 278, 130, 3, 145, 282, 426, 292, 3, 1, 884, 124, 1259, 399, 132, 292, 294, 294, 130, 1266, 278, 131, 125, 1270, 1859, 3, 145, 429, 124, 1, 133, 3, 294, 28, 125, 312, 130, 515, 440, 135, 125, 318, 130, 0, 17, 124, 124, 125, 133, 128, 3, 129, 329, 132, 125, 132, 135, 1259, 129, 125, 1214, 3, 133, 129, 1266, 127, 343, 133, 1270, 130, 3, 125, 802, 331, 74, 28, 803, 445, 446, 447, 448, 1259, 130, 5, 124, 125, 28, 130, 1266, 129, 492, 124, 1270, 571, 5, 130, 74, 7, 8, 9, 830, 672, 673, 5, 831, 1113, 125, 124, 385, 386, 5, 121, 122, 476, 391, 3, 393, 476, 130, 91, 78, 131, 399, 735, 5, 1, 738, 84, 405, 130, 130, 670, 671, 672, 673, 536, 131, 94, 130, 1013, 28, 418, 1113, 884, 101, 102, 423, 224, 425, 426, 536, 552, 429, 430, 891, 3, 562, 1200, 435, 1202, 1, 438, 439, 440, 441, 442, 552, 566, 1200, 568, 1202, 124, 145, 1, 542, 133, 3, 545, 391, 703, 393, 786, 787, 788, 3, 1259, 131, 870, 133, 131, 3, 5, 1266, 470, 471, 472, 1270, 1689, 475, 476, 586, 28, 479, 944, 571, 482, 657, 129, 541, 660, 487, 816, 817, 818, 491, 492, 941, 571, 129, 496, 497, 127, 132, 125, 965, 135, 74, 1215, 965, 1, 125, 508, 1258, 1259, 786, 787, 788, 514, 515, 1265, 1266, 518, 519, 1269, 1270, 1233, 523, 524, 1584, 125, 527, 528, 1240, 129, 531, 532, 533, 534, 3, 536, 5, 130, 539, 1, 816, 817, 818, 224, 952, 747, 954, 130, 1013, 550, 551, 552, 1013, 1431, 1545, 556, 3, 780, 130, 28, 561, 562, 1, 3, 129, 566, 1427, 568, 569, 3, 571, 572, 573, 1, 131, 576, 566, 129, 568, 3, 131, 1427, 1439, 3, 807, 586, 698, 699, 131, 127, 591, 1590, 815, 594, 131, 596, 3, 598, 724, 725, 1427, 282, 728, 729, 605, 7, 8, 9, 129, 3, 5, 292, 835, 294, 135, 1, 1494, 3, 130, 1538, 1591, 3, 1479, 1538, 1, 1482, 1411, 1412, 703, 125, 1, 703, 891, 129, 726, 572, 884, 638, 121, 640, 441, 3, 66, 670, 671, 672, 673, 648, 329, 703, 124, 1512, 5, 1060, 391, 1, 393, 1411, 1412, 7, 8, 9, 131, 125, 1071, 1591, 868, 129, 605, 670, 671, 672, 673, 875, 121, 122, 1077, 0, 1505, 1895, 1507, 883, 703, 804, 131, 124, 125, 688, 689, 1591, 129, 131, 894, 127, 1095, 129, 697, 121, 122, 127, 5, 129, 703, 685, 686, 125, 965, 131, 709, 766, 137, 832, 1703, 129, 121, 122, 717, 965, 128, 805, 136, 128, 124, 724, 725, 726, 727, 728, 729, 124, 132, 125, 3, 135, 735, 121, 122, 738, 3, 3, 122, 1473, 423, 129, 135, 127, 747, 833, 125, 731, 732, 733, 129, 801, 125, 812, 124, 883, 129, 121, 122, 127, 763, 28, 28, 1013, 767, 135, 894, 131, 571, 124, 573, 37, 1773, 129, 124, 868, 1473, 125, 304, 829, 129, 129, 132, 799, 800, 135, 804, 313, 868, 12, 13, 1591, 475, 319, 129, 84, 85, 129, 7, 8, 9, 1774, 3, 7, 8, 9, 809, 1800, 1688, 129, 813, 827, 828, 1693, 832, 7, 8, 9, 1811, 1116, 138, 139, 1119, 917, 918, 3, 920, 973, 974, 923, 924, 802, 515, 572, 803, 838, 839, 840, 1590, 1591, 843, 844, 845, 132, 130, 805, 1774, 979, 941, 122, 123, 1116, 941, 978, 1119, 1059, 941, 124, 124, 830, 1157, 941, 831, 866, 867, 868, 7, 8, 9, 872, 1774, 874, 875, 833, 1171, 1172, 1173, 1174, 1758, 882, 883, 884, 131, 11, 887, 1013, 3, 3, 891, 5, 893, 894, 1157, 896, 633, 898, 70, 71, 142, 122, 123, 145, 996, 1762, 1763, 130, 1171, 1172, 1173, 1174, 3, 28, 1044, 1045, 158, 31, 160, 122, 162, 128, 121, 122, 127, 132, 1255, 354, 130, 128, 132, 1054, 3, 124, 935, 1060, 937, 128, 1799, 125, 941, 93, 132, 944, 135, 121, 122, 121, 949, 129, 1060, 952, 125, 954, 955, 135, 3, 28, 130, 1069, 122, 1071, 130, 964, 965, 966, 1023, 141, 142, 131, 1682, 133, 973, 974, 1439, 976, 1774, 978, 979, 1255, 124, 1072, 269, 984, 985, 986, 987, 3, 978, 5, 1711, 799, 800, 132, 1072, 282, 124, 123, 425, 124, 1991, 122, 1648, 129, 75, 76, 78, 1545, 1210, 80, 131, 1213, 1013, 1474, 1479, 31, 87, 1482, 1425, 827, 828, 123, 703, 1773, 1774, 84, 122, 129, 709, 128, 121, 122, 124, 124, 1912, 131, 188, 189, 124, 1262, 111, 112, 121, 1044, 1045, 726, 127, 1048, 1049, 3, 131, 1052, 1053, 1054, 735, 1056, 1975, 738, 1059, 1060, 131, 125, 141, 142, 1054, 129, 747, 1190, 1069, 133, 1071, 1072, 1073, 122, 121, 122, 1077, 124, 2069, 1080, 129, 0, 1083, 124, 123, 1086, 135, 1213, 1089, 1116, 129, 1092, 1119, 127, 1095, 896, 1097, 131, 561, 1873, 125, 3, 1159, 5, 129, 124, 1163, 1233, 133, 1166, 1111, 1168, 66, 124, 1240, 1116, 124, 123, 1119, 2110, 272, 80, 274, 129, 1215, 124, 185, 1128, 591, 1130, 1157, 594, 124, 596, 935, 598, 1073, 1215, 1139, 3, 131, 293, 133, 123, 1171, 1172, 1173, 1174, 949, 129, 1557, 1152, 111, 112, 955, 123, 1157, 1158, 124, 840, 1987, 129, 1989, 123, 28, 84, 1148, 121, 122, 129, 1171, 1172, 1173, 1174, 133, 94, 131, 12, 13, 123, 704, 45, 101, 102, 1, 129, 3, 125, 1189, 1190, 1191, 129, 1193, 1914, 875, 133, 131, 125, 133, 936, 1190, 129, 1203, 884, 1205, 133, 3, 10, 11, 1210, 891, 75, 76, 1214, 1215, 896, 131, 898, 133, 121, 122, 304, 1424, 282, 6, 131, 8, 9, 470, 471, 313, 1877, 1233, 292, 14, 15, 319, 123, 975, 1240, 789, 790, 137, 129, 531, 532, 533, 534, 1249, 138, 139, 2025, 128, 2027, 496, 497, 1, 133, 1059, 10, 11, 125, 128, 550, 551, 129, 1203, 133, 949, 123, 819, 820, 143, 1811, 1256, 129, 518, 519, 75, 76, 16, 523, 524, 80, 965, 527, 528, 122, 123, 127, 87, 129, 74, 445, 70, 71, 448, 1762, 1763, 123, 123, 1596, 1597, 85, 3, 129, 129, 3, 89, 90, 91, 144, 123, 1608, 111, 112, 92, 2091, 129, 2093, 96, 2095, 98, 127, 566, 129, 568, 124, 110, 28, 75, 76, 28, 1596, 1597, 80, 1073, 125, 120, 3, 122, 129, 87, 3, 123, 1608, 45, 11, 1755, 45, 129, 11, 125, 135, 130, 144, 138, 139, 140, 2133, 2134, 125, 2136, 282, 16, 129, 111, 112, 795, 796, 1, 798, 3, 292, 1576, 294, 75, 76, 2152, 75, 76, 125, 127, 128, 129, 129, 80, 1124, 125, 127, 542, 129, 129, 545, 137, 2169, 823, 824, 825, 826, 125, 1402, 1403, 125, 129, 1406, 1407, 129, 143, 125, 1411, 1412, 1819, 129, 915, 916, 475, 111, 112, 3, 125, 125, 1423, 1, 129, 1407, 1427, 1428, 131, 125, 1431, 155, 1557, 127, 131, 159, 1437, 131, 1439, 866, 867, 1442, 125, 125, 28, 1446, 129, 1557, 14, 15, 1451, 1452, 1453, 1991, 131, 1565, 133, 121, 122, 123, 2106, 121, 122, 123, 128, 129, 125, 131, 128, 129, 129, 131, 125, 1474, 131, 1476, 133, 536, 1479, 1216, 539, 1482, 791, 792, 1485, 1, 124, 3, 1545, 915, 916, 75, 76, 1494, 131, 3, 80, 75, 76, 1500, 1501, 1238, 80, 87, 1505, 1506, 1507, 1508, 1, 87, 3, 430, 821, 822, 127, 1, 137, 3, 670, 671, 672, 673, 1, 129, 3, 3, 127, 111, 112, 1210, 127, 2069, 129, 111, 112, 789, 790, 122, 131, 966, 133, 122, 142, 791, 792, 145, 698, 699, 700, 127, 28, 129, 1847, 1554, 1555, 127, 1557, 129, 158, 37, 160, 131, 162, 133, 1565, 819, 820, 75, 76, 1596, 1597, 122, 80, 821, 822, 1576, 550, 551, 3, 87, 1519, 1608, 1521, 1519, 1847, 1521, 11, 128, 670, 671, 670, 671, 129, 1795, 136, 1596, 1597, 75, 76, 1690, 101, 102, 80, 111, 112, 1606, 131, 1608, 1609, 87, 136, 1612, 1690, 136, 1077, 1616, 844, 845, 131, 1620, 1083, 704, 1623, 131, 131, 135, 1089, 129, 131, 129, 129, 129, 1095, 111, 112, 130, 127, 1619, 697, 133, 1, 124, 124, 121, 703, 125, 124, 1648, 124, 124, 127, 124, 1453, 1635, 1655, 127, 127, 135, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 127, 1790, 127, 1792, 127, 1728, 1764, 915, 916, 1476, 1733, 535, 131, 1736, 531, 532, 533, 534, 122, 130, 136, 1688, 136, 1690, 136, 135, 1693, 1816, 1819, 1818, 121, 122, 123, 550, 551, 136, 136, 136, 129, 131, 131, 122, 131, 1819, 1711, 127, 1713, 1714, 75, 76, 1717, 130, 129, 80, 122, 2016, 130, 2018, 3, 130, 87, 125, 125, 125, 136, 125, 136, 354, 124, 136, 978, 125, 125, 124, 133, 133, 133, 1800, 124, 124, 1483, 57, 1749, 28, 111, 112, 1975, 2016, 1811, 2018, 127, 1758, 37, 127, 127, 1762, 1763, 127, 1765, 124, 127, 128, 129, 122, 122, 125, 1059, 122, 125, 1576, 1777, 124, 124, 135, 122, 2110, 125, 133, 703, 125, 125, 1214, 129, 1790, 2085, 1792, 129, 125, 1795, 1476, 75, 76, 1, 135, 1790, 80, 1792, 129, 425, 130, 1048, 1049, 87, 125, 1052, 1053, 1054, 133, 133, 1816, 133, 1818, 1819, 125, 1847, 125, 2085, 125, 127, 884, 1816, 128, 1818, 125, 130, 125, 111, 112, 2110, 125, 125, 136, 136, 136, 1841, 1842, 1843, 1844, 996, 124, 1847, 133, 133, 57, 1851, 1852, 124, 1854, 125, 1856, 135, 124, 124, 717, 133, 1984, 125, 133, 133, 133, 125, 1868, 125, 3, 470, 471, 75, 76, 125, 125, 1877, 80, 125, 1880, 136, 136, 482, 122, 87, 944, 135, 127, 136, 1871, 136, 1873, 750, 135, 28, 1576, 496, 497, 11, 757, 75, 76, 760, 37, 131, 80, 965, 128, 111, 112, 133, 1912, 87, 1914, 131, 133, 127, 124, 518, 519, 125, 124, 125, 523, 524, 127, 129, 527, 528, 128, 128, 131, 125, 125, 1991, 136, 111, 112, 65, 75, 76, 75, 76, 125, 80, 136, 80, 1189, 1190, 136, 136, 87, 136, 87, 1013, 1692, 131, 1694, 136, 136, 136, 125, 125, 125, 1116, 125, 566, 1119, 568, 65, 127, 1708, 1709, 125, 125, 111, 112, 111, 112, 127, 136, 1982, 1983, 1984, 1985, 1986, 1987, 121, 1989, 2016, 124, 2018, 128, 136, 1984, 1996, 1997, 1998, 1999, 133, 1427, 136, 127, 136, 1431, 1157, 2007, 2099, 2100, 127, 136, 127, 2069, 125, 131, 2016, 3, 2018, 2019, 1171, 1172, 1173, 1174, 37, 127, 127, 127, 2028, 2029, 127, 1711, 45, 46, 127, 127, 127, 0, 125, 127, 482, 127, 28, 1194, 2025, 1196, 2027, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 127, 2141, 2085, 1508, 482, 75, 76, 482, 2065, 2066, 80, 1494, 482, 921, 482, 2072, 2073, 87, 984, 2076, 866, 2078, 42, 292, 2081, 812, 75, 76, 2085, 1512, 292, 80, 75, 76, 75, 76, 976, 80, 87, 80, 60, 111, 112, 2100, 87, 2102, 87, 67, 1474, 2106, 440, 121, 2090, 2091, 729, 2093, 430, 2095, 1795, 1800, 269, 2118, 111, 112, 84, 318, 2090, 87, 111, 112, 111, 112, 121, 93, 94, 124, 1191, 101, 1193, 94, 274, 101, 102, 94, 2141, 2142, 2124, 94, 131, 2146, 102, 1005, 1006, 1007, 114, 2133, 2134, 117, 2136, 1749, 128, 2158, -1, -1, -1, -1, -1, -1, -1, 129, 1453, -1, -1, -1, 2152, -1, -1, 137, 795, 796, 1913, 798, 142, 143, -1, 145, -1, -1, -1, 1922, -1, 2169, -1, -1, -1, 155, -1, 157, 158, 159, 160, -1, 162, -1, -1, -1, 823, 824, 825, 826, -1, -1, -1, -1, 1734, 1735, -1, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, -1, 313, 188, 189, -1, -1, -1, 319, -1, -1, -1, 1914, -1, -1, -1, 201, -1, -1, -1, -1, 1979, 1980, -1, 866, 867, -1, -1, -1, -1, 215, -1, 45, 46, 1113, 45, 46, 1500, 1501, 224, 1688, -1, -1, -1, -1, 1693, -1, 7, -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, 75, 76, -1, 75, 76, 80, 470, 471, 80, -1, -1, -1, 87, -1, -1, 87, 272, 273, 391, -1, 393, -1, 269, -1, -1, 272, 273, 274, -1, 1554, 1555, -1, 496, 497, -1, 282, 111, 112, -1, 111, 112, -1, -1, -1, -1, 292, 293, 294, 1758, 124, -1, -1, 124, -1, 518, 519, 75, 76, -1, 523, 524, 80, 966, 527, 528, 312, -1, -1, 87, -1, -1, 318, -1, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 329, -1, -1, -1, -1, -1, -1, 1799, -1, -1, 111, 112, 1529, 978, -1, 1439, -1, -1, 122, 123, 121, -1, -1, 124, -1, -1, -1, -1, 132, -1, 0, -1, -1, -1, 135, 1258, 1259, 141, 142, 143, 144, 145, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, 1479, -1, 386, 1482, -1, -1, -1, 391, -1, 393, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 1596, 1597, -1, -1, 1048, 1049, -1, 1975, 1052, 1053, 1054, -1, 1608, -1, -1, 423, -1, 425, 426, -1, -1, 429, 430, 111, 112, -1, -1, 435, 470, 471, -1, 439, 440, -1, 442, 84, -1, 125, 572, -1, -1, 1912, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, 101, 102, 496, 497, -1, -1, -1, -1, -1, -1, 470, 471, -1, -1, -1, 475, 476, -1, -1, 3, -1, -1, 482, -1, 518, 519, -1, 487, -1, 523, 524, -1, 492, 527, 528, -1, 496, 497, -1, -1, -1, -1, -1, -1, 28, -1, -1, 633, -1, -1, -1, -1, 1790, 37, 1792, 515, -1, -1, 518, 519, -1, -1, -1, 523, 524, -1, -1, 527, 528, -1, -1, -1, -1, 542, -1, 535, 545, -1, 1816, -1, 1818, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, 75, 76, 1189, 1190, -1, 80, 1214, -1, -1, -1, 561, -1, 87, -1, -1, 566, -1, 568, -1, -1, 571, 572, -1, -1, -1, -1, 75, 76, 1473, -1, -1, 80, 224, -1, -1, -1, 111, 112, 87, -1, 591, -1, -1, 594, -1, 596, 121, 598, -1, 124, 125, -1, -1, -1, 605, -1, -1, -1, -1, -1, -1, -1, 111, 112, 1734, 1735, -1, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, 282, -1, 80, -1, -1, -1, -1, -1, -1, 87, 292, -1, 294, -1, -1, -1, -1, -1, 1847, -1, 670, 671, 672, 673, -1, -1, 1762, 1763, -1, 670, 671, 672, 673, 111, 112, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 125, -1, -1, 700, -1, -1, -1, -1, 1590, 1591, 698, 699, 700, -1, -1, 703, 1982, 1983, 1984, 1985, 1986, 709, 45, 46, 3, -1, -1, -1, -1, 717, 1996, 1997, 1998, 1999, 75, 76, 724, 725, 726, 80, 728, 729, -1, -1, -1, -1, 87, 735, -1, 28, 738, -1, 75, 76, -1, -1, -1, 80, 37, 747, -1, -1, 750, -1, 87, -1, -1, -1, -1, 757, 111, 112, 760, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1427, -1, 125, -1, 1431, -1, 111, 112, -1, -1, -1, -1, 423, -1, 75, 76, 121, 2065, 2066, 80, -1, -1, 122, 123, -1, -1, 87, -1, -1, -1, -1, -1, 132, -1, -1, -1, -1, 137, 138, 139, 936, 141, 142, 143, 144, 145, 3, -1, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, 2016, -1, 2018, 1048, 1049, 124, 475, 1052, 1053, 1494, -1, -1, 840, 28, -1, 843, 844, 845, -1, -1, -1, 975, 37, 38, 39, -1, -1, 1512, 1975, -1, -1, -1, -1, -1, 272, 273, 1500, 1501, 866, 867, 868, -1, -1, -1, -1, -1, 515, 875, -1, -1, 3, 1773, 1774, -1, -1, 883, 884, -1, -1, -1, 75, 76, -1, 891, -1, 80, 894, -1, 896, 2085, 898, -1, 87, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, 1554, 1555, -1, -1, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, 124, -1, -1, -1, 941, -1, 0, -1, -1, -1, 1073, -1, 949, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 965, 966, -1, -1, -1, -1, -1, -1, 973, 974, -1, -1, -1, 978, -1, -1, -1, -1, -1, 984, -1, 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, 1124, 124, -1, -1, -1, -1, -1, 1005, 1006, 1007, -1, -1, -1, -1, -1, 1013, 1048, 1049, -1, -1, 1052, 1053, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, 1688, -1, -1, -1, -1, 1693, 94, -1, -1, -1, -1, -1, -1, 101, 102, -1, -1, 1048, 1049, -1, -1, 1052, 1053, 1054, -1, -1, -1, -1, -1, -1, -1, 703, -1, -1, -1, -1, -1, 709, -1, -1, -1, 1072, 1073, -1, -1, -1, 1077, -1, -1, -1, -1, -1, 1083, -1, -1, 143, -1, -1, 1089, 1216, -1, -1, -1, 735, 1095, -1, 738, 155, -1, -1, 1758, 159, -1, -1, -1, -1, 1116, -1, -1, 1119, -1, 1238, 1113, -1, -1, 1116, -1, -1, 1119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, -1, 1799, -1, 0, -1, -1, -1, 1157, -1, -1, -1, -1, -1, 1790, -1, 1792, 1157, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, 1171, 1172, 1173, 1174, 142, -1, -1, 145, -1, 1816, -1, 1818, 113, -1, 1194, -1, 1196, -1, 1189, 1190, 158, -1, 160, 1194, 162, 1196, 53, -1, 840, -1, -1, -1, 1203, -1, -1, -1, -1, -1, -1, 1210, -1, -1, 1213, 1214, 1215, -1, -1, -1, -1, -1, -1, -1, -1, -1, 282, -1, 83, 84, 85, -1, -1, -1, 1233, 875, 292, 92, 294, 94, -1, 1240, -1, -1, 884, -1, 101, 102, -1, -1, -1, 891, -1, -1, -1, -1, 1912, -1, 898, 1258, 1259, 670, 671, 672, 673, -1, 1265, 1266, -1, -1, 1269, 1270, 201, -1, -1, -1, -1, 132, 133, 134, 135, 136, -1, -1, 1500, 1501, -1, 142, -1, -1, 145, 700, -1, -1, -1, -1, -1, 1, -1, 3, -1, -1, -1, 158, -1, 160, -1, 162, -1, 949, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 965, -1, -1, -1, -1, 185, 186, 187, 37, 38, 39, -1, -1, 1554, 1555, -1, -1, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, -1, -1, -1, -1, -1, 0, 1483, -1, -1, 1996, 1997, 1998, 1999, -1, -1, -1, 223, 224, -1, 75, 76, 429, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 440, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 332, -1, -1, -1, 111, 112, -1, 53, -1, 1411, 1412, 269, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, 129, 130, 282, 1427, -1, 2065, 2066, 1431, -1, -1, -1, 492, 292, -1, 294, -1, 84, 85, -1, -1, -1, -1, -1, -1, 92, -1, 94, -1, -1, -1, -1, -1, -1, 101, 102, -1, -1, 391, -1, 393, -1, -1, 1500, 1501, -1, -1, -1, -1, -1, 1473, -1, -1, 1476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, -1, -1, -1, 1494, -1, -1, -1, -1, -1, 1500, 1501, -1, 470, 471, 1505, 1506, 1507, 1508, -1, -1, -1, -1, -1, -1, 482, -1, -1, -1, -1, 1554, 1555, -1, -1, -1, -1, -1, -1, -1, 496, 497, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, -1, 399, 400, 401, -1, -1, -1, -1, -1, 518, 519, -1, 1554, 1555, 523, 524, -1, -1, 527, 528, 1203, -1, -1, -1, 1692, 423, 1694, 1210, -1, -1, -1, -1, 430, -1, 1576, 274, -1, -1, -1, -1, 1708, 1709, -1, 441, -1, 1596, 1597, 233, 1590, 1591, 236, -1, -1, -1, 1596, 1597, -1, 566, 1609, 568, -1, 1612, -1, 535, -1, -1, -1, 1609, -1, 1620, 1612, -1, 470, 471, -1, -1, -1, 475, 1620, -1, -1, 479, -1, 269, 482, -1, -1, -1, -1, -1, -1, -1, 0, 491, -1, -1, 282, -1, 496, 497, 572, -1, -1, -1, 703, -1, 292, -1, 294, -1, -1, -1, -1, 1655, -1, -1, -1, 515, -1, -1, 518, 519, -1, -1, -1, 523, 524, -1, -1, 527, 528, -1, 604, 531, 532, 533, 534, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1688, -1, 1690, -1, -1, 1693, 550, 551, -1, -1, -1, -1, -1, -1, -1, 633, -1, -1, 1116, -1, -1, 1119, 566, 1711, 568, -1, -1, 571, -1, 573, 84, -1, -1, 0, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, 588, -1, -1, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, 445, -1, -1, -1, -1, -1, -1, 399, -1, -1, 1758, -1, -1, 1171, 1172, 1173, 1174, 1982, 1983, -1, 1985, 1986, -1, -1, -1, 1773, 1774, -1, -1, 143, -1, 1996, 1997, 1998, 1999, -1, 1194, -1, 1196, 1913, -1, 155, 1790, -1, 1792, 159, -1, 1795, 1922, 441, -1, -1, 730, -1, -1, -1, 734, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, 1816, -1, 1818, -1, 750, -1, 101, 102, -1, -1, 883, 757, -1, -1, 760, -1, -1, -1, -1, 1476, -1, 894, -1, -1, -1, 697, 1851, 1852, -1, -1, -1, 703, 2065, 2066, 780, 1851, 1852, 1979, 1980, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, -1, -1, 724, -1, -1, -1, 728, -1, -1, -1, 155, 807, -1, -1, 159, -1, -1, -1, -1, 815, -1, 531, 532, 533, 534, 747, 536, -1, -1, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, 835, 550, 551, 552, -1, -1, -1, 1912, -1, 1914, -1, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, 292, 571, 294, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, 638, -1, -1, -1, -1, -1, -1, 1982, 1983, -1, 1985, 1986, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1996, 1997, 1998, 1999, -1, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, 1987, -1, 1989, -1, -1, -1, -1, -1, -1, 1996, 1997, 1998, 1999, -1, -1, -1, 282, 934, -1, 936, -1, -1, -1, -1, 978, 868, 292, -1, 294, -1, -1, -1, 875, -1, -1, -1, -1, -1, -1, 882, 883, 884, -1, -1, 2065, 2066, -1, -1, 891, 113, -1, 894, -1, 896, -1, -1, -1, -1, 975, -1, -1, -1, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 703, 137, -1, -1, 429, -1, 2065, 2066, -1, -1, -1, -1, -1, -1, -1, 440, 1005, -1, 1007, -1, 935, -1, 1048, 1049, -1, -1, 1052, 1053, 1054, 944, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, 955, -1, -1, -1, -1, -1, -1, -1, -1, -1, 965, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 978, -1, 201, -1, 492, -1, -1, -1, -1, -1, 988, 1, -1, 3, -1, -1, -1, -1, -1, -1, -1, 1073, -1, -1, -1, -1, -1, -1, 429, -1, -1, -1, 1795, -1, -1, 1013, -1, -1, 28, 440, -1, -1, -1, -1, -1, -1, -1, 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, 1596, 1597, -1, -1, -1, -1, 1048, 1049, 1124, -1, 1052, 1053, 1054, 1609, -1, -1, 1612, 1059, 1060, -1, -1, 75, 76, -1, 1620, -1, 80, 492, 1070, -1, -1, -1, -1, 87, 1150, 1151, 1189, 1190, -1, -1, -1, 304, -1, -1, -1, 308, 309, 310, -1, -1, 313, -1, -1, -1, -1, -1, 319, 111, 112, -1, -1, -1, 325, -1, 947, -1, 896, 121, -1, 332, 124, -1, -1, 127, -1, 129, 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, 349, -1, -1, -1, -1, 354, -1, -1, -1, -1, -1, -1, -1, -1, 1216, -1, -1, -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1238, -1, -1, 955, -1, -1, 391, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1259, -1, -1, 1262, 1189, 1190, -1, 1266, 703, -1, -1, 1270, -1, -1, -1, -1, -1, -1, -1, 425, -1, -1, -1, -1, -1, 1210, -1, -1, 1213, -1, 1215, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1059, 1060, -1, -1, 1116, -1, -1, 1119, -1, 703, -1, -1, -1, 66, -1, -1, 1128, -1, -1, 72, 73, 74, -1, -1, -1, -1, 1851, 1852, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, 1157, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, 1171, 1172, 1173, 1174, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, 572, 134, 135, 136, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 883, -1, -1, -1, -1, -1, -1, -1, -1, -1, 604, 894, -1, -1, -1, -1, 1500, 1501, -1, -1, -1, -1, -1, -1, -1, -1, 1473, -1, -1, -1, 1191, -1, 1193, -1, -1, -1, 1483, -1, -1, 633, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1439, 1514, -1, -1, 1554, 1555, 1519, 1446, 1521, -1, -1, -1, -1, -1, 1453, -1, -1, -1, -1, -1, -1, 883, -1, -1, -1, 1538, -1, -1, -1, -1, -1, -1, 894, -1, -1, 1474, -1, 1476, -1, -1, -1, -1, -1, -1, 704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1500, 1501, -1, -1, -1, -1, -1, -1, -1, 730, -1, -1, -1, 734, -1, -1, -1, 1591, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, -1, -1, -1, -1, 757, -1, -1, 760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1554, 1555, -1, 1557, -1, 780, -1, -1, -1, -1, -1, 786, 787, 788, 789, 790, 791, 792, -1, -1, 795, 796, 1576, 798, 799, 800, 801, 802, 803, 804, 805, -1, 807, -1, -1, -1, -1, -1, -1, -1, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, -1, 835, -1, -1, -1, 1692, -1, 1694, -1, -1, -1, -1, -1, -1, -1, -1, 1703, -1, -1, -1, -1, 1708, 1709, -1, -1, -1, -1, -1, 1715, -1, -1, -1, 866, 867, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, 1453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1790, -1, 1792, 1682, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 1774, 92, -1, -1, -1, 1816, -1, 1818, -1, -1, -1, -1, -1, 934, -1, 936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, -1, 966, -1, -1, -1, -1, -1, 137, -1, -1, 975, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, 1606, -1, 1608, 1609, 1557, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, 1623, -1, 1005, -1, 1007, -1, -1, -1, 1790, -1, 1792, -1, 185, 1795, -1, -1, -1, -1, -1, -1, -1, -1, 1878, 1879, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, 1816, -1, 1818, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1828, -1, -1, 349, -1, -1, -1, -1, -1, -1, -1, 1913, -1, -1, 233, -1, -1, 236, -1, -1, 1922, -1, -1, -1, 1073, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, -1, -1, 269, -1, -1, -1, -1, -1, -1, 1996, 1997, 1998, 1999, -1, -1, 282, 1113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1124, -1, 1979, 1980, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, -1, 308, 309, 310, -1, -1, 313, -1, 1150, 1151, -1, -1, 319, -1, -1, -1, -1, -1, 325, -1, -1, -1, -1, -1, -1, 332, -1, -1, -1, -1, -1, -1, -1, 2065, 2066, -1, -1, -1, -1, -1, -1, -1, 349, -1, -1, -1, -1, 354, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, 1, -1, 3, 4, 5, -1, 1214, -1, 1216, 1996, 1997, 1998, 1999, 1841, 1842, 1843, 1844, -1, 391, 1847, 393, 399, -1, 1851, 1852, -1, 1854, 28, 1856, -1, 1238, 2092, -1, -1, -1, -1, -1, -1, -1, -1, 1868, -1, -1, -1, 1819, -1, -1, 1255, -1, 2110, -1, 1259, 425, -1, 1262, -1, -1, -1, 1266, -1, -1, -1, 1270, 441, -1, 66, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, 2065, 2066, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 2161, 479, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, -1, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 113, 134, 135, -1, -1, -1, 643, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 332, -1, -1, 531, 532, 533, 534, -1, 536, -1, -1, 539, 535, -1, -1, -1, -1, 349, -1, -1, -1, -1, 550, 551, 552, -1, -1, -1, -1, 2007, -1, -1, -1, -1, -1, -1, -1, -1, 2016, -1, 2018, -1, -1, 571, -1, -1, -1, -1, -1, 572, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1427, -1, -1, -1, 1431, -1, -1, -1, -1, -1, -1, -1, 604, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2072, 2073, -1, -1, 2076, -1, 2078, -1, -1, 2081, -1, -1, -1, 2085, -1, -1, 633, 766, -1, -1, -1, 1473, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1483, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1494, -1, -1, -1, 2118, -1, -1, 274, 799, 800, 801, 802, 803, -1, -1, 806, -1, -1, 1512, -1, 1514, 812, -1, -1, -1, 1519, -1, 1521, -1, -1, -1, -1, 2146, 697, -1, -1, 827, 828, 829, 830, 831, -1, -1, 834, 1538, 704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 332, -1, -1, -1, -1, -1, 730, -1, -1, -1, 734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, -1, -1, -1, 1591, 757, -1, -1, 760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 780, -1, -1, -1, -1, -1, 786, 787, 788, 789, 790, 791, 792, -1, -1, 795, 796, -1, 798, 799, 800, 801, 802, 803, 804, 805, -1, 807, -1, -1, -1, -1, -1, -1, -1, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 643, 835, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1688, -1, -1, -1, 1692, 1693, 1694, -1, -1, -1, -1, -1, -1, 866, 867, 1703, -1, -1, -1, -1, 1708, 1709, -1, -1, -1, -1, -1, 1715, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 896, -1, -1, -1, -1, -1, -1, -1, 1734, 1735, -1, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1758, -1, -1, -1, -1, -1, -1, 935, -1, -1, 541, 934, -1, 936, -1, -1, 1774, -1, -1, -1, -1, -1, -1, -1, 952, -1, 954, 955, -1, -1, -1, -1, -1, -1, 766, -1, -1, -1, -1, -1, -1, 1799, -1, 966, -1, -1, -1, -1, 780, -1, -1, -1, 975, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 799, 800, 801, 802, 803, -1, 604, 806, 807, 1131, -1, -1, -1, 812, -1, 1005, 815, 1007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 827, 828, 829, 830, 831, -1, -1, 834, 835, 1159, -1, -1, 638, -1, -1, -1, 1166, -1, -1, -1, -1, -1, -1, -1, -1, 1878, 1879, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1059, 1060, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, 1200, -1, 1202, -1, -1, 1073, -1, -1, -1, 1912, 1913, -1, -1, -1, -1, 133, -1, -1, -1, 1922, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, -1, -1, -1, -1, -1, -1, 730, -1, 1124, -1, 734, -1, -1, -1, -1, -1, -1, -1, -1, 185, -1, -1, -1, -1, 1975, -1, -1, -1, 1979, 1980, -1, -1, -1, -1, 1150, 1151, -1, -1, -1, -1, -1, -1, 766, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 780, -1, 224, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, 1191, -1, 1193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 807, -1, -1, -1, 28, 812, -1, -1, 815, -1, -1, -1, -1, -1, -1, 1214, -1, 1216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 835, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1238, -1, -1, 66, 292, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 1255, -1, 2092, -1, 1259, 85, 86, 1262, -1, -1, -1, 1266, -1, -1, -1, 1270, -1, -1, -1, 99, 2110, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, 142, -1, -1, 145, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, 158, 129, 160, -1, 162, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, 1131, -1, -1, -1, 2161, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, 399, 1159, -1, -1, -1, -1, 405, -1, 1166, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1200, -1, 1202, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, 1023, 85, 86, 87, 274, -1, -1, -1, -1, -1, 475, -1, 1427, -1, -1, 99, 1431, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, 1453, -1, 119, 120, 121, 1262, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, 1473, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1483, -1, -1, 536, -1, -1, 539, -1, -1, -1, -1, 1494, -1, -1, -1, -1, -1, -1, -1, 552, -1, -1, -1, -1, -1, 1116, -1, -1, 1119, 1512, -1, 1514, -1, -1, -1, -1, 1519, 1128, 1521, -1, 573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 586, -1, 1538, -1, -1, -1, 1150, 1151, -1, -1, -1, -1, -1, 1157, -1, 1159, 1557, -1, -1, 1163, -1, -1, 1166, -1, 1168, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1591, -1, -1, -1, -1, 1728, -1, -1, -1, -1, 1733, 1734, 1735, 1736, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, -1, 470, 471, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 496, 497, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 703, 1262, -1, -1, -1, -1, -1, -1, -1, -1, 518, 519, -1, -1, -1, 523, 524, -1, -1, 527, 528, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, -1, 1688, -1, -1, -1, 1692, 1693, 1694, -1, -1, -1, -1, -1, -1, -1, -1, 1703, -1, -1, -1, -1, 1708, 1709, -1, 566, -1, 568, -1, 1715, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, 1734, 1735, -1, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, 1758, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1774, -1, -1, -1, -1, -1, -1, -1, -1, 638, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, 1799, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, 1819, 670, 671, 672, 673, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 884, -1, -1, -1, -1, -1, -1, 891, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1878, 1879, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, -1, -1, -1, -1, -1, 944, 750, -1, -1, -1, 949, -1, -1, 757, -1, -1, 760, 1514, -1, -1, -1, -1, -1, 1912, 1913, -1, 965, -1, -1, -1, 1728, -1, -1, 1922, -1, 1733, 1734, 1735, 1736, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, 1979, 1980, -1, -1, -1, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, 1606, -1, 1608, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, 1060, -1, 1620, -1, -1, 1623, -1, -1, -1, 1069, -1, 1071, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 915, 916, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, 2092, -1, -1, 1703, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1715, -1, 28, 2110, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1728, -1, -1, 978, -1, 1733, -1, -1, 1736, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1191, -1, 1193, -1, -1, -1, 66, -1, -1, 1005, -1, 1007, 72, 73, 74, -1, -1, -1, -1, -1, 2161, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 1800, 1048, 1049, -1, -1, 1052, 1053, 1054, 119, 120, 121, 1811, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, 1841, 1842, 1843, 1844, -1, -1, 1847, -1, -1, -1, 1851, 1852, -1, 1854, -1, 1856, 28, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, 1868, 1116, -1, -1, 1119, -1, -1, -1, -1, -1, 1878, 1879, -1, 1128, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, 1157, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, -1, 1171, 1172, 1173, 1174, 99, -1, 87, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 1189, 1190, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, 131, -1, 133, 134, 135, 0, 137, 138, 139, 140, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1991, -1, -1, -1, -1, -1, 1439, -1, -1, 157, -1, -1, -1, 1446, -1, -1, 2007, -1, -1, -1, -1, 1259, -1, -1, -1, 2016, 52, 2018, 1266, -1, -1, -1, 1270, -1, -1, -1, -1, -1, -1, -1, -1, 1474, -1, 1476, -1, -1, 1479, -1, -1, 1482, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, 101, 102, -1, 2069, -1, -1, 2072, 2073, -1, -1, 2076, -1, 2078, -1, -1, 2081, -1, -1, 119, 2085, -1, -1, -1, -1, -1, -1, 2092, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, 143, -1, 2110, -1, -1, -1, -1, 1557, -1, -1, 2118, -1, 155, 28, -1, 1565, 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2146, -1, -1, -1, -1, -1, -1, 188, 189, -1, -1, -1, -1, 66, -1, 2161, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, 1473, 134, 135, 386, 137, 138, 139, 140, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, -1, -1, -1, 282, -1, -1, -1, -1, -1, 1500, 1501, -1, -1, 292, 293, 294, -1, -1, -1, -1, -1, -1, -1, -1, 425, 426, -1, -1, 1519, 430, 1521, -1, -1, 312, -1, -1, -1, -1, 439, 318, -1, 442, -1, -1, -1, -1, -1, -1, -1, -1, 329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1554, 1555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 476, 1762, 1763, -1, 1765, -1, 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, 1606, -1, 1608, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, 1623, 1819, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 440, -1, -1, -1, -1, -1, -1, -1, -1, 571, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 591, -1, -1, 594, -1, 596, 475, 598, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, -1, -1, -1, 52, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, 89, -1, -1, -1, -1, 94, 1774, -1, -1, -1, -1, -1, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, 1790, -1, 1792, -1, -1, -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, 274, -1, -1, -1, 132, -1, -1, -1, -1, 1816, -1, 1818, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1841, 1842, 1843, 1844, -1, -1, 1847, -1, -1, -1, 1851, 1852, -1, 1854, -1, 1856, 645, -1, -1, -1, -1, 329, 184, -1, -1, -1, -1, 1868, -1, -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, 703, -1, -1, -1, -1, -1, 709, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, 843, 844, 845, 724, 725, 726, -1, 728, 729, -1, -1, -1, -1, -1, 735, 269, -1, 738, -1, -1, -1, -1, -1, 866, 867, 868, 747, -1, 282, 750, -1, -1, -1, -1, -1, -1, 757, -1, 292, 760, 294, 441, -1, 638, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1996, 1997, 1998, 1999, -1, -1, -1, -1, -1, -1, -1, 2007, -1, -1, 672, 673, -1, -1, -1, -1, 2016, -1, 2018, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 941, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 840, -1, -1, -1, 966, -1, -1, -1, -1, -1, -1, 973, 974, 2065, 2066, -1, -1, -1, -1, -1, 2072, 2073, 984, -1, 2076, -1, 2078, -1, -1, 2081, -1, -1, -1, 2085, -1, 875, -1, -1, -1, -1, -1, -1, -1, 883, 884, -1, -1, -1, -1, -1, 423, 891, -1, -1, 894, 895, 896, -1, 898, -1, -1, -1, -1, -1, -1, -1, 2118, -1, 441, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2146, -1, -1, -1, -1, -1, -1, -1, 475, -1, -1, 478, -1, -1, -1, 949, 1072, -1, -1, -1, -1, 1077, -1, -1, -1, -1, -1, 1083, -1, -1, 643, 965, -1, 1089, -1, -1, -1, -1, -1, 1095, -1, -1, -1, -1, -1, -1, 659, -1, 515, -1, -1, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, 531, 532, 533, 534, -1, -1, -1, 1005, 1006, 1007, -1, -1, -1, -1, -1, 1013, -1, -1, -1, 550, 551, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, -1, 712, -1, -1, 1, -1, 571, -1, 573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 584, -1, -1, -1, -1, 735, -1, -1, -1, -1, -1, 741, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 621, 768, -1, -1, 1214, 1215, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, 1113, -1, 80, 1116, -1, -1, 1119, -1, 86, 87, 88, -1, -1, -1, 806, -1, -1, -1, -1, 1132, -1, -1, 814, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, 834, -1, 1157, -1, -1, -1, -1, -1, 696, -1, -1, 131, -1, -1, -1, 703, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 724, -1, -1, 1194, 728, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1210, -1, -1, 1213, 747, -1, -1, 896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, 1116, -1, -1, 1119, -1, -1, -1, -1, -1, -1, -1, -1, 1128, -1, -1, -1, 1258, 1259, -1, -1, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, -1, -1, -1, -1, -1, 1411, 1412, -1, -1, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, 1427, -1, -1, -1, 1431, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 868, 869, -1, -1, -1, -1, -1, 875, -1, -1, -1, -1, -1, -1, -1, 883, 884, -1, -1, -1, -1, -1, -1, 891, -1, -1, 894, 895, 896, -1, -1, -1, -1, -1, -1, -1, -1, 1494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1505, 1506, 1507, 1508, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, 943, -1, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, 955, -1, -1, -1, -1, -1, -1, -1, -1, -1, 965, -1, -1, -1, -1, 1116, -1, -1, 1119, 1120, 1121, -1, 1123, -1, -1, -1, -1, -1, 93, -1, 1131, -1, -1, -1, -1, -1, -1, -1, 1139, -1, -1, -1, -1, -1, -1, 1146, -1, -1, -1, -1, -1, 1473, -1, -1, 1476, -1, 1157, -1, 1013, -1, -1, -1, -1, 1164, -1, -1, -1, -1, 1169, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1200, -1, 1202, -1, -1, 1059, -1, -1, -1, -1, -1, -1, 1655, -1, 1068, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, 1234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1688, -1, 1690, -1, -1, 1693, -1, -1, -1, -1, 1576, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, 1280, -1, -1, -1, -1, -1, -1, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 1758, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 293, -1, -1, 1332, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1345, -1, -1, 312, -1, -1, -1, -1, -1, 318, -1, 1210, -1, -1, 1213, -1, 1215, -1, -1, -1, 329, -1, -1, -1, 1223, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, -1, -1, 1711, -1, -1, -1, -1, -1, 1396, -1, 201, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, 1606, -1, 1608, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, 1623, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 1773, 1774, -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1912, -1, -1, -1, -1, 1795, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 475, -1, -1, -1, 67, 319, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, 1851, 1852, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, 1987, -1, 1989, -1, -1, 101, -1, 515, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, 1424, 535, 124, -1, -1, -1, -1, -1, 542, 131, -1, 545, -1, 135, 1438, -1, -1, -1, 391, -1, 393, 1445, -1, 1914, -1, -1, 1596, 1597, -1, 1453, -1, -1, 1602, -1, 1604, -1, -1, 1607, 1608, -1, -1, -1, -1, 1613, 1614, -1, 1616, -1, -1, -1, 1474, -1, 1476, -1, -1, -1, 1626, -1, 1628, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1841, 1842, 1843, 1844, -1, -1, 1847, -1, -1, -1, 1851, 1852, -1, 1854, 1660, 1856, -1, -1, 1664, -1, -1, -1, -1, -1, -1, -1, -1, 1868, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1556, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, 698, 699, 700, 93, -1, -1, -1, -1, -1, -1, -1, 709, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, 726, -1, 728, 729, -1, -1, -1, 572, -1, 735, -1, -1, 738, -1, -1, -1, -1, -1, -1, -1, -1, 747, -1, -1, 750, -1, -1, -1, -1, -1, -1, 757, -1, -1, 760, 441, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2007, -1, -1, -1, -1, -1, -1, -1, -1, 2016, -1, 2018, -1, -1, -1, -1, 1682, 1829, 633, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1847, 1848, -1, -1, -1, -1, -1, -1, 1855, -1, -1, -1, 1859, -1, 1861, -1, -1, -1, -1, -1, -1, 224, -1, 1870, -1, -1, -1, -1, -1, 840, 2072, 2073, -1, -1, 2076, -1, 2078, -1, -1, 2081, -1, -1, -1, 2085, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1754, 704, -1, -1, -1, -1, -1, -1, -1, -1, -1, 875, -1, 269, 1914, -1, 272, 273, 274, -1, 884, -1, 1776, 2118, -1, -1, -1, 891, -1, -1, -1, -1, 896, -1, 898, -1, -1, 293, -1, -1, -1, 1795, -1, -1, -1, -1, -1, 750, -1, -1, -1, 2146, -1, -1, 757, -1, 312, 760, -1, -1, -1, -1, 318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 643, -1, 965, -1, -1, -1, -1, -1, -1, 2008, 2009, -1, 2011, -1, 2013, -1, 659, 2016, 2017, 2018, 663, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1894, 1005, 1006, 1007, -1, -1, -1, -1, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, 423, 712, -1, -1, -1, -1, -1, 2074, -1, -1, 2077, -1, -1, -1, -1, 726, -1, -1, 2085, -1, -1, -1, -1, -1, 735, -1, -1, -1, -1, -1, 741, 742, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, -1, 2121, -1, -1, 768, -1, -1, -1, -1, -1, -1, 934, -1, 936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, 1116, 1, -1, 1119, 4, 5, 6, 515, 8, 9, 806, -1, -1, -1, -1, -1, -1, -1, 814, -1, 975, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, 834, -1, -1, 1157, -1, -1, -1, -1, -1, -1, -1, -1, 1005, -1, 1007, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, 1210, -1, -1, 1213, -1, 99, 896, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, 1233, 1073, 119, 120, -1, -1, -1, 1240, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, 1258, 1259, -1, -1, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, 1113, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, 1124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, 726, -1, 728, 729, -1, -1, -1, -1, -1, 735, -1, -1, 738, -1, -1, -1, -1, -1, -1, -1, -1, 747, -1, -1, 750, -1, -1, -1, -1, -1, -1, 757, -1, -1, 760, -1, -1, -1, -1, -1, -1, -1, -1, 1216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1238, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, 1259, -1, -1, -1, -1, -1, -1, 1266, -1, -1, -1, 1270, -1, -1, -1, -1, 28, -1, -1, -1, 1120, 1121, -1, 1123, -1, -1, -1, -1, 840, -1, -1, 1131, -1, -1, 1134, -1, -1, -1, -1, 1139, -1, -1, -1, -1, -1, -1, 1146, 1147, -1, -1, -1, 53, -1, 1473, 66, -1, 1476, -1, 60, -1, 72, 73, 74, 875, 1164, 1165, -1, -1, -1, 1169, -1, -1, 884, 85, 86, -1, -1, -1, -1, 891, -1, 83, 84, 85, 896, -1, 898, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, 1200, -1, 1202, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, 132, 133, -1, -1, 1234, -1, -1, 949, -1, -1, -1, -1, -1, -1, -1, -1, -1, 149, -1, -1, -1, -1, -1, 965, -1, -1, 1576, -1, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, 1280, 1281, -1, 185, -1, -1, -1, -1, -1, 1609, -1, -1, 1612, 1005, 1006, 1007, -1, -1, -1, -1, 1620, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1473, -1, -1, -1, -1, -1, -1, 223, 224, -1, 1483, -1, -1, -1, -1, -1, -1, -1, 1332, -1, 1334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1345, 1346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1519, -1, 1521, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1538, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, 292, 1711, -1, -1, -1, -1, 1396, -1, 1398, -1, -1, 1113, -1, -1, 1116, -1, -1, 1119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1591, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, -1, -1, -1, -1, -1, -1, -1, 1773, 1774, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1795, -1, -1, -1, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, 1210, -1, -1, 1213, -1, 405, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, -1, 1851, 1852, 1692, -1, 1694, -1, -1, -1, 441, -1, -1, -1, -1, -1, -1, 1258, 1259, -1, 1708, 1709, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, -1, 1734, 1735, -1, 1737, 1738, -1, -1, 1582, 1742, 1743, 1744, 1745, -1, -1, 491, -1, -1, -1, -1, 1914, -1, -1, -1, -1, -1, -1, -1, 1602, 1603, 1604, 1605, -1, 1607, 1608, -1, 53, -1, -1, 1613, 1614, 1774, 1616, -1, 1618, -1, -1, -1, -1, -1, -1, -1, 1626, 1627, 1628, 531, 532, 533, 534, -1, 536, -1, -1, 539, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 550, 551, 552, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1660, -1, 1662, -1, 1664, -1, 1666, 569, -1, 571, -1, 573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 586, -1, -1, -1, -1, 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1913, -1, -1, -1, -1, -1, -1, 1473, -1, 1922, 1476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, 689, -1, -1, -1, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 703, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, 1979, 1980, -1, -1, -1, -1, 269, -1, -1, 1829, -1, -1, -1, -1, -1, -1, -1, -1, -1, 282, -1, -1, -1, -1, -1, -1, -1, -1, 1848, 292, -1, -1, -1, 1853, -1, 1855, 1856, -1, 1858, 1859, -1, 1861, -1, 1863, 1576, -1, -1, -1, -1, 1869, 1870, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, -1, -1, -1, 1914, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, 67, -1, -1, -1, -1, 405, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, 882, -1, 884, -1, -1, -1, -1, -1, -1, 891, -1, 101, -1, -1, 896, -1, -1, -1, 441, 1711, -1, 111, 112, 113, 114, 115, 116, -1, 2008, 2009, -1, 2011, 2012, 2013, -1, -1, -1, 2017, 2018, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, 935, -1, -1, -1, -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, 955, -1, -1, -1, -1, -1, -1, -1, 1773, 1774, 965, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2074, 2075, -1, 2077, 2078, -1, -1, -1, 2082, 1795, -1, -1, -1, 93, 531, 532, 533, 534, -1, 536, -1, -1, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 550, 551, 552, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2121, -1, -1, -1, -1, -1, -1, 571, -1, 573, -1, -1, -1, -1, -1, -1, 143, -1, 1851, 1852, -1, -1, 586, -1, -1, -1, -1, -1, 155, -1, -1, -1, 159, -1, -1, -1, 1059, 1060, -1, -1, -1, -1, -1, -1, -1, -1, 1069, -1, 1071, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1914, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 703, -1, -1, 269, -1, -1, 272, 273, 274, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, 293, -1, 1191, -1, 1193, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, 318, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, 93, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, 143, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, 429, 155, -1, -1, -1, 159, -1, -1, -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, 884, -1, -1, -1, -1, -1, -1, 891, -1, -1, -1, -1, 896, -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 492, -1, -1, -1, -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, 949, -1, -1, 515, -1, -1, 955, -1, -1, -1, -1, -1, -1, -1, -1, -1, 965, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, 1439, 269, 545, -1, 272, 273, 274, 1446, -1, -1, -1, -1, -1, -1, 1453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 293, -1, -1, -1, -1, -1, -1, -1, 1013, -1, 1474, -1, 1476, -1, -1, 1479, -1, -1, 1482, 312, -1, -1, -1, -1, -1, 318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1059, 1060, -1, -1, -1, -1, -1, -1, -1, -1, 1069, -1, 1071, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1557, -1, -1, -1, -1, -1, -1, -1, 1565, 670, 671, 672, 673, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 440, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, -1, -1, 728, 729, -1, -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, -1, 1191, -1, 1193, 757, -1, -1, 760, -1, -1, -1, -1, -1, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, -1, -1, -1, 159, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, 840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1762, 1763, -1, 1765, -1, -1, -1, -1, -1, 875, -1, -1, -1, -1, -1, -1, -1, 883, 884, -1, -1, -1, -1, -1, -1, 891, -1, -1, 894, -1, -1, -1, 898, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, -1, -1, 1819, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 293, -1, -1, -1, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, 949, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, 318, -1, -1, -1, -1, 965, -1, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, -1, 1439, 728, 729, 1005, 1006, 1007, -1, 1446, -1, -1, -1, 1013, -1, -1, 1453, -1, -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, -1, -1, -1, -1, 757, -1, -1, 760, -1, 1474, -1, 1476, -1, -1, 1479, -1, -1, 1482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, 1116, -1, -1, 1119, 1557, -1, -1, -1, -1, -1, -1, -1, 1565, -1, -1, -1, -1, -1, 492, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, 883, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 894, -1, 1171, 1172, 1173, 1174, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1213, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1258, 1259, -1, -1, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1005, 1006, 1007, -1, -1, -1, -1, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1762, 1763, -1, 1765, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, -1, -1, 728, 729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1819, -1, -1, -1, -1, -1, 1113, -1, -1, 1116, 750, 1, 1119, 3, 4, 5, 6, 757, 8, 9, 760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, 1194, -1, 1196, -1, 1473, -1, -1, 1476, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1213, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, 1233, -1, -1, 119, 120, 121, -1, 1240, 124, 125, 126, 127, -1, 129, -1, -1, -1, 883, 134, 135, -1, 137, 138, 139, 140, 1258, 1259, -1, 894, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1005, 1006, 1007, -1, -1, -1, 28, -1, 1013, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, -1, 119, 120, 121, -1, 1473, 124, 125, 126, -1, -1, -1, 1113, -1, -1, 1116, 134, 135, 1119, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, 1773, 1774, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1795, -1, -1, -1, 1157, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1851, 1852, -1, -1, 1213, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, -1, -1, 1258, 1259, -1, -1, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, 122, 123, 124, -1, -1, 127, 128, 129, 130, -1, 132, 1773, 1774, 135, -1, 137, 138, 139, -1, 141, 142, 143, 144, 145, -1, -1, 1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1851, 1852, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -1, -1, 132, -1, 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, 0, 1, 1620, 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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1773, 1774, -1, -1, -1, -1, -1, -1, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, 1851, 1852, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -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, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, 1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, -1, -1, 132, -1, 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, 132, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 1, 126, 3, 4, 5, 6, -1, 8, 9, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 1, 126, 3, 4, 5, 6, -1, 8, 9, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, -1, 119, 120, 121, -1, -1, 124, 1, 126, 3, 4, 5, 6, 131, 8, 9, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 28, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, 136, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, 127, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, 127, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 66, 8, 9, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 66, 126, -1, -1, 129, -1, 72, 73, 74, 134, 135, 136, 137, 138, 139, 140, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 66, 8, 9, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 66, 126, -1, -1, 129, -1, 72, 73, 74, 134, 135, 136, 137, 138, 139, 140, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, 127, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, 127, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, 127, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, 0, 1, -1, 3, 4, 5, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, -1, -1, -1, 134, 135, 0, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, -1, -1, -1, 134, 135, 0, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 0, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 0, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 0, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, 1, 121, 3, -1, 124, -1, 126, 127, -1, -1, -1, -1, -1, -1, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, 1, 121, 3, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, 137, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, 135, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 3, -1, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, 106, -1, -1, 3, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, -1, -1, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, 3, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, 133, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, 3, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, 1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, 127, -1, 129, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 0, 1, -1, 3, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, 80, 81, 82, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 102, 3, -1, -1, 106, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, 3, -1, 108, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, 3, -1, 108, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, 3, -1, 108, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 1, -1, 3, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 1, -1, 3, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 1, -1, 3, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, 80, 81, 82, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 102, -1, 0, 1, 106, 3, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, 81, 82, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, 108, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118 }; static const yytype_uint16 yystos[] = { 0, 3, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 66, 67, 75, 76, 77, 78, 80, 81, 82, 83, 84, 86, 87, 88, 101, 102, 106, 111, 112, 113, 114, 115, 116, 117, 118, 121, 124, 127, 147, 148, 149, 151, 176, 213, 214, 215, 216, 217, 218, 270, 273, 274, 277, 278, 279, 280, 281, 282, 283, 285, 289, 292, 293, 294, 295, 296, 297, 302, 303, 312, 313, 314, 321, 322, 326, 329, 334, 363, 366, 367, 385, 386, 388, 389, 390, 391, 392, 393, 78, 133, 5, 31, 218, 387, 218, 124, 124, 124, 151, 218, 387, 283, 284, 321, 329, 37, 149, 218, 311, 312, 314, 316, 317, 318, 320, 321, 329, 332, 333, 338, 122, 127, 148, 149, 218, 131, 133, 127, 131, 130, 121, 122, 213, 218, 131, 151, 218, 131, 133, 130, 122, 131, 133, 131, 130, 131, 149, 218, 321, 1, 31, 37, 38, 39, 127, 147, 149, 215, 217, 218, 270, 280, 281, 283, 285, 314, 318, 321, 329, 332, 333, 334, 336, 344, 345, 346, 347, 37, 38, 39, 149, 321, 346, 124, 135, 1, 29, 30, 31, 32, 33, 66, 117, 118, 125, 147, 218, 269, 273, 275, 276, 283, 285, 289, 290, 291, 297, 301, 309, 310, 350, 351, 352, 353, 354, 355, 329, 124, 314, 321, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 67, 86, 88, 101, 113, 114, 115, 116, 131, 151, 172, 173, 269, 274, 275, 283, 286, 290, 292, 300, 365, 368, 369, 370, 375, 376, 377, 31, 77, 133, 215, 217, 302, 366, 367, 385, 386, 393, 1, 215, 279, 296, 302, 334, 363, 389, 1, 388, 389, 0, 218, 387, 387, 5, 128, 387, 1, 4, 6, 8, 9, 66, 72, 73, 74, 85, 86, 99, 103, 104, 105, 106, 107, 108, 109, 110, 119, 120, 121, 124, 126, 134, 135, 137, 138, 139, 140, 151, 177, 178, 218, 219, 220, 221, 222, 225, 226, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 387, 399, 400, 401, 402, 148, 218, 131, 151, 218, 283, 329, 135, 124, 135, 125, 309, 310, 354, 355, 329, 332, 333, 311, 316, 320, 321, 125, 321, 125, 321, 321, 86, 151, 203, 205, 207, 211, 212, 218, 230, 235, 251, 255, 301, 127, 122, 122, 127, 1, 69, 79, 81, 82, 89, 92, 93, 94, 95, 97, 99, 100, 124, 126, 127, 130, 152, 153, 154, 155, 156, 157, 158, 159, 174, 175, 177, 178, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 194, 198, 199, 200, 201, 218, 226, 249, 301, 313, 315, 321, 329, 334, 335, 364, 81, 82, 218, 269, 273, 283, 286, 289, 297, 304, 305, 1, 130, 200, 201, 149, 218, 1, 218, 271, 272, 1, 130, 272, 305, 66, 204, 206, 208, 209, 210, 218, 301, 1, 130, 200, 201, 305, 1, 130, 200, 201, 1, 130, 200, 201, 149, 218, 129, 129, 129, 129, 131, 329, 314, 318, 321, 1, 128, 369, 376, 377, 369, 376, 377, 1, 127, 129, 129, 329, 127, 136, 148, 218, 244, 263, 267, 268, 129, 131, 151, 218, 130, 131, 130, 131, 321, 37, 124, 135, 137, 147, 149, 218, 269, 275, 283, 285, 290, 311, 312, 321, 327, 329, 330, 333, 1, 125, 129, 1, 125, 129, 1, 129, 1, 129, 125, 125, 314, 124, 314, 124, 124, 1, 127, 1, 130, 1, 37, 38, 39, 127, 218, 269, 275, 283, 286, 290, 321, 346, 347, 1, 127, 1, 365, 368, 376, 377, 365, 368, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 86, 87, 89, 90, 91, 127, 133, 151, 195, 196, 197, 218, 226, 230, 245, 247, 251, 263, 264, 265, 326, 356, 357, 360, 361, 362, 369, 370, 371, 372, 373, 374, 376, 377, 379, 380, 381, 382, 383, 384, 130, 31, 218, 387, 218, 213, 214, 216, 217, 311, 312, 318, 321, 329, 334, 336, 369, 377, 215, 302, 128, 243, 244, 262, 125, 124, 230, 251, 124, 230, 251, 230, 251, 124, 218, 269, 275, 283, 286, 290, 308, 267, 124, 124, 308, 267, 124, 124, 124, 124, 124, 124, 230, 251, 124, 125, 245, 247, 265, 275, 283, 285, 290, 298, 348, 387, 131, 136, 179, 180, 223, 227, 245, 131, 1, 130, 131, 218, 1, 7, 8, 9, 124, 132, 135, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 128, 246, 180, 223, 224, 232, 252, 121, 141, 142, 138, 139, 10, 11, 235, 255, 12, 13, 122, 123, 14, 15, 137, 143, 144, 16, 17, 145, 246, 125, 7, 8, 9, 124, 132, 135, 246, 121, 141, 142, 138, 139, 10, 11, 12, 13, 122, 123, 14, 15, 137, 143, 144, 16, 17, 145, 246, 125, 125, 108, 218, 301, 394, 397, 398, 131, 131, 136, 148, 267, 268, 136, 148, 267, 268, 125, 125, 125, 125, 311, 316, 320, 125, 125, 311, 11, 123, 129, 128, 124, 321, 329, 330, 66, 210, 218, 301, 210, 1, 218, 269, 283, 286, 297, 306, 301, 334, 335, 124, 151, 218, 218, 301, 1, 124, 306, 121, 124, 218, 301, 127, 326, 376, 377, 376, 377, 376, 127, 376, 377, 127, 1, 130, 1, 1, 127, 129, 129, 70, 71, 92, 96, 98, 130, 70, 71, 130, 127, 1, 198, 199, 1, 198, 199, 1, 128, 124, 133, 218, 287, 288, 311, 317, 319, 321, 329, 336, 337, 338, 1, 301, 309, 352, 329, 315, 321, 124, 133, 158, 159, 174, 175, 177, 178, 187, 218, 301, 122, 151, 218, 218, 269, 283, 286, 122, 122, 128, 129, 1, 127, 131, 28, 150, 218, 123, 129, 128, 218, 330, 332, 344, 344, 344, 344, 127, 129, 130, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 223, 224, 226, 244, 263, 300, 341, 342, 311, 314, 316, 318, 320, 311, 318, 131, 245, 264, 339, 340, 376, 377, 376, 377, 344, 345, 344, 345, 136, 136, 136, 52, 350, 351, 1, 272, 131, 131, 1, 130, 200, 201, 1, 130, 200, 201, 131, 125, 218, 309, 310, 321, 329, 330, 354, 355, 136, 148, 267, 268, 321, 329, 333, 329, 124, 135, 327, 1, 1, 129, 1, 52, 218, 350, 351, 129, 1, 52, 218, 350, 351, 129, 1, 52, 218, 350, 351, 129, 52, 218, 350, 351, 3, 28, 45, 75, 76, 125, 323, 324, 325, 245, 148, 218, 130, 131, 127, 127, 133, 267, 268, 133, 124, 124, 1, 124, 53, 54, 55, 57, 58, 59, 60, 63, 87, 218, 265, 326, 356, 379, 383, 124, 218, 127, 127, 127, 223, 224, 247, 265, 124, 283, 124, 124, 191, 218, 127, 127, 127, 133, 132, 246, 1, 132, 127, 129, 247, 265, 246, 125, 129, 247, 1, 371, 372, 371, 372, 356, 357, 365, 368, 356, 357, 365, 368, 1, 1, 387, 387, 149, 218, 131, 131, 329, 318, 321, 369, 377, 369, 377, 377, 244, 145, 127, 145, 66, 147, 218, 275, 283, 285, 290, 299, 349, 218, 300, 122, 124, 135, 218, 269, 275, 283, 286, 290, 321, 328, 329, 331, 218, 269, 275, 283, 286, 290, 307, 247, 348, 376, 218, 135, 331, 307, 245, 387, 387, 387, 245, 349, 349, 125, 218, 275, 283, 285, 290, 330, 125, 132, 1, 170, 171, 1, 130, 129, 136, 1, 170, 171, 130, 1, 170, 171, 1, 218, 125, 224, 227, 228, 264, 1, 218, 247, 265, 223, 245, 1, 232, 252, 232, 252, 232, 252, 233, 253, 233, 253, 234, 254, 234, 254, 235, 255, 235, 255, 235, 255, 223, 224, 237, 256, 223, 224, 237, 256, 223, 224, 238, 257, 223, 224, 239, 258, 223, 224, 240, 259, 241, 260, 242, 261, 133, 223, 224, 247, 248, 265, 266, 223, 245, 1, 218, 125, 227, 228, 1, 218, 247, 265, 223, 245, 232, 252, 232, 252, 232, 252, 233, 253, 233, 253, 234, 254, 234, 254, 235, 255, 235, 255, 235, 255, 235, 255, 223, 224, 237, 256, 223, 224, 237, 256, 223, 224, 238, 257, 223, 224, 239, 258, 223, 224, 240, 259, 241, 260, 242, 261, 133, 247, 248, 265, 266, 223, 245, 122, 123, 218, 395, 396, 218, 130, 394, 397, 398, 398, 136, 136, 136, 136, 136, 136, 211, 203, 205, 207, 218, 321, 329, 123, 128, 330, 123, 131, 122, 131, 218, 269, 283, 286, 330, 321, 329, 336, 337, 191, 288, 311, 321, 329, 131, 218, 131, 218, 330, 218, 321, 124, 127, 130, 181, 182, 181, 182, 376, 376, 376, 220, 376, 376, 1, 341, 342, 125, 267, 268, 131, 129, 1, 301, 309, 352, 329, 311, 319, 321, 133, 326, 218, 124, 315, 315, 218, 1, 1, 288, 212, 122, 210, 210, 267, 268, 271, 200, 201, 1, 130, 272, 128, 133, 128, 133, 209, 205, 218, 128, 218, 128, 376, 377, 1, 127, 129, 127, 129, 127, 162, 163, 166, 167, 168, 130, 160, 163, 127, 130, 162, 163, 166, 167, 168, 128, 37, 336, 337, 338, 339, 340, 343, 1, 130, 272, 1, 130, 272, 1, 130, 200, 201, 321, 329, 330, 125, 125, 125, 136, 136, 136, 329, 327, 125, 354, 355, 136, 148, 267, 268, 350, 351, 301, 350, 350, 350, 351, 125, 124, 125, 129, 324, 125, 125, 125, 1, 170, 171, 356, 357, 365, 368, 133, 133, 356, 357, 365, 368, 247, 265, 247, 265, 125, 247, 265, 133, 267, 268, 133, 124, 124, 356, 124, 224, 265, 124, 133, 57, 1, 125, 127, 218, 247, 265, 378, 127, 127, 127, 127, 127, 387, 124, 245, 245, 218, 356, 357, 365, 368, 91, 224, 264, 89, 90, 91, 245, 264, 224, 264, 245, 264, 122, 318, 377, 377, 127, 247, 248, 265, 266, 247, 248, 265, 266, 147, 148, 147, 275, 283, 285, 290, 330, 125, 125, 125, 330, 212, 125, 321, 331, 354, 355, 267, 268, 122, 329, 124, 328, 135, 122, 135, 218, 269, 275, 283, 286, 290, 331, 125, 125, 125, 125, 267, 268, 135, 135, 331, 129, 125, 129, 129, 129, 125, 129, 232, 252, 387, 1, 130, 223, 245, 1, 1, 125, 129, 125, 136, 136, 1, 129, 133, 133, 129, 133, 133, 125, 136, 136, 133, 133, 133, 133, 218, 218, 127, 129, 218, 387, 130, 130, 321, 329, 205, 212, 122, 131, 131, 218, 329, 321, 125, 329, 311, 125, 131, 131, 218, 125, 1, 170, 171, 287, 321, 218, 124, 311, 319, 319, 267, 268, 124, 125, 123, 212, 123, 123, 127, 1, 127, 203, 202, 301, 203, 202, 207, 128, 131, 1, 164, 165, 1, 164, 165, 377, 1, 341, 342, 129, 130, 339, 340, 1, 127, 1, 127, 329, 327, 125, 125, 125, 136, 136, 136, 330, 333, 247, 125, 324, 1, 356, 357, 365, 368, 356, 357, 365, 368, 125, 125, 125, 125, 1, 356, 125, 247, 356, 357, 133, 133, 265, 125, 247, 265, 57, 265, 378, 387, 124, 356, 133, 127, 1, 127, 1, 125, 265, 378, 3, 125, 133, 387, 125, 125, 129, 124, 124, 191, 133, 133, 133, 133, 133, 133, 133, 133, 125, 125, 1, 125, 123, 321, 329, 331, 125, 125, 125, 136, 136, 212, 328, 125, 354, 355, 267, 268, 212, 267, 268, 122, 135, 124, 339, 136, 136, 267, 268, 267, 268, 135, 348, 218, 218, 245, 1, 218, 224, 264, 223, 224, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 244, 262, 395, 127, 127, 123, 212, 131, 376, 311, 128, 131, 1, 124, 133, 133, 123, 200, 201, 127, 200, 201, 128, 330, 128, 207, 343, 130, 339, 340, 1, 200, 201, 200, 201, 125, 356, 356, 356, 356, 356, 357, 125, 124, 378, 125, 247, 265, 247, 356, 1, 125, 247, 265, 135, 358, 359, 387, 127, 359, 3, 125, 133, 131, 191, 245, 245, 1, 1, 328, 125, 123, 125, 125, 136, 136, 123, 136, 136, 212, 267, 268, 348, 136, 136, 136, 136, 267, 268, 125, 125, 125, 125, 125, 123, 341, 267, 268, 267, 268, 200, 201, 203, 203, 129, 130, 1, 65, 65, 247, 265, 125, 247, 265, 125, 127, 125, 127, 356, 357, 125, 356, 357, 218, 125, 129, 133, 124, 3, 125, 133, 359, 127, 359, 74, 191, 192, 193, 125, 125, 125, 129, 123, 136, 136, 125, 136, 136, 127, 130, 356, 356, 125, 125, 127, 356, 247, 356, 357, 136, 127, 358, 359, 245, 359, 127, 359, 125, 133, 3, 125, 133, 376, 376, 130, 192, 131, 191, 232, 252, 339, 125, 387, 125, 125, 125, 125, 133, 127, 359, 359, 127, 359, 193, 125, 356, 124, 127, 127, 127, 359, 125, 125, 125, 133, 130, 245, 125, 127, 127, 127, 359, 125, 127, 125, 127 }; void exit(int status); void * calloc(size_t nmemb, size_t size); void free(void * ptr); void * malloc(size_t size); void * realloc(void * ptr, size_t size); long int strtol(const char * nptr, char ** endptr, int base); long long int strtoll(const char * nptr, char ** endptr, int base); unsigned long long int strtoull(const char * nptr, char ** endptr, int base); typedef __builtin_va_list va_list; typedef void FILE; FILE * bsl_stdin(void); FILE * bsl_stdout(void); FILE * bsl_stderr(void); char * fgets(char * s, int size, FILE * stream); FILE * fopen(const char * path, const char * mode); int fclose(FILE * fp); int fflush(FILE * stream); int fgetc(FILE * stream); int fprintf(FILE * stream, const char * format, ...); int fputc(int c, FILE * stream); size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream); size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream); int vsnprintf(char *, size_t, const char *, va_list args); int snprintf(char * str, size_t, const char * format, ...); int fseek(FILE * stream, long offset, int whence); long ftell(FILE * stream); int feof(FILE * stream); int ferror(FILE * stream); int fileno(FILE * stream); int yydebug; int yyparse(void); int yychar; int yynerrs; extern unsigned int skipErrors; extern int structDeclMode; extern int declMode; extern int defaultDeclMode; struct __ecereNameSpace__ecere__sys__OldList { void * first; void * last; int count; unsigned int offset; unsigned int circ; } ecere_gcc_struct; struct __ecereNameSpace__ecere__sys__BTNode; struct Type; struct __ecereNameSpace__ecere__com__DataValue { union { char c; unsigned char uc; short s; unsigned short us; int i; unsigned int ui; void * p; float f; double d; long long i64; uint64 ui64; } ecere_gcc_struct __anon1; } ecere_gcc_struct; struct __ecereNameSpace__ecere__com__SerialBuffer { unsigned char * _buffer; unsigned int count; unsigned int _size; unsigned int pos; } ecere_gcc_struct; extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size); extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size); extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size); extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size); extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory); struct Enumerator; struct Pointer; struct TypeName; struct Context; struct ExtDecl; struct PropertyWatch; struct TemplateParameter; struct TemplateDatatype; struct DBTableEntry; struct DBIndexItem; struct CodePosition { int line; int charPos; int pos; int included; } ecere_gcc_struct; extern char * __ecereNameSpace__ecere__sys__CopyString(const char * string); struct ModuleImport; struct ClassImport; extern size_t strlen(const char * ); extern void Compiler_Error(const char * format, ...); extern const char * __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char * string, const char * stringAndContext); extern char * __ecereNameSpace__ecere__sys__RSearchString(const char * buffer, const char * subStr, int maxLen, unsigned int matchCase, unsigned int matchWord); extern char * strcpy(char * , const char * ); extern char * strcat(char * , const char * ); extern void Compiler_Warning(const char * format, ...); extern void * memcpy(void * , const void * , size_t size); struct __ecereNameSpace__ecere__com__LinkList { void * first; void * last; int count; } ecere_gcc_struct; extern int strcmp(const char * , const char * ); static void yy_stack_print(yytype_int16 * yybottom, yytype_int16 * yytop) { fprintf((bsl_stderr()), "Stack now"); for(; yybottom <= yytop; yybottom++) { int yybot = *yybottom; fprintf((bsl_stderr()), " %d", yybot); } fprintf((bsl_stderr()), "\n"); } struct __ecereNameSpace__ecere__sys__OldList * ast; extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (* FreeFunction)(void * )); extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void); extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item); extern struct __ecereNameSpace__ecere__sys__OldList * MkListOne(void * item); extern void FreeEnumerator(struct Enumerator * enumerator); extern void FreePointer(struct Pointer * pointer); extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer); extern void FreeTypeName(struct TypeName * typeName); extern struct Context * curContext; extern void PopContext(struct Context * ctx); extern void FreeContext(struct Context * context); extern struct Context * globalContext; extern struct Context * PushContext(void); extern void FreeExtDecl(struct ExtDecl * extDecl); extern struct ExtDecl * MkExtDeclString(char * s); extern void FreeTemplateParameter(struct TemplateParameter * param); extern void FreeTemplateDataType(struct TemplateDatatype * type); struct Location { struct CodePosition start; struct CodePosition end; } ecere_gcc_struct; extern void resetScannerPos(struct CodePosition * pos); extern struct Location yylloc; struct Location yylloc; struct Attrib { struct Location loc; int type; struct __ecereNameSpace__ecere__sys__OldList * attribs; } ecere_gcc_struct; extern void FreeAttrib(struct Attrib * attr); extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr); extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList * attribs); struct __ecereNameSpace__ecere__com__Class; struct __ecereNameSpace__ecere__com__Instance { void * * _vTbl; struct __ecereNameSpace__ecere__com__Class * _class; int _refCount; } ecere_gcc_struct; extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name); extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value); extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function); extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance); extern struct __ecereNameSpace__ecere__com__Instance * fileInput; int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek; struct __ecereNameSpace__ecere__com__Property; struct __ecereNameSpace__ecere__com__Property { struct __ecereNameSpace__ecere__com__Property * prev; struct __ecereNameSpace__ecere__com__Property * next; const char * name; unsigned int isProperty; int memberAccess; int id; struct __ecereNameSpace__ecere__com__Class * _class; const char * dataTypeString; struct __ecereNameSpace__ecere__com__Class * dataTypeClass; struct Type * dataType; void (* Set)(void * , int); int (* Get)(void * ); unsigned int (* IsSet)(void * ); void * data; void * symbol; int vid; unsigned int conversion; unsigned int watcherOffset; const char * category; unsigned int compiled; unsigned int selfWatchable; unsigned int isWatchable; } ecere_gcc_struct; extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property); extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object); extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * )); extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property); struct Specifier; extern void FreeSpecifier(struct Specifier * spec); extern struct Specifier * MkSpecifierName(const char * name); extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs); extern struct Specifier * MkSpecifier(int specifier); extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl); extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class); extern void AddStructDefinitions(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * definitions); extern struct Specifier * MkSpecifierNameArgs(const char * name, struct __ecereNameSpace__ecere__sys__OldList * templateArgs); struct ClassFunction; extern void FreeClassFunction(struct ClassFunction * func); struct MemberInit; extern void FreeMemberInit(struct MemberInit * init); struct MembersInit; extern void FreeMembersInit(struct MembersInit * init); extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers); struct MembersInit { struct MembersInit * prev; struct MembersInit * next; struct Location loc; int type; union { struct __ecereNameSpace__ecere__sys__OldList * dataMembers; struct ClassFunction * function; } ecere_gcc_struct __anon1; } ecere_gcc_struct; extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function); struct Instantiation; extern void FreeInstance(struct Instantiation * inst); struct PropertyDef; extern void FreeProperty(struct PropertyDef * def); struct ClassDef; extern void FreeClassDef(struct ClassDef * def); extern struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys__OldList * defProperties); extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function); extern struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef); extern struct ClassDef * MkClassDefClassProperty(struct PropertyDef * propertyDef); extern struct ClassDef * MkClassDefNoExpansion(void); extern struct ClassDef * MkClassDefFixed(void); extern struct ClassDef * MkClassDefMemberAccess(void); extern struct ClassDef * MkClassDefPropertyWatch(struct PropertyWatch * watcher); extern struct ClassDef * MkClassDefDesigner(const char * designer); struct TemplateArgument; extern void FreeTemplateArgument(struct TemplateArgument * arg); extern struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype * tplDatatype); struct ClassDefinition; extern void FreeClass(struct ClassDefinition * _class); struct Identifier; extern void FreeIdentifier(struct Identifier * id); extern struct ClassDef * MkClassDefAccessOverride(int access, struct Identifier * id); extern struct ClassDef * MkClassDefDesignerDefaultProperty(struct Identifier * id); extern struct TemplateParameter * MkTypeTemplateParameter(struct Identifier * identifier, struct TemplateDatatype * baseTplDatatype, struct TemplateArgument * defaultArgument); extern struct Identifier * MkIdentifier(const char * string); extern struct TemplateArgument * MkTemplateIdentifierArgument(struct Identifier * ident); extern struct TemplateParameter * MkIdentifierTemplateParameter(struct Identifier * identifier, int memberType, struct TemplateArgument * defaultArgument); extern struct TemplateParameter * MkExpressionTemplateParameter(struct Identifier * identifier, struct TemplateDatatype * dataType, struct TemplateArgument * defaultArgument); extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list); extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions); extern struct DBTableEntry * MkDBFieldEntry(struct TypeName * type, struct Identifier * id, char * name); extern struct DBIndexItem * MkDBIndexItem(struct Identifier * id, int order); extern struct DBTableEntry * MkDBIndexEntry(struct __ecereNameSpace__ecere__sys__OldList * items, struct Identifier * id); struct Expression; extern void FreeExpression(struct Expression * exp); extern struct Expression * MkExpDummy(void); extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members); extern struct Expression * MkExpIdentifier(struct Identifier * id); extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members); extern struct TemplateArgument * MkTemplateExpressionArgument(struct Expression * expr); struct TemplateArgument { struct TemplateArgument * prev; struct TemplateArgument * next; struct Location loc; struct Identifier * name; int type; union { struct Expression * expression; struct Identifier * identifier; struct TemplateDatatype * templateDatatype; } ecere_gcc_struct __anon1; } ecere_gcc_struct; extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions); extern struct Expression * MkExpString(const char * string); extern struct Expression * MkExpIntlString(const char * string, const char * context); extern struct Expression * MkExpConstant(const char * string); extern struct Expression * MkExpInstance(struct Instantiation * inst); extern struct Expression * MkExpExtensionExpression(struct __ecereNameSpace__ecere__sys__OldList * expressions); extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member); extern struct Expression * MkExpWideString(const char * string); extern struct Expression * MkExpNew(struct TypeName * type, struct Expression * size); extern struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size); extern struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * type, struct Expression * size); extern struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * type, struct Expression * size); extern struct Expression * MkExpVaArg(struct Expression * exp, struct TypeName * type); extern struct Expression * MkExpClassData(struct Identifier * id); extern struct Expression * MkExpArray(struct __ecereNameSpace__ecere__sys__OldList * expressions); extern struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * index); extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments); extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member); extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2); extern struct Expression * MkExpTypeSize(struct TypeName * typeName); extern struct Expression * MkExpClassSize(struct Specifier * _class); extern struct Expression * MkExpTypeAlign(struct TypeName * typeName); extern struct Expression * MkExpOffsetOf(struct TypeName * typeName, struct Identifier * id); extern struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * expression); extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp); extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp); extern struct Specifier * MkSpecifierTypeOf(struct Expression * expression); extern struct Expression * MkExpDBOpen(struct Expression * ds, struct Expression * dbName); extern struct Expression * MkExpDBField(char * table, struct Identifier * id); extern struct Expression * MkExpDBIndex(char * table, struct Identifier * id); extern struct Expression * MkExpDBTable(char * table); struct Declarator; extern void FreeDeclarator(struct Declarator * decl); extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList); extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp); extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters); extern struct TemplateDatatype * MkTemplateDatatype(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl); extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator); extern struct Expression * MkExpClass(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl); extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id); extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp); extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class); extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator); extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator); extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator); extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, struct Declarator * declarator); extern struct TypeName * MkTypeNameGuessDecl(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator); struct Attribute; extern void FreeAttribute(struct Attribute * attr); extern struct Attribute * MkAttribute(char * attr, struct Expression * exp); struct Attribute { struct Attribute * prev; struct Attribute * next; struct Location loc; char * attr; struct Expression * exp; } ecere_gcc_struct; struct Initializer; extern void FreeInitializer(struct Initializer * initializer); extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer); struct MemberInit { struct MemberInit * prev; struct MemberInit * next; struct Location loc; struct Location realLoc; struct __ecereNameSpace__ecere__sys__OldList * identifiers; struct Initializer * initializer; unsigned int used; unsigned int variable; unsigned int takeOutExp; } ecere_gcc_struct; struct Initializer { struct Initializer * prev; struct Initializer * next; struct Location loc; int type; union { struct Expression * exp; struct __ecereNameSpace__ecere__sys__OldList * list; } ecere_gcc_struct __anon1; unsigned int isConstant; struct Identifier * id; } ecere_gcc_struct; extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer); extern struct Initializer * MkInitializerAssignment(struct Expression * exp); extern struct ClassDef * MkClassDefClassPropertyValue(struct Identifier * id, struct Initializer * initializer); extern struct Expression * MkExpExtensionInitializer(struct TypeName * typeName, struct Initializer * initializer); extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list); struct InitDeclarator; extern void FreeInitDeclarator(struct InitDeclarator * decl); extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer); struct InitDeclarator { struct InitDeclarator * prev; struct InitDeclarator * next; struct Location loc; struct Declarator * declarator; struct Initializer * initializer; } ecere_gcc_struct; struct Statement; extern void FreeStatement(struct Statement * stmt); extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body); struct Expression { struct Expression * prev; struct Expression * next; struct Location loc; int type; union { struct { char * constant; struct Identifier * identifier; } ecere_gcc_struct __anon1; struct Statement * compound; struct Instantiation * instance; struct { char * string; unsigned int intlString; unsigned int wideString; } ecere_gcc_struct __anon2; struct __ecereNameSpace__ecere__sys__OldList * list; struct { struct __ecereNameSpace__ecere__sys__OldList * specifiers; struct Declarator * decl; } ecere_gcc_struct _classExp; struct { struct Identifier * id; } ecere_gcc_struct classData; struct { struct Expression * exp; struct __ecereNameSpace__ecere__sys__OldList * arguments; struct Location argLoc; } ecere_gcc_struct call; struct { struct Expression * exp; struct __ecereNameSpace__ecere__sys__OldList * index; } ecere_gcc_struct index; struct { struct Expression * exp; struct Identifier * member; int memberType; unsigned int thisPtr; } ecere_gcc_struct member; struct { int op; struct Expression * exp1; struct Expression * exp2; } ecere_gcc_struct op; struct TypeName * typeName; struct Specifier * _class; struct { struct TypeName * typeName; struct Expression * exp; } ecere_gcc_struct cast; struct { struct Expression * cond; struct __ecereNameSpace__ecere__sys__OldList * exp; struct Expression * elseExp; } ecere_gcc_struct cond; struct { struct TypeName * typeName; struct Expression * size; } ecere_gcc_struct _new; struct { struct TypeName * typeName; struct Expression * size; struct Expression * exp; } ecere_gcc_struct _renew; struct { char * table; struct Identifier * id; } ecere_gcc_struct db; struct { struct Expression * ds; struct Expression * name; } ecere_gcc_struct dbopen; struct { struct TypeName * typeName; struct Initializer * initializer; } ecere_gcc_struct initializer; struct { struct Expression * exp; struct TypeName * typeName; } ecere_gcc_struct vaArg; struct { struct TypeName * typeName; struct Identifier * id; } ecere_gcc_struct offset; } ecere_gcc_struct __anon1; unsigned int debugValue; struct __ecereNameSpace__ecere__com__DataValue val; uint64 address; unsigned int hasAddress; struct Type * expType; struct Type * destType; unsigned int usage; int tempCount; unsigned int byReference; unsigned int isConstant; unsigned int addedThis; unsigned int needCast; unsigned int thisPtr; unsigned int opDestType; unsigned int usedInComparison; unsigned int ambiguousUnits; unsigned int parentOpDestType; unsigned int needTemplateCast; } ecere_gcc_struct; extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt); extern struct PropertyWatch * MkPropertyWatch(struct __ecereNameSpace__ecere__sys__OldList * properties, struct Statement * compound); extern struct PropertyWatch * MkDeleteWatch(struct Statement * compound); extern struct Statement * MkWatchStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches); extern struct Statement * MkStopWatchingStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches); extern struct Statement * MkFireWatchersStmt(struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches); extern struct Expression * MkExpExtensionCompound(struct Statement * compound); extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions); extern struct Statement * MkAsmStmt(struct Specifier * spec, char * statements, struct __ecereNameSpace__ecere__sys__OldList * inputFields, struct __ecereNameSpace__ecere__sys__OldList * outputFields, struct __ecereNameSpace__ecere__sys__OldList * clobberedFields); extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement); extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement); extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements); extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt); extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement); extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement); extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp); extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement); extern struct Statement * MkForEachStmt(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * exp, struct __ecereNameSpace__ecere__sys__OldList * filter, struct Statement * statement); extern struct Statement * MkGotoStmt(struct Identifier * id); extern struct Statement * MkContinueStmt(void); extern struct Statement * MkBreakStmt(void); extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp); struct Declaration; extern void FreeDeclaration(struct Declaration * decl); struct Statement { struct Statement * prev; struct Statement * next; struct Location loc; int type; union { struct __ecereNameSpace__ecere__sys__OldList * expressions; struct { struct Identifier * id; struct Statement * stmt; } ecere_gcc_struct labeled; struct { struct Expression * exp; struct Statement * stmt; } ecere_gcc_struct caseStmt; struct { struct __ecereNameSpace__ecere__sys__OldList * declarations; struct __ecereNameSpace__ecere__sys__OldList * statements; struct Context * context; unsigned int isSwitch; } ecere_gcc_struct compound; struct { struct __ecereNameSpace__ecere__sys__OldList * exp; struct Statement * stmt; struct Statement * elseStmt; } ecere_gcc_struct ifStmt; struct { struct __ecereNameSpace__ecere__sys__OldList * exp; struct Statement * stmt; } ecere_gcc_struct switchStmt; struct { struct __ecereNameSpace__ecere__sys__OldList * exp; struct Statement * stmt; } ecere_gcc_struct whileStmt; struct { struct __ecereNameSpace__ecere__sys__OldList * exp; struct Statement * stmt; } ecere_gcc_struct doWhile; struct { struct Statement * init; struct Statement * check; struct __ecereNameSpace__ecere__sys__OldList * increment; struct Statement * stmt; } ecere_gcc_struct forStmt; struct { struct Identifier * id; } ecere_gcc_struct gotoStmt; struct { struct Specifier * spec; char * statements; struct __ecereNameSpace__ecere__sys__OldList * inputFields; struct __ecereNameSpace__ecere__sys__OldList * outputFields; struct __ecereNameSpace__ecere__sys__OldList * clobberedFields; } ecere_gcc_struct asmStmt; struct { struct Expression * watcher; struct Expression * object; struct __ecereNameSpace__ecere__sys__OldList * watches; } ecere_gcc_struct _watch; struct { struct Identifier * id; struct __ecereNameSpace__ecere__sys__OldList * exp; struct __ecereNameSpace__ecere__sys__OldList * filter; struct Statement * stmt; } ecere_gcc_struct forEachStmt; struct Declaration * decl; } ecere_gcc_struct __anon1; } ecere_gcc_struct; struct ClassDef { struct ClassDef * prev; struct ClassDef * next; struct Location loc; int type; union { struct Declaration * decl; struct ClassFunction * function; struct __ecereNameSpace__ecere__sys__OldList * defProperties; struct PropertyDef * propertyDef; struct PropertyWatch * propertyWatch; char * designer; struct Identifier * defaultProperty; struct { struct Identifier * id; struct Initializer * initializer; } ecere_gcc_struct __anon1; } ecere_gcc_struct __anon1; int memberAccess; void * object; } ecere_gcc_struct; extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl); extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage); extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst); extern struct ClassDef * MkClassDefClassData(struct Declaration * decl); extern struct Statement * MkBadDeclStmt(struct Declaration * decl); extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators); extern struct Declaration * MkDeclarationInst(struct Instantiation * inst); extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp); struct FunctionDefinition; extern void FreeFunction(struct FunctionDefinition * func); extern struct FunctionDefinition * MkFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * declarationList); extern void ProcessFunctionBody(struct FunctionDefinition * func, struct Statement * body); struct External; extern void FreeExternal(struct External * external); extern struct External * MkExternalFunction(struct FunctionDefinition * function); extern struct External * MkExternalClass(struct ClassDefinition * _class); extern struct External * MkExternalDeclaration(struct Declaration * declaration); extern struct External * MkExternalImport(char * name, int importType, int importAccess); extern struct External * MkExternalNameSpace(struct Identifier * identifier); struct Symbol; extern struct Symbol * _DeclClass(struct Specifier * _class, const char * name); struct Identifier { struct Identifier * prev; struct Identifier * next; struct Location loc; struct Symbol * classSym; struct Specifier * _class; char * string; struct Identifier * badID; } ecere_gcc_struct; struct Specifier { struct Specifier * prev; struct Specifier * next; struct Location loc; int type; union { int specifier; struct { struct ExtDecl * extDecl; char * name; struct Symbol * symbol; struct __ecereNameSpace__ecere__sys__OldList * templateArgs; struct Specifier * nsSpec; } ecere_gcc_struct __anon1; struct { struct Identifier * id; struct __ecereNameSpace__ecere__sys__OldList * list; struct __ecereNameSpace__ecere__sys__OldList * baseSpecs; struct __ecereNameSpace__ecere__sys__OldList * definitions; unsigned int addNameSpace; struct Context * ctx; struct ExtDecl * extDeclStruct; } ecere_gcc_struct __anon2; struct Expression * expression; struct Specifier * _class; struct TemplateParameter * templateParameter; } ecere_gcc_struct __anon1; } ecere_gcc_struct; struct ClassFunction { struct ClassFunction * prev; struct ClassFunction * next; struct Location loc; struct __ecereNameSpace__ecere__sys__OldList * specifiers; struct Declarator * declarator; struct __ecereNameSpace__ecere__sys__OldList * declarations; struct Statement * body; struct __ecereNameSpace__ecere__com__Class * _class; struct __ecereNameSpace__ecere__sys__OldList attached; int declMode; struct Type * type; struct Symbol * propSet; unsigned int isVirtual; unsigned int isConstructor; unsigned int isDestructor; unsigned int dontMangle; int id; int idCode; } ecere_gcc_struct; struct Declarator { struct Declarator * prev; struct Declarator * next; struct Location loc; int type; struct Symbol * symbol; struct Declarator * declarator; union { struct Identifier * identifier; struct { struct Expression * exp; struct Expression * posExp; struct Attrib * attrib; } ecere_gcc_struct structDecl; struct { struct Expression * exp; struct Specifier * enumClass; } ecere_gcc_struct array; struct { struct __ecereNameSpace__ecere__sys__OldList * parameters; } ecere_gcc_struct function; struct { struct Pointer * pointer; } ecere_gcc_struct pointer; struct { struct ExtDecl * extended; } ecere_gcc_struct extended; } ecere_gcc_struct __anon1; } ecere_gcc_struct; struct Instantiation { struct Instantiation * prev; struct Instantiation * next; struct Location loc; struct Specifier * _class; struct Expression * exp; struct __ecereNameSpace__ecere__sys__OldList * members; struct Symbol * symbol; unsigned int fullSet; unsigned int isConstant; unsigned char * data; struct Location nameLoc; struct Location insideLoc; unsigned int built; } ecere_gcc_struct; struct PropertyDef { struct PropertyDef * prev; struct PropertyDef * next; struct Location loc; struct __ecereNameSpace__ecere__sys__OldList * specifiers; struct Declarator * declarator; struct Identifier * id; struct Statement * getStmt; struct Statement * setStmt; struct Statement * issetStmt; struct Symbol * symbol; struct Expression * category; struct { unsigned int conversion : 1; unsigned int isWatchable : 1; unsigned int isDBProp : 1; } ecere_gcc_struct __anon1; } ecere_gcc_struct; struct Declaration { struct Declaration * prev; struct Declaration * next; struct Location loc; int type; union { struct { struct __ecereNameSpace__ecere__sys__OldList * specifiers; struct __ecereNameSpace__ecere__sys__OldList * declarators; } ecere_gcc_struct __anon1; struct Instantiation * inst; struct { struct Identifier * id; struct Expression * exp; } ecere_gcc_struct __anon2; } ecere_gcc_struct __anon1; struct Specifier * extStorage; struct Symbol * symbol; int declMode; } ecere_gcc_struct; extern struct Symbol * DeclClassAddNameSpace(struct Specifier * _class, const char * className); extern struct Symbol * DeclClass(struct Specifier * _class, const char * name); struct ClassDefinition { struct ClassDefinition * prev; struct ClassDefinition * next; struct Location loc; struct Specifier * _class; struct __ecereNameSpace__ecere__sys__OldList * baseSpecs; struct __ecereNameSpace__ecere__sys__OldList * definitions; struct Symbol * symbol; struct Location blockStart; struct Location nameLoc; int declMode; unsigned int deleteWatchable; } ecere_gcc_struct; extern struct ClassDefinition * MkClass(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * definitions); extern void SetupBaseSpecs(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs); struct FunctionDefinition { struct FunctionDefinition * prev; struct FunctionDefinition * next; struct Location loc; struct __ecereNameSpace__ecere__sys__OldList * specifiers; struct Declarator * declarator; struct __ecereNameSpace__ecere__sys__OldList * declarations; struct Statement * body; struct __ecereNameSpace__ecere__com__Class * _class; struct __ecereNameSpace__ecere__sys__OldList attached; int declMode; struct Type * type; struct Symbol * propSet; int tempCount; unsigned int propertyNoThis; } ecere_gcc_struct; struct DBTableDef { char * name; struct Symbol * symbol; struct __ecereNameSpace__ecere__sys__OldList * definitions; int declMode; } ecere_gcc_struct; struct External { struct External * prev; struct External * next; struct Location loc; int type; struct Symbol * symbol; union { struct FunctionDefinition * function; struct ClassDefinition * _class; struct Declaration * declaration; char * importString; struct Identifier * id; struct DBTableDef * table; } ecere_gcc_struct __anon1; int importType; struct External * fwdDecl; struct __ecereNameSpace__ecere__com__Instance * outgoing; struct __ecereNameSpace__ecere__com__Instance * incoming; int nonBreakableIncoming; } ecere_gcc_struct; extern struct External * MkExternalDBTable(struct DBTableDef * table); extern struct DBTableDef * MkDBTableDef(char * name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * definitions); struct __ecereNameSpace__ecere__sys__BinaryTree; struct __ecereNameSpace__ecere__sys__BinaryTree { struct __ecereNameSpace__ecere__sys__BTNode * root; int count; int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b); void (* FreeKey)(void * key); } ecere_gcc_struct; struct __ecereNameSpace__ecere__com__Method; struct __ecereNameSpace__ecere__com__Method { const char * name; struct __ecereNameSpace__ecere__com__Method * parent; struct __ecereNameSpace__ecere__com__Method * left; struct __ecereNameSpace__ecere__com__Method * right; int depth; int (* function)(); int vid; int type; struct __ecereNameSpace__ecere__com__Class * _class; void * symbol; const char * dataTypeString; struct Type * dataType; int memberAccess; } ecere_gcc_struct; struct Symbol { char * string; struct Symbol * parent; struct Symbol * left; struct Symbol * right; int depth; struct Type * type; union { struct __ecereNameSpace__ecere__com__Method * method; struct __ecereNameSpace__ecere__com__Property * _property; struct __ecereNameSpace__ecere__com__Class * registered; } ecere_gcc_struct __anon1; unsigned int notYetDeclared; union { struct { struct External * pointerExternal; struct External * structExternal; } ecere_gcc_struct __anon1; struct { struct External * externalGet; struct External * externalSet; struct External * externalPtr; struct External * externalIsSet; } ecere_gcc_struct __anon2; struct { struct External * methodExternal; struct External * methodCodeExternal; } ecere_gcc_struct __anon3; } ecere_gcc_struct __anon2; unsigned int imported; unsigned int declaredStructSym; struct __ecereNameSpace__ecere__com__Class * _class; unsigned int declaredStruct; unsigned int needConstructor; unsigned int needDestructor; char * constructorName; char * structName; char * className; char * destructorName; struct ModuleImport * module; struct ClassImport * _import; struct Location nameLoc; unsigned int isParam; unsigned int isRemote; unsigned int isStruct; unsigned int fireWatchersDone; int declaring; unsigned int classData; unsigned int isStatic; char * shortName; struct __ecereNameSpace__ecere__sys__OldList * templateParams; struct __ecereNameSpace__ecere__sys__OldList templatedClasses; struct Context * ctx; int isIterator; struct Expression * propCategory; unsigned int mustRegister; } ecere_gcc_struct; struct AsmField; typedef union YYSTYPE { int specifierType; int i; int declMode; struct Identifier * id; struct Expression * exp; struct Specifier * specifier; struct __ecereNameSpace__ecere__sys__OldList * list; struct Enumerator * enumerator; struct Declarator * declarator; struct Pointer * pointer; struct Initializer * initializer; struct InitDeclarator * initDeclarator; struct TypeName * typeName; struct Declaration * declaration; struct Statement * stmt; struct FunctionDefinition * function; struct External * external; struct Context * context; struct AsmField * asmField; struct Attrib * attrib; struct ExtDecl * extDecl; struct Attribute * attribute; struct Instantiation * instance; struct MembersInit * membersInit; struct MemberInit * memberInit; struct ClassFunction * classFunction; struct ClassDefinition * _class; struct ClassDef * classDef; struct PropertyDef * prop; char * string; struct Symbol * symbol; struct PropertyWatch * propertyWatch; struct TemplateParameter * templateParameter; struct TemplateArgument * templateArgument; struct TemplateDatatype * templateDatatype; struct DBTableEntry * dbtableEntry; struct DBIndexItem * dbindexItem; struct DBTableDef * dbtableDef; } ecere_gcc_struct YYSTYPE; extern YYSTYPE yylval; union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; struct Location yyls_alloc; } ecere_gcc_struct; static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp) { if(!yyvaluep) return ; ((void)(yylocationp)); ((void)(yyoutput)); switch(yytype) { default: break; } } YYSTYPE yylval; extern struct AsmField * MkAsmField(char * command, struct Expression * expression, struct Identifier * symbolic); struct AsmField { struct AsmField * prev; struct AsmField * next; struct Location loc; char * command; struct Expression * expression; struct Identifier * symbolic; } ecere_gcc_struct; static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp) { if(yytype < 146) fprintf(yyoutput, "token %s (", yytname[yytype]); else fprintf(yyoutput, "nterm %s (", yytname[yytype]); ((void)0); fprintf(yyoutput, ": "); yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp); fprintf(yyoutput, ")"); } static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule) { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); for(yyi = 0; yyi < yynrhs; yyi++) { fprintf((bsl_stderr()), " $%d = ", yyi + 1); yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)])); fprintf((bsl_stderr()), "\n"); } } struct __ecereNameSpace__ecere__com__NameSpace; struct __ecereNameSpace__ecere__com__NameSpace { const char * name; struct __ecereNameSpace__ecere__com__NameSpace * btParent; struct __ecereNameSpace__ecere__com__NameSpace * left; struct __ecereNameSpace__ecere__com__NameSpace * right; int depth; struct __ecereNameSpace__ecere__com__NameSpace * parent; struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces; struct __ecereNameSpace__ecere__sys__BinaryTree classes; struct __ecereNameSpace__ecere__sys__BinaryTree defines; struct __ecereNameSpace__ecere__sys__BinaryTree functions; } ecere_gcc_struct; struct __ecereNameSpace__ecere__com__Application { int argc; const char * * argv; int exitCode; unsigned int isGUIApp; struct __ecereNameSpace__ecere__sys__OldList allModules; char * parsedCommand; struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace; } ecere_gcc_struct; struct __ecereNameSpace__ecere__com__DataMember; struct __ecereNameSpace__ecere__com__ClassTemplateArgument { union { struct { const char * dataTypeString; struct __ecereNameSpace__ecere__com__Class * dataTypeClass; } ecere_gcc_struct __anon1; struct __ecereNameSpace__ecere__com__DataValue expression; struct { const char * memberString; union { struct __ecereNameSpace__ecere__com__DataMember * member; struct __ecereNameSpace__ecere__com__Property * prop; struct __ecereNameSpace__ecere__com__Method * method; } ecere_gcc_struct __anon1; } ecere_gcc_struct __anon2; } ecere_gcc_struct __anon1; } ecere_gcc_struct; struct __ecereNameSpace__ecere__com__DataMember { struct __ecereNameSpace__ecere__com__DataMember * prev; struct __ecereNameSpace__ecere__com__DataMember * next; const char * name; unsigned int isProperty; int memberAccess; int id; struct __ecereNameSpace__ecere__com__Class * _class; const char * dataTypeString; struct __ecereNameSpace__ecere__com__Class * dataTypeClass; struct Type * dataType; int type; int offset; int memberID; struct __ecereNameSpace__ecere__sys__OldList members; struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha; int memberOffset; short structAlignment; short pointerAlignment; } ecere_gcc_struct; struct __ecereNameSpace__ecere__com__Module; struct __ecereNameSpace__ecere__com__Module { struct __ecereNameSpace__ecere__com__Instance * application; struct __ecereNameSpace__ecere__sys__OldList classes; struct __ecereNameSpace__ecere__sys__OldList defines; struct __ecereNameSpace__ecere__sys__OldList functions; struct __ecereNameSpace__ecere__sys__OldList modules; struct __ecereNameSpace__ecere__com__Instance * prev; struct __ecereNameSpace__ecere__com__Instance * next; const char * name; void * library; void * Unload; int importType; int origImportType; struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace; struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace; } ecere_gcc_struct; struct __ecereNameSpace__ecere__com__Class { struct __ecereNameSpace__ecere__com__Class * prev; struct __ecereNameSpace__ecere__com__Class * next; const char * name; int offset; int structSize; void * * _vTbl; int vTblSize; unsigned int (* Constructor)(void * ); void (* Destructor)(void * ); int offsetClass; int sizeClass; struct __ecereNameSpace__ecere__com__Class * base; struct __ecereNameSpace__ecere__sys__BinaryTree methods; struct __ecereNameSpace__ecere__sys__BinaryTree members; struct __ecereNameSpace__ecere__sys__BinaryTree prop; struct __ecereNameSpace__ecere__sys__OldList membersAndProperties; struct __ecereNameSpace__ecere__sys__BinaryTree classProperties; struct __ecereNameSpace__ecere__sys__OldList derivatives; int memberID; int startMemberID; int type; struct __ecereNameSpace__ecere__com__Instance * module; struct __ecereNameSpace__ecere__com__NameSpace * nameSpace; const char * dataTypeString; struct Type * dataType; int typeSize; int defaultAlignment; void (* Initialize)(); int memberOffset; struct __ecereNameSpace__ecere__sys__OldList selfWatchers; const char * designerClass; unsigned int noExpansion; const char * defaultProperty; unsigned int comRedefinition; int count; int isRemote; unsigned int internalDecl; void * data; unsigned int computeSize; short structAlignment; short pointerAlignment; int destructionWatchOffset; unsigned int fixed; struct __ecereNameSpace__ecere__sys__OldList delayedCPValues; int inheritanceAccess; const char * fullName; void * symbol; struct __ecereNameSpace__ecere__sys__OldList conversions; struct __ecereNameSpace__ecere__sys__OldList templateParams; struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs; struct __ecereNameSpace__ecere__com__Class * templateClass; struct __ecereNameSpace__ecere__sys__OldList templatized; int numParams; unsigned int isInstanceClass; unsigned int byValueSystemClass; } ecere_gcc_struct; void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module) { struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class; } void __ecereUnregisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module) { } extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context; extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File; static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp) { ((void)(yyvaluep)); ((void)(yylocationp)); if(!yymsg) yymsg = "Deleting"; do { if(yydebug) { fprintf((bsl_stderr()), "%s ", yymsg); yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp); fprintf((bsl_stderr()), "\n"); } }while((0)); switch(yytype) { case 147: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 148: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 149: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 150: { (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0); } ; break; case 151: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 152: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 153: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 154: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 155: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 156: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 157: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 158: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 159: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 160: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 161: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 162: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 163: { FreeClassFunction((*yyvaluep).classFunction); } ; break; case 164: { FreeMemberInit((*yyvaluep).memberInit); } ; break; case 165: { FreeMemberInit((*yyvaluep).memberInit); } ; break; case 166: { FreeList((*yyvaluep).list, (void *)(FreeMemberInit)); } ; break; case 167: { FreeList((*yyvaluep).list, (void *)(FreeMemberInit)); } ; break; case 168: { FreeList((*yyvaluep).list, (void *)(FreeMemberInit)); } ; break; case 169: { FreeList((*yyvaluep).list, (void *)(FreeMembersInit)); } ; break; case 170: { FreeList((*yyvaluep).list, (void *)(FreeMembersInit)); } ; break; case 171: { FreeList((*yyvaluep).list, (void *)(FreeMembersInit)); } ; break; case 172: { FreeInstance((*yyvaluep).instance); } ; break; case 173: { FreeInstance((*yyvaluep).instance); } ; break; case 177: { FreeInstance((*yyvaluep).instance); } ; break; case 178: { FreeInstance((*yyvaluep).instance); } ; break; case 181: { FreeMemberInit((*yyvaluep).memberInit); } ; break; case 182: { FreeMemberInit((*yyvaluep).memberInit); } ; break; case 183: { FreeList((*yyvaluep).list, (void *)(FreeMemberInit)); } ; break; case 184: { FreeList((*yyvaluep).list, (void *)(FreeMemberInit)); } ; break; case 187: { FreeProperty((*yyvaluep).prop); } ; break; case 198: { FreeClassDef((*yyvaluep).classDef); } ; break; case 199: { FreeClassDef((*yyvaluep).classDef); } ; break; case 200: { FreeList((*yyvaluep).list, (void *)(FreeClassDef)); } ; break; case 201: { FreeList((*yyvaluep).list, (void *)(FreeClassDef)); } ; break; case 202: { FreeTemplateDataType((*yyvaluep).templateDatatype); } ; break; case 203: { FreeTemplateArgument((*yyvaluep).templateArgument); } ; break; case 204: { FreeTemplateParameter((*yyvaluep).templateParameter); } ; break; case 205: { FreeTemplateArgument((*yyvaluep).templateArgument); } ; break; case 206: { FreeTemplateParameter((*yyvaluep).templateParameter); } ; break; case 207: { FreeTemplateArgument((*yyvaluep).templateArgument); } ; break; case 208: { FreeTemplateParameter((*yyvaluep).templateParameter); } ; break; case 209: { FreeTemplateParameter((*yyvaluep).templateParameter); } ; break; case 210: { FreeList((*yyvaluep).list, (void *)(FreeTemplateParameter)); } ; break; case 211: { FreeTemplateArgument((*yyvaluep).templateArgument); } ; break; case 212: { FreeList((*yyvaluep).list, (void *)(FreeTemplateArgument)); } ; break; case 213: { struct Context * ctx = curContext; PopContext(ctx); FreeContext(ctx); ((ctx ? __extension__ ({ void * __ecerePtrToDelete = (ctx); __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete); }) : 0), ctx = 0); } ; break; case 214: { struct Context * ctx = curContext; PopContext(ctx); FreeContext(ctx); ((ctx ? __extension__ ({ void * __ecerePtrToDelete = (ctx); __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete); }) : 0), ctx = 0); } ; break; case 215: { FreeClass((*yyvaluep)._class); } ; break; case 216: { FreeClass((*yyvaluep)._class); } ; break; case 217: { FreeClass((*yyvaluep)._class); } ; break; case 218: { FreeIdentifier((*yyvaluep).id); } ; break; case 219: { FreeExpression((*yyvaluep).exp); } ; break; case 220: { FreeExpression((*yyvaluep).exp); } ; break; case 225: { FreeExpression((*yyvaluep).exp); } ; break; case 226: { FreeExpression((*yyvaluep).exp); } ; break; case 227: { FreeList((*yyvaluep).list, (void *)(FreeExpression)); } ; break; case 228: { FreeList((*yyvaluep).list, (void *)(FreeExpression)); } ; break; case 230: { FreeExpression((*yyvaluep).exp); } ; break; case 232: { FreeExpression((*yyvaluep).exp); } ; break; case 233: { FreeExpression((*yyvaluep).exp); } ; break; case 234: { FreeExpression((*yyvaluep).exp); } ; break; case 235: { FreeExpression((*yyvaluep).exp); } ; break; case 237: { FreeExpression((*yyvaluep).exp); } ; break; case 238: { FreeExpression((*yyvaluep).exp); } ; break; case 239: { FreeExpression((*yyvaluep).exp); } ; break; case 240: { FreeExpression((*yyvaluep).exp); } ; break; case 241: { FreeExpression((*yyvaluep).exp); } ; break; case 242: { FreeExpression((*yyvaluep).exp); } ; break; case 243: { FreeExpression((*yyvaluep).exp); } ; break; case 244: { FreeExpression((*yyvaluep).exp); } ; break; case 245: { FreeExpression((*yyvaluep).exp); } ; break; case 247: { FreeList((*yyvaluep).list, (void *)(FreeExpression)); } ; break; case 249: { FreeExpression((*yyvaluep).exp); } ; break; case 251: { FreeExpression((*yyvaluep).exp); } ; break; case 252: { FreeExpression((*yyvaluep).exp); } ; break; case 253: { FreeExpression((*yyvaluep).exp); } ; break; case 254: { FreeExpression((*yyvaluep).exp); } ; break; case 255: { FreeExpression((*yyvaluep).exp); } ; break; case 256: { FreeExpression((*yyvaluep).exp); } ; break; case 257: { FreeExpression((*yyvaluep).exp); } ; break; case 258: { FreeExpression((*yyvaluep).exp); } ; break; case 259: { FreeExpression((*yyvaluep).exp); } ; break; case 260: { FreeExpression((*yyvaluep).exp); } ; break; case 261: { FreeExpression((*yyvaluep).exp); } ; break; case 262: { FreeExpression((*yyvaluep).exp); } ; break; case 263: { FreeExpression((*yyvaluep).exp); } ; break; case 264: { FreeExpression((*yyvaluep).exp); } ; break; case 265: { FreeList((*yyvaluep).list, (void *)(FreeExpression)); } ; break; case 267: { FreeExpression((*yyvaluep).exp); } ; break; case 268: { FreeExpression((*yyvaluep).exp); } ; break; case 269: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 270: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 271: { FreeEnumerator((*yyvaluep).enumerator); } ; break; case 272: { FreeList((*yyvaluep).list, (void *)(FreeEnumerator)); } ; break; case 274: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 275: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 276: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 278: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 279: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 280: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 281: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 282: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 283: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 284: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 285: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 286: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 287: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 288: { FreeList((*yyvaluep).list, (void *)(FreeDeclarator)); } ; break; case 289: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 290: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 291: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 292: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 293: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 294: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 295: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 296: { FreeSpecifier((*yyvaluep).specifier); } ; break; case 298: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 299: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 300: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 301: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 302: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 303: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 304: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 305: { FreeList((*yyvaluep).list, (void *)(FreeSpecifier)); } ; break; case 309: { FreeList((*yyvaluep).list, (void *)(FreeTypeName)); } ; break; case 310: { FreeList((*yyvaluep).list, (void *)(FreeTypeName)); } ; break; case 311: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 312: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 313: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 314: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 315: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 316: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 317: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 318: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 319: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 320: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 321: { FreeExtDecl((*yyvaluep).extDecl); } ; break; case 323: { (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0); } ; break; case 324: { FreeAttribute((*yyvaluep).attribute); } ; break; case 325: { FreeList((*yyvaluep).list, (void *)(FreeAttribute)); } ; break; case 326: { FreeAttrib((*yyvaluep).attrib); } ; break; case 327: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 328: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 329: { FreePointer((*yyvaluep).pointer); } ; break; case 330: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 331: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 332: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 333: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 334: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 335: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 336: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 337: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 338: { FreeDeclarator((*yyvaluep).declarator); } ; break; case 339: { FreeInitializer((*yyvaluep).initializer); } ; break; case 340: { FreeInitializer((*yyvaluep).initializer); } ; break; case 341: { FreeInitializer((*yyvaluep).initializer); } ; break; case 342: { FreeInitializer((*yyvaluep).initializer); } ; break; case 343: { FreeList((*yyvaluep).list, (void *)(FreeInitializer)); } ; break; case 344: { FreeInitDeclarator((*yyvaluep).initDeclarator); } ; break; case 345: { FreeInitDeclarator((*yyvaluep).initDeclarator); } ; break; case 346: { FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator)); } ; break; case 347: { FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator)); } ; break; case 348: { FreeTypeName((*yyvaluep).typeName); } ; break; case 349: { FreeTypeName((*yyvaluep).typeName); } ; break; case 350: { FreeTypeName((*yyvaluep).typeName); } ; break; case 351: { FreeTypeName((*yyvaluep).typeName); } ; break; case 352: { FreeList((*yyvaluep).list, (void *)(FreeTypeName)); } ; break; case 353: { FreeList((*yyvaluep).list, (void *)(FreeTypeName)); } ; break; case 354: { FreeList((*yyvaluep).list, (void *)(FreeTypeName)); } ; break; case 355: { FreeList((*yyvaluep).list, (void *)(FreeTypeName)); } ; break; case 356: { FreeStatement((*yyvaluep).stmt); } ; break; case 357: { FreeStatement((*yyvaluep).stmt); } ; break; case 361: { FreeStatement((*yyvaluep).stmt); } ; break; case 362: { FreeStatement((*yyvaluep).stmt); } ; break; case 363: { } ; break; case 365: { FreeDeclaration((*yyvaluep).declaration); } ; break; case 369: { FreeList((*yyvaluep).list, (void *)(FreeDeclaration)); } ; break; case 370: { FreeList((*yyvaluep).list, (void *)(FreeDeclaration)); } ; break; case 371: { FreeList((*yyvaluep).list, (void *)(FreeStatement)); } ; break; case 372: { FreeList((*yyvaluep).list, (void *)(FreeStatement)); } ; break; case 373: { FreeStatement((*yyvaluep).stmt); } ; break; case 374: { FreeStatement((*yyvaluep).stmt); } ; break; case 375: { PopContext((*yyvaluep).context); FreeContext((*yyvaluep).context); (((*yyvaluep).context ? __extension__ ({ void * __ecerePtrToDelete = ((*yyvaluep).context); __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete); }) : 0), (*yyvaluep).context = 0); } ; break; case 376: { FreeStatement((*yyvaluep).stmt); } ; break; case 377: { FreeStatement((*yyvaluep).stmt); } ; break; case 378: { FreeStatement((*yyvaluep).stmt); } ; break; case 379: { FreeStatement((*yyvaluep).stmt); } ; break; case 380: { FreeStatement((*yyvaluep).stmt); } ; break; case 381: { FreeStatement((*yyvaluep).stmt); } ; break; case 382: { FreeStatement((*yyvaluep).stmt); } ; break; case 383: { FreeStatement((*yyvaluep).stmt); } ; break; case 384: { FreeStatement((*yyvaluep).stmt); } ; break; case 385: { FreeFunction((*yyvaluep).function); } ; break; case 386: { FreeFunction((*yyvaluep).function); } ; break; case 387: { (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0); } ; break; case 388: { FreeExternal((*yyvaluep).external); } ; break; case 389: { FreeExternal((*yyvaluep).external); } ; break; case 390: { if((*yyvaluep).list != ast) FreeList((*yyvaluep).list, (void *)(FreeExternal)); } ; break; case 391: { if((*yyvaluep).list != ast) FreeList((*yyvaluep).list, (void *)(FreeExternal)); } ; break; default: break; } } int yyparse(void) { int yystate; int yyerrstatus; yytype_int16 yyssa[200]; yytype_int16 * yyss; yytype_int16 * yyssp; YYSTYPE yyvsa[200]; YYSTYPE * yyvs; YYSTYPE * yyvsp; struct Location yylsa[200]; struct Location * yyls; struct Location * yylsp; struct Location yyerror_range[2]; size_t yystacksize; int yyn; int yyresult; int yytoken; YYSTYPE yyval; struct Location yyloc; int yylen = 0; yytoken = 0; yyss = yyssa; yyvs = yyvsa; yyls = yylsa; yystacksize = 200; do { if(yydebug) fprintf((bsl_stderr()), "Starting parse\n"); }while((0)); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = (-2); yyssp = yyss; yyvsp = yyvs; yylsp = yyls; goto yysetstate; yynewstate: yyssp++; yysetstate: *yyssp = yystate; if(yyss + yystacksize - 1 <= yyssp) { size_t yysize = yyssp - yyss + 1; if(10000 <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if(10000 < yystacksize) yystacksize = 10000; { yytype_int16 * yyss1 = yyss; union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1))); if(!yyptr) goto yyexhaustedlab; do { size_t yynewbytes; __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss))); yyss = &(*yyptr).yyss_alloc; yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1); yyptr += yynewbytes / sizeof (*yyptr); }while((0)); do { size_t yynewbytes; __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs))); yyvs = &(*yyptr).yyvs_alloc; yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1); yyptr += yynewbytes / sizeof (*yyptr); }while((0)); do { size_t yynewbytes; __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls))); yyls = &(*yyptr).yyls_alloc; yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1); yyptr += yynewbytes / sizeof (*yyptr); }while((0)); if(yyss1 != yyssa) free(yyss1); } yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; yylsp = yyls + yysize - 1; do { if(yydebug) fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize); }while((0)); if(yyss + yystacksize - 1 <= yyssp) goto yyabortlab; } do { if(yydebug) fprintf((bsl_stderr()), "Entering state %d\n", yystate); }while((0)); if(yystate == 299) goto yyacceptlab; goto yybackup; yybackup: yyn = yypact[yystate]; if(yyn == -2034) goto yydefault; if(yychar == (-2)) { do { if(yydebug) fprintf((bsl_stderr()), "Reading a token: "); }while((0)); yychar = yylex(); } if(yychar <= 0) { yychar = yytoken = 0; do { if(yydebug) fprintf((bsl_stderr()), "Now at end of input.\n"); }while((0)); } else { yytoken = ((unsigned int)(yychar) <= 375 ? yytranslate[yychar] : 2); do { if(yydebug) { fprintf((bsl_stderr()), "%s ", "Next token is"); yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc); fprintf((bsl_stderr()), "\n"); } }while((0)); } yyn += yytoken; if(yyn < 0 || 42058 < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if(yyn <= 0) { if(yyn == 0 || yyn == -1293) goto yyerrlab; yyn = -yyn; goto yyreduce; } if(yyerrstatus) yyerrstatus--; do { if(yydebug) { fprintf((bsl_stderr()), "%s ", "Shifting"); yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc); fprintf((bsl_stderr()), "\n"); } }while((0)); yychar = (-2); yystate = yyn; *++yyvsp = yylval; *++yylsp = yylloc; goto yynewstate; yydefault: yyn = yydefact[yystate]; if(yyn == 0) goto yyerrlab; goto yyreduce; yyreduce: yylen = yyr2[yyn]; yyval = yyvsp[1 - yylen]; (yyloc.start = ((yylsp - yylen))[1].start); (yyloc.end = ((yylsp - yylen))[yylen].end); ; do { if(yydebug) yy_reduce_print(yyvsp, yylsp, yyn); }while((0)); switch(yyn) { case 2: { yyval.specifier = (((void *)0)); _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string); FreeIdentifier(yyvsp[(1) - (2)].id); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1; })); resetScannerPos(&(yylsp[(1) - (2)]).start); (yychar = (-2)); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); goto yysetstate; ; } break; case 3: { yyval.specifier = (((void *)0)); _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string); FreeIdentifier(yyvsp[(1) - (2)].id); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1; })); resetScannerPos(&(yylsp[(1) - (2)]).start); (yychar = (-2)); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); goto yysetstate; ; } break; case 4: { yyval.specifier = yyvsp[(1) - (1)].specifier; ; } break; case 5: { if(!yyvsp[(1) - (2)].id->string[0]) { yyval.specifier = MkSpecifierName(yyvsp[(1) - (2)].id->string); FreeIdentifier(yyvsp[(1) - (2)].id); FreeIdentifier(yyvsp[(2) - (2)].id); } else { _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string); FreeIdentifier(yyvsp[(1) - (2)].id); FreeIdentifier(yyvsp[(2) - (2)].id); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1; })); resetScannerPos(&(yylsp[(1) - (2)]).start); (yychar = (-2)); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); goto yysetstate; } ; } break; case 6: { yyval.specifier = MkSpecifierName(yytext); ; } break; case 7: { yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext); ; } break; case 9: { yyval.specifier = yyvsp[(1) - (4)].specifier; SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list); yyval.specifier->loc = (yyloc); ; } break; case 10: { yyval.specifier = yyvsp[(1) - (4)].specifier; SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list); yyval.specifier->loc = (yyloc); (yylsp[(4) - (4)]).end.pos--; (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(4) - (4)]).end.pos, 0) : (unsigned int)1; })); resetScannerPos(&(yylsp[(4) - (4)]).end); (yychar = (-2)); ; } break; case 11: { yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 12: { yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 13: { yyval.classFunction = MkClassFunction(yyvsp[(1) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0))); yyval.classFunction->isConstructor = 1; yyval.classFunction->loc = (yyloc); ; } break; case 14: { yyval.classFunction = MkClassFunction(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0))); yyval.classFunction->isDestructor = 1; yyval.classFunction->loc = (yyloc); ; } break; case 15: { yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0))); yyval.classFunction->isVirtual = 1; yyval.classFunction->loc = (yyloc); ; } break; case 16: { yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0))); yyval.classFunction->isVirtual = 1; yyval.classFunction->loc = (yyloc); ; } break; case 17: { yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 18: { yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 19: { yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0))); yyval.classFunction->isVirtual = 1; yyval.classFunction->loc = (yyloc); ; } break; case 20: { yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0))); yyval.classFunction->isVirtual = 1; yyval.classFunction->loc = (yyloc); ; } break; case 21: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt); yyval.classFunction->loc = (yyloc); ; } break; case 22: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt); yyval.classFunction->loc = (yyloc); ; } break; case 23: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 24: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt); yyval.classFunction->loc = (yyloc); ; } break; case 25: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt); yyval.classFunction->loc = (yyloc); ; } break; case 26: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 27: { if(yyvsp[(1) - (3)].classFunction->declarator) { yyvsp[(1) - (3)].classFunction->declarator = MkStructDeclarator(yyvsp[(1) - (3)].classFunction->declarator, (((void *)0))); yyvsp[(1) - (3)].classFunction->declarator->__anon1.structDecl.attrib = yyvsp[(2) - (3)].attrib; } ProcessClassFunctionBody(yyvsp[(1) - (3)].classFunction, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 28: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt); yyval.classFunction->loc = (yyloc); yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end; ; } break; case 29: { ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0))); yyval.classFunction->loc = (yyloc); yyval.classFunction->loc.end.charPos++; yyval.classFunction->loc.end.pos++; ; } break; case 30: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt); yyval.classFunction->loc = (yyloc); yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end; ; } break; case 31: { ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0))); yyval.classFunction->loc = (yyloc); yyval.classFunction->loc.end.charPos++; yyval.classFunction->loc.end.pos++; ; } break; case 32: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0))); yyval.classFunction->loc = (yyloc); yyval.classFunction->loc.end.charPos++; yyval.classFunction->loc.end.pos++; ; } break; case 33: { yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 34: { yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), MkDeclaratorFunction(yyvsp[(2) - (2)].declarator, (((void *)0))), (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 35: { yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0))); yyval.classFunction->loc = (yyloc); ; } break; case 36: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt); yyval.classFunction->loc = (yyloc); ; } break; case 37: { ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt); yyval.classFunction->loc = (yyloc); yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end; yyval.classFunction->loc.end.charPos++; yyval.classFunction->loc.end.pos++; ; } break; case 38: { ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0))); yyval.classFunction->loc = (yyloc); yyval.classFunction->loc.end.charPos++; yyval.classFunction->loc.end.pos++; ; } break; case 39: { ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0))); yyval.classFunction->loc = (yyloc); yyval.classFunction->loc.end.charPos++; yyval.classFunction->loc.end.pos++; ; } break; case 40: { yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end; ; } break; case 41: { yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); ; } break; case 42: { yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end; ; } break; case 43: { yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy())); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); yyval.memberInit->initializer->loc.start = yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end; (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(2) - (3)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(2) - (3)]).end); (yyloc.start = (yylsp[(1) - (3)]).start); (yyloc.end = (yylsp[(2) - (3)]).end); ; } break; case 44: { yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); ; } break; case 45: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit); ; } break; case 46: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 47: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 48: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit); ; } break; case 49: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 50: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 51: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end; { struct Initializer * dummy = MkInitializerAssignment(MkExpDummy()); struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy); memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end; memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end; ListAdd(yyvsp[(1) - (3)].list, memberInit); } yyval.list = yyvsp[(1) - (3)].list; ; } break; case 52: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end; { struct Initializer * dummy = MkInitializerAssignment(MkExpDummy()); struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy); memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end; memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end; ListAdd(yyvsp[(1) - (3)].list, memberInit); } yyval.list = yyvsp[(1) - (3)].list; ; } break; case 53: { struct Initializer * dummy = MkInitializerAssignment(MkExpDummy()); struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy); memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).start; memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).start; yyval.list = MkList(); ListAdd(yyval.list, memberInit); dummy = MkInitializerAssignment(MkExpDummy()); memberInit = MkMemberInit((((void *)0)), dummy); memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).end; memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).end; ListAdd(yyval.list, memberInit); ; } break; case 54: { if((*yyvsp[(1) - (2)].list).last) ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end; yyval.list = yyvsp[(1) - (2)].list; ; } break; case 55: { if((*yyvsp[(1) - (2)].list).last) ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end; yyval.list = yyvsp[(1) - (2)].list; ; } break; case 56: { struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list); yyval.list = MkList(); ListAdd(yyval.list, members); members->loc = (yylsp[(1) - (1)]); ; } break; case 57: { yyval.list = MkList(); ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]); ; } break; case 58: { struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list); ListAdd(yyval.list, members); members->loc = (yylsp[(2) - (2)]); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 59: { ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 60: { struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list); ListAdd(yyval.list, members); members->loc = (yylsp[(2) - (2)]); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 61: { ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 63: { struct MembersInit * members = (struct MembersInit *)(*yyval.list).last; if(members->type == 0) (members->loc.end = yyloc.end); else { struct MembersInit * members = MkMembersInitList(MkList()); ListAdd(yyval.list, members); members->loc = (yylsp[(2) - (2)]); } yyval.list = yyvsp[(1) - (2)].list; ; } break; case 64: { struct MembersInit * members = MkMembersInitList(MkList()); yyval.list = MkList(); ListAdd(yyval.list, members); members->loc = (yylsp[(1) - (1)]); ; } break; case 66: { yyval.list = MkList(); ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]); ; } break; case 67: { ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); ; } break; case 68: { ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); ; } break; case 69: { yyval.list = MkList(); ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]); ; } break; case 70: { ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 71: { ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 72: { ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 73: { ListAdd(yyval.list, MkMembersInitList(yyvsp[(2) - (2)].list)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 74: { yyval.list = MkList(); ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]); ; } break; case 75: { yyval.list = MkList(); ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (2)].list)); ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]); ; } break; case 76: { yyval.instance->loc = (yyloc); yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start; yyval.instance = yyvsp[(1) - (2)].instance; ; } break; case 77: { yyval.instance->loc = (yyloc); yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start; yyval.instance = yyvsp[(1) - (3)].instance; ; } break; case 78: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list); yyval.instance->exp->loc = (yylsp[(2) - (4)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (4)]); yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 79: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list); yyval.instance->exp->loc = (yylsp[(2) - (5)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (5)]); yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end; yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 80: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list); yyval.instance->exp->loc = (yylsp[(2) - (4)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (4)]); yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 81: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0))); yyval.instance->exp->loc = (yylsp[(2) - (3)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (3)]); yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 82: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0))); yyval.instance->exp->loc = (yylsp[(2) - (4)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (4)]); yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 83: { yyval.instance->loc = (yyloc); yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start; ; } break; case 84: { yyval.instance->loc = (yyloc); yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start; ; } break; case 85: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list); yyval.instance->exp->loc = (yylsp[(2) - (4)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (4)]); yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 86: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list); yyval.instance->exp->loc = (yylsp[(2) - (5)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (5)]); yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end; yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 87: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list); yyval.instance->exp->loc = (yylsp[(2) - (4)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (4)]); yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 88: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0))); yyval.instance->exp->loc = (yylsp[(2) - (3)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (3)]); yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 89: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0))); yyval.instance->exp->loc = (yylsp[(2) - (4)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (4)]); yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 90: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list); yyval.instance->exp->loc = (yylsp[(2) - (5)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (5)]); yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end; yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start; ; } break; case 91: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list); yyval.instance->exp->loc = (yylsp[(2) - (5)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (5)]); yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end; yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start; ; } break; case 92: { yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList()); yyval.instance->exp->loc = (yylsp[(2) - (4)]); yyval.instance->loc = (yyloc); yyval.instance->nameLoc = (yylsp[(2) - (4)]); yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start; ; } break; case 93: { yyval.instance->loc = (yyloc); yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start; yyval.instance = yyvsp[(1) - (2)].instance; ; } break; case 94: { yyval.instance->loc = (yyloc); yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start; yyval.instance = yyvsp[(1) - (3)].instance; ; } break; case 95: { yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 96: { struct Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); yylloc = tmpLoc; yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end; FreeIdentifier(yyvsp[(1) - (3)].id); ; } break; case 97: { yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 98: { yyval.instance = MkInstantiation(yyvsp[(1) - (2)].specifier, (((void *)0)), (((void *)0))); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end; yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 99: { yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 100: { yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), (((void *)0))); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 101: { struct Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); yylloc = tmpLoc; yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; FreeIdentifier(yyvsp[(1) - (3)].id); ; } break; case 102: { struct Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]); yylloc = tmpLoc; yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (2)].id->string), (((void *)0)), (((void *)0))); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end; yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; FreeIdentifier(yyvsp[(1) - (2)].id); ; } break; case 103: { struct Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]); yylloc = tmpLoc; yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end; yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; FreeIdentifier(yyvsp[(1) - (4)].id); ; } break; case 104: { struct Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); yylloc = tmpLoc; yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), (((void *)0))); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; FreeIdentifier(yyvsp[(1) - (3)].id); ; } break; case 105: { yyval.instance->loc = (yyloc); yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start; ; } break; case 106: { yyval.instance->loc = (yyloc); yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start; ; } break; case 107: { yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end; yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 108: { yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end; yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 109: { yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0))); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end; yyval.instance->insideLoc.end = (yylsp[(1) - (2)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 110: { yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0))); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(1) - (1)]).end; yyval.instance->insideLoc.end = (yylsp[(1) - (1)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 111: { yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list); yyval.instance->loc = (yyloc); yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end; yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end; yyval.instance->loc.end.charPos++; yyval.instance->loc.end.pos++; ; } break; case 112: { yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); ; } break; case 113: { yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end; ; } break; case 114: { yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy())); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end; yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end; ; } break; case 115: { yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (2)].exp, (((void *)0))); yyval.memberInit->loc = (yyloc); yyval.memberInit->realLoc = (yyloc); ; } break; case 116: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit); ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc); ; } break; case 117: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 118: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 119: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit); ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc); ; } break; case 120: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 121: { ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 123: { yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 124: { yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 125: { yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 126: { yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 127: { yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 129: { yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt; ; } break; case 130: { yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt; ; } break; case 131: { yyvsp[(1) - (3)].prop->issetStmt = yyvsp[(3) - (3)].stmt; ; } break; case 132: { yyvsp[(1) - (2)].prop->__anon1.isWatchable = 1; ; } break; case 133: { yyvsp[(1) - (3)].prop->category = yyvsp[(3) - (3)].exp; ; } break; case 134: { yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end; yyval.prop = yyvsp[(1) - (2)].prop; ; } break; case 135: { yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 136: { yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 137: { yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 138: { yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 139: { yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0))); yyval.prop->loc = (yyloc); ; } break; case 141: { yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt; ; } break; case 142: { yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt; ; } break; case 143: { yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end; ; } break; case 144: { yyval.list = MkListOne(yyvsp[(1) - (1)].id); ; } break; case 145: { ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].id); ; } break; case 146: { yyval.propertyWatch = MkPropertyWatch(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt); ; } break; case 147: { yyval.propertyWatch = MkDeleteWatch(yyvsp[(2) - (2)].stmt); ; } break; case 148: { yyval.list = MkListOne(yyvsp[(1) - (1)].propertyWatch); ; } break; case 149: { ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].propertyWatch); ; } break; case 150: { yyval.propertyWatch = MkPropertyWatch(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt); ; } break; case 151: { yyval.stmt = MkWatchStmt((((void *)0)), yyvsp[(3) - (7)].exp, yyvsp[(6) - (7)].list); ; } break; case 152: { yyval.stmt = MkWatchStmt(yyvsp[(1) - (9)].exp, yyvsp[(5) - (9)].exp, yyvsp[(8) - (9)].list); ; } break; case 153: { yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].list); ; } break; case 154: { yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (8)].exp, yyvsp[(5) - (8)].exp, yyvsp[(7) - (8)].list); ; } break; case 155: { yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (4)].exp, (((void *)0))); ; } break; case 156: { yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (6)].exp, yyvsp[(5) - (6)].exp, (((void *)0))); ; } break; case 157: { yyval.stmt = MkFireWatchersStmt((((void *)0)), (((void *)0))); ; } break; case 158: { yyval.stmt = MkFireWatchersStmt((((void *)0)), yyvsp[(2) - (2)].list); ; } break; case 159: { yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (3)].exp, (((void *)0))); ; } break; case 160: { yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (4)].exp, yyvsp[(4) - (4)].list); ; } break; case 161: { yyval.classDef = yyvsp[(1) - (2)].classDef; yyval.classDef->loc.end = (yylsp[(2) - (2)]).end; ; } break; case 162: { yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list); if((*yyvsp[(1) - (2)].list).last) ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start; yyval.classDef->loc = (yyloc); ; } break; case 163: { yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction); yyval.classDef->loc = (yyloc); yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 164: { yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop); yyval.classDef->loc = (yyloc); yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 165: { yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction); yyval.classDef->loc = (yyloc); yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode; ; } break; case 166: { yyval.classDef = MkClassDefProperty(yyvsp[(2) - (2)].prop); yyval.classDef->loc = (yyloc); yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode; ; } break; case 167: { yyval.classDef = MkClassDefClassProperty(yyvsp[(1) - (1)].prop); yyval.classDef->loc = (yyloc); ; } break; case 168: { yyval.classDef = (((void *)0)); deleteWatchable = 1; ; } break; case 169: { yyval.classDef = MkClassDefNoExpansion(); ; } break; case 170: { yyval.classDef = MkClassDefFixed(); ; } break; case 171: { yyval.classDef = MkClassDefClassPropertyValue(yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].initializer); yyval.classDef->loc = (yyloc); ; } break; case 172: { yyval.classDef = (((void *)0)); ; } break; case 173: { memberAccessStack[defaultMemberAccess] = yyvsp[(1) - (2)].declMode; if(defaultMemberAccess == 0) { yyval.classDef = MkClassDefMemberAccess(); yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode; yyval.classDef->loc = (yyloc); } else yyval.classDef = (((void *)0)); ; } break; case 174: { yyval.classDef = MkClassDefAccessOverride(yyvsp[(1) - (4)].declMode, yyvsp[(3) - (4)].id); yyval.classDef->loc = (yyloc); ; } break; case 175: { yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction); yyval.classDef->loc = yyvsp[(1) - (1)].classFunction->loc; yyval.classDef->loc.end.charPos++; yyval.classDef->loc.end.pos++; yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 176: { yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (1)].list, (((void *)0)), (((void *)0)))); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->loc = (yyloc); yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 177: { yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list, (((void *)0)))); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->loc = (yyloc); yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 178: { yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0)))); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->loc = (yyloc); yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode; ; } break; case 179: { yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (2)].list, (((void *)0)), (((void *)0)))); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->loc = (yyloc); yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode; ; } break; case 180: { yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance)); yyval.classDef->loc = (yyloc); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode; ; } break; case 181: { yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance)); yyval.classDef->loc = (yyloc); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode; ; } break; case 182: { yyval.classDef = MkClassDefClassData(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0)))); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->loc = (yyloc); ; } break; case 183: { yyval.classDef = MkClassDefPropertyWatch(yyvsp[(1) - (1)].propertyWatch); yyval.classDef->loc = (yyloc); ; } break; case 184: { yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].id->string); FreeIdentifier(yyvsp[(2) - (2)].id); ; } break; case 185: { yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name); FreeSpecifier(yyvsp[(2) - (2)].specifier); ; } break; case 186: { yyval.classDef = MkClassDefDesignerDefaultProperty(yyvsp[(2) - (2)].id); ; } break; case 187: { yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance)); yyval.classDef->loc = (yyloc); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 188: { yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance)); yyval.classDef->loc = (yyloc); yyval.classDef->__anon1.decl->loc = (yyloc); yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 189: { yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list); if((*yyvsp[(1) - (1)].list).last) ((struct MemberInit *)(*yyvsp[(1) - (1)].list).last)->loc.end = (yylsp[(1) - (1)]).end; yyval.classDef->loc = (yyloc); ; } break; case 190: { yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance)); yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc; yyval.classDef->__anon1.decl->loc = yyval.classDef->loc; yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 191: { yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance)); yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc; yyval.classDef->__anon1.decl->loc = yyval.classDef->loc; yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess]; ; } break; case 192: { yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction); yyval.classDef->loc = (yyloc); yyval.classDef->loc.end.charPos++; yyval.classDef->loc.end.pos++; yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode; ; } break; case 193: { yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance)); yyval.classDef->loc = (yyloc); yyval.classDef->__anon1.decl->loc = yyval.classDef->loc; yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode; ; } break; case 194: { yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance)); yyval.classDef->loc = (yyloc); yyval.classDef->__anon1.decl->loc = yyval.classDef->loc; yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode; ; } break; case 195: { yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list); yyval.classDef->loc = (yyloc); yyval.classDef->loc.end.charPos++; yyval.classDef->loc.end.pos++; ; } break; case 196: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].classDef); ; } break; case 197: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef); ; } break; case 198: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef); ; } break; case 199: { yyerror(); yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].classDef); ; } break; case 202: { yyerror(); yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyval.list, yyvsp[(2) - (2)].classDef); ; } break; case 203: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyval.list, yyvsp[(2) - (2)].classDef); ; } break; case 204: { yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))); ; } break; case 205: { yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator); ; } break; case 206: { yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)))); ; } break; case 207: { yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator)); ; } break; case 208: { yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (2)].id, (((void *)0)), (((void *)0))); ; } break; case 209: { yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, (((void *)0)), yyvsp[(4) - (4)].templateArgument); ; } break; case 210: { yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].templateDatatype, (((void *)0))); ; } break; case 211: { yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument); ; } break; case 212: { yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (2)].string), (((void *)0)), (((void *)0))); (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0); ; } break; case 213: { yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), (((void *)0)), yyvsp[(4) - (4)].templateArgument); ; } break; case 214: { yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), yyvsp[(4) - (4)].templateDatatype, (((void *)0))); ; } break; case 215: { yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (6)].string), yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument); ; } break; case 216: { yyval.templateArgument = MkTemplateIdentifierArgument(yyvsp[(1) - (1)].id); ; } break; case 217: { yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (1)].id, 0, (((void *)0))); ; } break; case 218: { yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (3)].id, 0, yyvsp[(3) - (3)].templateArgument); ; } break; case 219: { yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp); ; } break; case 220: { yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(2) - (4)].id, MkTemplateDatatype(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(4) - (4)].templateArgument); ; } break; case 221: { yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(3) - (5)].id, MkTemplateDatatype(yyvsp[(1) - (5)].list, yyvsp[(2) - (5)].declarator), yyvsp[(5) - (5)].templateArgument); ; } break; case 225: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].templateParameter); ; } break; case 226: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateParameter); ; } break; case 230: { yyval.templateArgument = yyvsp[(3) - (3)].templateArgument; yyval.templateArgument->name = yyvsp[(1) - (3)].id; yyval.templateArgument->loc = (yyloc); ; } break; case 231: { yyval.templateArgument = yyvsp[(3) - (3)].templateArgument; yyval.templateArgument->name = yyvsp[(1) - (3)].id; yyval.templateArgument->loc = (yyloc); ; } break; case 232: { yyval.templateArgument = yyvsp[(3) - (3)].templateArgument; yyval.templateArgument->name = yyvsp[(1) - (3)].id; yyval.templateArgument->loc = (yyloc); ; } break; case 233: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument); ; } break; case 234: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument); ; } break; case 235: { if(curContext != globalContext) PopContext(curContext); yyval.context = PushContext(); ; } break; case 236: { (void)yyvsp[(1) - (2)].context; yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string); FreeIdentifier(yyvsp[(2) - (2)].id); yyval.symbol->nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = 2; ; } break; case 237: { (void)yyvsp[(1) - (2)].context; yyval.symbol = DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name); yyval.symbol->nameLoc = (yylsp[(2) - (2)]); FreeSpecifier(yyvsp[(2) - (2)].specifier); ++defaultMemberAccess; memberAccessStack[defaultMemberAccess] = 2; ; } break; case 238: { (void)yyvsp[(2) - (3)].context; yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string); FreeIdentifier(yyvsp[(1) - (3)].id); FreeIdentifier(yyvsp[(3) - (3)].id); yyval.symbol->nameLoc = (yylsp[(3) - (3)]); yyval.symbol->isRemote = 1; memberAccessStack[++defaultMemberAccess] = 2; ; } break; case 239: { (void)yyvsp[(2) - (3)].context; yyval.symbol = DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name); FreeIdentifier(yyvsp[(1) - (3)].id); yyval.symbol->nameLoc = (yylsp[(3) - (3)]); yyval.symbol->isRemote = 1; FreeSpecifier(yyvsp[(3) - (3)].specifier); memberAccessStack[++defaultMemberAccess] = 2; ; } break; case 240: { (void)yyvsp[(1) - (5)].context; yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string); yyval.symbol->templateParams = yyvsp[(4) - (5)].list; FreeIdentifier(yyvsp[(2) - (5)].id); yyval.symbol->nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = 2; ; } break; case 241: { (void)yyvsp[(1) - (5)].context; yyval.symbol = DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name); yyval.symbol->templateParams = yyvsp[(4) - (5)].list; yyval.symbol->nameLoc = (yylsp[(2) - (5)]); FreeSpecifier(yyvsp[(2) - (5)].specifier); ++defaultMemberAccess; memberAccessStack[defaultMemberAccess] = 2; ; } break; case 242: { (void)yyvsp[(2) - (6)].context; yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string); yyval.symbol->templateParams = yyvsp[(5) - (6)].list; FreeIdentifier(yyvsp[(1) - (6)].id); FreeIdentifier(yyvsp[(3) - (6)].id); yyval.symbol->nameLoc = (yylsp[(3) - (6)]); yyval.symbol->isRemote = 1; memberAccessStack[++defaultMemberAccess] = 2; ; } break; case 243: { (void)yyvsp[(2) - (6)].context; yyval.symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name); yyval.symbol->templateParams = yyvsp[(5) - (6)].list; FreeIdentifier(yyvsp[(1) - (6)].id); yyval.symbol->nameLoc = (yylsp[(3) - (6)]); yyval.symbol->isRemote = 1; FreeSpecifier(yyvsp[(3) - (6)].specifier); memberAccessStack[++defaultMemberAccess] = 2; ; } break; case 244: { yyval._class->loc = (yyloc); yyval._class = yyvsp[(1) - (2)]._class; ; } break; case 245: { yyval._class = yyvsp[(1) - (2)]._class; yyval._class->definitions = MkList(); yyval._class->blockStart = (yylsp[(2) - (2)]); yyval._class->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 246: { yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList()); yyval._class->blockStart = (yylsp[(2) - (3)]); yyval._class->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 247: { yyval._class = yyvsp[(1) - (3)]._class; yyval._class->definitions = MkList(); yyval._class->blockStart = (yylsp[(2) - (3)]); yyval._class->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 248: { (void)yyvsp[(1) - (3)].context; yyval._class = MkClass(DeclClassAddNameSpace(yyvsp[(2) - (3)].id->_class, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0))); FreeIdentifier(yyvsp[(2) - (3)].id); if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 249: { (void)yyvsp[(1) - (3)].context; yyval._class = MkClass(DeclClass(yyvsp[(2) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0))); FreeSpecifier(yyvsp[(2) - (3)].specifier); if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 250: { yyval._class = MkClass(yyvsp[(1) - (3)].symbol, yyvsp[(3) - (3)].list, (((void *)0))); ; } break; case 251: { yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list); yyval._class->deleteWatchable = deleteWatchable; deleteWatchable = 0; yyval._class->blockStart = (yylsp[(2) - (3)]); yyval._class->loc = (yyloc); yyval._class->loc.end.charPos++; yyval._class->loc.end.pos++; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 252: { yyval._class = yyvsp[(1) - (3)]._class; yyval._class->definitions = yyvsp[(3) - (3)].list; yyval._class->deleteWatchable = deleteWatchable; deleteWatchable = 0; yyval._class->blockStart = (yylsp[(2) - (3)]); yyval._class->loc = (yyloc); yyval._class->loc.end.charPos++; yyval._class->loc.end.pos++; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 253: { yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list); yyval._class->deleteWatchable = deleteWatchable; deleteWatchable = 0; yyval._class->blockStart = (yylsp[(2) - (3)]); yyval._class->loc = (yyloc); yyval._class->loc.end.charPos++; yyval._class->loc.end.pos++; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 254: { yyval._class = yyvsp[(1) - (3)]._class; yyval._class->definitions = yyvsp[(3) - (3)].list; yyval._class->deleteWatchable = deleteWatchable; deleteWatchable = 0; yyval._class->blockStart = (yylsp[(2) - (3)]); yyval._class->loc = (yyloc); yyval._class->loc.end.charPos++; yyval._class->loc.end.pos++; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 255: { yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList()); yyval._class->deleteWatchable = deleteWatchable; deleteWatchable = 0; yyval._class->blockStart = (yylsp[(2) - (3)]); yyval._class->loc = (yyloc); yyval._class->loc.end.charPos++; yyval._class->loc.end.pos++; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 256: { yyval._class = yyvsp[(1) - (3)]._class; yyval._class->definitions = MkList(); yyval._class->deleteWatchable = deleteWatchable; deleteWatchable = 0; yyval._class->blockStart = (yylsp[(2) - (3)]); yyval._class->loc = (yyloc); yyval._class->loc.end.charPos++; yyval._class->loc.end.pos++; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 257: { yyval.id = MkIdentifier(yytext); yyval.id->loc = (yylsp[(1) - (1)]); ; } break; case 259: { yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list); yyval.exp->loc = (yyloc); ; } break; case 260: { yyval.exp = MkExpString(yyvsp[(1) - (1)].string); (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0); yyval.exp->loc = (yyloc); ; } break; case 261: { yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0))); (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0); yyval.exp->loc = (yyloc); ; } break; case 262: { yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string); (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0); (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0); yyval.exp->loc = (yyloc); ; } break; case 263: { yyval.exp = MkExpConstant(yytext); yyval.exp->loc = (yyloc); ; } break; case 264: { yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id); yyval.exp->loc = (yyloc); ; } break; case 265: { yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance); yyval.exp->loc = (yyloc); ; } break; case 266: { yyval.exp = MkExpExtensionCompound(yyvsp[(3) - (4)].stmt); yyval.exp->loc = (yyloc); ; } break; case 267: { yyval.exp = MkExpExtensionExpression(yyvsp[(3) - (4)].list); yyval.exp->loc = (yyloc); ; } break; case 268: { yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (5)].typeName, yyvsp[(5) - (5)].initializer); yyval.exp->loc = (yyloc); ; } break; case 269: { yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (8)].typeName, MkInitializerAssignment(MkExpExtensionInitializer(yyvsp[(6) - (8)].typeName, yyvsp[(8) - (8)].initializer))); yyval.exp->loc = (yyloc); ; } break; case 270: { char * constant = yyvsp[(1) - (2)].exp->__anon1.__anon1.constant; int len = strlen(constant); if(constant[len - 1] == '.') { constant[len - 1] = 0; yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id); yyval.exp->loc = (yyloc); } else yyerror(); ; } break; case 271: { yyval.exp = yyvsp[(1) - (1)].exp; ; } break; case 273: { yyval.exp = MkExpWideString(yytext); yyval.exp->loc = (yyloc); ; } break; case 274: { struct Expression * exp = MkExpDummy(); exp->loc.start = (yylsp[(1) - (2)]).end; exp->loc.end = (yylsp[(2) - (2)]).start; yyval.exp = MkExpBrackets(MkListOne(exp)); yyval.exp->loc = (yyloc); yyerror(); ; } break; case 275: { yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp); yyval.exp->loc = (yyloc); ; } break; case 276: { yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp); yyval.exp->loc = (yyloc); ; } break; case 277: { yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 278: { yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 279: { yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp); yyval.exp->loc = (yyloc); ; } break; case 280: { yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp); yyval.exp->loc = (yyloc); ; } break; case 281: { yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 282: { yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 283: { yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp); yyval.exp->loc = (yyloc); ; } break; case 284: { yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp); yyval.exp->loc = (yyloc); ; } break; case 285: { yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp); yyval.exp->loc = (yyloc); ; } break; case 286: { yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp); yyval.exp->loc = (yyloc); ; } break; case 287: { yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp); yyval.exp->loc = (yyloc); ; } break; case 288: { yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp); yyval.exp->loc = (yyloc); ; } break; case 289: { yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp); yyval.exp->loc = (yyloc); ; } break; case 290: { yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp); yyval.exp->loc = (yyloc); ; } break; case 291: { yyval.exp = MkExpClass(yyvsp[(3) - (4)].list, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 292: { yyval.exp = MkExpClass(yyvsp[(3) - (5)].list, yyvsp[(4) - (5)].declarator); yyval.exp->loc = (yyloc); ; } break; case 293: { yyval.exp = MkExpClass(MkListOne(MkSpecifierName(yyvsp[(3) - (4)].id->string)), (((void *)0))); FreeIdentifier(yyvsp[(3) - (4)].id); yyval.exp->loc = (yyloc); ; } break; case 294: { yyval.exp = MkExpVaArg(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].typeName); yyval.exp->loc = (yyloc); ; } break; case 295: { yyval.exp = MkExpClassData(yyvsp[(3) - (4)].id); yyval.exp->loc = (yyloc); ; } break; case 300: { yyval.exp = MkExpArray(yyvsp[(2) - (3)].list); yyval.exp->loc = (yyloc); ; } break; case 301: { yyval.exp = MkExpArray((((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 302: { yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance); yyval.exp->loc = (yyloc); ; } break; case 303: { yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance); yyval.exp->loc = (yyloc); ; } break; case 304: { yyerror(); yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list); yyval.exp->loc = (yyloc); ; } break; case 305: { yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list); yyval.exp->loc = (yyloc); ; } break; case 307: { yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list); yyval.exp->loc = (yyloc); ; } break; case 308: { yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list); yyval.exp->loc = (yyloc); ; } break; case 309: { yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList()); yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start; yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end; yyval.exp->loc = (yyloc); ; } break; case 310: { yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list); yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start; yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end; yyval.exp->loc = (yyloc); ; } break; case 311: { yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list); yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start; yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end; yyval.exp->loc = (yyloc); if((*yyvsp[(3) - (4)].list).last) ((struct Expression *)(*yyvsp[(3) - (4)].list).last)->loc.end = (yylsp[(4) - (4)]).start; ; } break; case 312: { yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id); yyval.exp->loc = (yyloc); ; } break; case 313: { yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id); yyval.exp->loc = (yyloc); ; } break; case 314: { yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 315: { yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 316: { yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list); yyval.exp->loc = (yyloc); ; } break; case 317: { yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list); yyval.exp->loc = (yyloc); ; } break; case 318: { yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList()); yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start; yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end; yyval.exp->loc = (yyloc); ; } break; case 319: { yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list); yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start; yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end; yyval.exp->loc = (yyloc); ; } break; case 320: { yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id); yyval.exp->loc = (yyloc); ; } break; case 321: { yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id); yyval.exp->loc = (yyloc); ; } break; case 322: { yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 323: { yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 324: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].exp); ; } break; case 325: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].exp); ; } break; case 326: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 327: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 328: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].exp); ; } break; case 329: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].exp); ; } break; case 330: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 331: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 332: { struct Expression * exp = MkExpDummy(); yyerror(); exp->loc.start = (yylsp[(2) - (2)]).end; exp->loc.end = (yylsp[(2) - (2)]).end; yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, exp); ; } break; case 333: { yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 334: { yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 335: { yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 336: { yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 337: { yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 338: { yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName); yyval.exp->loc = (yyloc); ; } break; case 339: { yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier); yyval.exp->loc = (yyloc); ; } break; case 340: { yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier); yyval.exp->loc = (yyloc); ; } break; case 341: { yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 342: { yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName); yyval.exp->loc = (yyloc); ; } break; case 343: { yyval.exp = MkExpOffsetOf(yyvsp[(3) - (6)].typeName, yyvsp[(5) - (6)].id); yyval.exp->loc = (yyloc); ; } break; case 346: { yyval.i = '&'; ; } break; case 347: { yyval.i = '*'; ; } break; case 348: { yyval.i = '+'; ; } break; case 349: { yyval.i = '-'; ; } break; case 350: { yyval.i = '~'; ; } break; case 351: { yyval.i = '!'; ; } break; case 352: { yyval.i = DELETE; ; } break; case 353: { yyval.i = _INCREF; ; } break; case 355: { yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp); yyval.exp->loc = (yyloc); ; } break; case 357: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 358: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 359: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 360: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 361: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 362: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 364: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 365: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 366: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 367: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 369: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 370: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 371: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 372: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 373: { yyval.exp = yyvsp[(1) - (2)].exp; skipErrors = 1; ; } break; case 375: { skipErrors = 0; yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 376: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 377: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 378: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 379: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 380: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 381: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 382: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 384: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 385: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 386: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 387: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 388: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 389: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 390: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 391: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 393: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 394: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 395: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 396: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 398: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 399: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 400: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 401: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 403: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 404: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 405: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 406: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 408: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 409: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 411: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 412: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 414: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 415: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 416: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 417: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 418: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 419: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 420: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 421: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 422: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 423: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 424: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 425: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 426: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 427: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 428: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 429: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 431: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 432: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 433: { Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0)))); yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 434: { Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0)))); yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 435: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 436: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 437: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 438: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 439: { yyval.i = '='; ; } break; case 440: { yyval.i = MUL_ASSIGN; ; } break; case 441: { yyval.i = DIV_ASSIGN; ; } break; case 442: { yyval.i = MOD_ASSIGN; ; } break; case 443: { yyval.i = ADD_ASSIGN; ; } break; case 444: { yyval.i = SUB_ASSIGN; ; } break; case 445: { yyval.i = LEFT_ASSIGN; ; } break; case 446: { yyval.i = RIGHT_ASSIGN; ; } break; case 447: { yyval.i = AND_ASSIGN; ; } break; case 448: { yyval.i = XOR_ASSIGN; ; } break; case 449: { yyval.i = OR_ASSIGN; ; } break; case 450: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].exp); ; } break; case 451: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 452: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 454: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].exp); ; } break; case 455: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 456: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 458: { yyval.exp = MkExpDummy(); yyval.exp->loc = (yyloc); ; } break; case 460: { yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance); yyval.exp->loc = (yyloc); ; } break; case 461: { yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 462: { yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 463: { yyerror(); yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list); yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start; yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end; yyval.exp->loc = (yyloc); yyval.exp->__anon1.call.argLoc.end.charPos++; ; } break; case 464: { yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list); yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start; yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end; yyval.exp->loc = (yyloc); yyval.exp->__anon1.call.argLoc.end.charPos++; ; } break; case 465: { yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 466: { yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list); yyval.exp->loc = (yyloc); yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start; yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end; yyval.exp->__anon1.call.argLoc.end.charPos++; ; } break; case 467: { yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0))); yyval.exp->loc = (yyloc); ; } break; case 468: { yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 469: { yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 470: { yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 471: { yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 472: { yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 473: { yyval.exp = MkExpTypeSize(yyvsp[(3) - (5)].typeName); yyval.exp->loc = (yyloc); ; } break; case 474: { yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier); yyval.exp->loc = (yyloc); ; } break; case 475: { yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier); yyval.exp->loc = (yyloc); ; } break; case 476: { yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); ; } break; case 477: { yyval.exp = MkExpTypeAlign(yyvsp[(3) - (5)].typeName); yyval.exp->loc = (yyloc); ; } break; case 481: { yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp); yyval.exp->loc = (yyloc); ; } break; case 483: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 484: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 485: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 486: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 487: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 488: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 490: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 491: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 492: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 493: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 495: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 496: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 497: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 498: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 500: { if(yyvsp[(1) - (2)].exp->type == 0) { _DeclClass(yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string); skipErrors = 0; FreeExpression(yyvsp[(1) - (2)].exp); FreeExpression(yyvsp[(2) - (2)].exp); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1; })); resetScannerPos(&(yylsp[(1) - (2)]).start); (yychar = (-2)); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); (yyerrstatus = 0); goto yysetstate; } else { yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp); yyval.exp->loc = (yyloc); } skipErrors = 0; ; } break; case 501: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 502: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 503: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 504: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 505: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 506: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 507: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 509: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 510: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 511: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 512: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 513: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 514: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 515: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 516: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 518: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 519: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 520: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 521: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 523: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 524: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 525: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 526: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 528: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 529: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 530: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 531: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 533: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 534: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 536: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 537: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 539: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 540: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 541: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 542: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 543: { yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy()); yyval.exp->loc = (yyloc); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]); ; } break; case 544: { yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy()); yyval.exp->loc = (yyloc); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]); ; } break; case 545: { yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy()); yyval.exp->loc = (yyloc); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]); ; } break; case 546: { yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy()); yyval.exp->loc = (yyloc); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]); ; } break; case 547: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 548: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 549: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 550: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 551: { yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy()); yyval.exp->loc = (yyloc); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]); ; } break; case 552: { yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy()); yyval.exp->loc = (yyloc); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]); ; } break; case 553: { yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy()); yyval.exp->loc = (yyloc); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]); ; } break; case 554: { yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy()); yyval.exp->loc = (yyloc); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]); ; } break; case 555: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 556: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 557: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 558: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 559: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 560: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 561: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 562: { yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp); yyval.exp->loc = (yyloc); ; } break; case 563: { yyerror(); yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy()); yyval.exp->loc = (yyloc); ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]); ; } break; case 564: { yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy()); yyval.exp->loc = (yyloc); ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]); ; } break; case 565: { yyerror(); yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy()); yyval.exp->loc = (yyloc); ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]); ; } break; case 566: { yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy()); yyval.exp->loc = (yyloc); ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]); yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]); ; } break; case 568: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 569: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 570: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 571: { yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp); yyval.exp->loc = (yyloc); ; } break; case 572: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].exp); ; } break; case 573: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (2)].exp); ; } break; case 574: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 575: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 576: { yyerror(); yyval.list = yyvsp[(1) - (2)].list; FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression)); ; } break; case 577: { yyval.list = yyvsp[(1) - (2)].list; FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression)); ; } break; case 578: { yyval.list = yyvsp[(1) - (2)].list; FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression)); ; } break; case 579: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].exp); ; } break; case 580: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (2)].exp); ; } break; case 581: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 582: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp); ; } break; case 585: { yyval.specifier = MkSpecifier(TYPEDEF); ; } break; case 586: { yyval.specifier = MkSpecifier(EXTERN); ; } break; case 587: { yyval.specifier = MkSpecifier(STATIC); ; } break; case 588: { yyval.specifier = MkSpecifier(THREAD); ; } break; case 589: { yyval.specifier = MkSpecifier(AUTO); ; } break; case 590: { yyval.specifier = MkSpecifier(REGISTER); ; } break; case 591: { yyval.specifier = MkSpecifier(RESTRICT); ; } break; case 592: { yyval.specifier = MkSpecifier(TYPEDEF); structDeclMode = declMode = 0; ; } break; case 593: { yyval.specifier = MkSpecifier(EXTERN); ; } break; case 594: { yyval.specifier = MkSpecifier(STATIC); structDeclMode = declMode = 3; ; } break; case 595: { yyval.specifier = MkSpecifier(THREAD); ; } break; case 596: { yyval.specifier = MkSpecifier(AUTO); ; } break; case 597: { yyval.specifier = MkSpecifier(REGISTER); ; } break; case 598: { yyval.specifier = MkSpecifier(RESTRICT); ; } break; case 599: { yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0))); ; } break; case 600: { yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp); ; } break; case 601: { yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp); ; } break; case 602: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator); ; } break; case 603: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator); ; } break; case 605: { memberAccessStack[++defaultMemberAccess] = 1; ; } break; case 606: { yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0))); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 607: { yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0))); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 608: { yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; yyval.specifier = yyvsp[(1) - (2)].specifier; ; } break; case 609: { yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0))); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 610: { yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0))); FreeSpecifier(yyvsp[(2) - (4)].specifier); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 611: { yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 612: { yyval.specifier = MkEnum((((void *)0)), (((void *)0))); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 613: { yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].list); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 614: { yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 615: { yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0))); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 616: { yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list); yyval.specifier->loc = (yyloc); yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list; if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 617: { yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list); yyval.specifier->loc = (yyloc); yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list; if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 618: { yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), yyvsp[(4) - (4)].list); yyval.specifier->loc = (yyloc); FreeSpecifier(yyvsp[(2) - (4)].specifier); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 619: { yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list); yyval.specifier->loc = (yyloc); FreeSpecifier(yyvsp[(2) - (5)].specifier); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 620: { yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0))); yyval.specifier->loc = (yyloc); FreeSpecifier(yyvsp[(2) - (4)].specifier); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 621: { yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list); yyval.specifier->loc = (yyloc); yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list; FreeSpecifier(yyvsp[(2) - (6)].specifier); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 622: { yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list); yyval.specifier->loc = (yyloc); yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list; FreeSpecifier(yyvsp[(2) - (6)].specifier); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 623: { yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 624: { yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list); yyval.specifier->loc = (yyloc); FreeSpecifier(yyvsp[(2) - (5)].specifier); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 625: { yyval.id = yyvsp[(2) - (2)].id; if(declMode) DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string); ; } break; case 626: { yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name); if(declMode) DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name); FreeSpecifier(yyvsp[(2) - (2)].specifier); ; } break; case 627: { yyval.specifier = yyvsp[(1) - (2)].specifier; yyval.specifier->loc = (yyloc); ; } break; case 628: { yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0))); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 629: { yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0))); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 630: { yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(5) - (5)].list); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 631: { yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 632: { yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0))); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 633: { yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list; yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 634: { yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list; yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 635: { yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list; yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 636: { yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list; yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 637: { yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0))); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list; yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 638: { yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0))); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list; yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 639: { yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 640: { yyval.specifier = MkEnum((((void *)0)), (((void *)0))); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 641: { yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].list); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 642: { yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 643: { yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0))); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 644: { yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list); yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 645: { yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list); yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 646: { yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 647: { yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 648: { yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, (((void *)0))); yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 649: { yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 654: { yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl); ; } break; case 655: { yyval.specifier = MkSpecifier(CONST); ; } break; case 656: { yyval.specifier = MkSpecifier(VOLATILE); ; } break; case 657: { yyval.specifier = yyvsp[(1) - (1)].specifier; ; } break; case 658: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 659: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 660: { yyval.specifier = MkSpecifier(VOID); ; } break; case 661: { yyval.specifier = MkSpecifier(CHAR); ; } break; case 662: { yyval.specifier = MkSpecifier(SHORT); ; } break; case 663: { yyval.specifier = MkSpecifier(INT); ; } break; case 664: { yyval.specifier = MkSpecifier(UINT); ; } break; case 665: { yyval.specifier = MkSpecifier(INT64); ; } break; case 666: { yyval.specifier = MkSpecifier(INT128); ; } break; case 667: { yyval.specifier = MkSpecifier(VALIST); ; } break; case 668: { yyval.specifier = MkSpecifier(LONG); ; } break; case 669: { yyval.specifier = MkSpecifier(FLOAT); ; } break; case 670: { yyval.specifier = MkSpecifier(DOUBLE); ; } break; case 671: { yyval.specifier = MkSpecifier(SIGNED); ; } break; case 672: { yyval.specifier = MkSpecifier(UNSIGNED); ; } break; case 673: { yyval.specifier = MkSpecifier(EXTENSION); ; } break; case 677: { yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp); ; } break; case 678: { yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier); ; } break; case 679: { _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string); yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string)); FreeIdentifier(yyvsp[(3) - (4)].id); ; } break; case 680: { yyval.specifier = MkSpecifier(THISCLASS); ; } break; case 681: { yyval.specifier = MkSpecifier(TYPED_OBJECT); ; } break; case 682: { yyval.specifier = MkSpecifier(ANY_OBJECT); ; } break; case 683: { yyval.specifier = MkSpecifier(_BOOL); ; } break; case 684: { yyval.specifier = MkSpecifier(BOOL); ; } break; case 685: { yyval.specifier = MkSpecifier(_COMPLEX); ; } break; case 686: { yyval.specifier = MkSpecifier(_IMAGINARY); ; } break; case 687: { yyval.specifier = MkSpecifier(VOID); ; } break; case 688: { yyval.specifier = MkSpecifier(CHAR); ; } break; case 689: { yyval.specifier = MkSpecifier(SHORT); ; } break; case 690: { yyval.specifier = MkSpecifier(INT); ; } break; case 691: { yyval.specifier = MkSpecifier(UINT); ; } break; case 692: { yyval.specifier = MkSpecifier(INT64); ; } break; case 693: { yyval.specifier = MkSpecifier(INT128); ; } break; case 694: { yyval.specifier = MkSpecifier(VALIST); ; } break; case 695: { yyval.specifier = MkSpecifier(LONG); ; } break; case 696: { yyval.specifier = MkSpecifier(FLOAT); ; } break; case 697: { yyval.specifier = MkSpecifier(DOUBLE); ; } break; case 698: { yyval.specifier = MkSpecifier(SIGNED); ; } break; case 699: { yyval.specifier = MkSpecifier(UNSIGNED); ; } break; case 700: { yyval.specifier = MkSpecifier(EXTENSION); ; } break; case 704: { yyval.specifier = MkSpecifier(_BOOL); ; } break; case 705: { yyval.specifier = MkSpecifier(BOOL); ; } break; case 706: { yyval.specifier = MkSpecifier(_COMPLEX); ; } break; case 707: { yyval.specifier = MkSpecifier(_IMAGINARY); ; } break; case 708: { yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp); ; } break; case 709: { yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier); ; } break; case 710: { _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string); yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string)); FreeIdentifier(yyvsp[(3) - (4)].id); ; } break; case 711: { yyval.specifier = MkSpecifier(THISCLASS); ; } break; case 712: { yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0))); yyval.declarator->loc = (yyloc); ; } break; case 713: { yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0))); yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib; yyval.declarator->loc = (yyloc); ; } break; case 714: { yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp); yyval.declarator->loc = (yyloc); ; } break; case 715: { yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp); yyval.declarator->loc = (yyloc); ; } break; case 716: { yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp); yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp; yyval.declarator->loc = (yyloc); ; } break; case 717: { yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp); yyval.declarator->loc = (yyloc); ; } break; case 718: { yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp); yyval.declarator->loc = (yyloc); ; } break; case 719: { yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp); yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp; yyval.declarator->loc = (yyloc); ; } break; case 720: { yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp); yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp; yyval.declarator->loc = (yyloc); ; } break; case 721: { yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp); yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp; yyval.declarator->loc = (yyloc); ; } break; case 722: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].declarator); ; } break; case 723: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator); ; } break; case 724: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0))); yyval.specifier->__anon1.__anon2.addNameSpace = 1; yyval.specifier->__anon1.__anon2.ctx = PushContext(); ; } break; case 725: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0))); yyval.specifier->__anon1.__anon2.ctx = PushContext(); FreeSpecifier(yyvsp[(2) - (2)].specifier); ; } break; case 726: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0))); yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl; yyval.specifier->__anon1.__anon2.addNameSpace = 1; yyval.specifier->__anon1.__anon2.ctx = PushContext(); ; } break; case 727: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0))); yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl; yyval.specifier->__anon1.__anon2.ctx = PushContext(); FreeSpecifier(yyvsp[(3) - (3)].specifier); ; } break; case 728: { yyval.specifier = yyvsp[(1) - (2)].specifier; yyval.specifier->loc = (yyloc); ; } break; case 729: { yyval.specifier = yyvsp[(1) - (3)].specifier; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 730: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0))); yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 731: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0))); yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl; yyval.specifier->loc = (yyloc); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 732: { yyval.specifier = yyvsp[(1) - (3)].specifier; AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list); if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 733: { yyval.specifier = yyvsp[(1) - (3)].specifier; AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list); if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 734: { yyval.specifier = yyvsp[(1) - (3)].specifier; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 735: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 736: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 737: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0))); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 738: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list); yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl; if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 739: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list); yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl; if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 740: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0))); yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl; if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 741: { yyval.specifier = yyvsp[(1) - (1)].specifier; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 742: { yyval.specifier = yyvsp[(1) - (1)].specifier; if(declMode) { (yyvsp[(1) - (1)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(yyvsp[(1) - (1)].specifier->__anon1.__anon2.id->_class, yyvsp[(1) - (1)].specifier->__anon1.__anon2.id->string); } ; } break; case 743: { struct Symbol * symbol = (yyvsp[(1) - (4)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(yyvsp[(1) - (4)].specifier->__anon1.__anon2.id->_class, yyvsp[(1) - (4)].specifier->__anon1.__anon2.id->string); yyval.specifier = yyvsp[(1) - (4)].specifier; symbol->templateParams = yyvsp[(3) - (4)].list; ; } break; case 744: { yyval.specifier = yyvsp[(1) - (3)].specifier; yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (3)].list; SetupBaseSpecs((((void *)0)), yyvsp[(3) - (3)].list); ; } break; case 745: { yyval.specifier = yyvsp[(1) - (2)].specifier; yyval.specifier->loc = (yyloc); ; } break; case 746: { yyval.specifier = yyvsp[(1) - (3)].specifier; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 747: { yyval.specifier = yyvsp[(1) - (3)].specifier; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 748: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0))); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 749: { yyval.specifier = yyvsp[(1) - (3)].specifier; yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 750: { yyval.specifier = yyvsp[(1) - (3)].specifier; yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 751: { yyval.specifier = yyvsp[(1) - (3)].specifier; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 752: { PopContext(curContext); if(!declMode) { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list); yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0)); FreeSpecifier(yyvsp[(1) - (3)].specifier); } else yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list; if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 753: { PopContext(curContext); if(!declMode) { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list); yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0)); FreeSpecifier(yyvsp[(1) - (3)].specifier); } else yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list; if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 754: { yyval.specifier = yyvsp[(1) - (3)].specifier; if(defaultMemberAccess > -1) defaultMemberAccess--; PopContext(curContext); ; } break; case 755: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 756: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 757: { yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0))); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 758: { yyval.specifierType = 3; memberAccessStack[++defaultMemberAccess] = 1; ; } break; case 759: { yyval.specifierType = 4; memberAccessStack[++defaultMemberAccess] = 1; ; } break; case 760: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 761: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 762: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 763: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 764: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 765: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 766: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 767: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 768: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 769: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 770: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 771: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 772: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 773: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 774: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 775: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 776: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 777: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 778: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 779: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 780: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 781: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 782: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 783: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 784: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 785: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 786: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 787: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 788: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 789: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 790: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 791: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 792: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 793: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 794: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 795: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 796: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 797: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 798: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 799: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 800: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 801: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 802: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 803: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 804: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 805: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 806: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 807: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 808: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 809: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 810: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 811: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 812: { yyval.list = MkList(); ListAdd(yyval.list, MkSpecifier(PRIVATE)); ; } break; case 813: { yyval.list = MkList(); ListAdd(yyval.list, MkSpecifier(PUBLIC)); ; } break; case 814: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 815: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 816: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 817: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 818: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 819: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 820: { _DeclClass(yyvsp[(1) - (1)].id->_class, yyvsp[(1) - (1)].id->string); yyval.list = MkListOne(MkSpecifierName(yyvsp[(1) - (1)].id->string)); FreeIdentifier(yyvsp[(1) - (1)].id); ; } break; case 821: { yyval.list = yyvsp[(1) - (2)].list; _DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string); ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string)); FreeIdentifier(yyvsp[(2) - (2)].id); ; } break; case 822: { _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string); yyval.list = MkList(); ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list)); FreeIdentifier(yyvsp[(1) - (4)].id); ; } break; case 823: { yyval.list = yyvsp[(1) - (5)].list; _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string); ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list)); FreeIdentifier(yyvsp[(2) - (5)].id); ; } break; case 825: { yyval.list = MkListOne(MkStructOrUnion(yyvsp[(1) - (1)].specifierType, (((void *)0)), (((void *)0)))); if(defaultMemberAccess > -1) defaultMemberAccess--; ; } break; case 826: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 827: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 828: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 829: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 830: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 831: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 832: { yyval.list = MkList(); ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string)); FreeIdentifier(yyvsp[(1) - (1)].id); } break; case 833: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string)); FreeIdentifier(yyvsp[(2) - (2)].id); } break; case 834: { _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string); yyval.list = MkList(); ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list)); FreeIdentifier(yyvsp[(1) - (4)].id); ; } break; case 835: { _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string); ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list)); FreeIdentifier(yyvsp[(2) - (5)].id); ; } break; case 836: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 837: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 838: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 839: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 840: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 841: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 842: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 843: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 844: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 845: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 846: { yyval.list = MkList(); ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string)); FreeIdentifier(yyvsp[(1) - (1)].id); } break; case 847: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string)); FreeIdentifier(yyvsp[(2) - (2)].id); } break; case 848: { _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string); yyval.list = MkList(); ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list)); FreeIdentifier(yyvsp[(1) - (4)].id); ; } break; case 849: { _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string); ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list)); FreeIdentifier(yyvsp[(2) - (5)].id); ; } break; case 850: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 851: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 852: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 853: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 854: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 855: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 856: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 857: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 858: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].specifier); ; } break; case 859: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier); ; } break; case 860: { yyval.list = MkList(); ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string)); FreeIdentifier(yyvsp[(1) - (1)].id); } break; case 861: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string)); FreeIdentifier(yyvsp[(2) - (2)].id); } break; case 862: { _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string); yyval.list = MkList(); ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list)); FreeIdentifier(yyvsp[(1) - (4)].id); ; } break; case 863: { _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string); ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list)); FreeIdentifier(yyvsp[(2) - (5)].id); ; } break; case 864: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, (((void *)0))); ; } break; case 865: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, (((void *)0))); ; } break; case 866: { yyval.list = MkList(); ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id))); ; } break; case 867: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id))); ; } break; case 868: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id))); ; } break; case 869: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id))); ; } break; case 870: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id))); ; } break; case 872: { char * colon = yyvsp[(1) - (1)].specifier->__anon1.__anon1.name ? __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name), 1, 0) : (((void *)0)); char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->__anon1.__anon1.name; yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s)); FreeSpecifier(yyvsp[(1) - (1)].specifier); ; } break; case 873: { yyval.declarator = MkDeclaratorIdentifier(MkIdentifier("uint")); ; } break; case 874: { struct Declarator * decl; char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0); char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name; decl = MkDeclaratorIdentifier(MkIdentifier(s)); FreeSpecifier(yyvsp[(1) - (4)].specifier); yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp); ; } break; case 875: { struct Declarator * decl; char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0); char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name; decl = MkDeclaratorIdentifier(MkIdentifier(s)); FreeSpecifier(yyvsp[(1) - (4)].specifier); yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp); ; } break; case 876: { struct Declarator * decl; char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0); char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name; decl = MkDeclaratorIdentifier(MkIdentifier(s)); FreeSpecifier(yyvsp[(1) - (4)].specifier); yyval.declarator = MkDeclaratorEnumArray(decl, yyvsp[(3) - (4)].specifier); ; } break; case 877: { struct Declarator * decl; char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0); char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name; decl = MkDeclaratorIdentifier(MkIdentifier(s)); FreeSpecifier(yyvsp[(1) - (3)].specifier); yyval.declarator = MkDeclaratorEnumArray(decl, (((void *)0))); ; } break; case 878: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp); ; } break; case 879: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp); ; } break; case 880: { yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier); ; } break; case 881: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0))); ; } break; case 882: { yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id); ; } break; case 883: { yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator); ; } break; case 884: { yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator)); ; } break; case 885: { yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator); ; } break; case 886: { yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator)); ; } break; case 887: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp); ; } break; case 888: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp); ; } break; case 889: { yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier); ; } break; case 890: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0))); ; } break; case 892: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ; } break; case 893: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ; } break; case 894: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ; } break; case 895: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ; } break; case 896: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0))); ; } break; case 897: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(1) - (2)]).end); (yyloc.start = (yylsp[(1) - (2)]).start); (yyloc.end = (yylsp[(1) - (2)]).end); ; } break; case 898: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0))); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(1) - (2)]).end); (yyloc.start = (yylsp[(1) - (2)]).start); (yyloc.end = (yylsp[(1) - (2)]).end); ; } break; case 899: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (3)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(1) - (3)]).end); (yyloc.start = (yylsp[(1) - (3)]).start); (yyloc.end = (yylsp[(1) - (3)]).end); ; } break; case 900: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0))); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (4)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(1) - (4)]).end); (yyloc.start = (yylsp[(1) - (4)]).start); (yyloc.end = (yylsp[(1) - (4)]).end); FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier)); FreeIdentifier(yyvsp[(3) - (4)].id); ; } break; case 904: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ; } break; case 905: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ; } break; case 906: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ; } break; case 907: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ; } break; case 908: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0))); ; } break; case 909: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(1) - (2)]).end); (yyloc.start = (yylsp[(1) - (2)]).start); (yyloc.end = (yylsp[(1) - (2)]).end); ; } break; case 910: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0))); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(1) - (2)]).end); (yyloc.start = (yylsp[(1) - (2)]).start); (yyloc.end = (yylsp[(1) - (2)]).end); ; } break; case 911: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (3)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(1) - (3)]).end); (yyloc.start = (yylsp[(1) - (3)]).start); (yyloc.end = (yylsp[(1) - (3)]).end); ; } break; case 912: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0))); (__extension__ ({ unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode); __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput; __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl; })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]); __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (4)]).end.pos, 0) : (unsigned int)1; })); (yychar = (-2)); resetScannerPos(&(yylsp[(1) - (4)]).end); (yyloc.start = (yylsp[(1) - (4)]).start); (yyloc.end = (yylsp[(1) - (4)]).end); FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier)); FreeIdentifier(yyvsp[(3) - (4)].id); ; } break; case 915: { yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext)); ; } break; case 916: { yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext)); ; } break; case 917: { yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib); ; } break; case 918: { char temp[1024]; strcpy(temp, "__asm__("); strcat(temp, yyvsp[(3) - (4)].string); strcat(temp, ")"); yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(temp)); (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(3) - (4)].string), yyvsp[(3) - (4)].string = 0); ; } break; case 919: { yyval.i = ATTRIB; ; } break; case 920: { yyval.i = ATTRIB_DEP; ; } break; case 921: { yyval.i = __ATTRIB; ; } break; case 922: { yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext); ; } break; case 923: { yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext); ; } break; case 924: { yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext); ; } break; case 925: { yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext); ; } break; case 926: { yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext); ; } break; case 927: { yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0))); yyval.attribute->loc = (yyloc); ; } break; case 928: { yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list)); yyval.attribute->loc = (yyloc); ; } break; case 929: { yyval.list = MkListOne(yyvsp[(1) - (1)].attribute); ; } break; case 930: { ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute); yyval.list = yyvsp[(1) - (2)].list; ; } break; case 931: { ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute); yyval.list = yyvsp[(1) - (3)].list; ; } break; case 932: { yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list); yyval.attrib->loc = (yyloc); ; } break; case 933: { yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0))); yyval.attrib->loc = (yyloc); ; } break; case 934: { yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator); ; } break; case 935: { yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator)); ; } break; case 936: { yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0))); ; } break; case 937: { yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp); ; } break; case 938: { yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp); ; } break; case 939: { yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier); ; } break; case 940: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0))); ; } break; case 941: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp); ; } break; case 942: { yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier); ; } break; case 943: { yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp); ; } break; case 944: { yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0))); ; } break; case 945: { yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list); ; } break; case 946: { yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list); ; } break; case 947: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0))); ; } break; case 948: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list); ; } break; case 949: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list); ; } break; case 950: { yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator); ; } break; case 951: { yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator)); ; } break; case 952: { yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0))); ; } break; case 953: { yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list); ; } break; case 954: { yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list); ; } break; case 955: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0))); ; } break; case 956: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list); ; } break; case 957: { yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list); ; } break; case 958: { yyval.pointer = MkPointer((((void *)0)), (((void *)0))); ; } break; case 959: { yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0))); ; } break; case 960: { yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer); ; } break; case 961: { yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer); ; } break; case 962: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0))); ; } break; case 964: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 965: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0)))); ; } break; case 966: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 967: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0))); ; } break; case 969: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 970: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0)))); ; } break; case 971: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 973: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 974: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 975: { yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator); ; } break; case 976: { yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator); ; } break; case 978: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 979: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 980: { yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator); ; } break; case 982: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 983: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 984: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator)); ; } break; case 986: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 987: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 988: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator)); ; } break; case 990: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 991: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 992: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator)); ; } break; case 994: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 995: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 996: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator)); ; } break; case 998: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator); ; } break; case 999: { yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator)); ; } break; case 1000: { yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator)); ; } break; case 1001: { yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp); yyval.initializer->loc = (yyloc); ; } break; case 1002: { yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list); yyval.initializer->loc = (yyloc); ; } break; case 1003: { Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "extra comma\n", (((void *)0)))); yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list); yyval.initializer->loc = (yyloc); { struct Expression * exp = MkExpDummy(); struct Initializer * init = MkInitializerAssignment(exp); init->loc = (yylsp[(3) - (4)]); exp->loc = (yylsp[(3) - (4)]); ListAdd(yyvsp[(2) - (4)].list, init); } ; } break; case 1004: { yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp); yyval.initializer->loc = (yyloc); ; } break; case 1005: { yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list); yyval.initializer->loc = (yyloc); ; } break; case 1006: { yyerror(); yyval.initializer = MkInitializerList(yyvsp[(2) - (2)].list); yyval.initializer->loc = (yyloc); ; } break; case 1007: { yyval.initializer = MkInitializerList(yyvsp[(2) - (5)].list); yyval.initializer->loc = (yyloc); { struct Expression * exp = MkExpDummy(); struct Initializer * init = MkInitializerAssignment(exp); init->loc = (yylsp[(3) - (5)]); exp->loc = (yylsp[(3) - (5)]); ListAdd(yyvsp[(2) - (5)].list, init); } ; } break; case 1008: { yyerror(); yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list); yyval.initializer->loc = (yyloc); { struct Expression * exp = MkExpDummy(); struct Initializer * init = MkInitializerAssignment(exp); init->loc = (yylsp[(3) - (3)]); exp->loc = (yylsp[(3) - (3)]); ListAdd(yyvsp[(2) - (3)].list, init); } ; } break; case 1009: { yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp); yyval.initializer->loc = (yyloc); ; } break; case 1010: { yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp); yyval.initializer->loc = (yyloc); ; } break; case 1011: { yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp); yyval.initializer->loc = (yyloc); ; } break; case 1012: { yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp); yyval.initializer->loc = (yyloc); ; } break; case 1013: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].initializer); ; } break; case 1014: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].initializer); ; } break; case 1015: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer); ; } break; case 1016: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer); ; } break; case 1017: { yyerror(); yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer); ; } break; case 1018: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer); ; } break; case 1019: { yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0))); yyval.initDeclarator->loc = (yyloc); ; } break; case 1020: { yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0))); yyval.initDeclarator->loc = (yyloc); ; } break; case 1021: { yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer); yyval.initDeclarator->loc = (yyloc); yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end; ; } break; case 1022: { yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0))); yyval.initDeclarator->loc = (yyloc); ; } break; case 1023: { yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer); yyval.initDeclarator->loc = (yyloc); yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end; ; } break; case 1024: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator); ; } break; case 1025: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator); ; } break; case 1026: { yyval.list = MkList(); ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), (((void *)0)))); ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator); ; } break; case 1027: { yyval.list = MkList(); ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), (((void *)0)))); ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator); ; } break; case 1028: { yyval.list = MkList(); ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__int128")), (((void *)0)))); ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator); ; } break; case 1029: { char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0); char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name; yyval.list = MkList(); ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0)))); ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator); FreeSpecifier(yyvsp[(1) - (3)].specifier); ; } break; case 1030: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator); ; } break; case 1031: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator); ; } break; case 1032: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (2)].initDeclarator); ; } break; case 1033: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator); ; } break; case 1034: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator); ; } break; case 1035: { yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0))); ; } break; case 1036: { yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator); ; } break; case 1037: { yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0))); ; } break; case 1038: { yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator); ; } break; case 1039: { yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator); ; } break; case 1040: { yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator); ; } break; case 1041: { yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))); ; } break; case 1042: { yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator)); ; } break; case 1043: { yyval.typeName = MkTypeNameGuessDecl(yyvsp[(1) - (1)].list, (((void *)0))); ; } break; case 1044: { yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0))); ; } break; case 1045: { yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator); ; } break; case 1046: { yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator); ; } break; case 1047: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].typeName); ; } break; case 1048: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName); ; } break; case 1049: { yyval.list = yyvsp[(1) - (4)].list; ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName); ; } break; case 1050: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName); ; } break; case 1051: { yyval.list = yyvsp[(1) - (4)].list; ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName); ; } break; case 1052: { yyval.list = MkList(); ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0)))); ListAdd(yyval.list, yyvsp[(3) - (3)].typeName); ; } break; case 1053: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName); ; } break; case 1054: { yyval.list = yyvsp[(1) - (4)].list; ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName); ; } break; case 1055: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName); ; } break; case 1056: { yyval.list = yyvsp[(1) - (4)].list; ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName); ; } break; case 1057: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].typeName); ; } break; case 1058: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName); ; } break; case 1059: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName); ; } break; case 1060: { yyval.list = yyvsp[(1) - (4)].list; ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName); ; } break; case 1061: { yyval.list = MkList(); ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0)))); ListAdd(yyval.list, yyvsp[(3) - (3)].typeName); ; } break; case 1062: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName); ; } break; case 1063: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName); ; } break; case 1064: { yyval.list = yyvsp[(1) - (4)].list; ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName); ; } break; case 1066: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0)))); ; } break; case 1067: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0)))); ; } break; case 1068: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0)))); ; } break; case 1069: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0)))); ; } break; case 1070: { yyval.list = MkList(); ListAdd(yyval.list, MkTypeName((((void *)0)), (((void *)0)))); ; } break; case 1072: { yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, (((void *)0))); ; } break; case 1075: { yyval.stmt = MkExpressionStmt((((void *)0))); FreeAttrib(yyvsp[(1) - (1)].attrib); ; } break; case 1077: { yyval.stmt = MkExpressionStmt((((void *)0))); ; } break; case 1078: { yyval.stmt = MkExpressionStmt((((void *)0))); ; } break; case 1079: { yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list); yyval.stmt->loc = (yyloc); ; } break; case 1087: { yyval.stmt = yyvsp[(1) - (1)].stmt; Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0)))); ; } break; case 1088: { yyval.stmt = yyvsp[(1) - (1)].stmt; Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0)))); ; } break; case 1089: { yyval.stmt = yyvsp[(1) - (1)].stmt; Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0)))); ; } break; case 1090: { yyval.stmt = yyvsp[(1) - (1)].stmt; Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0)))); ; } break; case 1091: { yyval.stmt = yyvsp[(1) - (1)].stmt; Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0)))); ; } break; case 1092: { yyval.stmt = yyvsp[(1) - (2)].stmt; Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0)))); ; } break; case 1093: { yyval.stmt = MkExpressionStmt(yyvsp[(1) - (1)].list); Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0)))); yyval.stmt->loc = (yylsp[(1) - (1)]); ; } break; case 1094: { yyval.asmField = MkAsmField(yyvsp[(1) - (1)].string, (((void *)0)), (((void *)0))); yyval.asmField->loc = (yylsp[(1) - (1)]); ; } break; case 1095: { yyval.asmField = MkAsmField(yyvsp[(1) - (4)].string, yyvsp[(3) - (4)].exp, (((void *)0))); yyval.asmField->loc = (yyloc); ; } break; case 1096: { yyval.asmField = MkAsmField(yyvsp[(4) - (7)].string, yyvsp[(6) - (7)].exp, yyvsp[(2) - (7)].id); yyval.asmField->loc = (yyloc); ; } break; case 1097: { yyval.list = MkListOne(yyvsp[(1) - (1)].asmField); ; } break; case 1098: { ListAdd(yyval.list, yyvsp[(3) - (3)].asmField); ; } break; case 1099: { yyval.list = (((void *)0)); ; } break; case 1100: { yyval.stmt = MkAsmStmt(yyvsp[(2) - (6)].specifier, yyvsp[(4) - (6)].string, (((void *)0)), (((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1101: { yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, yyvsp[(6) - (8)].list, (((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1102: { yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1103: { yyval.stmt = MkAsmStmt(yyvsp[(2) - (12)].specifier, yyvsp[(4) - (12)].string, yyvsp[(6) - (12)].list, yyvsp[(8) - (12)].list, yyvsp[(10) - (12)].list); yyval.stmt->loc = (yyloc); ; } break; case 1104: { yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, (((void *)0)), yyvsp[(6) - (8)].list, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1105: { yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, (((void *)0)), yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list); yyval.stmt->loc = (yyloc); ; } break; case 1106: { yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, (((void *)0)), yyvsp[(8) - (10)].list); yyval.stmt->loc = (yyloc); ; } break; case 1107: { yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (5)].string, (((void *)0)), (((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1108: { yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, yyvsp[(5) - (7)].list, (((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1109: { yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1110: { yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (11)].string, yyvsp[(5) - (11)].list, yyvsp[(7) - (11)].list, yyvsp[(9) - (11)].list); yyval.stmt->loc = (yyloc); ; } break; case 1111: { yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, (((void *)0)), yyvsp[(5) - (7)].list, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1112: { yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, (((void *)0)), yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list); yyval.stmt->loc = (yyloc); ; } break; case 1113: { yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, (((void *)0)), yyvsp[(7) - (9)].list); yyval.stmt->loc = (yyloc); ; } break; case 1114: { yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1115: { yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt); yyval.stmt->loc = (yyloc); yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end; ; } break; case 1116: { yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt); yyval.stmt->loc = (yyloc); yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end; ; } break; case 1117: { yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt); yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]); yyval.stmt->loc = (yyloc); yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end; ; } break; case 1118: { yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1119: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration); stmt->loc = (yylsp[(3) - (3)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt); yyval.stmt->loc = (yyloc); ; } break; case 1120: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration); stmt->loc = (yylsp[(4) - (4)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt); yyval.stmt->loc = (yyloc); yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end; ; } break; case 1121: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration); stmt->loc = (yylsp[(4) - (4)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt); yyval.stmt->loc = (yyloc); yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end; ; } break; case 1122: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration); stmt->loc = (yylsp[(3) - (3)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkCaseStmt(MkExpDummy(), stmt); yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]); yyval.stmt->loc = (yyloc); yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end; ; } break; case 1123: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration); stmt->loc = (yylsp[(3) - (3)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkCaseStmt((((void *)0)), stmt); yyval.stmt->loc = (yyloc); ; } break; case 1124: { yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1125: { yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt); yyval.stmt->loc = (yyloc); yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end; ; } break; case 1126: { yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt); yyval.stmt->loc = (yyloc); yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end; ; } break; case 1127: { yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt); yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]); yyval.stmt->loc = (yyloc); yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end; ; } break; case 1128: { yyval.stmt = MkCaseStmt(MkExpDummy(), (((void *)0))); yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (2)]); yyval.stmt->loc = (yyloc); yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end; ; } break; case 1129: { yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1130: { yyval.stmt = MkCaseStmt((((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1131: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration); stmt->loc = (yylsp[(3) - (3)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt); yyval.stmt->loc = (yyloc); ; } break; case 1132: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration); stmt->loc = (yylsp[(4) - (4)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt); yyval.stmt->loc = (yyloc); yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end; ; } break; case 1133: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration); stmt->loc = (yylsp[(4) - (4)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt); yyval.stmt->loc = (yyloc); yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end; ; } break; case 1134: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration); stmt->loc = (yylsp[(3) - (3)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkCaseStmt(MkExpDummy(), stmt); yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]); yyval.stmt->loc = (yyloc); yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end; ; } break; case 1135: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration); stmt->loc = (yylsp[(3) - (3)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.stmt = MkCaseStmt((((void *)0)), stmt); yyval.stmt->loc = (yyloc); ; } break; case 1136: { yyval.declMode = structDeclMode = declMode = 1; ; } break; case 1137: { yyval.declMode = structDeclMode = declMode = 2; ; } break; case 1138: { yyval.declMode = structDeclMode = declMode = 0; ; } break; case 1139: { yyval.declMode = 1; ; } break; case 1140: { yyval.declMode = 2; ; } break; case 1141: { yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0))); yyval.declaration->loc = (yyloc); structDeclMode = defaultDeclMode; ; } break; case 1142: { yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list); yyval.declaration->loc = (yyloc); structDeclMode = defaultDeclMode; ; } break; case 1143: { yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance); yyval.declaration->loc = (yyloc); structDeclMode = defaultDeclMode; ; } break; case 1144: { yyval.declaration = yyvsp[(1) - (2)].declaration; structDeclMode = defaultDeclMode; ; } break; case 1145: { yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0))); yyval.declaration->loc = (yyloc); ; } break; case 1146: { yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list); yyval.declaration->loc = (yyloc); ; } break; case 1147: { yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list); yyval.declaration->loc = (yyloc); ; } break; case 1148: { yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance); yyval.declaration->loc = (yyloc); ; } break; case 1149: { yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp); yyval.declaration->loc = (yyloc); ; } break; case 1150: { structDeclMode = declMode = 3; yyval.declaration = MkDeclarationDefine(yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].exp); yyval.declaration->loc = (yyloc); ; } break; case 1151: { yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0))); yyval.declaration->loc = (yyloc); (yyerrstatus = 0); ; } break; case 1152: { yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0))); yyval.declaration->loc = (yyloc); structDeclMode = defaultDeclMode; ; } break; case 1153: { structDeclMode = defaultDeclMode; ; } break; case 1154: { yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance); yyval.declaration->loc = (yyloc); structDeclMode = defaultDeclMode; ; } break; case 1155: { yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance); yyval.declaration->loc = (yyloc); structDeclMode = defaultDeclMode; ; } break; case 1156: { yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list); yyval.declaration->loc = (yyloc); structDeclMode = defaultDeclMode; ; } break; case 1157: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].declaration); ; } break; case 1158: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration); ; } break; case 1159: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration); ; } break; case 1160: { yyval.list = yyvsp[(1) - (3)].list; ; } break; case 1161: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].declaration); ; } break; case 1162: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration); ; } break; case 1163: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].stmt); ; } break; case 1164: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt); ; } break; case 1165: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt); ; } break; case 1166: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].stmt); ; } break; case 1167: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt); ; } break; case 1168: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt); ; } break; case 1169: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration); stmt->loc = (yylsp[(2) - (2)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, stmt); ; } break; case 1170: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration); stmt->loc = (yylsp[(2) - (2)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, stmt); ; } break; case 1171: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration); stmt->loc = (yylsp[(2) - (2)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, stmt); ; } break; case 1172: { struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration); stmt->loc = (yylsp[(2) - (2)]); Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0)))); yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, stmt); ; } break; case 1173: { yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list); ; } break; case 1174: { yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0))); ; } break; case 1175: { yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list); ; } break; case 1176: { yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list); ; } break; case 1177: { yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list); ; } break; case 1178: { yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0))); ; } break; case 1179: { yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list); ; } break; case 1180: { yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list); ; } break; case 1181: { yyval.context = PushContext(); ; } break; case 1182: { yyval.stmt = yyvsp[(1) - (2)].stmt; yyval.stmt->loc = (yyloc); ; } break; case 1183: { yyval.stmt = yyvsp[(2) - (2)].stmt; yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context; PopContext(yyvsp[(1) - (2)].context); yyval.stmt->loc = (yyloc); yyval.stmt->loc.end.charPos++; yyval.stmt->loc.end.pos++; ; } break; case 1184: { yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0))); yyval.stmt->__anon1.compound.context = yyvsp[(1) - (1)].context; PopContext(yyvsp[(1) - (1)].context); yyval.stmt->loc = (yyloc); yyval.stmt->loc.end.charPos++; yyval.stmt->loc.end.pos++; ; } break; case 1185: { yyval.stmt = yyvsp[(2) - (2)].stmt; yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context; PopContext(yyvsp[(1) - (2)].context); yyval.stmt->loc = (yyloc); yyval.stmt->loc.end.charPos++; yyval.stmt->loc.end.pos++; ; } break; case 1186: { yyval.stmt = MkExpressionStmt((((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1187: { yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list); yyval.stmt->loc = (yyloc); ; } break; case 1188: { yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list); yyval.stmt->loc = (yyloc); ; } break; case 1189: { yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1190: { yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1191: { yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1192: { yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1193: { yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1194: { yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1195: { yyval.stmt = MkIfStmt(yyvsp[(3) - (3)].list, (((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1197: { yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1198: { yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1199: { yyerror(); yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1200: { yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list); yyval.stmt->loc = (yyloc); ; } break; case 1201: { yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list); yyval.stmt->loc = (yyloc); ; } break; case 1202: { yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1203: { yyerror(); yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1204: { yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1205: { yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1206: { yyerror(); yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1207: { yyval.stmt = MkForEachStmt(yyvsp[(3) - (7)].id, yyvsp[(5) - (7)].list, (((void *)0)), yyvsp[(7) - (7)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1208: { yyval.stmt = MkForEachStmt(yyvsp[(3) - (9)].id, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, yyvsp[(9) - (9)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1209: { yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1210: { yyval.stmt = MkForStmt(MkExpressionStmt(yyvsp[(3) - (4)].list), (((void *)0)), (((void *)0)), (((void *)0))); yyval.stmt->__anon1.forStmt.init->loc = (yylsp[(3) - (4)]); yyval.stmt->loc = (yyloc); ; } break; case 1211: { yyval.stmt = MkForStmt(yyvsp[(3) - (4)].stmt, (((void *)0)), (((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1212: { yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, MkExpressionStmt(yyvsp[(4) - (5)].list), (((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); yyval.stmt->__anon1.forStmt.check->loc = (yylsp[(4) - (5)]); ; } break; case 1213: { yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, yyvsp[(4) - (5)].stmt, yyvsp[(5) - (5)].list, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1214: { yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1215: { yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1216: { yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1217: { yyerror(); yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list); yyval.stmt->loc = (yyloc); ; } break; case 1218: { yyerror(); yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list); yyval.stmt->loc = (yyloc); ; } break; case 1219: { yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list); yyval.stmt->loc = (yyloc); ; } break; case 1220: { yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (4)].stmt, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1221: { yyerror(); yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (3)].stmt, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1222: { yyerror(); yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (2)].stmt, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1223: { yyerror(); yyval.stmt = MkDoWhileStmt((((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1224: { yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1225: { yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1226: { yyval.stmt = MkWhileStmt(yyvsp[(3) - (3)].list, (((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1227: { yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1228: { yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt); yyval.stmt->loc = (yyloc); ; } break; case 1229: { yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id); yyval.stmt->loc = (yyloc); ; } break; case 1230: { yyval.stmt = MkContinueStmt(); yyval.stmt->loc = (yyloc); ; } break; case 1231: { yyval.stmt = MkBreakStmt(); yyval.stmt->loc = (yyloc); ; } break; case 1232: { struct Expression * exp = MkExpDummy(); yyval.stmt = MkReturnStmt(MkListOne(exp)); yyval.stmt->loc = (yyloc); exp->loc = (yylsp[(2) - (2)]); ; } break; case 1233: { yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list); yyval.stmt->loc = (yyloc); ; } break; case 1234: { yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list); yyval.stmt->loc = (yyloc); ; } break; case 1235: { yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp)); yyval.stmt->loc = (yyloc); ; } break; case 1236: { yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp)); yyval.stmt->loc = (yyloc); ; } break; case 1237: { yyval.stmt = MkReturnStmt(yyvsp[(2) - (2)].list); yyval.stmt->loc = (yyloc); ; } break; case 1238: { yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (2)].exp)); yyval.stmt->loc = (yyloc); ; } break; case 1239: { struct Expression * exp = MkExpDummy(); yyval.stmt = MkReturnStmt(MkListOne(exp)); yyval.stmt->loc = (yyloc); exp->loc.start = exp->loc.end = (yylsp[(1) - (1)]).end; ; } break; case 1240: { yyval.stmt = MkGotoStmt((((void *)0))); yyval.stmt->loc = (yyloc); ; } break; case 1241: { yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list); ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt); yyval.function->loc = (yyloc); ; } break; case 1242: { yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0))); ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt); yyval.function->loc = (yyloc); ; } break; case 1243: { yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list); ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt); yyval.function->loc = (yyloc); ; } break; case 1244: { yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0))); ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt); yyval.function->loc = (yyloc); ; } break; case 1245: { yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt); yyval.function->loc = (yyloc); ; } break; case 1246: { yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0))); ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt); yyval.function->loc = (yyloc); ; } break; case 1247: { yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list); ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt); yyval.function->loc = (yyloc); yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end; ; } break; case 1248: { yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0))); ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt); yyval.function->loc = (yyloc); yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end; ; } break; case 1249: { yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list); ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt); yyval.function->loc = (yyloc); yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end; ; } break; case 1250: { yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0))); ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt); yyval.function->loc = (yyloc); yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end; ; } break; case 1251: { yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list); ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt); yyval.function->loc = (yyloc); yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end; ; } break; case 1252: { yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0))); ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt); yyval.function->loc = (yyloc); yyval.function->loc.end = yyvsp[(2) - (2)].stmt->loc.end; ; } break; case 1253: { yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext); ; } break; case 1254: { int len1 = strlen(yyvsp[(1) - (2)].string); int len2 = strlen(yytext); yyval.string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len1 - 1 + len2 - 1 + 1)); memcpy(yyval.string, yyvsp[(1) - (2)].string, len1 - 1); memcpy(yyval.string + len1 - 1, yytext + 1, len2); (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (2)].string), yyvsp[(1) - (2)].string = 0); ; } break; case 1255: { yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function); yyval.external->loc = (yyloc); yyvsp[(1) - (1)].function->declMode = declMode; structDeclMode = declMode = defaultDeclMode; ; } break; case 1256: { yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class); yyval.external->loc = (yyloc); yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1257: { yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class); yyval.external->loc = (yyloc); yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2; structDeclMode = declMode = defaultDeclMode; FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier)); ; } break; case 1258: { yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration); yyval.external->loc = (yyloc); yyvsp[(1) - (1)].declaration->declMode = declMode; structDeclMode = declMode = defaultDeclMode; ; } break; case 1259: { yyval.external = MkExternalImport(yyvsp[(2) - (2)].string, 0, (declMode != 0) ? declMode : 2); yyval.external->loc = (yyloc); ; } break; case 1260: { yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 1, (declMode != 0) ? declMode : 2); yyval.external->loc = (yyloc); ; } break; case 1261: { unsigned int isRemote = !strcmp(yyvsp[(2) - (3)].id->string, "remote"); yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, isRemote ? 2 : 0, (declMode != 0) ? declMode : 2); yyval.external->loc = (yyloc); FreeIdentifier(yyvsp[(2) - (3)].id); if(!isRemote) yyerror(); ; } break; case 1262: { yyval.external = (((void *)0)); ; } break; case 1263: { yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function); yyval.external->loc = (yyloc); yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode; structDeclMode = declMode = defaultDeclMode; ; } break; case 1264: { yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class); yyval.external->loc = (yyloc); yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1265: { yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration); yyval.external->loc = (yyloc); yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode; structDeclMode = declMode = defaultDeclMode; ; } break; case 1266: { yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 0, (yyvsp[(1) - (3)].declMode != 0) ? yyvsp[(1) - (3)].declMode : 2); yyval.external->loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ; } break; case 1267: { yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, 1, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2); yyval.external->loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ; } break; case 1268: { unsigned int isRemote = !strcmp(yyvsp[(3) - (4)].id->string, "remote"); yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, isRemote ? 2 : 0, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2); yyval.external->loc = (yyloc); FreeIdentifier(yyvsp[(3) - (4)].id); structDeclMode = declMode = defaultDeclMode; if(!isRemote) yyerror(); ; } break; case 1269: { defaultDeclMode = yyvsp[(1) - (2)].declMode; yyval.external = (((void *)0)); ; } break; case 1270: { defaultDeclMode = 3; yyval.external = (((void *)0)); ; } break; case 1271: { yyval.external = MkExternalNameSpace(yyvsp[(2) - (2)].id); yyval.external->loc = (yyloc); ; } break; case 1272: { yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name)); FreeSpecifier(yyvsp[(2) - (2)].specifier); yyval.external->loc = (yyloc); ; } break; case 1273: { yyval.external = MkExternalDBTable(yyvsp[(1) - (1)].dbtableDef); yyval.external->loc = (yyloc); yyvsp[(1) - (1)].dbtableDef->declMode = (declMode != 0) ? declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1274: { yyval.external = MkExternalDBTable(yyvsp[(2) - (2)].dbtableDef); yyval.external->loc = (yyloc); yyvsp[(2) - (2)].dbtableDef->declMode = (yyvsp[(1) - (2)].declMode != 0) ? declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1275: { yyerror(); yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class); yyval.external->loc = yyvsp[(1) - (1)]._class->loc; yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1276: { yyerror(); FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier)); yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class); yyval.external->loc = yyvsp[(2) - (2)]._class->loc; yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1277: { yyerror(); yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function); yyval.external->loc = yyvsp[(1) - (1)].function->loc; yyvsp[(1) - (1)].function->declMode = declMode; structDeclMode = declMode = defaultDeclMode; ; } break; case 1278: { yyerror(); yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class); yyval.external->loc = yyvsp[(2) - (2)]._class->loc; yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1279: { yyerror(); yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function); yyval.external->loc = yyvsp[(2) - (2)].function->loc; yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode; structDeclMode = declMode = defaultDeclMode; ; } break; case 1280: { yyerror(); yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration); yyval.external->loc = (yyloc); yyvsp[(1) - (1)].declaration->declMode = declMode; structDeclMode = declMode = defaultDeclMode; ; } break; case 1281: { yyerror(); yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration); yyval.external->loc = (yyloc); yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode; structDeclMode = declMode = defaultDeclMode; ; } break; case 1282: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].external); ast = yyval.list; ; } break; case 1283: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external); ; } break; case 1284: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external); ; } break; case 1287: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].external); ast = yyval.list; ; } break; case 1288: { yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external); ; } break; case 1289: { struct External * _class = MkExternalClass(yyvsp[(2) - (2)]._class); yyval.list = yyvsp[(1) - (2)].list; ListAdd(yyvsp[(1) - (2)].list, _class); _class->loc = (yylsp[(2) - (2)]); yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1290: { struct External * _class = MkExternalClass(yyvsp[(3) - (3)]._class); yyval.list = yyvsp[(1) - (3)].list; ListAdd(yyvsp[(1) - (3)].list, _class); _class->loc = (yylsp[(3) - (3)]); yyvsp[(3) - (3)]._class->declMode = (yyvsp[(2) - (3)].declMode != 0) ? yyvsp[(2) - (3)].declMode : 2; structDeclMode = declMode = defaultDeclMode; ; } break; case 1293: { ast = MkList(); ; } break; case 1294: { struct Symbol * symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string); FreeIdentifier(yyvsp[(3) - (6)].id); yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list); ; } break; case 1295: { struct Symbol * symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name); FreeSpecifier(yyvsp[(3) - (6)].specifier); yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list); ; } break; case 1296: { yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (5)].string, (((void *)0)), yyvsp[(4) - (5)].list); ; } break; case 1297: { yyval.dbtableEntry = MkDBFieldEntry(MkTypeName(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(2) - (4)].id, yyvsp[(3) - (4)].string); ; } break; case 1298: { yyval.dbindexItem = MkDBIndexItem(yyvsp[(1) - (1)].id, 0); ; } break; case 1299: { yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 1); ; } break; case 1300: { yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 0); ; } break; case 1301: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].dbindexItem); ; } break; case 1302: { ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].dbindexItem); ; } break; case 1303: { yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (3)].list, (((void *)0))); ; } break; case 1304: { yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].id); ; } break; case 1305: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry); ; } break; case 1306: { yyval.list = MkList(); ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry); ; } break; case 1307: { ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry); ; } break; case 1308: { ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry); ; } break; case 1309: { yyval.exp = MkExpDBOpen(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].exp); ; } break; case 1310: { yyval.exp = MkExpDBField(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id); ; } break; case 1311: { yyval.exp = MkExpDBIndex(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id); ; } break; case 1312: { yyval.exp = MkExpDBTable(yyvsp[(3) - (4)].string); ; } break; default: break; } do { if(yydebug) { fprintf((bsl_stderr()), "%s ", "-> $$ ="); yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc); fprintf((bsl_stderr()), "\n"); } }while((0)); (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen)); yylen = 0; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); *++yyvsp = yyval; *++yylsp = yyloc; yyn = yyr1[yyn]; yystate = yypgoto[yyn - 146] + *yyssp; if(0 <= yystate && yystate <= 42058 && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - 146]; goto yynewstate; yyerrlab: if(!yyerrstatus) { ++yynerrs; yyerror("syntax error"); } yyerror_range[0] = yylloc; if(yyerrstatus == 3) { if(yychar <= 0) { if(yychar == 0) goto yyabortlab; } else { yydestruct("Error: discarding", yytoken, &yylval, &yylloc); yychar = (-2); } } goto yyerrlab1; yyerrorlab: if(0) goto yyerrorlab; yyerror_range[0] = yylsp[1 - yylen]; (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen)); yylen = 0; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); yystate = *yyssp; goto yyerrlab1; yyerrlab1: yyerrstatus = 3; for(; ; ) { yyn = yypact[yystate]; if(yyn != -2034) { yyn += 1; if(0 <= yyn && yyn <= 42058 && yycheck[yyn] == 1) { yyn = yytable[yyn]; if(0 < yyn) break; } } if(yyssp == yyss) goto yyabortlab; yyerror_range[0] = *yylsp; yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); yystate = *yyssp; do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); } *++yyvsp = yylval; yyerror_range[1] = yylloc; (yyloc.start = ((yyerror_range - 1))[1].start); (yyloc.end = ((yyerror_range - 1))[2].end); ; *++yylsp = yyloc; do { if(yydebug) { fprintf((bsl_stderr()), "%s ", "Shifting"); yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp); fprintf((bsl_stderr()), "\n"); } }while((0)); yystate = yyn; goto yynewstate; yyacceptlab: yyresult = 0; goto yyreturn; yyabortlab: yyresult = 1; goto yyreturn; yyexhaustedlab: yyerror("memory exhausted"); yyresult = 2; yyreturn: if(yychar != (-2)) yydestruct("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc); (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen)); do { if(yydebug) yy_stack_print((yyss), (yyssp)); }while((0)); while(yyssp != yyss) { yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp); (yyvsp -= (1), yyssp -= (1), yylsp -= (1)); } if(yyss != yyssa) free(yyss); return (yyresult); }