diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go index 5c1b881df30..2f1a220066d 100644 --- a/go/vt/sqlparser/keywords.go +++ b/go/vt/sqlparser/keywords.go @@ -430,6 +430,7 @@ var keywords = []keyword{ {"min", MIN}, {"manifest", MANIFEST}, {"master_bind", UNUSED}, + {"manual", MANUAL}, {"match", MATCH}, {"max", MAX}, {"max_rows", MAX_ROWS}, @@ -489,6 +490,7 @@ var keywords = []keyword{ {"outer", OUTER}, {"outfile", OUTFILE}, {"over", OVER}, + {"parallel", PARALLEL}, {"overwrite", OVERWRITE}, {"pack_keys", PACK_KEYS}, {"parser", PARSER}, @@ -515,6 +517,7 @@ var keywords = []keyword{ {"procedure", PROCEDURE}, {"ps_current_thread_id", PS_CURRENT_THREAD_ID}, {"ps_thread_id", PS_THREAD_ID}, + {"qualify", QUALIFY}, {"queries", QUERIES}, {"query", QUERY}, {"range", RANGE}, @@ -696,6 +699,7 @@ var keywords = []keyword{ {"system", UNUSED}, {"table", TABLE}, {"tables", TABLES}, + {"tablesample", TABLESAMPLE}, {"tablespace", TABLESPACE}, {"temporary", TEMPORARY}, {"temptable", TEMPTABLE}, diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index befd9b44c3b..c36e2e26006 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -6,12 +6,12 @@ package sqlparser import ( __yyfmt__ "fmt" __yyunsafe__ "unsafe" - - "vitess.io/vitess/go/ptr" ) //line sql.y:17 +import "vitess.io/vitess/go/ptr" + func setParseTree(yylex yyLexer, stmt Statement) { yylex.(*Tokenizer).ParseTree = stmt } @@ -705,67 +705,71 @@ const UNBOUNDED = 58012 const VCPU = 58013 const VISIBLE = 58014 const RETURNING = 58015 -const FORMAT_BYTES = 58016 -const FORMAT_PICO_TIME = 58017 -const PS_CURRENT_THREAD_ID = 58018 -const PS_THREAD_ID = 58019 -const GTID_SUBSET = 58020 -const GTID_SUBTRACT = 58021 -const WAIT_FOR_EXECUTED_GTID_SET = 58022 -const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58023 -const FORMAT = 58024 -const TREE = 58025 -const VITESS = 58026 -const TRADITIONAL = 58027 -const VTEXPLAIN = 58028 -const VEXPLAIN = 58029 -const PLAN = 58030 -const LOCAL = 58031 -const LOW_PRIORITY = 58032 -const NO_WRITE_TO_BINLOG = 58033 -const LOGS = 58034 -const ERROR = 58035 -const GENERAL = 58036 -const HOSTS = 58037 -const OPTIMIZER_COSTS = 58038 -const USER_RESOURCES = 58039 -const SLOW = 58040 -const CHANNEL = 58041 -const RELAY = 58042 -const EXPORT = 58043 -const CURRENT = 58044 -const ROW = 58045 -const ROWS = 58046 -const AVG_ROW_LENGTH = 58047 -const CONNECTION = 58048 -const CHECKSUM = 58049 -const DELAY_KEY_WRITE = 58050 -const ENCRYPTION = 58051 -const ENGINE = 58052 -const INSERT_METHOD = 58053 -const MAX_ROWS = 58054 -const MIN_ROWS = 58055 -const PACK_KEYS = 58056 -const PASSWORD = 58057 -const FIXED = 58058 -const DYNAMIC = 58059 -const COMPRESSED = 58060 -const REDUNDANT = 58061 -const COMPACT = 58062 -const ROW_FORMAT = 58063 -const STATS_AUTO_RECALC = 58064 -const STATS_PERSISTENT = 58065 -const STATS_SAMPLE_PAGES = 58066 -const STORAGE = 58067 -const MEMORY = 58068 -const DISK = 58069 -const PARTITIONS = 58070 -const LINEAR = 58071 -const RANGE = 58072 -const LIST = 58073 -const SUBPARTITION = 58074 -const SUBPARTITIONS = 58075 -const HASH = 58076 +const MANUAL = 58016 +const PARALLEL = 58017 +const QUALIFY = 58018 +const TABLESAMPLE = 58019 +const FORMAT_BYTES = 58020 +const FORMAT_PICO_TIME = 58021 +const PS_CURRENT_THREAD_ID = 58022 +const PS_THREAD_ID = 58023 +const GTID_SUBSET = 58024 +const GTID_SUBTRACT = 58025 +const WAIT_FOR_EXECUTED_GTID_SET = 58026 +const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58027 +const FORMAT = 58028 +const TREE = 58029 +const VITESS = 58030 +const TRADITIONAL = 58031 +const VTEXPLAIN = 58032 +const VEXPLAIN = 58033 +const PLAN = 58034 +const LOCAL = 58035 +const LOW_PRIORITY = 58036 +const NO_WRITE_TO_BINLOG = 58037 +const LOGS = 58038 +const ERROR = 58039 +const GENERAL = 58040 +const HOSTS = 58041 +const OPTIMIZER_COSTS = 58042 +const USER_RESOURCES = 58043 +const SLOW = 58044 +const CHANNEL = 58045 +const RELAY = 58046 +const EXPORT = 58047 +const CURRENT = 58048 +const ROW = 58049 +const ROWS = 58050 +const AVG_ROW_LENGTH = 58051 +const CONNECTION = 58052 +const CHECKSUM = 58053 +const DELAY_KEY_WRITE = 58054 +const ENCRYPTION = 58055 +const ENGINE = 58056 +const INSERT_METHOD = 58057 +const MAX_ROWS = 58058 +const MIN_ROWS = 58059 +const PACK_KEYS = 58060 +const PASSWORD = 58061 +const FIXED = 58062 +const DYNAMIC = 58063 +const COMPRESSED = 58064 +const REDUNDANT = 58065 +const COMPACT = 58066 +const ROW_FORMAT = 58067 +const STATS_AUTO_RECALC = 58068 +const STATS_PERSISTENT = 58069 +const STATS_SAMPLE_PAGES = 58070 +const STORAGE = 58071 +const MEMORY = 58072 +const DISK = 58073 +const PARTITIONS = 58074 +const LINEAR = 58075 +const RANGE = 58076 +const LIST = 58077 +const SUBPARTITION = 58078 +const SUBPARTITIONS = 58079 +const HASH = 58080 var yyToknames = [...]string{ "$end", @@ -1458,6 +1462,10 @@ var yyToknames = [...]string{ "VCPU", "VISIBLE", "RETURNING", + "MANUAL", + "PARALLEL", + "QUALIFY", + "TABLESAMPLE", "FORMAT_BYTES", "FORMAT_PICO_TIME", "PS_CURRENT_THREAD_ID", @@ -1539,7 +1547,7 @@ var yyExca = [...]int{ -2, 40, -1, 52, 1, 157, - 752, 157, + 756, 157, -2, 165, -1, 53, 149, 165, @@ -1561,7 +1569,7 @@ var yyExca = [...]int{ -2, 131, -1, 124, 1, 158, - 752, 158, + 756, 158, -2, 165, -1, 135, 150, 408, @@ -1594,58 +1602,58 @@ var yyExca = [...]int{ -2, 419, -1, 1217, 1, 580, - 752, 580, + 756, 580, -2, 165, - -1, 1528, + -1, 1532, 236, 1643, -2, 1483, - -1, 1740, + -1, 1744, 65, 897, -2, 913, - -1, 1741, + -1, 1745, 65, 898, -2, 914, - -1, 1801, + -1, 1805, 149, 165, 191, 165, 364, 165, -2, 458, - -1, 1884, + -1, 1888, 150, 408, 259, 408, -2, 512, - -1, 1893, + -1, 1897, 264, 1110, 269, 1110, -2, 420, - -1, 2342, + -1, 2346, 236, 1647, -2, 1641, - -1, 2343, + -1, 2347, 236, 1643, -2, 1639, - -1, 2446, + -1, 2450, 149, 165, 191, 165, 364, 165, -2, 459, - -1, 2453, + -1, 2457, 28, 186, -2, 188, - -1, 2917, + -1, 2921, 86, 96, 96, 96, -2, 976, - -1, 2985, - 727, 702, + -1, 2989, + 731, 702, -2, 676, - -1, 3210, + -1, 3214, 55, 1586, -2, 1580, - -1, 4047, - 727, 702, + -1, 4051, + 731, 702, -2, 690, - -1, 4139, + -1, 4143, 98, 634, 104, 634, 114, 634, @@ -1691,96 +1699,394 @@ var yyExca = [...]int{ 232, 634, 233, 634, 234, 634, - -2, 2019, + -2, 2023, } const yyPrivate = 57344 -const yyLast = 57002 +const yyLast = 56566 var yyAct = [...]int{ - 974, 3698, 3699, 87, 3697, 4137, 4214, 4028, 4118, 3361, - 4227, 4181, 4106, 3647, 4182, 969, 1285, 961, 3262, 2135, - 2014, 2443, 2170, 3269, 2371, 1283, 3497, 4010, 2147, 3933, - 3319, 3310, 3324, 3321, 3320, 3318, 3323, 3322, 2073, 3223, - 4008, 5, 3634, 2373, 3161, 3076, 3339, 3277, 2518, 753, - 3338, 3227, 3224, 3543, 962, 3221, 3740, 3050, 3537, 923, - 747, 3211, 2877, 3075, 1804, 2398, 2481, 781, 2414, 1760, - 748, 2951, 4079, 3032, 3368, 1861, 3527, 2417, 2982, 922, - 3341, 2505, 2486, 3565, 2952, 2549, 1042, 1164, 87, 163, - 1094, 927, 2953, 2431, 42, 1062, 1039, 743, 2883, 1069, - 1909, 2902, 2419, 2869, 41, 2418, 2853, 1042, 2327, 2294, - 2169, 2295, 2131, 3023, 2527, 149, 43, 1891, 2504, 2081, - 2406, 2488, 1104, 2944, 1122, 2566, 1127, 1793, 2919, 1773, - 2421, 1721, 2890, 1541, 2175, 100, 2106, 2095, 104, 105, - 1466, 1449, 1898, 2010, 1101, 1098, 3226, 763, 1133, 1870, - 1102, 2477, 1990, 1128, 1130, 1129, 2478, 1792, 1079, 1778, - 1081, 1051, 758, 1140, 750, 2399, 1743, 2183, 3735, 2202, - 1048, 2851, 1524, 85, 2072, 2022, 1061, 1041, 107, 1045, - 3727, 1500, 99, 1273, 167, 3554, 3498, 1883, 127, 125, - 126, 132, 1046, 1213, 1037, 133, 924, 1049, 1064, 751, - 1074, 84, 1545, 98, 1047, 106, 4215, 1281, 3635, 3307, - 1259, 740, 1073, 93, 2520, 2521, 2522, 4063, 1550, 2520, - 3005, 3004, 2564, 2973, 3627, 1036, 4164, 683, 3040, 3590, - 3041, 4059, 2368, 2369, 4058, 1054, 2088, 128, 2087, 1166, - 2086, 134, 2085, 4064, 1169, 2084, 1095, 3329, 2083, 2053, - 1229, 4158, 1183, 1184, 1185, 2849, 1188, 1189, 1190, 1191, - 3326, 2618, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, - 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1088, - 3207, 4185, 1089, 1055, 741, 2, 680, 1040, 681, 1764, - 1038, 1143, 95, 1975, 1119, 2553, 1762, 3702, 3702, 3329, - 1144, 2879, 4220, 725, 3165, 1111, 2392, 3327, 4237, 128, - 1170, 1173, 1174, 1118, 1117, 1116, 95, 4037, 95, 1765, - 1063, 1463, 1177, 1106, 1460, 2975, 1763, 4219, 4180, 1230, - 111, 112, 113, 1186, 116, 4059, 3333, 122, 725, 2552, - 191, 1483, 95, 675, 4205, 3501, 928, 3500, 4168, 4166, - 1035, 2395, 2394, 2995, 2998, 738, 739, 190, 4011, 3327, - 719, 1754, 2109, 2814, 2093, 1030, 1031, 1032, 1033, 1087, - 1091, 926, 1044, 4167, 4165, 3387, 4133, 128, 3929, 3928, - 129, 1168, 190, 1167, 977, 978, 979, 719, 3333, 977, - 978, 979, 3640, 3701, 3701, 3641, 172, 1451, 4195, 3939, - 1076, 1077, 1120, 4147, 86, 129, 1087, 1091, 926, 4162, - 3659, 3648, 4107, 4115, 2546, 86, 86, 3938, 719, 2625, - 2140, 172, 4142, 4145, 3413, 1872, 3012, 2850, 3013, 1462, - 714, 3259, 3260, 4151, 4152, 2551, 2438, 2439, 4119, 2893, - 3258, 1479, 2933, 3279, 3280, 1794, 1115, 1795, 1222, 1223, - 4146, 3330, 2065, 2066, 3039, 719, 169, 3658, 2928, 170, - 2622, 2927, 2437, 3022, 2929, 1278, 3754, 2894, 1254, 1255, - 1249, 1028, 1110, 1027, 1237, 1112, 4029, 2940, 699, 1238, - 1225, 169, 1250, 1243, 170, 189, 2018, 95, 719, 2623, - 1480, 697, 1481, 1482, 2456, 2455, 3365, 1212, 95, 95, - 719, 3395, 1237, 3330, 1113, 2370, 719, 1238, 3363, 4042, - 189, 2886, 2887, 1444, 4123, 1236, 2616, 1235, 3393, 4123, - 2068, 1790, 2064, 733, 737, 731, 3097, 3369, 2528, 3024, - 1187, 694, 1996, 1725, 1461, 4186, 3981, 3356, 3982, 2983, - 709, 3008, 2567, 2402, 2573, 3357, 1965, 86, 4217, 2592, - 88, 2593, 3278, 2594, 1991, 704, 4187, 1266, 1270, 1268, - 1450, 1252, 1253, 2569, 3281, 1443, 1275, 707, 2211, 1218, - 717, 1258, 2497, 3027, 1115, 720, 1107, 1256, 718, 1277, - 3913, 1251, 1244, 1109, 1108, 1276, 2619, 1257, 2620, 1501, - 1966, 3629, 1967, 3366, 3628, 2595, 2491, 1265, 1267, 2574, - 173, 1080, 720, 3625, 1142, 3364, 1142, 1193, 1192, 179, - 1153, 3384, 1151, 1502, 1503, 1504, 1505, 1506, 1507, 1508, - 1510, 1509, 1511, 1512, 2531, 173, 1728, 1123, 2019, 2571, - 95, 1124, 1113, 720, 179, 3281, 3706, 1114, 684, 2415, - 686, 700, 1124, 722, 1162, 721, 690, 1161, 688, 692, - 701, 693, 1160, 687, 4159, 698, 1159, 1158, 689, 702, - 703, 706, 710, 711, 712, 708, 705, 2203, 696, 723, - 720, 2570, 2205, 1157, 1156, 1155, 2210, 2206, 1150, 1876, - 2207, 2208, 2209, 1163, 2572, 2204, 2212, 2213, 2214, 2215, - 2216, 2217, 2218, 2219, 2220, 3098, 3540, 1099, 1090, 1084, - 1082, 1099, 1136, 720, 2976, 1097, 4238, 1141, 1263, 1141, - 4192, 1099, 1264, 1075, 1282, 720, 1282, 1282, 3624, 3164, - 1135, 720, 1269, 2580, 2576, 2578, 2579, 2577, 2581, 2582, - 2583, 2584, 2011, 1871, 3028, 1090, 1084, 1082, 164, 2400, - 2401, 2557, 3173, 2556, 2007, 1452, 1180, 1262, 3192, 2490, - 3190, 3301, 2000, 1791, 1998, 1999, 1997, 2001, 2002, 2003, - 1154, 3007, 1152, 164, 1869, 1114, 1042, 1525, 1530, 1531, - 1868, 1534, 1536, 1537, 1538, 1539, 1540, 1867, 1543, 1544, - 1546, 1546, 3010, 1546, 1546, 1551, 1551, 1551, 1554, 1555, - 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, - 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, - 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, + 974, 3702, 3703, 87, 3701, 2151, 4218, 4032, 4122, 3365, + 4231, 4185, 4110, 1285, 4186, 969, 2018, 961, 3266, 2139, + 3273, 2447, 2174, 3501, 4141, 1283, 2375, 4014, 3937, 3314, + 3227, 3323, 3328, 3325, 3324, 3322, 3327, 3326, 4012, 3638, + 3080, 3651, 1808, 2377, 3165, 3343, 3281, 2522, 753, 3342, + 3231, 2077, 3228, 3547, 5, 3744, 3541, 3054, 3215, 923, + 747, 2881, 962, 3079, 2402, 781, 2485, 922, 748, 1764, + 2418, 2955, 4083, 3036, 1865, 2986, 2490, 2421, 3531, 3345, + 3372, 2509, 2956, 2553, 2957, 2435, 1042, 1164, 87, 1094, + 3569, 927, 163, 1062, 42, 2906, 1039, 743, 2887, 1069, + 1913, 2422, 41, 2873, 2857, 2299, 2331, 1042, 2298, 3027, + 2173, 2423, 2135, 2531, 2508, 149, 1895, 2410, 2085, 43, + 2492, 2948, 1104, 3225, 2570, 1127, 1122, 1797, 2923, 1777, + 2425, 1725, 2894, 2179, 2110, 1545, 104, 2099, 1470, 105, + 100, 1453, 1902, 2014, 1101, 1098, 3230, 1130, 763, 1133, + 1874, 2481, 1102, 1994, 1128, 1129, 2482, 1796, 1079, 1782, + 1081, 1051, 1140, 758, 750, 2403, 1747, 2187, 3739, 2206, + 1048, 2855, 1528, 85, 2076, 1273, 1061, 1041, 2026, 1045, + 3731, 1504, 99, 107, 3558, 167, 127, 125, 126, 3502, + 1046, 132, 1887, 133, 1037, 1074, 924, 1213, 1064, 751, + 84, 1049, 106, 1549, 98, 4219, 740, 1047, 93, 3639, + 1281, 1259, 1073, 2524, 2525, 2526, 1554, 3311, 4067, 2524, + 3009, 3008, 2568, 2977, 1036, 3594, 3631, 683, 4168, 3044, + 3045, 4063, 2372, 2373, 1979, 2092, 4062, 2091, 128, 1166, + 1054, 2090, 2089, 2088, 4068, 1095, 134, 1169, 2087, 2057, + 1229, 4162, 1183, 1184, 1185, 2853, 1188, 1189, 1190, 1191, + 2622, 3211, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, + 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 741, + 1088, 4241, 1089, 1055, 1143, 4189, 1040, 1038, 95, 1106, + 2, 3706, 3706, 680, 1119, 681, 3333, 1768, 1766, 1144, + 2557, 1111, 4184, 1170, 1173, 1174, 3169, 4224, 4041, 2979, + 128, 1118, 1117, 1116, 4209, 1063, 3505, 3504, 2399, 1487, + 2883, 1177, 1467, 2398, 4172, 1464, 4170, 1769, 1767, 725, + 3333, 2396, 4223, 1186, 1230, 111, 112, 113, 95, 116, + 3002, 4063, 122, 3330, 2556, 191, 928, 4015, 675, 4171, + 2818, 4169, 2097, 1035, 725, 1758, 3331, 2999, 2113, 95, + 738, 739, 719, 190, 3391, 1087, 1091, 926, 4137, 3933, + 1030, 1031, 1032, 1033, 3932, 95, 1168, 1044, 128, 1087, + 1091, 926, 1167, 4199, 190, 3337, 129, 3705, 3705, 86, + 3331, 977, 978, 979, 3644, 3943, 1455, 3645, 4166, 977, + 978, 979, 172, 719, 1120, 1076, 1077, 129, 3663, 86, + 3652, 4111, 2897, 86, 719, 4119, 2550, 3942, 2144, 3337, + 2629, 4146, 1483, 172, 3417, 1876, 2932, 3262, 719, 2931, + 1466, 3662, 2933, 1266, 2854, 1268, 3263, 3264, 2442, 2443, + 2898, 2069, 2070, 3043, 2555, 4123, 714, 1798, 2937, 1799, + 86, 2626, 2441, 88, 3026, 1115, 1249, 1222, 1223, 1278, + 3758, 1028, 169, 1027, 1110, 170, 4033, 1112, 1484, 2944, + 1485, 1486, 95, 1265, 1267, 1237, 2980, 2022, 719, 1250, + 1238, 4046, 1237, 169, 1254, 1255, 170, 1238, 1243, 1225, + 2627, 189, 95, 1212, 699, 1236, 95, 1235, 2460, 2459, + 3334, 3101, 3369, 719, 3367, 2890, 2891, 697, 3399, 2374, + 1448, 3397, 189, 1113, 2620, 2068, 2072, 1794, 719, 733, + 1187, 4127, 737, 3373, 731, 3028, 1969, 1729, 3985, 4127, + 3986, 2987, 1471, 95, 3334, 1465, 2532, 3360, 3012, 4190, + 2571, 2577, 4221, 1995, 1447, 3361, 2406, 694, 2596, 1270, + 2597, 1275, 2598, 2575, 1153, 1258, 709, 3633, 1218, 1454, + 4191, 2501, 1252, 1253, 3031, 3632, 1115, 2599, 1107, 1142, + 1970, 704, 1971, 1277, 1193, 1109, 1108, 720, 1251, 1276, + 1192, 3917, 3629, 707, 1263, 2495, 717, 1244, 1264, 2623, + 4151, 2624, 2573, 1256, 718, 2574, 2578, 1080, 1269, 3370, + 1151, 3368, 1142, 1257, 1519, 1123, 173, 2535, 2576, 1124, + 4149, 3710, 3285, 2419, 3016, 179, 3017, 1124, 720, 2023, + 4155, 4156, 1162, 1262, 1113, 1161, 1160, 173, 1159, 720, + 3283, 3284, 1158, 1157, 1156, 1155, 179, 4150, 4242, 1150, + 1481, 1732, 1880, 720, 1163, 1172, 1114, 1099, 1519, 1099, + 4196, 1135, 1136, 1097, 684, 1171, 686, 700, 4163, 722, + 1099, 721, 690, 1135, 688, 692, 701, 693, 3544, 687, + 3102, 698, 1141, 1075, 689, 702, 703, 706, 710, 711, + 712, 708, 705, 2015, 696, 723, 1875, 3032, 2561, 2560, + 3048, 2011, 1456, 720, 1090, 1084, 1082, 3628, 1505, 1180, + 3305, 3011, 1873, 1872, 1154, 1141, 1871, 2997, 1090, 1084, + 1082, 2012, 1869, 3196, 1282, 1228, 1282, 1282, 720, 674, + 3388, 3168, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1514, + 1513, 1515, 1516, 720, 2644, 1520, 1521, 3025, 2494, 3282, + 3024, 4164, 2404, 2405, 164, 4028, 3194, 3583, 3565, 1795, + 1152, 3285, 3177, 1477, 2928, 2893, 1469, 1114, 2830, 2147, + 1786, 1683, 1227, 3176, 2888, 164, 1042, 1529, 1534, 1535, + 682, 1538, 1540, 1541, 1542, 1543, 1544, 2448, 1547, 1548, + 1550, 1550, 2981, 1550, 1550, 1555, 1555, 1555, 1558, 1559, + 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, + 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, + 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, + 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, + 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, + 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, + 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, + 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, + 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, + 1680, 1681, 4040, 2978, 1526, 1271, 1682, 975, 1684, 1685, + 1686, 1687, 1688, 4086, 2554, 89, 1445, 1446, 3592, 3593, + 1555, 1555, 1555, 1555, 1555, 1555, 1539, 1981, 1980, 1982, + 1983, 1984, 1444, 1121, 3661, 1695, 1696, 1697, 1698, 1699, + 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1522, + 1523, 1524, 1525, 1530, 724, 1221, 1471, 975, 3001, 1536, + 3014, 3704, 3704, 4125, 94, 1083, 1722, 1224, 3545, 3335, + 3336, 4125, 719, 165, 1551, 715, 1552, 1553, 975, 1083, + 177, 2628, 3339, 1463, 94, 1142, 1519, 1721, 94, 1216, + 716, 1516, 1556, 1557, 165, 3489, 1234, 124, 2552, 4124, + 1901, 177, 3000, 3335, 3336, 3261, 2655, 4124, 1247, 1233, + 2627, 1239, 1240, 1241, 1242, 2406, 3339, 3035, 2858, 2860, + 1728, 185, 1499, 1058, 1757, 94, 1274, 1758, 1232, 1042, + 4054, 1260, 1165, 1042, 119, 1279, 1280, 2027, 2188, 1042, + 3624, 3557, 185, 1476, 1473, 1474, 1475, 1480, 1482, 1479, + 2572, 1478, 2081, 2008, 1800, 2189, 1719, 3075, 2000, 2180, + 2514, 1472, 2498, 2180, 1481, 2664, 1142, 1720, 166, 171, + 168, 174, 175, 176, 178, 180, 181, 182, 183, 4235, + 1485, 1486, 4200, 1486, 184, 186, 187, 188, 1141, 166, + 171, 168, 174, 175, 176, 178, 180, 181, 182, 183, + 1142, 3753, 3599, 2499, 3269, 184, 186, 187, 188, 1900, + 2497, 2655, 120, 3598, 2544, 4154, 2539, 1179, 1910, 1909, + 1736, 2549, 1899, 2547, 1740, 1738, 1153, 1151, 1739, 104, + 1041, 3389, 105, 4243, 4192, 1720, 1689, 1690, 1691, 1692, + 1693, 1694, 3584, 4237, 2500, 977, 978, 979, 1726, 2336, + 1053, 1115, 1211, 2544, 2496, 3270, 2115, 2548, 1999, 4153, + 2584, 2580, 2582, 2583, 2581, 2585, 2586, 2587, 2588, 1141, + 2116, 1517, 1518, 2114, 1145, 1135, 107, 1477, 3364, 1147, + 3272, 3038, 1231, 1148, 1146, 1142, 3037, 720, 3038, 1261, + 1217, 3925, 2859, 3037, 2186, 2028, 2546, 1877, 1878, 1879, + 3267, 1487, 3924, 1141, 1734, 2551, 1758, 3915, 1145, 1135, + 1893, 2404, 2405, 1147, 2185, 1989, 1215, 1148, 1146, 1760, + 3283, 3284, 1142, 1723, 1246, 1737, 3658, 3268, 3659, 4244, + 1964, 2020, 1886, 1038, 3675, 1248, 3674, 1735, 1149, 1040, + 1142, 1915, 1763, 1916, 3055, 1918, 1920, 1905, 4087, 1924, + 1926, 1928, 1930, 1932, 1946, 2215, 2103, 2104, 2634, 2635, + 1282, 3274, 1791, 1792, 1954, 1955, 3606, 1987, 1450, 3605, + 1960, 1961, 1904, 2103, 2104, 2101, 2102, 1860, 2004, 3595, + 2002, 2003, 2001, 2005, 2006, 2007, 1988, 3312, 1141, 3301, + 2953, 1903, 1903, 1868, 1135, 1138, 1139, 4088, 1099, 4020, + 2100, 2952, 1132, 1136, 2951, 1487, 2504, 1884, 1883, 1882, + 1990, 4233, 1896, 1996, 4234, 1997, 4232, 1487, 1998, 725, + 1974, 1973, 1487, 1131, 1741, 1141, 1214, 1976, 3057, 3282, + 1907, 1135, 1138, 1139, 1972, 1099, 1950, 1487, 1986, 1132, + 1136, 3285, 1114, 1141, 3406, 1178, 1962, 1956, 4021, 1175, + 1484, 1953, 1485, 1486, 2207, 1952, 1951, 1942, 2016, 2209, + 1945, 101, 1947, 2214, 2210, 1922, 1733, 2211, 2212, 2213, + 1794, 102, 2208, 2216, 2217, 2218, 2219, 2220, 2221, 2222, + 2223, 2224, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1514, + 1513, 1515, 1516, 128, 1118, 1117, 1116, 2171, 1975, 1487, + 1771, 4193, 3067, 3066, 3065, 4049, 3589, 3059, 725, 3063, + 1758, 3058, 4048, 3056, 2033, 1758, 2879, 4220, 3061, 1509, + 1510, 1511, 1512, 1514, 1513, 1515, 1516, 3060, 2946, 4205, + 1758, 1758, 1758, 4042, 1282, 1282, 2055, 2029, 2030, 1511, + 1512, 1514, 1513, 1515, 1516, 4024, 3062, 3064, 4023, 1772, + 87, 2034, 4022, 87, 1484, 3920, 1485, 1486, 2041, 2042, + 2043, 3904, 3271, 3077, 3903, 2703, 1484, 3752, 1485, 1486, + 2054, 1484, 3750, 1485, 1486, 1483, 1758, 1476, 1473, 1474, + 1475, 1480, 1482, 1479, 3671, 1478, 1484, 1718, 1485, 1486, + 1717, 1505, 4194, 3047, 1716, 1472, 2163, 2152, 2153, 2154, + 2155, 2165, 2156, 2157, 2158, 2170, 2166, 2159, 2160, 2167, + 2168, 2169, 2161, 2162, 2164, 1506, 1507, 1508, 1509, 1510, + 1511, 1512, 1514, 1513, 1515, 1516, 2142, 2142, 2140, 2140, + 1505, 2143, 1493, 1494, 1495, 1496, 1497, 1498, 1492, 1489, + 2935, 42, 725, 2520, 42, 2519, 4180, 1758, 1484, 2105, + 1485, 1486, 2705, 1721, 1506, 1507, 1508, 1509, 1510, 1511, + 1512, 1514, 1513, 1515, 1516, 95, 3603, 2518, 2031, 2517, + 2516, 3588, 2515, 2226, 3374, 2035, 1715, 2037, 2038, 2039, + 2040, 1713, 1505, 3371, 2044, 1501, 1711, 1502, 3304, 1712, + 1710, 3303, 1714, 3029, 1487, 2962, 2056, 2879, 1758, 1487, + 2240, 1503, 1517, 1518, 1500, 2949, 1506, 1507, 1508, 1509, + 1510, 1511, 1512, 1514, 1513, 1515, 1516, 110, 1483, 1758, + 85, 1715, 1719, 85, 110, 2411, 2412, 2082, 109, 1487, + 108, 2879, 4118, 1720, 1709, 109, 2617, 108, 103, 2112, + 1487, 2879, 4097, 2175, 2062, 2063, 1507, 1508, 1509, 1510, + 1511, 1512, 1514, 1513, 1515, 1516, 2609, 2118, 2608, 2120, + 2121, 2122, 2123, 2124, 2125, 2127, 2129, 2130, 2131, 2132, + 2133, 2134, 2566, 2117, 2879, 4093, 2653, 4005, 1758, 1487, + 2323, 2324, 2325, 2326, 2327, 2565, 2652, 2346, 3952, 1487, + 2345, 2401, 2146, 2119, 3642, 4039, 3951, 2348, 2250, 2344, + 2351, 2352, 1487, 1758, 3275, 3928, 1758, 1487, 3279, 2380, + 1758, 3908, 1487, 2691, 2058, 3278, 1530, 2190, 2191, 2192, + 2193, 4203, 1758, 2879, 3916, 2332, 2334, 3642, 1758, 2879, + 3640, 2204, 4133, 1758, 2181, 2369, 2225, 1505, 2024, 2643, + 2544, 1758, 103, 1484, 2242, 1485, 1486, 1985, 1484, 3280, + 1485, 1486, 3563, 1758, 3276, 1977, 1487, 2785, 1758, 3277, + 1967, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1514, 1513, + 1515, 1516, 4037, 3907, 1487, 3294, 3293, 3650, 1484, 2924, + 1485, 1486, 2427, 2343, 1505, 1963, 2349, 2350, 1959, 1484, + 2346, 1485, 1486, 2416, 4131, 1758, 3291, 3292, 109, 4129, + 1758, 2988, 2344, 104, 3998, 1758, 105, 1758, 1506, 1507, + 1508, 1509, 1510, 1511, 1512, 1514, 1513, 1515, 1516, 1487, + 2457, 3289, 3290, 2967, 104, 1487, 1958, 105, 1484, 2379, + 1485, 1486, 1957, 2391, 1773, 1487, 1272, 2111, 1484, 1487, + 1485, 1486, 3289, 3288, 2903, 1758, 1487, 2925, 3996, 1758, + 3256, 1484, 2895, 1485, 1486, 1104, 1484, 2927, 1485, 1486, + 2627, 1484, 2456, 1485, 1486, 1487, 3993, 1758, 2924, 1487, + 2627, 3010, 1483, 2429, 2466, 2467, 2468, 2469, 2461, 2895, + 2462, 2463, 2464, 2465, 1864, 2991, 2452, 2902, 2451, 1104, + 1487, 1054, 3560, 2367, 2471, 2984, 2985, 2473, 2474, 2475, + 2476, 2433, 3226, 2392, 2385, 1484, 2386, 1485, 1486, 101, + 3556, 3975, 1758, 3556, 2394, 103, 2487, 3530, 1758, 102, + 2879, 2878, 2455, 1484, 1483, 1485, 1486, 3523, 1758, 2903, + 2533, 3520, 1758, 2414, 1487, 2493, 2925, 2336, 3518, 1758, + 1487, 2333, 2438, 2439, 2437, 4081, 2627, 1088, 2903, 1089, + 2335, 2454, 2453, 1487, 2145, 1758, 3556, 3481, 1758, 1487, + 3559, 3479, 1758, 1487, 2651, 2876, 973, 2545, 1484, 1487, + 1485, 1486, 2530, 2503, 1484, 1487, 1485, 1486, 4053, 103, + 1758, 1487, 3475, 1758, 1484, 1487, 1485, 1486, 1484, 1487, + 1485, 1486, 1864, 1863, 2879, 1484, 2488, 1485, 1486, 2484, + 2477, 2479, 2480, 1806, 1805, 2903, 2538, 2502, 3509, 2541, + 2507, 2542, 2506, 3291, 1484, 3199, 1485, 1486, 1484, 2440, + 1485, 1486, 2785, 2688, 2687, 2558, 3472, 1758, 2544, 1143, + 2527, 2544, 2488, 2537, 2540, 2409, 2536, 3607, 1762, 1484, + 2370, 1485, 1486, 2874, 1144, 3470, 1758, 2145, 2083, 2067, + 2559, 3468, 1758, 2562, 1903, 3466, 1758, 2563, 2564, 1487, + 2010, 3464, 1758, 1793, 1043, 1126, 1125, 3462, 1758, 1487, + 4159, 1759, 1761, 3460, 1758, 1487, 3315, 3458, 1758, 4100, + 1487, 3456, 1758, 1484, 1487, 1485, 1486, 3939, 2632, 1484, + 1765, 1485, 1486, 3905, 3608, 3609, 3610, 1042, 1042, 1042, + 1487, 2569, 1484, 3765, 1485, 1486, 3623, 3620, 1484, 1487, + 1485, 1486, 1484, 1487, 1485, 1486, 3601, 1540, 1484, 1540, + 1485, 1486, 1487, 3422, 1484, 3421, 1485, 1486, 1866, 2486, + 1484, 3362, 1485, 1486, 1484, 2647, 1485, 1486, 1484, 3317, + 1485, 1486, 3313, 2992, 2483, 1487, 2602, 95, 2478, 1487, + 2958, 2346, 3912, 2472, 2345, 2470, 1505, 1992, 1487, 1898, + 4215, 3454, 1758, 2650, 1487, 1894, 3576, 3452, 1758, 1862, + 1487, 2959, 3450, 1758, 1487, 1216, 3448, 1758, 121, 1775, + 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1514, 1513, 1515, + 1516, 4213, 3446, 1758, 1487, 3570, 3571, 3366, 1487, 2619, + 2670, 3444, 1758, 3940, 2959, 3442, 1758, 2501, 1484, 2383, + 1485, 1486, 2625, 2060, 3428, 1758, 4187, 2685, 1484, 4061, + 1485, 1486, 3980, 3573, 1484, 1487, 1485, 1486, 2633, 1484, + 679, 1485, 1486, 1484, 3309, 1485, 1486, 3404, 1758, 2639, + 3308, 2850, 1758, 3307, 1487, 2636, 2637, 2638, 1487, 1484, + 1774, 1485, 1486, 2112, 3226, 1487, 2848, 1758, 1484, 2971, + 1485, 1486, 1484, 3625, 1485, 1486, 2823, 1758, 2603, 2701, + 2640, 1484, 2642, 1485, 1486, 3611, 3575, 1487, 3245, 3248, + 2061, 2645, 3244, 2646, 3249, 4057, 2800, 1758, 1487, 1770, + 2792, 1758, 1487, 3941, 1484, 2400, 1485, 1486, 1484, 1938, + 1485, 1486, 2663, 3246, 742, 3564, 2641, 1484, 3247, 1485, + 1486, 1934, 1056, 1484, 2389, 1485, 1486, 2783, 1758, 1484, + 3204, 1485, 1486, 1484, 3203, 1485, 1486, 4019, 3612, 3613, + 3614, 1487, 2648, 3216, 3218, 2829, 2781, 1758, 1487, 3745, + 2768, 1758, 3219, 1484, 3549, 1485, 1486, 1484, 1758, 1485, + 1486, 3743, 3548, 1487, 2611, 2612, 1939, 1940, 1941, 2614, + 2817, 2699, 2171, 1057, 1935, 1936, 1937, 2861, 2615, 2766, + 1758, 1059, 3552, 3213, 1484, 2009, 1485, 1486, 1026, 1060, + 2764, 1758, 3287, 2942, 2762, 1758, 1042, 2142, 2963, 2140, + 1182, 2864, 2595, 1484, 2188, 1485, 1486, 1484, 2594, 1485, + 1486, 2108, 2106, 2107, 1484, 1487, 1485, 1486, 1181, 2900, + 2901, 2189, 2862, 2908, 2911, 2912, 2913, 2909, 2427, 2910, + 2914, 1042, 2920, 2760, 1758, 2593, 1484, 2592, 1485, 1486, + 2758, 1758, 2865, 3250, 2867, 2912, 2913, 1484, 1487, 1485, + 1486, 1484, 3382, 1485, 1486, 2756, 1758, 1487, 3730, 2591, + 3729, 2111, 1487, 2590, 2589, 2958, 2880, 1487, 3041, 1449, + 2899, 2163, 2152, 2153, 2154, 2155, 2165, 2156, 2157, 2158, + 2170, 2166, 2159, 2160, 2167, 2168, 2169, 2161, 2162, 2164, + 1484, 2998, 1485, 1486, 129, 3554, 101, 1484, 1487, 1485, + 1486, 1726, 2852, 1068, 2889, 2918, 102, 2754, 1758, 1487, + 42, 103, 1484, 3728, 1485, 1486, 4229, 1067, 2975, 2917, + 2411, 2412, 2919, 108, 2606, 4136, 101, 2945, 2947, 1487, + 1720, 2872, 103, 109, 4038, 3935, 102, 1487, 3286, 2892, + 2752, 1758, 2916, 2938, 2877, 1487, 2996, 2395, 3202, 2750, + 1758, 2922, 3532, 1487, 2748, 1758, 3201, 2631, 2066, 2746, + 1758, 2065, 1487, 2926, 1484, 4004, 1485, 1486, 2929, 4003, + 3983, 1487, 3542, 2493, 3751, 1487, 2936, 3749, 2939, 3748, + 3741, 1487, 2961, 3621, 3007, 2183, 3553, 2964, 2965, 3551, + 2184, 2954, 110, 3318, 2950, 2528, 1881, 1484, 1066, 1485, + 1486, 2744, 1758, 109, 110, 108, 1484, 3740, 1485, 1486, + 2895, 1484, 2960, 1485, 1486, 109, 1484, 3714, 1485, 1486, + 2876, 2742, 1758, 2968, 1487, 2972, 2973, 2974, 2246, 2740, + 1758, 2969, 4217, 4216, 4216, 3004, 1487, 2738, 1758, 3105, + 2689, 2381, 1487, 1886, 1787, 2736, 1758, 1484, 1779, 1485, + 1486, 3051, 3052, 4217, 2734, 1758, 2993, 2994, 1484, 4025, + 1485, 1486, 3587, 2729, 1758, 3, 1487, 2725, 1758, 114, + 115, 110, 3003, 2723, 1758, 1487, 97, 1, 1484, 3071, + 1485, 1486, 109, 1034, 108, 1487, 1484, 1452, 1485, 1486, + 1487, 1451, 103, 3591, 1484, 4148, 1485, 1486, 1487, 2660, + 695, 2371, 1484, 3030, 1485, 1486, 1487, 1724, 2329, 4188, + 3068, 1484, 3049, 1485, 1486, 2080, 2716, 1758, 10, 4144, + 1484, 3033, 1485, 1486, 1484, 4145, 1485, 1486, 2714, 1758, + 1484, 1978, 1485, 1486, 3947, 1968, 1487, 3653, 2361, 3086, + 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 2078, + 2079, 2297, 9, 8, 3936, 1759, 2368, 3005, 3578, 3103, + 3321, 2534, 3619, 2491, 1134, 154, 3069, 3525, 2449, 2450, + 4113, 1487, 118, 1484, 1092, 1485, 1486, 2659, 117, 1137, + 1487, 1245, 3521, 2529, 3643, 1484, 1487, 1485, 1486, 2943, + 3487, 1484, 2458, 1485, 1486, 2393, 1812, 1810, 3483, 1811, + 1487, 1809, 1814, 1813, 1487, 4085, 3390, 2690, 1487, 3488, + 2071, 3145, 3053, 3147, 732, 1484, 3107, 1485, 1486, 3163, + 3070, 2915, 3039, 726, 1484, 3040, 1485, 1486, 3419, 3158, + 3159, 3160, 3161, 192, 1484, 1801, 1485, 1486, 1780, 1484, + 2064, 1485, 1486, 1176, 3050, 685, 3295, 1484, 2567, 1485, + 1486, 691, 1537, 2059, 3200, 1484, 3181, 1485, 1486, 2930, + 2983, 3170, 1086, 3418, 1078, 2382, 2866, 3172, 1085, 3913, + 3234, 3546, 3410, 3212, 3214, 1487, 2882, 2427, 3408, 3217, + 3096, 2332, 2334, 2332, 2334, 1484, 3210, 1485, 1486, 4018, + 3742, 3143, 2846, 1487, 4098, 2940, 2845, 1776, 3508, 3233, + 2841, 87, 2505, 2662, 2427, 2427, 2427, 2427, 2427, 2178, + 3153, 3154, 3155, 3156, 3157, 1527, 757, 2426, 3709, 3181, + 1484, 2098, 1485, 1486, 2427, 755, 754, 2427, 3171, 1484, + 3173, 1485, 1486, 3238, 752, 1484, 1487, 1485, 1486, 2868, + 3180, 1487, 2020, 2896, 1491, 1490, 963, 2856, 3255, 1484, + 1788, 1485, 1486, 1484, 3208, 1485, 1486, 1484, 2907, 1485, + 1486, 3192, 3198, 1487, 2905, 2904, 2604, 2840, 2429, 1487, + 2434, 3572, 3568, 4140, 3207, 2428, 3205, 2424, 2875, 914, + 913, 764, 756, 3220, 3221, 2839, 746, 976, 912, 911, + 3338, 3348, 1045, 3349, 3013, 2429, 2429, 2429, 2429, 2429, + 3346, 3257, 3237, 1046, 3258, 3239, 3206, 3363, 3242, 1487, + 3251, 104, 3015, 3259, 105, 2429, 3240, 3241, 2429, 3243, + 1047, 3193, 3195, 3197, 1484, 1487, 1485, 1486, 2838, 2941, + 3265, 1487, 3359, 2837, 1468, 1743, 1746, 1487, 3296, 2390, + 3298, 3297, 1484, 1105, 1485, 1486, 3299, 3300, 3387, 1487, + 4044, 2630, 3416, 1742, 4051, 2836, 3329, 3637, 3310, 3350, + 1487, 2827, 2989, 2521, 69, 3347, 46, 3351, 3340, 4013, + 4082, 3223, 906, 2493, 3319, 1487, 903, 3711, 3712, 3357, + 3713, 3166, 3167, 4064, 4065, 1484, 902, 1485, 1486, 4066, + 1484, 2235, 1485, 1486, 3229, 1487, 1462, 1459, 4161, 3229, + 1487, 2826, 2073, 96, 36, 35, 3378, 3377, 34, 33, + 1487, 3375, 1484, 32, 1485, 1486, 3385, 2825, 1484, 26, + 1485, 1486, 25, 2824, 24, 23, 3395, 22, 29, 2821, + 3392, 3393, 19, 3394, 21, 20, 3396, 18, 3398, 3332, + 3400, 2816, 4183, 4228, 123, 3411, 3412, 3413, 3414, 3415, + 55, 52, 2809, 50, 131, 130, 53, 49, 1484, 1219, + 1485, 1486, 2908, 2911, 2912, 2913, 2909, 2808, 2910, 2914, + 47, 31, 3570, 3571, 1484, 1540, 1485, 1486, 30, 1540, + 1484, 2649, 1485, 1486, 3320, 2654, 1484, 2807, 1485, 1486, + 17, 16, 2806, 15, 14, 3533, 13, 3535, 1484, 12, + 1485, 1486, 2805, 11, 7, 6, 3503, 39, 2657, 1484, + 2658, 1485, 1486, 3507, 38, 37, 2666, 28, 27, 40, + 2668, 2669, 4, 2976, 1484, 2523, 1485, 1486, 0, 2675, + 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 0, + 2686, 0, 0, 0, 1484, 3232, 1485, 1486, 3386, 1484, + 0, 1485, 1486, 0, 0, 0, 1721, 2427, 1487, 1484, + 3538, 1485, 1486, 2692, 2693, 2694, 2695, 0, 2697, 2698, + 3585, 2700, 3543, 3550, 3534, 2702, 3536, 0, 1487, 2707, + 2708, 0, 2709, 0, 1487, 2712, 2713, 2715, 2717, 2718, + 2719, 2720, 2721, 2722, 2724, 2726, 2727, 2728, 2730, 744, + 2732, 2733, 2735, 2737, 2739, 2741, 2743, 2745, 2747, 2749, + 2751, 2753, 2755, 2757, 2759, 2761, 2763, 2765, 2767, 2769, + 2770, 2771, 3577, 2773, 3341, 2775, 3579, 2777, 2778, 3350, + 2780, 2782, 2784, 3574, 3580, 3347, 2787, 3351, 3540, 3510, + 2791, 3512, 3513, 3514, 2796, 2797, 2798, 2799, 2429, 3586, + 2804, 3555, 1487, 3602, 0, 3604, 1487, 2810, 2811, 2812, + 2813, 2814, 2815, 1487, 0, 2819, 2820, 3596, 3597, 0, + 2803, 3567, 1487, 2822, 3380, 3381, 2802, 1487, 2828, 0, + 0, 0, 1487, 2831, 2832, 2833, 2834, 2835, 0, 1487, + 3581, 3582, 0, 1487, 2842, 2843, 0, 2844, 0, 1487, + 2847, 2849, 2393, 1487, 2851, 0, 0, 1484, 1065, 1485, + 1486, 1071, 1071, 0, 2863, 3647, 3648, 1487, 0, 3630, + 0, 1487, 0, 3634, 3635, 3636, 0, 1484, 3649, 1485, + 1486, 0, 0, 1484, 0, 1485, 1486, 0, 1487, 0, + 0, 0, 0, 0, 2801, 0, 0, 0, 2795, 0, + 0, 0, 0, 0, 1487, 2794, 0, 0, 3665, 0, + 0, 0, 0, 0, 2793, 0, 1487, 0, 0, 2790, + 1487, 0, 0, 0, 2789, 1487, 0, 0, 0, 0, + 0, 2788, 1487, 0, 0, 2786, 1487, 3676, 0, 0, + 1487, 2779, 0, 0, 1487, 2776, 0, 0, 0, 0, + 0, 1484, 0, 1485, 1486, 1484, 3698, 1485, 1486, 2774, + 0, 0, 1484, 2772, 1485, 1486, 3717, 0, 3718, 3719, + 3720, 1484, 0, 1485, 1486, 0, 1484, 0, 1485, 1486, + 2731, 1484, 3727, 1485, 1486, 3734, 0, 3736, 1484, 0, + 1485, 1486, 1484, 0, 1485, 1486, 2711, 3707, 1484, 0, + 1485, 1486, 1484, 0, 1485, 1486, 0, 0, 2710, 0, + 3233, 0, 2706, 87, 3737, 3233, 1484, 2704, 1485, 1486, + 1484, 0, 1485, 1486, 2696, 0, 0, 0, 2667, 0, + 0, 0, 2661, 0, 0, 0, 2656, 1484, 0, 1485, + 1486, 0, 0, 3670, 2142, 0, 2140, 3738, 3767, 0, + 3747, 3746, 0, 1484, 3757, 1485, 1486, 0, 0, 3754, + 3756, 0, 0, 0, 3759, 1484, 0, 1485, 1486, 1484, + 0, 1485, 1486, 0, 1484, 0, 1485, 1486, 0, 0, + 3919, 1484, 0, 1485, 1486, 1484, 3771, 1485, 1486, 1484, + 0, 1485, 1486, 1484, 0, 1485, 1486, 0, 0, 3626, + 3627, 1748, 0, 0, 42, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1756, 0, 0, 1749, 3911, + 3910, 0, 0, 0, 0, 0, 0, 0, 3938, 0, + 3926, 0, 0, 0, 0, 3909, 0, 3930, 3931, 0, + 0, 0, 0, 2387, 2388, 1755, 1753, 1754, 1750, 0, + 1751, 0, 0, 3977, 3978, 3081, 3082, 3083, 3084, 3085, + 0, 3761, 3768, 3769, 0, 0, 3735, 0, 0, 3921, + 3922, 3923, 2142, 1752, 2140, 3100, 3981, 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, 3229, 0, 0, 3984, 0, 4026, 3233, + 3987, 0, 3763, 0, 4017, 0, 0, 0, 0, 0, + 0, 0, 0, 1558, 1559, 1560, 1561, 1562, 1563, 1564, + 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, + 1575, 1576, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, @@ -1788,1090 +2094,752 @@ var yyAct = [...]int{ 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, - 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, - 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, - 1676, 1677, 1440, 1522, 1271, 2550, 1678, 4036, 1680, 1681, - 1682, 1683, 1684, 1441, 1442, 2974, 3331, 3332, 3588, 3589, - 1551, 1551, 1551, 1551, 1551, 1551, 1535, 1121, 4150, 3335, - 1515, 975, 4082, 975, 724, 1691, 1692, 1693, 1694, 1695, - 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1518, - 1519, 1520, 1521, 1526, 2997, 715, 4121, 975, 1515, 1532, - 3657, 4121, 1467, 3700, 3700, 1083, 1718, 165, 3331, 3332, - 716, 1224, 4149, 1547, 177, 1548, 1549, 1234, 1459, 94, - 2624, 3335, 1977, 1976, 1978, 1979, 1980, 1717, 4120, 1221, - 94, 94, 165, 4120, 1552, 1553, 3541, 1216, 2996, 177, - 2977, 1897, 1083, 2993, 1233, 1142, 1239, 1240, 1241, 1242, - 2008, 1865, 89, 1172, 2623, 185, 3044, 3485, 1228, 1135, - 1724, 674, 3385, 1171, 1753, 4160, 2548, 2854, 2856, 1042, - 1279, 1280, 3021, 1042, 4024, 3020, 1467, 1516, 1517, 1042, - 185, 4231, 3579, 3561, 2640, 2924, 2889, 2826, 2143, 1782, - 3031, 719, 1679, 1179, 1227, 1142, 1715, 3172, 166, 171, - 168, 174, 175, 176, 178, 180, 181, 182, 183, 1716, - 1477, 1247, 2884, 2494, 184, 186, 187, 188, 1142, 682, - 2444, 1515, 124, 166, 171, 168, 174, 175, 176, 178, - 180, 181, 182, 183, 2402, 3257, 1512, 1142, 2184, 184, - 186, 187, 188, 2651, 1260, 1495, 3265, 1058, 1141, 1274, - 1896, 2176, 4050, 1165, 2495, 2185, 119, 3620, 3553, 1754, - 1732, 2493, 94, 1232, 1736, 2023, 2568, 1734, 1735, 2077, - 1041, 104, 105, 2004, 1796, 3071, 2510, 1716, 1685, 1686, - 1687, 1688, 1689, 1690, 1477, 1995, 4196, 3749, 1722, 1507, - 1508, 1510, 1509, 1511, 1512, 2496, 1482, 3266, 1141, 1115, - 1211, 3595, 4188, 1145, 1135, 2492, 1481, 1482, 1147, 3594, - 2535, 107, 1148, 1146, 1906, 1483, 1142, 2176, 1905, 2660, - 1895, 1141, 3268, 1473, 2540, 3034, 1465, 1135, 1138, 1139, - 3033, 1099, 2540, 1149, 120, 1132, 1136, 1873, 1874, 1875, - 1141, 2855, 3263, 2651, 1730, 1142, 1135, 1138, 1139, 2545, - 1099, 1889, 2543, 1153, 1132, 1136, 1131, 1151, 1053, 1756, - 3580, 3034, 3279, 3280, 1215, 1733, 3033, 2544, 1719, 3264, - 1960, 4233, 1882, 2547, 2016, 2542, 1038, 4083, 1759, 4016, - 1040, 1911, 1731, 1912, 1985, 1914, 1916, 3921, 1901, 1920, - 1922, 1924, 1926, 1928, 2182, 1942, 3920, 1473, 3051, 2332, - 1282, 1983, 1261, 3270, 1950, 1951, 720, 1787, 1788, 2167, - 1956, 1957, 1900, 4229, 1856, 1217, 4230, 1231, 4228, 1141, - 2111, 1178, 3654, 2024, 3655, 1175, 4084, 1246, 4017, 1864, - 2400, 2401, 1899, 1899, 2112, 1513, 1514, 2110, 1248, 4239, - 1992, 3911, 1993, 1879, 3671, 1994, 3670, 1880, 1141, 1892, - 3602, 1878, 2332, 1145, 1135, 1984, 2329, 1972, 1147, 1737, - 3601, 1754, 1148, 1146, 1480, 2331, 1481, 1482, 725, 2181, - 1903, 3278, 1982, 3073, 1214, 3591, 1946, 2099, 2100, 2097, - 2098, 973, 3053, 3281, 977, 978, 979, 1483, 3308, 3297, - 1114, 2949, 1483, 2099, 2100, 2630, 2631, 1938, 2012, 1483, - 1941, 2948, 1943, 2947, 2096, 2500, 2697, 1986, 2159, 2148, - 2149, 2150, 2151, 2161, 2152, 2153, 2154, 2166, 2162, 2155, - 2156, 2163, 2164, 2165, 2157, 2158, 2160, 1483, 1971, 1970, - 190, 1969, 128, 1483, 1968, 4240, 1118, 1117, 1116, 1483, - 1958, 2978, 1505, 1506, 1507, 1508, 1510, 1509, 1511, 1512, - 1790, 2029, 1952, 129, 1949, 151, 3063, 3062, 3061, 2407, - 2408, 3055, 1948, 3059, 1947, 3054, 1918, 3052, 1729, 172, - 1282, 1282, 3057, 1483, 3360, 1446, 2025, 2026, 1483, 4201, - 1754, 3056, 2875, 4216, 2051, 1754, 87, 4189, 4045, 87, - 2030, 4199, 1754, 3552, 3585, 3402, 725, 2037, 2038, 2039, - 3058, 3060, 4044, 162, 3267, 4020, 2931, 2050, 725, 150, - 1489, 1490, 1491, 1492, 1493, 1494, 1488, 1485, 4019, 1472, - 1469, 1470, 1471, 1476, 1478, 1475, 2516, 1474, 2515, 169, - 4018, 3943, 170, 1754, 1767, 2699, 1480, 1468, 1481, 1482, - 2514, 1480, 2513, 1481, 1482, 1479, 1754, 2942, 1480, 101, - 1481, 1482, 4176, 1754, 1885, 1886, 161, 160, 189, 102, - 3916, 1483, 2138, 2138, 2136, 2136, 1754, 2139, 2875, 1754, - 4129, 1754, 1483, 2512, 3900, 2511, 1480, 42, 1481, 1482, - 42, 3899, 1480, 1768, 1481, 1482, 3748, 2101, 1480, 1717, - 1481, 1482, 1483, 1472, 1469, 1470, 1471, 1476, 1478, 1475, - 3746, 1474, 4038, 2027, 1479, 1754, 2875, 4114, 2875, 4093, - 2031, 1468, 2033, 2034, 2035, 2036, 2687, 3667, 1501, 2040, - 1754, 1497, 1480, 1498, 1481, 1482, 1714, 1480, 1713, 1481, - 1482, 2052, 2222, 1483, 2875, 4089, 2236, 1499, 1513, 1514, - 1496, 1712, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1510, - 1509, 1511, 1512, 4127, 1754, 1483, 85, 3599, 1715, 85, - 155, 1887, 158, 2078, 1884, 1754, 156, 157, 4001, 1754, - 3948, 1716, 3584, 173, 2108, 3370, 1483, 2058, 2059, 2171, - 3638, 4035, 179, 1503, 1504, 1505, 1506, 1507, 1508, 1510, - 1509, 1511, 1512, 2114, 1483, 2116, 2117, 2118, 2119, 2120, - 2121, 2123, 2125, 2126, 2127, 2128, 2129, 2130, 1483, 2113, - 1480, 3367, 1481, 1482, 3300, 2649, 2319, 2320, 2321, 2322, - 2323, 1480, 2656, 1481, 1482, 2648, 2342, 110, 2142, 2115, - 2341, 3924, 1754, 2344, 2246, 2340, 2347, 2348, 109, 101, - 108, 1480, 3299, 1481, 1482, 103, 3271, 4125, 1754, 102, - 3275, 3025, 1526, 2186, 2187, 2188, 2189, 3274, 2875, 3912, - 3947, 2328, 2330, 3638, 1754, 2875, 3636, 2200, 3994, 1754, - 2177, 2365, 2221, 2540, 1754, 3559, 1754, 2781, 1754, 3904, - 2238, 1483, 1480, 2958, 1481, 1482, 3992, 1754, 3290, 3289, - 3903, 3276, 2945, 2920, 1483, 1711, 3272, 3287, 3288, 103, - 2655, 3273, 3285, 3286, 1480, 2647, 1481, 1482, 3285, 3284, - 1754, 164, 1483, 1754, 2899, 1754, 2623, 3006, 2423, 2339, - 1705, 1711, 2345, 2346, 1483, 1480, 1709, 1481, 1482, 2342, - 2613, 1707, 1483, 2412, 1708, 1706, 2605, 1710, 2340, 1860, - 2987, 104, 105, 1480, 2604, 1481, 1482, 2980, 2981, 3646, - 1501, 2562, 3043, 1771, 2561, 1483, 2453, 1480, 2397, 1481, - 1482, 2921, 104, 105, 1754, 2375, 1483, 2376, 1501, 2387, - 2054, 2923, 2020, 2107, 1502, 1503, 1504, 1505, 1506, 1507, - 1508, 1510, 1509, 1511, 1512, 1981, 3989, 1754, 2875, 2874, - 2701, 1104, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1510, - 1509, 1511, 1512, 1973, 3971, 1754, 2984, 159, 1963, 2425, - 2963, 2462, 2463, 2464, 2465, 2457, 3574, 2458, 2459, 2460, - 2461, 2447, 1054, 2448, 1770, 1104, 2891, 2872, 1959, 2363, - 1480, 2467, 1481, 1482, 2469, 2470, 2471, 2472, 2429, 2388, - 2381, 103, 2382, 1480, 1955, 1481, 1482, 3526, 1754, 2452, - 2390, 1954, 2483, 2141, 1754, 95, 1953, 1769, 3521, 2451, - 109, 1480, 1272, 1481, 1482, 3556, 1501, 2529, 2639, 2410, - 1483, 2489, 2891, 1480, 1483, 1481, 1482, 1479, 2434, 2435, - 2433, 1480, 1088, 1481, 1482, 1089, 2450, 2920, 2449, 2541, - 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1510, 1509, 1511, - 1512, 1860, 1859, 2899, 1480, 2870, 1481, 1482, 4077, 2526, - 1802, 1801, 2499, 2898, 4049, 1480, 152, 1481, 1482, 153, - 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1510, 1509, 1511, - 1512, 3222, 2484, 3555, 1479, 2480, 2473, 2475, 2476, 2875, - 2899, 2498, 3552, 2534, 1483, 2503, 2537, 2502, 2538, 3552, - 165, 3252, 3505, 2540, 3287, 2921, 3195, 177, 3603, 2436, - 2781, 2623, 2554, 4190, 2684, 2623, 3519, 1754, 2484, 2533, - 2536, 2532, 1143, 2683, 2899, 1501, 2540, 1483, 2523, 2405, - 1758, 1144, 1483, 2366, 2141, 2079, 2063, 2555, 1483, 2558, - 2006, 1899, 1483, 2559, 2560, 1789, 1483, 1126, 185, 1502, - 1503, 1504, 1505, 1506, 1507, 1508, 1510, 1509, 1511, 1512, - 1483, 1755, 1757, 1125, 1483, 3604, 3605, 3606, 1483, 1480, - 4155, 1481, 1482, 1480, 2628, 1481, 1482, 4096, 3935, 1043, - 1761, 3901, 3311, 1042, 1042, 1042, 3516, 1754, 2565, 3761, - 3619, 166, 171, 168, 174, 175, 176, 178, 180, 181, - 182, 183, 110, 1536, 3616, 1536, 3597, 184, 186, 187, - 188, 3418, 1483, 109, 3417, 108, 1862, 2482, 3572, 3514, - 1754, 2643, 3358, 103, 3477, 1754, 3313, 3309, 2988, 1483, - 3475, 1754, 2598, 1483, 3471, 1754, 2479, 2955, 3468, 1754, - 2342, 1501, 1483, 1480, 2341, 1481, 1482, 1483, 2474, 2646, - 2468, 1483, 3466, 1754, 2466, 1483, 3464, 1754, 1988, 1483, - 3462, 1754, 95, 1894, 1483, 1502, 1503, 1504, 1505, 1506, - 1507, 1508, 1510, 1509, 1511, 1512, 1480, 1890, 1481, 1482, - 1483, 1480, 1858, 1481, 1482, 2615, 2666, 1480, 1754, 1481, - 1482, 1480, 121, 1481, 1482, 1480, 1216, 1481, 1482, 2954, - 2621, 3566, 3567, 2681, 3460, 1754, 3362, 3936, 1483, 1480, - 2497, 1481, 1482, 1480, 2629, 1481, 1482, 1480, 1934, 1481, - 1482, 3458, 1754, 2379, 4211, 3456, 1754, 2635, 2056, 4209, - 2632, 2633, 2634, 1483, 3454, 1754, 4053, 1483, 2108, 3452, - 1754, 1483, 4183, 3450, 1754, 679, 4057, 3448, 1754, 3976, - 1483, 3446, 1754, 2955, 1483, 3569, 2636, 4033, 2638, 3305, - 3304, 1480, 1483, 1481, 1482, 3303, 3222, 2641, 2967, 2642, - 1483, 2599, 3444, 1754, 1483, 1935, 1936, 1937, 1480, 1766, - 1481, 1482, 1480, 3244, 1481, 1482, 3571, 1483, 3245, 2659, - 3241, 1480, 2637, 1481, 1482, 2057, 1480, 3240, 1481, 1482, - 1480, 3908, 1481, 1482, 1480, 1056, 1481, 1482, 1480, 3242, - 1481, 1482, 3937, 1480, 3243, 1481, 1482, 1483, 2644, 742, - 2396, 2825, 2385, 1483, 3560, 3442, 1754, 3200, 3199, 1480, - 3621, 1481, 1482, 3440, 1754, 2607, 2608, 4015, 1483, 3739, - 2610, 3548, 3438, 1754, 3545, 2695, 3517, 2167, 1483, 2611, - 3741, 2813, 3544, 2857, 3424, 1754, 1057, 1480, 3209, 1481, - 1482, 2005, 3400, 1754, 1026, 3283, 2846, 1754, 3246, 2938, - 2908, 2909, 1042, 2138, 3726, 2136, 3725, 2860, 1483, 2844, - 1754, 2959, 1480, 2184, 1481, 1482, 1480, 2591, 1481, 1482, - 1480, 1483, 1481, 1482, 2590, 2896, 2897, 1182, 2858, 1480, - 2185, 1481, 1482, 1480, 2423, 1481, 1482, 1042, 2916, 2819, - 1754, 1480, 2589, 1481, 1482, 2796, 1754, 2588, 2861, 1480, - 2863, 1481, 1482, 1480, 2587, 1481, 1482, 1059, 1483, 3724, - 2788, 1754, 1483, 2895, 2586, 1060, 1480, 2107, 1481, 1482, - 2779, 1754, 1483, 2876, 2585, 1181, 2159, 2148, 2149, 2150, - 2151, 2161, 2152, 2153, 2154, 2166, 2162, 2155, 2156, 2163, - 2164, 2165, 2157, 2158, 2160, 3378, 1480, 2954, 1481, 1482, - 2777, 1754, 1480, 3037, 1481, 1482, 1483, 1722, 2848, 1445, - 2885, 2914, 1068, 2764, 1754, 2994, 42, 1480, 129, 1481, - 1482, 101, 3550, 1483, 103, 2913, 1067, 1480, 2915, 1481, - 1482, 102, 2868, 4225, 2941, 2943, 2971, 1483, 1716, 3212, - 3214, 1483, 2104, 2102, 2103, 2888, 2934, 1483, 3215, 2873, - 2762, 1754, 2992, 1483, 2760, 1754, 101, 1480, 2918, 1481, - 1482, 2602, 103, 4132, 2758, 1754, 102, 4034, 3931, 2922, - 1480, 3528, 1481, 1482, 2925, 1483, 110, 2407, 2408, 2489, - 2932, 3282, 2912, 2391, 1483, 2935, 2627, 109, 2957, 108, - 3003, 2179, 3198, 2960, 2961, 2062, 2180, 103, 2756, 1754, - 3197, 2061, 2946, 108, 4000, 3999, 3607, 1480, 1483, 1481, - 1482, 1480, 3979, 1481, 1482, 2754, 1754, 1483, 3747, 2956, - 3745, 1480, 3744, 1481, 1482, 1483, 3737, 3736, 3617, 2752, - 1754, 3549, 2964, 3483, 2242, 2968, 2969, 2970, 2965, 2750, - 1754, 110, 1483, 3547, 3000, 2748, 1754, 1483, 3314, 1882, - 2524, 1483, 109, 1930, 108, 1480, 1877, 1481, 1482, 3608, - 3609, 3610, 110, 2989, 2990, 1066, 109, 2746, 1754, 3538, - 4212, 2891, 1480, 109, 1481, 1482, 2744, 1754, 3710, 2999, - 3047, 3048, 4213, 4212, 4213, 3067, 1480, 2872, 1481, 1482, - 1480, 1483, 1481, 1482, 3101, 1483, 1480, 2685, 1481, 1482, - 2742, 1754, 1480, 1483, 1481, 1482, 1931, 1932, 1933, 2740, - 1754, 2377, 1483, 3026, 2325, 1783, 3064, 2738, 1754, 1483, - 3045, 1775, 114, 115, 1480, 4021, 1481, 1482, 3029, 1483, - 3583, 3, 97, 1480, 3479, 1481, 1482, 1, 2076, 2736, - 1754, 10, 1034, 3415, 2357, 3082, 3083, 3084, 3085, 3086, - 3087, 3088, 3089, 3090, 3091, 2074, 1448, 1480, 9, 1481, - 1482, 1755, 2364, 3001, 2075, 3099, 1480, 8, 1481, 1482, - 1447, 3587, 3065, 4144, 1480, 695, 1481, 1482, 2367, 1720, - 4184, 4140, 4141, 2734, 1754, 1974, 1964, 2732, 1754, 3649, - 2293, 1480, 1483, 1481, 1482, 3414, 1480, 3932, 1481, 1482, - 1480, 2389, 1481, 1482, 2730, 1754, 1483, 3317, 2530, 3615, - 1483, 2725, 1754, 2487, 1483, 1134, 154, 3141, 3049, 3143, - 2445, 3406, 3103, 2446, 1483, 3159, 3066, 3035, 4109, 118, - 3036, 1092, 117, 1137, 1483, 3154, 3155, 3156, 3157, 1245, - 1480, 2979, 1481, 1482, 1480, 2525, 1481, 1482, 1483, 3639, - 3046, 2939, 1480, 2454, 1481, 1482, 1808, 1806, 1807, 1805, - 1810, 1480, 3177, 1481, 1482, 1809, 4081, 3386, 1480, 2686, - 1481, 1482, 3166, 3168, 3484, 2067, 732, 2911, 1480, 726, - 1481, 1482, 192, 2423, 2721, 1754, 3092, 2328, 2330, 2328, - 2330, 1483, 1797, 1776, 2060, 1176, 685, 3291, 2719, 1754, - 2563, 691, 3404, 3139, 1533, 3229, 2842, 87, 2501, 2055, - 2423, 2423, 2423, 2423, 2423, 3196, 2841, 3149, 3150, 3151, - 3152, 3153, 2926, 1086, 1078, 3177, 2712, 1754, 2378, 2862, - 2423, 1085, 3909, 2423, 3230, 3542, 3167, 3208, 3169, 3210, - 2837, 1480, 1483, 1481, 1482, 2878, 3176, 1483, 3234, 3213, - 3206, 2016, 3251, 4014, 3738, 1480, 4094, 1481, 1482, 1480, - 3204, 1481, 1482, 1480, 2936, 1481, 1482, 1483, 3194, 3188, - 1772, 1483, 3504, 1480, 2425, 1481, 1482, 1483, 2658, 2174, - 3203, 1523, 3201, 1480, 2950, 1481, 1482, 757, 2422, 3216, - 3217, 3705, 2094, 755, 754, 752, 3334, 1480, 1045, 1481, - 1482, 2425, 2425, 2425, 2425, 2425, 3342, 3253, 3233, 1483, - 3254, 1046, 3202, 3236, 3237, 3235, 3239, 1483, 3238, 104, - 105, 2425, 3247, 1047, 2425, 1483, 2864, 3255, 3189, 3191, - 3193, 2892, 1487, 3261, 2710, 1754, 1486, 963, 2852, 2836, - 1480, 1784, 1481, 1482, 1483, 2903, 3292, 2901, 3294, 2900, - 2600, 2430, 3295, 3296, 3568, 3293, 1483, 3564, 4136, 2835, - 2424, 2420, 2871, 2834, 914, 3346, 913, 764, 756, 2833, - 746, 976, 912, 3343, 911, 3344, 3345, 3219, 3009, 2489, - 3336, 3315, 3359, 3011, 2937, 3347, 3355, 1464, 3353, 1739, - 1742, 1480, 2386, 1481, 1482, 1105, 1480, 3383, 1481, 1482, - 3225, 2832, 4040, 2626, 3412, 3225, 1483, 1738, 4047, 2823, - 3325, 3371, 3374, 3373, 3633, 3306, 1480, 2822, 1481, 1482, - 1480, 2985, 1481, 1482, 3381, 2517, 1480, 69, 1481, 1482, - 46, 4009, 3391, 4078, 906, 903, 2821, 3388, 3389, 3707, - 3390, 3708, 3709, 3392, 3162, 3394, 3163, 3396, 2820, 4060, - 4061, 3407, 3408, 3409, 3410, 3411, 902, 4062, 1480, 2231, - 1481, 1482, 1458, 1455, 4157, 2069, 1480, 96, 1481, 1482, - 36, 35, 34, 33, 1480, 32, 1481, 1482, 26, 25, - 24, 1536, 23, 22, 29, 1536, 19, 2645, 21, 20, - 3316, 2650, 18, 1480, 3328, 1481, 1482, 4179, 2817, 4224, - 123, 3529, 55, 3531, 52, 1480, 50, 1481, 1482, 131, - 130, 53, 49, 1219, 2653, 47, 2654, 3499, 31, 30, - 17, 16, 2662, 15, 3503, 14, 2664, 2665, 13, 12, - 11, 7, 6, 39, 38, 2671, 2672, 2673, 2674, 2675, - 2676, 2677, 2678, 2679, 2680, 37, 2682, 28, 27, 40, - 4, 3228, 2972, 2519, 3382, 1480, 0, 1481, 1482, 0, - 0, 0, 1717, 2423, 0, 0, 3534, 1483, 0, 2688, - 2689, 2690, 2691, 744, 2693, 2694, 3581, 2696, 3530, 3539, - 3532, 2698, 3546, 0, 0, 2703, 2704, 0, 2705, 3551, - 0, 2708, 2709, 2711, 2713, 2714, 2715, 2716, 2717, 2718, - 2720, 2722, 2723, 2724, 2726, 3337, 2728, 2729, 2731, 2733, - 2735, 2737, 2739, 2741, 2743, 2745, 2747, 2749, 2751, 2753, - 2755, 2757, 2759, 2761, 2763, 2765, 2766, 2767, 3573, 2769, - 3575, 2771, 3570, 2773, 2774, 3346, 2776, 2778, 2780, 0, - 3576, 0, 2783, 3343, 3536, 3506, 2787, 3508, 3509, 3510, - 2792, 2793, 2794, 2795, 2425, 3347, 3582, 1483, 0, 2812, - 3598, 0, 3600, 2806, 2807, 2808, 2809, 2810, 2811, 1483, - 0, 2815, 2816, 3592, 3593, 3376, 3377, 3563, 1483, 2818, - 0, 0, 1065, 1483, 2824, 1071, 1071, 0, 1483, 2827, - 2828, 2829, 2830, 2831, 0, 0, 3577, 3578, 0, 0, - 2838, 2839, 0, 2840, 0, 1483, 2843, 2845, 2389, 1483, - 2847, 0, 0, 3643, 3644, 0, 1480, 0, 1481, 1482, - 2859, 1483, 0, 0, 0, 3626, 0, 1483, 0, 3630, - 3631, 3632, 1483, 0, 3645, 0, 1483, 0, 0, 0, - 0, 1483, 0, 0, 2904, 2907, 2908, 2909, 2905, 2805, - 2906, 2910, 0, 0, 3566, 3567, 0, 0, 0, 0, - 1483, 2804, 0, 0, 0, 3661, 0, 1483, 0, 0, - 2803, 1483, 0, 0, 0, 2802, 0, 0, 0, 0, - 2801, 0, 0, 1483, 0, 0, 0, 0, 1483, 0, - 0, 0, 0, 3672, 0, 0, 0, 2800, 0, 1483, - 0, 2799, 0, 1483, 0, 0, 1480, 0, 1481, 1482, - 0, 0, 3694, 2798, 0, 0, 0, 0, 1480, 2797, - 1481, 1482, 1483, 0, 2791, 0, 0, 1480, 2790, 1481, - 1482, 0, 1480, 2789, 1481, 1482, 1483, 1480, 3723, 1481, - 1482, 3730, 0, 3732, 0, 3713, 0, 3714, 3715, 3716, - 1483, 0, 2786, 3703, 1480, 1483, 1481, 1482, 1480, 2785, - 1481, 1482, 0, 2784, 0, 0, 3229, 0, 3733, 87, - 1480, 3229, 1481, 1482, 0, 2782, 1480, 0, 1481, 1482, - 2775, 1480, 0, 1481, 1482, 1480, 1483, 1481, 1482, 0, - 1480, 2772, 1481, 1482, 0, 2770, 0, 1483, 0, 3666, - 2138, 1483, 2136, 0, 3763, 3734, 3743, 3755, 3742, 1480, - 3753, 1481, 1482, 0, 2768, 3750, 1480, 3752, 1481, 1482, - 1480, 0, 1481, 1482, 1483, 0, 0, 0, 2727, 0, - 3622, 3623, 1480, 0, 1481, 1482, 3915, 1480, 0, 1481, - 1482, 0, 2707, 3767, 0, 0, 0, 2706, 1480, 0, - 1481, 1482, 1480, 0, 1481, 1482, 0, 0, 0, 0, - 42, 2904, 2907, 2908, 2909, 2905, 0, 2906, 2910, 0, - 0, 1480, 0, 1481, 1482, 0, 3907, 3906, 2702, 0, - 0, 0, 0, 0, 3934, 1480, 3922, 1481, 1482, 2700, - 0, 3905, 0, 2692, 3926, 3927, 0, 0, 0, 1480, - 0, 1481, 1482, 0, 1480, 0, 1481, 1482, 0, 3973, - 3974, 3077, 3078, 3079, 3080, 3081, 2663, 3757, 3764, 3765, - 0, 0, 3731, 0, 0, 3917, 3918, 3919, 2138, 0, - 2136, 3096, 3977, 0, 0, 1480, 0, 1481, 1482, 0, - 0, 0, 0, 0, 0, 0, 1480, 0, 1481, 1482, - 1480, 0, 1481, 1482, 0, 0, 0, 0, 0, 3225, - 0, 0, 3980, 0, 4022, 3229, 3983, 0, 3759, 0, - 4013, 0, 0, 1480, 0, 1481, 1482, 0, 0, 1554, - 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, - 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1574, 1575, - 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, - 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, - 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, - 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, - 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, - 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, - 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, - 1646, 1647, 1648, 1649, 1650, 1651, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, - 1667, 1668, 1674, 1675, 1676, 1677, 1691, 1692, 1693, 1694, + 1667, 1668, 1669, 1670, 1671, 1672, 1678, 1679, 1680, 1681, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, - 3978, 4023, 3228, 4007, 3997, 4006, 1483, 3228, 1744, 0, - 0, 4003, 0, 4005, 4041, 0, 0, 0, 0, 0, - 0, 0, 1752, 0, 0, 1745, 3910, 0, 0, 0, - 0, 3231, 87, 0, 0, 0, 4026, 0, 1717, 1483, - 0, 0, 0, 4025, 0, 0, 1744, 0, 0, 3249, - 2383, 2384, 1751, 1749, 1750, 1746, 0, 1747, 0, 4030, - 1752, 4043, 0, 1745, 0, 0, 0, 4046, 0, 0, - 4048, 0, 3914, 0, 0, 0, 0, 0, 0, 0, - 1748, 0, 0, 0, 0, 0, 0, 0, 1740, 1741, - 1751, 1749, 1750, 1746, 4055, 1747, 0, 0, 2657, 0, - 0, 0, 4065, 0, 0, 0, 0, 0, 0, 1484, - 0, 0, 0, 0, 0, 0, 0, 0, 1748, 0, - 0, 0, 0, 42, 0, 0, 4066, 0, 0, 4067, - 4091, 2652, 0, 0, 0, 87, 0, 0, 0, 0, - 1542, 0, 0, 0, 0, 0, 0, 0, 4076, 0, - 0, 0, 0, 0, 0, 1480, 0, 1481, 1482, 0, - 0, 4085, 0, 0, 1717, 0, 0, 0, 4027, 4097, - 0, 0, 0, 4095, 0, 3934, 4111, 3380, 4100, 4108, - 4105, 4102, 4101, 4099, 4104, 4103, 0, 0, 1480, 0, - 1481, 1482, 0, 0, 0, 0, 0, 0, 0, 3397, - 3398, 3228, 3399, 3401, 3403, 4130, 0, 0, 4153, 0, - 0, 0, 0, 4143, 0, 4135, 0, 4122, 4148, 0, - 0, 0, 0, 0, 4161, 0, 42, 0, 4163, 0, - 3416, 0, 0, 4174, 0, 3419, 0, 3421, 3422, 3423, - 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, - 3435, 3436, 3437, 3439, 3441, 3443, 3445, 3447, 3449, 3451, - 3453, 3455, 3457, 3459, 3461, 3463, 3465, 3467, 3469, 3470, - 3472, 3473, 3474, 3476, 4122, 4194, 3478, 2016, 3480, 3481, - 3482, 4193, 4204, 3486, 3487, 3488, 3489, 3490, 3491, 3492, - 3493, 3494, 3495, 3496, 4210, 2138, 4208, 2136, 4197, 4207, - 4206, 4203, 3502, 4178, 4173, 4218, 3507, 4092, 4032, 4087, - 3511, 3512, 0, 3513, 3515, 4226, 3518, 3520, 3225, 3522, - 3523, 3524, 3525, 4234, 4232, 0, 0, 0, 0, 3533, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4051, 4243, 4244, 3974, 4242, 0, 0, 0, - 0, 4122, 0, 2138, 0, 2136, 0, 4241, 0, 0, - 4039, 0, 0, 0, 3557, 3558, 0, 0, 3562, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4169, 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, 0, 0, 4086, - 1774, 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, 86, 44, 45, 88, 0, 0, 1863, 0, - 0, 0, 0, 3637, 0, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 48, 76, 77, 0, 74, - 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 0, 0, 0, 0, 0, 1723, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3656, 0, - 0, 3660, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 95, 0, 1024, 0, 0, - 2332, 0, 0, 1025, 0, 3673, 0, 0, 0, 0, - 0, 0, 4191, 2137, 0, 0, 677, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1029, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 2021, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3696, - 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, - 0, 0, 3704, 0, 0, 0, 0, 0, 0, 3711, - 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, - 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, - 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, - 1020, 1021, 1022, 1023, 0, 0, 0, 0, 0, 0, - 51, 54, 57, 56, 59, 0, 73, 0, 0, 82, - 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 61, 91, 90, 0, 0, 71, 72, - 58, 0, 0, 0, 0, 0, 80, 81, 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, 3923, 0, - 0, 0, 0, 0, 0, 0, 0, 3930, 0, 0, - 63, 64, 0, 65, 66, 67, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3940, 3941, 3942, - 0, 3944, 0, 3945, 3946, 0, 0, 0, 0, 3949, - 3950, 3951, 3952, 3953, 3954, 3955, 3956, 3957, 3958, 3959, - 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, - 3970, 0, 3972, 3975, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2089, 2090, 2091, 2092, 60, 3984, 3985, - 3986, 3987, 3988, 3990, 3991, 3993, 3995, 3996, 3998, 2105, - 0, 0, 4002, 0, 0, 0, 4004, 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, 2144, 2145, 0, 0, 0, 0, - 2168, 4031, 0, 2172, 2173, 0, 0, 0, 2178, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2190, 2191, 2192, 2193, 2194, 2195, 2196, - 2197, 2198, 2199, 0, 2201, 0, 0, 89, 2223, 2224, - 2225, 2226, 2227, 2228, 2229, 2230, 2232, 0, 2237, 0, - 2239, 2240, 2241, 0, 2243, 2244, 2245, 0, 2247, 2248, - 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, - 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, - 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, - 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, - 2289, 2290, 2291, 2292, 2296, 2297, 2298, 2299, 2300, 2301, - 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, - 2312, 2313, 2314, 2315, 2316, 2317, 2318, 0, 0, 0, - 0, 0, 2324, 0, 2326, 0, 2333, 2334, 2335, 2336, - 2337, 2338, 0, 0, 0, 0, 0, 94, 0, 0, - 0, 0, 0, 0, 0, 2349, 2350, 2351, 2352, 2353, - 2354, 2355, 2356, 0, 2358, 2359, 2360, 2361, 2362, 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, - 190, 0, 0, 1071, 4177, 0, 0, 0, 4056, 0, - 0, 0, 0, 1826, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 0, 151, 0, 0, 0, 0, - 0, 0, 4071, 0, 2403, 2404, 0, 0, 4074, 172, - 4075, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, - 2442, 0, 0, 4090, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 162, 0, 190, 0, 0, 1826, 150, - 0, 0, 1220, 0, 1226, 0, 1881, 0, 0, 4116, - 4117, 0, 0, 0, 959, 0, 0, 0, 129, 169, - 151, 0, 170, 4124, 4126, 4128, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, - 0, 4134, 2485, 0, 138, 139, 161, 160, 189, 0, - 0, 0, 0, 4156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1454, 0, 162, 0, - 195, 0, 0, 195, 150, 0, 0, 730, 0, 0, - 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, - 1813, 4175, 0, 195, 169, 0, 0, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1885, - 1886, 161, 160, 189, 0, 4198, 4200, 4202, 0, 0, - 0, 0, 0, 0, 736, 195, 736, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 155, 136, 158, 143, 135, 1813, 156, 157, 4223, 0, - 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, - 0, 0, 179, 144, 1827, 0, 4235, 4236, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 145, 140, - 141, 142, 146, 0, 0, 0, 0, 0, 0, 137, - 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, + 1705, 1706, 1707, 1708, 3982, 4027, 3232, 4011, 4001, 4010, + 0, 3232, 0, 0, 0, 4007, 0, 4009, 4045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 155, 1887, 158, 0, 1884, - 0, 156, 157, 0, 0, 0, 0, 0, 173, 1827, - 1840, 1843, 1844, 1845, 1846, 1847, 1848, 179, 1849, 1850, - 1852, 1853, 1851, 1854, 1855, 1828, 1829, 1830, 1831, 1811, - 1812, 1841, 0, 1814, 0, 1815, 1816, 1817, 1818, 1819, - 1820, 1821, 1822, 1823, 0, 0, 1824, 1832, 1833, 1834, - 1835, 0, 1836, 1837, 1838, 1839, 0, 0, 1825, 0, + 0, 0, 0, 0, 0, 3235, 87, 1748, 0, 0, + 4030, 0, 1721, 0, 0, 0, 4029, 0, 0, 0, + 0, 1756, 0, 3253, 1749, 3914, 0, 0, 0, 0, + 0, 0, 0, 4034, 0, 4047, 0, 0, 4050, 0, + 0, 0, 0, 0, 0, 0, 3918, 0, 0, 1744, + 1745, 1755, 1753, 1754, 1750, 0, 1751, 4052, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4059, 0, + 0, 0, 0, 0, 0, 0, 4069, 0, 0, 1752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 1840, 1843, 1844, 1845, 1846, - 1847, 1848, 0, 1849, 1850, 1852, 1853, 1851, 1854, 1855, - 1828, 1829, 1830, 1831, 1811, 1812, 1841, 0, 1814, 0, - 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 0, - 0, 1824, 1832, 1833, 1834, 1835, 0, 1836, 1837, 1838, - 1839, 0, 0, 1825, 0, 0, 0, 0, 0, 0, - 2661, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2667, 2668, 2669, 2670, 0, 0, 164, 0, 0, 0, + 0, 0, 0, 0, 0, 4070, 0, 42, 4071, 0, + 0, 0, 0, 0, 4095, 0, 0, 0, 0, 87, + 0, 0, 0, 0, 0, 1488, 0, 0, 0, 0, + 4080, 0, 0, 0, 0, 0, 4089, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1721, 0, + 0, 4101, 0, 0, 0, 0, 1546, 0, 0, 3938, + 4115, 3384, 4112, 4104, 4109, 4106, 4105, 4103, 4108, 4107, + 4099, 0, 0, 0, 0, 0, 0, 4031, 0, 0, + 0, 0, 0, 3401, 3402, 3232, 3403, 3405, 3407, 4134, + 0, 0, 4157, 0, 0, 0, 0, 4147, 0, 4152, + 0, 4139, 0, 0, 0, 0, 0, 0, 4165, 4126, + 42, 0, 4167, 0, 3420, 0, 0, 4178, 0, 3423, + 0, 3425, 3426, 3427, 3429, 3430, 3431, 3432, 3433, 3434, + 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3443, 3445, 3447, + 3449, 3451, 3453, 3455, 3457, 3459, 3461, 3463, 3465, 3467, + 3469, 3471, 3473, 3474, 3476, 3477, 3478, 3480, 2020, 4201, + 3482, 4197, 3484, 3485, 3486, 4182, 4126, 3490, 3491, 3492, + 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 4214, 2142, + 4212, 2140, 4207, 4211, 4210, 4208, 3506, 4198, 4177, 4222, + 3511, 4096, 4091, 0, 3515, 3516, 0, 3517, 3519, 4230, + 3522, 3524, 3229, 3526, 3527, 3528, 3529, 4238, 4236, 0, + 0, 0, 0, 3537, 0, 0, 0, 4036, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4247, 4248, 3978, + 4246, 0, 0, 0, 0, 0, 0, 2142, 0, 2140, + 0, 4245, 0, 4126, 4043, 0, 0, 0, 3561, 3562, + 0, 4055, 3566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, - 0, 0, 1786, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1542, 0, 0, 0, 0, - 0, 1803, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4173, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1842, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1944, 0, 152, 0, 0, 153, + 0, 0, 0, 0, 0, 0, 0, 0, 4090, 0, + 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3641, 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, 1989, - 165, 0, 0, 0, 0, 0, 0, 177, 0, 0, - 0, 0, 0, 0, 0, 0, 2017, 0, 1842, 0, + 0, 0, 0, 0, 1867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2028, 0, 0, 0, 0, 0, 0, 2032, - 0, 152, 0, 0, 153, 0, 0, 0, 185, 1774, - 2043, 2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0, + 0, 0, 3660, 0, 0, 3664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, - 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 171, 168, 174, 175, 176, 178, 180, 181, - 182, 183, 0, 0, 0, 0, 0, 184, 186, 187, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 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, 195, - 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 171, 168, 174, - 175, 176, 178, 180, 181, 182, 183, 0, 0, 0, - 0, 0, 184, 186, 187, 188, 0, 0, 736, 0, - 736, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 736, 195, 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, 1528, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2082, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3042, 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, 3068, - 3069, 3070, 0, 0, 3072, 0, 0, 3074, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3093, 3094, 3095, - 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, - 0, 3102, 0, 0, 3104, 3105, 3106, 0, 0, 0, - 3107, 3108, 0, 0, 3109, 0, 3110, 0, 0, 0, - 0, 0, 0, 3111, 0, 3112, 0, 0, 0, 3113, - 0, 3114, 0, 0, 3115, 0, 3116, 0, 3117, 0, - 3118, 0, 3119, 0, 3120, 0, 3121, 0, 3122, 0, - 3123, 0, 3124, 0, 3125, 0, 3126, 0, 3127, 0, - 3128, 0, 3129, 0, 3130, 0, 3131, 0, 3132, 0, - 0, 0, 3133, 0, 3134, 0, 3135, 0, 0, 3136, - 0, 3137, 0, 3138, 0, 2296, 3140, 0, 0, 3142, - 0, 0, 3144, 3145, 3146, 3147, 0, 0, 0, 0, - 3148, 2296, 2296, 2296, 2296, 2296, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0, - 0, 0, 0, 0, 3171, 0, 0, 3175, 0, 0, - 0, 0, 0, 0, 0, 0, 3178, 3179, 3180, 3181, - 3182, 3183, 0, 0, 0, 3184, 3185, 0, 3186, 0, - 3187, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 0, 0, 0, 736, 736, 0, 0, - 0, 0, 0, 0, 1071, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3220, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 736, 0, 0, 195, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3250, 736, 0, 2409, 0, 0, 0, 0, 195, 0, - 0, 2413, 736, 2416, 0, 0, 2082, 0, 0, 0, - 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 736, 0, 736, 0, 0, - 0, 0, 0, 0, 0, 736, 0, 0, 1528, 736, - 3312, 0, 736, 736, 736, 736, 0, 736, 0, 736, - 736, 0, 736, 736, 736, 736, 736, 736, 0, 0, - 0, 0, 0, 0, 0, 1528, 736, 736, 1528, 736, - 1528, 195, 736, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 959, 0, 0, 0, 0, 0, 0, 0, + 0, 4195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1727, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3700, 0, 0, 0, 0, 0, 0, + 0, 0, 2025, 0, 0, 0, 3708, 0, 195, 0, + 0, 195, 0, 3715, 0, 730, 0, 0, 0, 0, + 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 736, 0, 195, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, - 736, 0, 195, 195, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3405, 0, 195, - 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, - 0, 0, 0, 0, 0, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 736, 3420, 0, 0, 0, 1024, - 0, 0, 0, 0, 0, 1025, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2137, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2082, 0, 0, 0, - 0, 0, 0, 2575, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2596, 2597, 0, 0, 2601, 0, + 0, 0, 677, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2606, 0, 0, 0, 0, 0, 0, 2609, 0, 0, + 0, 0, 1029, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 736, 195, 736, 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, 2612, 982, 983, 984, 985, 986, 987, - 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, - 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, - 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 1022, 1023, 0, 0, 0, 0, + 0, 0, 0, 0, 1100, 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, 736, 736, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3927, 0, 0, 0, 0, 0, 0, 0, + 0, 3934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3642, 0, 0, 0, + 0, 3944, 3945, 3946, 0, 3948, 0, 3949, 3950, 0, + 0, 0, 0, 3953, 3954, 3955, 3956, 3957, 3958, 3959, + 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, + 3970, 3971, 3972, 3973, 3974, 0, 3976, 3979, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3988, 3989, 3990, 3991, 3992, 3994, 3995, 3997, + 3999, 4000, 4002, 0, 0, 0, 4006, 0, 0, 0, + 4008, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2093, 2094, 2095, 2096, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2109, + 0, 0, 0, 0, 0, 4035, 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, 2148, 2149, 0, 0, 0, 0, + 2172, 0, 0, 2176, 2177, 0, 0, 0, 2182, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2194, 2195, 2196, 2197, 2198, 2199, 2200, + 2201, 2202, 2203, 0, 2205, 0, 0, 0, 2227, 2228, + 2229, 2230, 2231, 2232, 2233, 2234, 2236, 0, 2241, 0, + 2243, 2244, 2245, 0, 2247, 2248, 2249, 0, 2251, 2252, + 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, + 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, + 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, + 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, + 2293, 2294, 2295, 2296, 2300, 2301, 2302, 2303, 2304, 2305, + 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, + 2316, 2317, 2318, 2319, 2320, 2321, 2322, 0, 0, 0, + 0, 0, 2328, 0, 2330, 4181, 2337, 2338, 2339, 2340, + 2341, 2342, 0, 0, 1830, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2353, 2354, 2355, 2356, 2357, + 2358, 2359, 2360, 0, 2362, 2363, 2364, 2365, 2366, 0, + 0, 0, 4060, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4075, 0, 0, 0, + 0, 0, 4078, 1071, 4079, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4094, 0, 0, + 0, 0, 0, 0, 2407, 2408, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4120, 4121, 0, 0, 0, 0, 0, + 2446, 0, 0, 0, 0, 0, 0, 4128, 4130, 4132, + 0, 0, 0, 0, 0, 0, 0, 0, 1830, 0, + 0, 0, 0, 0, 0, 4138, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4160, 0, 0, + 0, 1817, 0, 0, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 195, 0, 195, + 0, 0, 2489, 0, 0, 0, 0, 129, 0, 151, + 0, 0, 0, 0, 0, 4179, 0, 0, 0, 0, + 0, 0, 0, 172, 0, 0, 0, 0, 1220, 0, + 1226, 0, 0, 0, 0, 0, 736, 0, 736, 736, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4202, + 4204, 4206, 0, 0, 0, 0, 0, 162, 0, 0, + 736, 195, 0, 150, 0, 1831, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4227, 169, 0, 0, 170, 0, 0, 1532, + 0, 0, 1458, 0, 0, 0, 0, 0, 0, 0, + 4239, 4240, 0, 0, 0, 0, 0, 0, 138, 139, + 161, 160, 189, 0, 0, 1817, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1844, 1847, 1848, 1849, 1850, 1851, 1852, 0, 1853, + 1854, 1856, 1857, 1855, 1858, 1859, 1832, 1833, 1834, 1835, + 1815, 1816, 1845, 0, 1818, 0, 1819, 1820, 1821, 1822, + 1823, 1824, 1825, 1826, 1827, 0, 0, 1828, 1836, 1837, + 1838, 1839, 0, 1840, 1841, 1842, 1843, 0, 0, 1829, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1831, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 136, 158, 143, 135, 0, + 156, 157, 0, 0, 0, 0, 0, 173, 0, 0, + 0, 0, 0, 0, 0, 0, 179, 144, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 147, 145, 140, 141, 142, 146, 0, 0, 0, + 0, 0, 0, 137, 0, 1844, 1847, 1848, 1849, 1850, + 1851, 1852, 148, 1853, 1854, 1856, 1857, 1855, 1858, 1859, + 1832, 1833, 1834, 1835, 1815, 1816, 1845, 0, 1818, 0, + 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 0, + 0, 1828, 1836, 1837, 1838, 1839, 0, 1840, 1841, 1842, + 1843, 0, 0, 1829, 0, 0, 0, 0, 0, 0, + 2665, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2671, 2672, 2673, 2674, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 195, 0, 0, 0, 736, 736, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, + 0, 0, 0, 195, 0, 1546, 0, 0, 0, 0, + 0, 0, 0, 0, 1846, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 736, 0, 0, 195, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, + 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, + 736, 0, 0, 0, 0, 0, 0, 0, 1790, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1528, 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, 3662, 0, 3663, 0, 3664, 0, - 3665, 0, 0, 0, 0, 0, 0, 0, 3668, 3669, - 0, 0, 0, 0, 0, 0, 0, 0, 3674, 0, - 0, 958, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3675, 0, 3676, 0, 3677, 0, 3678, 0, - 3679, 0, 3680, 0, 3681, 0, 3682, 0, 3683, 0, - 3684, 0, 3685, 0, 3686, 0, 3687, 0, 3688, 0, - 3689, 0, 3690, 0, 0, 3691, 0, 0, 0, 3692, - 0, 3693, 0, 0, 0, 0, 0, 3695, 0, 0, - 0, 0, 0, 713, 0, 0, 0, 0, 0, 735, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3712, - 0, 0, 0, 0, 2343, 0, 0, 0, 3717, 0, - 3718, 3719, 0, 3720, 0, 3721, 0, 0, 0, 0, - 3722, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 735, 0, 0, 0, 3751, 195, 0, - 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, - 3760, 0, 0, 3762, 0, 0, 2917, 0, 0, 0, - 0, 0, 0, 0, 0, 3766, 0, 0, 0, 0, - 0, 0, 0, 195, 0, 0, 736, 0, 0, 0, - 0, 3902, 0, 0, 0, 0, 0, 0, 0, 0, - 195, 0, 0, 0, 736, 0, 0, 2343, 195, 0, - 195, 0, 195, 195, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2966, 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, - 0, 0, 0, 0, 0, 736, 0, 0, 0, 0, - 0, 0, 736, 736, 736, 195, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3014, 3015, 3016, - 3017, 3018, 3019, 736, 0, 0, 0, 0, 0, 736, - 736, 0, 0, 736, 0, 736, 0, 0, 0, 0, - 4012, 736, 0, 0, 0, 0, 2082, 3030, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3038, 0, 0, 0, 0, 736, 0, 0, 0, - 0, 736, 0, 0, 0, 736, 736, 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, 195, 0, 0, 0, 0, 0, 0, - 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 195, 195, 0, 0, 195, 0, 195, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, - 0, 0, 0, 0, 195, 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, - 195, 0, 0, 0, 0, 0, 0, 195, 0, 0, - 0, 0, 736, 95, 0, 0, 1024, 0, 0, 0, - 0, 964, 1025, 977, 978, 979, 965, 0, 0, 966, - 967, 0, 968, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 973, 0, - 980, 981, 0, 0, 0, 0, 0, 4054, 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, 1528, 0, 2343, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3348, - 3349, 0, 0, 4068, 0, 0, 4069, 0, 4070, 0, - 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, - 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, - 1021, 1022, 1023, 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, 0, 0, 0, 3350, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4154, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3302, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4170, - 0, 4171, 0, 4172, 0, 0, 0, 0, 0, 0, - 0, 3340, 0, 0, 0, 735, 1439, 735, 735, 0, - 0, 0, 0, 0, 0, 3354, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3351, 3352, 0, 0, 735, - 0, 0, 0, 0, 0, 0, 3372, 0, 0, 3375, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0, - 0, 195, 0, 4221, 0, 4222, 0, 0, 0, 195, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, + 0, 0, 0, 736, 0, 736, 0, 0, 0, 0, + 0, 159, 0, 736, 0, 0, 1532, 736, 0, 0, + 736, 736, 736, 736, 0, 736, 0, 736, 736, 0, + 736, 736, 736, 736, 736, 736, 0, 0, 0, 0, + 0, 0, 0, 1532, 736, 736, 1532, 736, 1532, 195, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 929, 0, 0, 0, 0, 0, 933, 0, 195, 0, - 930, 931, 0, 195, 0, 932, 934, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 915, 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, 0, - 0, 0, 736, 0, 0, 0, 0, 0, 195, 0, - 0, 0, 0, 0, 3535, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 734, 736, - 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, - 736, 736, 0, 0, 0, 736, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1528, 736, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 195, 195, 195, 195, 195, - 1096, 0, 1103, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3596, - 0, 0, 0, 195, 195, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3611, - 0, 3612, 3613, 3614, 0, 0, 0, 0, 195, 0, - 0, 0, 0, 735, 735, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1846, 195, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1948, 0, 736, 0, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 736, 0, 0, 736, 1778, + 195, 195, 0, 0, 0, 0, 0, 0, 0, 0, + 1024, 0, 0, 2336, 0, 1993, 1025, 195, 0, 0, + 152, 0, 0, 153, 195, 0, 2141, 0, 0, 0, + 0, 0, 2021, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 736, 0, 0, 0, 0, 0, 2032, 0, + 0, 0, 0, 0, 165, 2036, 0, 0, 0, 0, + 0, 177, 0, 0, 0, 0, 2047, 2048, 2049, 2050, + 2051, 2052, 2053, 0, 1024, 0, 0, 0, 0, 0, + 1025, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2141, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 185, 0, 0, 982, 983, 984, 985, 986, + 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, + 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, + 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 1020, 1021, 1022, 1023, 0, 0, 166, + 171, 168, 174, 175, 176, 178, 180, 181, 182, 183, + 0, 0, 0, 0, 0, 184, 186, 187, 188, 982, + 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, + 1023, 0, 0, 0, 0, 0, 736, 736, 0, 0, + 0, 0, 3046, 0, 0, 0, 0, 0, 0, 0, + 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 195, 0, 0, 0, 0, 0, 0, 3072, + 3073, 3074, 0, 0, 3076, 0, 0, 3078, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2086, 0, 0, 0, 3097, 3098, 3099, + 0, 0, 0, 0, 0, 0, 3104, 0, 0, 0, + 0, 3106, 736, 0, 3108, 3109, 3110, 0, 0, 0, + 3111, 3112, 1532, 0, 3113, 0, 3114, 0, 0, 0, + 0, 0, 0, 3115, 0, 3116, 0, 0, 0, 3117, + 1532, 3118, 0, 0, 3119, 0, 3120, 0, 3121, 0, + 3122, 0, 3123, 0, 3124, 0, 3125, 0, 3126, 0, + 3127, 0, 3128, 0, 3129, 0, 3130, 0, 3131, 0, + 3132, 0, 3133, 0, 3134, 0, 3135, 0, 3136, 0, + 0, 0, 3137, 0, 3138, 0, 3139, 0, 0, 3140, + 0, 3141, 0, 3142, 0, 2300, 3144, 0, 0, 3146, + 0, 0, 3148, 3149, 3150, 3151, 0, 0, 0, 0, + 3152, 2300, 2300, 2300, 2300, 2300, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0, + 0, 0, 0, 0, 3175, 0, 0, 3179, 0, 0, + 0, 0, 0, 0, 0, 0, 3182, 3183, 3184, 3185, + 3186, 3187, 0, 0, 0, 3188, 3189, 0, 3190, 0, + 3191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2347, 0, 0, 0, + 0, 0, 0, 0, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 735, - 0, 0, 0, 0, 736, 0, 0, 0, 0, 735, + 0, 0, 958, 0, 0, 3224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 195, 0, 0, 0, 0, 736, 0, 0, 0, 0, + 3254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 195, 0, 0, 736, 0, + 0, 0, 0, 0, 713, 0, 0, 0, 0, 0, + 735, 0, 195, 0, 0, 0, 736, 0, 0, 2347, + 195, 0, 195, 0, 195, 195, 0, 0, 0, 0, + 3316, 0, 0, 0, 0, 0, 0, 0, 0, 736, + 0, 0, 0, 2413, 0, 0, 0, 0, 0, 0, + 0, 2417, 0, 2420, 0, 0, 2086, 0, 0, 0, 0, 0, 735, 0, 735, 0, 0, 0, 0, 0, - 0, 0, 735, 0, 0, 1527, 735, 0, 0, 735, - 735, 735, 735, 0, 735, 0, 735, 735, 0, 735, - 735, 735, 735, 735, 735, 0, 0, 0, 0, 0, - 0, 0, 1527, 735, 735, 1527, 735, 1527, 0, 735, - 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, 735, 0, 0, 0, 0, 0, 0, 0, 736, - 0, 0, 0, 0, 735, 0, 0, 735, 0, 0, - 0, 736, 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, 736, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 0, 0, 0, 0, 195, 0, 0, - 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 736, 0, 0, 0, 1528, 0, - 0, 736, 736, 1528, 195, 195, 195, 195, 195, 0, - 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, - 0, 0, 195, 0, 195, 0, 0, 195, 195, 195, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, + 0, 0, 0, 0, 736, 736, 736, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 736, 0, 3409, 0, 0, + 0, 736, 736, 0, 0, 736, 0, 736, 0, 0, + 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, + 0, 0, 0, 736, 0, 0, 0, 736, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 736, 0, 0, 1528, 0, - 0, 0, 0, 736, 0, 0, 0, 0, 195, 0, + 915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 195, 195, 0, 0, 195, 0, 195, + 0, 0, 0, 0, 0, 0, 2086, 0, 0, 195, + 0, 0, 0, 2579, 0, 0, 195, 0, 734, 0, + 0, 0, 0, 0, 2600, 2601, 0, 0, 2605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 195, 0, 0, 195, 0, 0, 0, - 0, 735, 735, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 735, 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, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1527, 0, 0, - 0, 0, 0, 0, 0, 0, 2146, 0, 0, 0, - 0, 0, 0, 0, 0, 1527, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2610, 0, 195, 0, 0, 0, 0, 2613, 0, 195, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1284, 0, 1284, 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, - 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, + 1096, 0, 1103, 2616, 0, 0, 86, 44, 45, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 48, + 76, 77, 0, 74, 78, 0, 0, 0, 0, 0, + 0, 0, 0, 3622, 0, 75, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, + 2347, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3646, 62, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 916, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4052, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 0, 0, 0, 195, 0, 0, 0, + 0, 0, 0, 0, 3666, 0, 3667, 0, 3668, 83, + 3669, 0, 0, 0, 0, 0, 0, 0, 3672, 3673, + 0, 0, 0, 0, 0, 0, 0, 0, 3678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 0, 0, 678, 0, 0, 195, 0, 195, 195, - 195, 0, 0, 0, 0, 0, 0, 0, 736, 736, - 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, - 735, 0, 0, 0, 0, 0, 0, 0, 0, 1052, + 0, 0, 3679, 0, 3680, 0, 3681, 0, 3682, 0, + 3683, 0, 3684, 0, 3685, 0, 3686, 0, 3687, 0, + 3688, 0, 3689, 0, 3690, 0, 3691, 0, 3692, 0, + 3693, 0, 3694, 0, 0, 3695, 0, 0, 0, 3696, + 0, 3697, 0, 0, 0, 0, 0, 3699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1072, 1072, 0, 0, - 0, 0, 0, 735, 0, 678, 0, 736, 736, 736, - 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 0, 735, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 54, 57, 56, 59, 3716, + 73, 0, 0, 82, 79, 0, 0, 0, 3721, 0, + 3722, 3723, 0, 3724, 0, 3725, 0, 0, 0, 0, + 3726, 0, 0, 0, 0, 0, 0, 61, 91, 90, + 0, 0, 71, 72, 58, 0, 0, 0, 0, 0, + 80, 81, 0, 195, 0, 0, 0, 3755, 0, 0, + 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, + 3764, 0, 736, 3766, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3770, 736, 0, 0, 0, + 0, 0, 0, 0, 63, 64, 0, 65, 66, 67, + 68, 3906, 0, 0, 0, 0, 735, 1443, 735, 735, + 195, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, + 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2921, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2982, 1531, + 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, + 129, 0, 151, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 736, 0, 172, 0, 0, 0, + 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 736, 0, 0, 0, 0, 0, 0, 736, 0, + 162, 2970, 736, 736, 0, 0, 150, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4016, 0, 0, 1532, 736, 0, 169, 0, 0, 170, + 0, 89, 0, 0, 0, 0, 195, 195, 195, 195, + 195, 195, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1889, 1890, 161, 160, 189, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 195, 195, 3018, 3019, 3020, + 3021, 3022, 3023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 195, 0, 0, 0, 0, 0, 2086, 3034, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, + 0, 3042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 735, 0, 0, 0, 0, 0, 0, 735, - 735, 735, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 94, 0, 0, 1284, 0, 1284, 1284, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 155, 1891, 158, + 0, 1888, 0, 156, 157, 0, 736, 0, 1457, 0, + 173, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 0, 1726, 1727, 0, 0, 735, 735, 0, 0, - 735, 0, 735, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 735, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1780, 0, 736, 0, 736, 0, 195, 0, - 0, 0, 0, 735, 0, 0, 0, 1798, 735, 0, - 0, 0, 735, 735, 0, 0, 0, 1528, 1857, 0, - 0, 195, 0, 0, 736, 0, 736, 0, 1866, 0, + 0, 0, 0, 0, 0, 0, 0, 4058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, + 0, 0, 70, 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1096, 0, 1893, 0, 0, 0, 0, 0, 0, - 0, 1902, 0, 0, 0, 1904, 0, 0, 1907, 1908, - 1910, 1910, 0, 1910, 0, 1910, 1910, 0, 1919, 1910, - 1910, 1910, 1910, 1910, 736, 0, 0, 0, 0, 0, - 0, 0, 1939, 1940, 0, 1096, 0, 195, 1945, 0, - 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 0, 0, 4072, 0, 0, 4073, 0, 4074, 0, + 735, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 735, - 1987, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2009, 0, 0, 2013, 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, 0, 0, 0, 736, 0, - 1284, 0, 0, 0, 0, 736, 0, 736, 0, 0, - 0, 0, 0, 1527, 0, 735, 0, 0, 0, 0, + 0, 0, 0, 735, 0, 735, 0, 0, 164, 0, + 0, 0, 0, 735, 0, 0, 1531, 735, 0, 0, + 735, 735, 735, 735, 736, 735, 0, 735, 735, 0, + 735, 735, 735, 735, 735, 735, 0, 0, 0, 195, + 0, 0, 736, 1531, 735, 735, 1531, 735, 1531, 0, + 735, 0, 0, 0, 0, 0, 736, 0, 0, 0, + 1532, 0, 0, 736, 736, 1532, 195, 195, 195, 195, + 195, 0, 0, 0, 0, 0, 0, 0, 195, 0, + 4158, 0, 735, 0, 195, 0, 195, 0, 0, 195, + 195, 195, 0, 0, 0, 735, 0, 0, 735, 0, + 0, 0, 0, 0, 159, 0, 0, 0, 0, 4174, + 0, 4175, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, + 0, 0, 735, 0, 0, 0, 0, 736, 0, 0, + 1532, 0, 0, 0, 0, 736, 0, 0, 0, 0, + 195, 0, 1730, 1731, 0, 3306, 0, 0, 0, 0, + 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 4225, 0, 4226, 0, 0, 0, 0, + 0, 3344, 0, 0, 0, 195, 0, 0, 195, 0, + 0, 0, 1784, 0, 0, 3358, 0, 0, 0, 0, + 0, 0, 0, 152, 0, 0, 153, 1802, 0, 0, + 0, 0, 0, 0, 0, 0, 3376, 0, 1861, 3379, + 0, 0, 0, 0, 0, 0, 0, 0, 1870, 0, + 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, + 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, + 0, 1096, 0, 1897, 0, 0, 0, 0, 0, 0, + 0, 1906, 0, 0, 0, 1908, 0, 0, 1911, 1912, + 1914, 1914, 0, 1914, 0, 1914, 1914, 0, 1923, 1914, + 1914, 1914, 1914, 1914, 0, 185, 0, 0, 0, 0, + 0, 0, 1943, 1944, 0, 1096, 0, 0, 1949, 0, + 0, 0, 0, 0, 0, 0, 735, 735, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, + 0, 735, 0, 0, 916, 0, 0, 0, 0, 0, + 1991, 0, 166, 171, 168, 174, 175, 176, 178, 180, + 181, 182, 183, 2013, 0, 0, 2017, 0, 184, 186, + 187, 188, 0, 195, 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, + 193, 0, 735, 678, 3539, 0, 0, 0, 0, 0, + 1284, 0, 1531, 0, 0, 0, 0, 0, 0, 0, + 0, 2150, 0, 678, 0, 0, 0, 0, 0, 195, + 1531, 0, 0, 0, 0, 0, 0, 0, 0, 1052, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, + 0, 0, 0, 0, 0, 0, 1072, 1072, 195, 1885, + 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, + 0, 129, 0, 151, 0, 0, 0, 0, 195, 0, + 195, 195, 195, 0, 0, 0, 0, 172, 0, 3600, + 736, 736, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3615, + 0, 3616, 3617, 3618, 0, 0, 0, 0, 0, 0, + 0, 162, 0, 0, 0, 0, 0, 150, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, + 736, 736, 736, 0, 0, 0, 0, 169, 0, 0, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, + 0, 0, 1889, 1890, 161, 160, 189, 0, 0, 0, + 0, 0, 0, 0, 1284, 1284, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 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, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2136, 0, 0, 0, 0, 0, 735, 0, 0, 735, + 0, 0, 0, 0, 0, 0, 0, 0, 155, 1891, + 158, 0, 1888, 0, 156, 157, 0, 0, 0, 735, + 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, + 179, 0, 0, 0, 0, 0, 736, 0, 736, 0, + 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, + 0, 0, 0, 195, 0, 0, 736, 0, 736, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, + 0, 0, 0, 0, 735, 735, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, + 0, 735, 735, 0, 0, 735, 0, 735, 0, 0, + 0, 0, 0, 735, 0, 0, 736, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, + 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1284, 736, 0, 0, 735, 164, + 0, 0, 0, 735, 0, 0, 0, 735, 735, 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, 2384, 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, + 736, 0, 0, 0, 0, 0, 2397, 736, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1784, 159, 0, 1284, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, + 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, + 0, 0, 0, 0, 735, 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, - 1284, 1284, 0, 0, 0, 0, 736, 0, 0, 0, - 0, 0, 0, 0, 0, 2070, 0, 0, 0, 678, - 0, 678, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 736, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1103, 0, 0, 0, 0, + 0, 0, 2510, 2511, 2512, 0, 0, 0, 0, 678, + 0, 678, 0, 0, 0, 0, 0, 0, 1531, 0, + 735, 0, 0, 1096, 152, 0, 0, 153, 0, 1103, + 1906, 0, 0, 1906, 0, 1906, 0, 0, 0, 0, + 0, 2543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, + 0, 0, 0, 0, 0, 177, 0, 0, 736, 0, + 0, 0, 0, 678, 0, 0, 1096, 0, 0, 0, + 0, 2136, 0, 0, 195, 2136, 2136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2132, 0, 0, 0, - 0, 0, 0, 678, 0, 0, 0, 735, 0, 0, + 0, 1533, 736, 195, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 0, 0, 0, 736, 0, 0, 0, - 0, 1529, 0, 0, 0, 0, 736, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1528, 736, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2930, 0, 0, 0, - 0, 0, 0, 0, 736, 2343, 0, 0, 0, 0, + 0, 0, 0, 0, 4056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 171, 168, 174, 175, 176, 178, + 180, 181, 182, 183, 0, 0, 0, 0, 736, 184, + 186, 187, 188, 0, 0, 0, 0, 0, 736, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1532, 736, + 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2621, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 736, 2347, 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, 195, 736, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 195, 736, 0, + 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 735, 0, 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, - 0, 0, 0, 735, 0, 0, 736, 735, 735, 0, - 1284, 0, 735, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1527, 735, - 736, 0, 0, 0, 0, 195, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, - 0, 736, 0, 0, 0, 0, 0, 0, 0, 2380, + 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2934, 736, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2393, 0, 0, 0, 0, 0, 0, 0, + 0, 736, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1780, 0, 0, 1284, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1052, 0, 0, 0, 0, - 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 678, - 0, 1103, 0, 0, 0, 0, 0, 0, 2506, 2507, - 2508, 0, 0, 0, 0, 0, 0, 0, 678, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, - 0, 0, 0, 0, 0, 1103, 1902, 0, 0, 1902, - 0, 1902, 0, 0, 0, 0, 0, 2539, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1096, 0, 0, 0, 0, 2132, 0, 0, - 0, 2132, 2132, 0, 0, 1529, 735, 0, 1529, 0, - 1529, 678, 0, 0, 0, 0, 0, 0, 735, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1961, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 678, 0, 0, 735, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2015, 678, 0, 0, 0, 735, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 678, - 0, 735, 0, 0, 0, 1527, 678, 0, 735, 735, - 1527, 0, 0, 0, 0, 2041, 2042, 678, 678, 678, - 678, 678, 678, 678, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 735, 0, 0, 0, 0, 0, 0, 735, 678, + 0, 0, 735, 735, 0, 0, 0, 735, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 678, 0, + 0, 0, 0, 1531, 735, 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, 3298, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 735, 0, 0, 1527, 0, 0, 0, 0, - 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1284, 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, 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1533, 0, 0, 1533, 0, + 1533, 678, 0, 0, 0, 0, 0, 0, 0, 0, + 2869, 0, 0, 0, 0, 0, 735, 0, 0, 0, + 0, 1965, 0, 0, 2884, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2019, 678, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 735, 0, 0, 678, + 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, + 0, 0, 0, 0, 0, 2045, 2046, 678, 678, 678, + 678, 678, 678, 678, 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, 2966, 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, 2397, + 0, 0, 0, 0, 0, 0, 2990, 0, 0, 0, + 1906, 1906, 0, 0, 0, 2995, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 735, 3006, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 735, 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, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, + 1531, 0, 0, 735, 735, 1531, 0, 0, 0, 0, + 0, 0, 0, 0, 2136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, - 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, + 0, 0, 0, 0, 678, 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, 2136, 0, 3302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, + 1531, 0, 0, 0, 1533, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2880, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3586, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3383, 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, 3164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 735, 735, 0, 0, 0, - 0, 0, 0, 0, 2015, 0, 0, 0, 0, 0, + 0, 1284, 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, 2962, 0, - 0, 0, 0, 0, 735, 735, 735, 735, 1961, 0, + 0, 0, 1914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1072, 2393, 0, 0, 0, 0, - 0, 0, 2986, 0, 0, 0, 1902, 1902, 0, 0, - 0, 2991, 0, 1052, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3002, 0, - 678, 0, 0, 0, 0, 0, 0, 2015, 678, 0, - 678, 0, 678, 2432, 0, 0, 0, 0, 0, 0, + 3209, 0, 0, 0, 0, 0, 0, 0, 2019, 0, + 0, 0, 0, 0, 1284, 0, 0, 0, 0, 0, + 0, 3236, 1914, 0, 0, 0, 735, 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, 1965, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 678, 1096, 0, 0, 0, 0, + 0, 2019, 678, 2397, 678, 0, 678, 2436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3590, 95, 0, + 0, 1024, 0, 0, 0, 0, 964, 1025, 977, 978, + 979, 965, 0, 0, 966, 967, 0, 968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 973, 0, 980, 981, 0, 0, 0, + 735, 735, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2132, 0, 0, 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 735, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3352, 3353, 0, 0, 0, 735, + 735, 735, 735, 0, 0, 0, 982, 983, 984, 985, + 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, + 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, + 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, + 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 0, 0, + 0, 0, 0, 0, 1861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1527, 0, 0, 0, 0, 0, - 2132, 735, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 678, 0, 3354, + 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 678, 678, 0, 0, 678, + 0, 2607, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 678, 0, 0, 0, 0, 0, 0, 678, 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, 678, 0, 0, 0, 0, 0, + 0, 2618, 0, 0, 0, 0, 735, 0, 735, 0, + 3355, 3356, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, + 0, 0, 0, 0, 0, 0, 735, 0, 735, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2397, 2397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 678, 0, 0, 0, 735, 0, 0, - 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 678, 678, 0, 0, 678, 0, 2603, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 678, 0, 0, - 0, 0, 0, 0, 678, 3160, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 678, 0, 0, 0, 0, 0, 0, 2614, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1910, 0, + 1533, 0, 2019, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 929, 735, 3654, 3655, 3656, + 3657, 933, 0, 0, 0, 930, 931, 0, 0, 0, + 932, 934, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, - 0, 0, 735, 0, 735, 0, 3205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1284, 0, 0, 0, 0, 0, 0, 3232, 1910, 0, - 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1529, 0, 2015, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1096, 0, 0, 0, 0, 0, 0, 0, 2393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 0, 0, 0, 0, 0, 0, 735, 0, 735, 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, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3732, 0, 3732, 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, 735, 0, 0, + 0, 0, 0, 0, 3760, 0, 3762, 0, 0, 0, + 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, + 0, 0, 0, 1965, 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, 0, 0, 2397, 0, 0, 0, 0, 0, + 0, 0, 678, 0, 0, 0, 0, 678, 0, 0, + 3929, 0, 0, 0, 0, 0, 0, 0, 735, 0, + 0, 0, 0, 1284, 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, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, - 0, 678, 0, 735, 0, 0, 0, 0, 0, 1961, - 1857, 0, 0, 1527, 735, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3732, 0, + 0, 0, 0, 0, 0, 3732, 0, 3732, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, + 0, 0, 0, 0, 0, 1533, 2397, 0, 1531, 735, + 0, 735, 0, 0, 0, 0, 0, 0, 678, 678, + 678, 678, 678, 678, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 735, 735, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 678, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 735, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 678, 0, - 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, + 0, 0, 678, 0, 0, 0, 0, 0, 735, 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, 735, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 678, 0, - 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2393, 2393, 735, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 0, 0, 0, 2397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 678, 678, 678, 678, 678, 678, - 0, 0, 0, 3650, 3651, 3652, 3653, 0, 0, 0, + 0, 735, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 678, 678, 0, 0, 0, 0, 0, + 2397, 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, 678, 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, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4076, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4084, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2397, 0, 4092, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1284, 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, + 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4142, 0, 0, 0, + 0, 0, 1533, 0, 0, 0, 0, 1533, 678, 678, + 678, 678, 678, 0, 0, 0, 0, 0, 0, 0, + 3252, 0, 0, 0, 0, 0, 1965, 0, 678, 0, + 0, 678, 3260, 2019, 0, 0, 4084, 0, 3792, 3794, + 3793, 3859, 3860, 3861, 3862, 3863, 3864, 3865, 3795, 3796, + 806, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2397, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 678, 0, 0, 1861, + 0, 4142, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1533, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 678, 0, 0, + 678, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3728, 0, 3728, 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, - 3756, 0, 3758, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2393, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3925, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, - 0, 0, 0, 0, 0, 1072, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, - 0, 0, 0, 1529, 678, 678, 678, 678, 678, 0, - 0, 0, 0, 0, 0, 0, 3248, 0, 0, 0, - 0, 0, 1961, 0, 678, 0, 0, 678, 3256, 2015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3728, 0, 0, 0, 0, 0, - 0, 3728, 0, 3728, 0, 0, 0, 0, 0, 0, + 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3808, 3809, 0, + 0, 3884, 3883, 3882, 0, 678, 3880, 3881, 3879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2393, 0, 0, 0, 0, 0, 1529, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 678, 0, 0, 678, 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, 3885, 929, 0, 782, 783, 3886, 3887, 933, + 3888, 785, 786, 930, 931, 0, 780, 784, 932, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 678, 0, 678, 678, 678, 3789, 3790, 3791, 3797, 3798, + 3799, 3810, 3857, 3858, 3866, 3868, 885, 3867, 3869, 3870, + 3871, 3874, 3875, 3876, 3877, 3872, 3873, 3878, 3772, 3776, + 3773, 3774, 3775, 3787, 3777, 3778, 3779, 3780, 3781, 3782, + 3783, 3784, 3785, 3786, 3788, 3889, 3890, 3891, 3892, 3893, + 3894, 3803, 3807, 3806, 3804, 3805, 3801, 3802, 3829, 3828, + 3830, 3831, 3832, 3833, 3834, 3835, 3837, 3836, 3838, 3839, + 3840, 3841, 3842, 3843, 3811, 3812, 3815, 3816, 3814, 3813, + 3817, 3826, 3827, 3818, 3819, 3820, 3821, 3822, 3823, 3825, + 3824, 3844, 3845, 3846, 3847, 3848, 3850, 3849, 3853, 3854, + 3852, 3851, 3856, 3855, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 935, 0, 936, + 0, 0, 940, 0, 0, 0, 942, 941, 0, 943, + 905, 904, 0, 0, 937, 938, 0, 939, 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, 0, 0, 0, 0, - 0, 0, 2393, 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, 2393, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3895, 3896, 3897, 3898, + 3899, 3900, 3901, 3902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1533, 0, 0, 0, 1965, 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, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4072, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4080, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2393, 0, 4088, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1284, 1284, 3788, 3790, 3789, 3855, 3856, 3857, 3858, 3859, - 3860, 3861, 3791, 3792, 806, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 678, 0, 678, 678, - 678, 0, 4138, 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, 1965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1857, 0, 4138, 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, @@ -2883,169 +2851,217 @@ var yyAct = [...]int{ 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, 3796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3804, 3805, 0, 0, 3880, 3879, 3878, 1961, 0, - 3876, 3877, 3875, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, - 0, 1961, 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, 3881, 929, 0, 782, - 783, 3882, 3883, 933, 3884, 785, 786, 930, 931, 0, - 780, 784, 932, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1961, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3785, - 3786, 3787, 3793, 3794, 3795, 3806, 3853, 3854, 3862, 3864, - 885, 3863, 3865, 3866, 3867, 3870, 3871, 3872, 3873, 3868, - 3869, 3874, 3768, 3772, 3769, 3770, 3771, 3783, 3773, 3774, - 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3784, 3885, - 3886, 3887, 3888, 3889, 3890, 3799, 3803, 3802, 3800, 3801, - 3797, 3798, 3825, 3824, 3826, 3827, 3828, 3829, 3830, 3831, - 3833, 3832, 3834, 3835, 3836, 3837, 3838, 3839, 3807, 3808, - 3811, 3812, 3810, 3809, 3813, 3822, 3823, 3814, 3815, 3816, - 3817, 3818, 3819, 3821, 3820, 3840, 3841, 3842, 3843, 3844, - 3846, 3845, 3849, 3850, 3848, 3847, 3852, 3851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 935, 0, 936, 0, 0, 940, 0, 0, 0, - 942, 941, 0, 943, 905, 904, 0, 0, 937, 938, - 0, 939, 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, 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, 3891, 3892, 3893, 3894, - 3895, 3896, 3897, 3898, 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, 0, 0, 0, 0, 1965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 678, 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, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 678, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1533, 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, 4114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1529, 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, 4110, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1965, + 0, 0, 397, 0, 0, 0, 0, 0, 0, 1426, + 1409, 529, 0, 1348, 1429, 1316, 1335, 1439, 1338, 1341, + 1386, 1294, 1363, 417, 1332, 1320, 1289, 1327, 1290, 1318, + 1350, 271, 1315, 1411, 1367, 1428, 367, 268, 1296, 1287, + 204, 506, 1321, 431, 1337, 203, 1388, 488, 253, 378, + 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, + 423, 1435, 371, 1374, 0, 498, 402, 0, 0, 2019, + 1415, 1414, 1342, 1352, 1417, 1361, 1402, 1347, 1387, 1304, + 1373, 1430, 1333, 1383, 1431, 324, 248, 326, 202, 414, + 499, 287, 0, 0, 0, 0, 4116, 508, 960, 0, + 0, 0, 0, 4117, 0, 0, 0, 0, 238, 0, + 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, + 343, 345, 351, 358, 364, 337, 346, 1329, 1380, 610, + 1425, 1330, 1382, 266, 322, 273, 265, 581, 1436, 1416, + 1293, 1360, 1424, 1355, 597, 0, 0, 229, 1427, 1354, + 0, 1385, 0, 1442, 1288, 1376, 0, 1291, 1295, 1438, + 1422, 1324, 276, 0, 0, 0, 0, 0, 0, 0, + 1351, 1362, 1399, 1403, 1345, 0, 0, 0, 0, 0, + 0, 0, 0, 1322, 0, 1372, 0, 0, 0, 1300, + 1292, 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, 0, - 0, 0, 0, 0, 0, 1961, 0, 0, 397, 0, - 0, 0, 0, 0, 0, 1422, 1406, 529, 0, 1348, - 1425, 1316, 1335, 1435, 1338, 1341, 1385, 1294, 1363, 417, - 1332, 1320, 1289, 1327, 1290, 1318, 1350, 271, 1315, 1408, - 1367, 1424, 367, 268, 1296, 1287, 204, 506, 1321, 431, - 1337, 203, 1387, 488, 253, 378, 375, 584, 283, 274, - 270, 250, 318, 386, 429, 519, 423, 1431, 371, 1373, - 0, 498, 402, 0, 0, 2015, 1412, 1411, 1342, 1352, - 1414, 1361, 1399, 1347, 1386, 1304, 1372, 1426, 1333, 1382, - 1427, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 4112, 508, 960, 0, 0, 0, 0, 4113, - 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, - 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, - 364, 337, 346, 1329, 1379, 610, 1421, 1330, 1381, 266, - 322, 273, 265, 581, 1432, 1413, 1293, 1360, 1420, 1355, - 597, 0, 0, 229, 1423, 1354, 0, 1384, 0, 1438, - 1288, 1375, 0, 1291, 1295, 1434, 1418, 1324, 276, 0, - 0, 0, 0, 0, 0, 0, 1351, 1362, 1396, 1400, - 1345, 0, 0, 0, 0, 0, 0, 0, 0, 1322, - 0, 1371, 0, 0, 0, 1300, 1292, 0, 0, 0, + 0, 0, 0, 1349, 0, 0, 0, 0, 1303, 0, + 1323, 1400, 0, 1286, 298, 1297, 403, 258, 0, 454, + 1407, 1420, 1346, 630, 1423, 1344, 1343, 1393, 1301, 1413, + 1336, 366, 1299, 331, 197, 225, 0, 1334, 413, 462, + 474, 1412, 1319, 1328, 254, 1326, 472, 427, 605, 233, + 285, 459, 433, 470, 441, 288, 1371, 1391, 471, 373, + 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, + 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, + 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, + 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, + 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, + 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, + 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, + 623, 220, 1298, 622, 409, 585, 596, 395, 384, 219, + 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, + 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, + 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, + 1314, 280, 284, 292, 295, 304, 305, 314, 368, 420, + 447, 443, 452, 1408, 580, 603, 617, 629, 635, 636, + 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, + 334, 374, 1397, 1441, 426, 473, 240, 607, 497, 199, + 1308, 1313, 1306, 0, 255, 256, 1377, 576, 1309, 1307, + 1365, 1366, 1310, 1432, 1433, 1434, 1418, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, + 512, 513, 514, 0, 516, 1401, 1302, 0, 1311, 1312, + 399, 1410, 592, 593, 673, 385, 487, 604, 336, 350, + 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, + 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, + 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, + 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, + 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, + 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, + 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, + 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, + 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, + 540, 1370, 196, 221, 369, 1437, 455, 289, 651, 619, + 485, 614, 206, 223, 1305, 263, 1317, 1325, 0, 1331, + 1339, 1340, 1353, 1356, 1357, 1358, 1359, 1378, 1379, 1381, + 1389, 1392, 1396, 1398, 1405, 1419, 1440, 198, 200, 209, + 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, + 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, + 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, + 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, + 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 1369, + 1390, 1394, 1421, 302, 303, 445, 446, 315, 316, 647, + 648, 301, 601, 634, 598, 646, 628, 439, 379, 1368, + 1375, 382, 282, 306, 321, 1384, 618, 503, 227, 467, + 291, 251, 1404, 1406, 211, 246, 230, 260, 275, 278, + 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, + 486, 520, 521, 522, 524, 396, 267, 434, 1364, 1395, + 377, 577, 578, 317, 397, 0, 0, 0, 0, 0, + 0, 1426, 1409, 529, 0, 1348, 1429, 1316, 1335, 1439, + 1338, 1341, 1386, 1294, 1363, 417, 1332, 1320, 1289, 1327, + 1290, 1318, 1350, 271, 1315, 1411, 1367, 1428, 367, 268, + 1296, 1287, 204, 506, 1321, 431, 1337, 203, 1388, 488, + 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, + 429, 519, 423, 1435, 371, 1374, 0, 498, 402, 0, + 0, 0, 1415, 1414, 1342, 1352, 1417, 1361, 1402, 1347, + 1387, 1304, 1373, 1430, 1333, 1383, 1431, 324, 248, 326, + 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, + 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, + 340, 341, 343, 345, 351, 358, 364, 337, 346, 1329, + 1380, 610, 1425, 1330, 1382, 266, 322, 273, 265, 581, + 1436, 1416, 1293, 1360, 1424, 1355, 597, 0, 0, 229, + 1427, 1354, 0, 1385, 0, 1442, 1288, 1376, 0, 1291, + 1295, 1438, 1422, 1324, 276, 0, 0, 0, 0, 0, + 0, 0, 1351, 1362, 1399, 1403, 1345, 0, 0, 0, + 0, 0, 0, 3261, 0, 1322, 0, 1372, 0, 0, + 0, 1300, 1292, 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, 0, 0, 0, 0, 0, 0, 0, 0, 1349, - 0, 0, 0, 0, 1303, 0, 1323, 1397, 0, 1286, - 298, 1297, 403, 258, 0, 454, 1404, 1417, 1346, 630, - 1419, 1344, 1343, 1391, 1301, 1410, 1336, 366, 1299, 331, - 197, 225, 0, 1334, 413, 462, 474, 1409, 1319, 1328, - 254, 1326, 472, 427, 605, 233, 285, 459, 433, 470, - 441, 288, 1370, 1389, 471, 373, 586, 451, 602, 631, - 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, - 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, - 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, - 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, - 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, - 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, - 416, 590, 591, 257, 653, 228, 623, 220, 1298, 622, - 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, - 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, - 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, - 654, 453, 212, 234, 235, 237, 1314, 280, 284, 292, - 295, 304, 305, 314, 368, 420, 447, 443, 452, 1405, - 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, - 642, 645, 643, 408, 312, 496, 334, 374, 1394, 1437, - 426, 473, 240, 607, 497, 199, 1308, 1313, 1306, 0, - 255, 256, 1376, 576, 1309, 1307, 1365, 1366, 1310, 1428, - 1429, 1430, 1415, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, - 516, 1398, 1302, 0, 1311, 1312, 399, 1407, 592, 593, - 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, - 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, - 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, - 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, - 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, - 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, - 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, - 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, - 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, - 545, 556, 567, 551, 539, 532, 540, 1369, 196, 221, - 369, 1433, 455, 289, 651, 619, 485, 614, 206, 223, - 1305, 263, 1317, 1325, 0, 1331, 1339, 1340, 1353, 1356, - 1357, 1358, 1359, 1377, 1378, 1380, 1388, 1390, 1393, 1395, - 1402, 1416, 1436, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, + 0, 0, 0, 0, 0, 1349, 0, 0, 0, 0, + 1303, 0, 1323, 1400, 0, 1286, 298, 1297, 403, 258, + 0, 454, 1407, 1420, 1346, 630, 1423, 1344, 1343, 1393, + 1301, 1413, 1336, 366, 1299, 331, 197, 225, 0, 1334, + 413, 462, 474, 1412, 1319, 1328, 254, 1326, 472, 427, + 605, 233, 285, 459, 433, 470, 441, 288, 1371, 1391, + 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, + 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, + 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, + 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, + 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, + 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, + 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, + 653, 228, 623, 220, 1298, 622, 409, 585, 596, 395, + 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, + 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, + 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, + 235, 237, 1314, 280, 284, 292, 295, 304, 305, 314, + 368, 420, 447, 443, 452, 1408, 580, 603, 617, 629, + 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, + 312, 496, 334, 374, 1397, 1441, 426, 473, 240, 607, + 497, 199, 1308, 1313, 1306, 0, 255, 256, 1377, 576, + 1309, 1307, 1365, 1366, 1310, 1432, 1433, 1434, 1418, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, + 510, 511, 512, 513, 514, 0, 516, 1401, 1302, 0, + 1311, 1312, 399, 1410, 592, 593, 673, 385, 487, 604, + 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, + 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, + 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, + 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, + 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, + 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, + 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, + 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, + 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, + 539, 532, 540, 1370, 196, 221, 369, 1437, 455, 289, + 651, 619, 485, 614, 206, 223, 1305, 263, 1317, 1325, + 0, 1331, 1339, 1340, 1353, 1356, 1357, 1358, 1359, 1378, + 1379, 1381, 1389, 1392, 1396, 1398, 1405, 1419, 1440, 198, + 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, + 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, + 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, + 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, + 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, + 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, + 481, 1369, 1390, 1394, 1421, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, - 379, 1368, 1374, 382, 282, 306, 321, 1383, 618, 503, - 227, 467, 291, 251, 1401, 1403, 211, 246, 230, 260, + 379, 1368, 1375, 382, 282, 306, 321, 1384, 618, 503, + 227, 467, 291, 251, 1404, 1406, 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, - 1364, 1392, 377, 577, 578, 317, 397, 0, 0, 0, - 0, 0, 0, 1422, 1406, 529, 0, 1348, 1425, 1316, - 1335, 1435, 1338, 1341, 1385, 1294, 1363, 417, 1332, 1320, - 1289, 1327, 1290, 1318, 1350, 271, 1315, 1408, 1367, 1424, + 1364, 1395, 377, 577, 578, 317, 397, 0, 0, 0, + 0, 0, 0, 1426, 1409, 529, 0, 1348, 1429, 1316, + 1335, 1439, 1338, 1341, 1386, 1294, 1363, 417, 1332, 1320, + 1289, 1327, 1290, 1318, 1350, 271, 1315, 1411, 1367, 1428, 367, 268, 1296, 1287, 204, 506, 1321, 431, 1337, 203, - 1387, 488, 253, 378, 375, 584, 283, 274, 270, 250, - 318, 386, 429, 519, 423, 1431, 371, 1373, 0, 498, - 402, 0, 0, 0, 1412, 1411, 1342, 1352, 1414, 1361, - 1399, 1347, 1386, 1304, 1372, 1426, 1333, 1382, 1427, 324, + 1388, 488, 253, 378, 375, 584, 283, 274, 270, 250, + 318, 386, 429, 519, 423, 1435, 371, 1374, 0, 498, + 402, 0, 0, 0, 1415, 1414, 1342, 1352, 1417, 1361, + 1402, 1347, 1387, 1304, 1373, 1430, 1333, 1383, 1431, 324, 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, - 0, 508, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, - 346, 1329, 1379, 610, 1421, 1330, 1381, 266, 322, 273, - 265, 581, 1432, 1413, 1293, 1360, 1420, 1355, 597, 0, - 0, 229, 1423, 1354, 0, 1384, 0, 1438, 1288, 1375, - 0, 1291, 1295, 1434, 1418, 1324, 276, 0, 0, 0, - 0, 0, 0, 0, 1351, 1362, 1396, 1400, 1345, 0, - 0, 0, 0, 0, 0, 3257, 0, 1322, 0, 1371, + 346, 1329, 1380, 610, 1425, 1330, 1382, 266, 322, 273, + 265, 581, 1436, 1416, 1293, 1360, 1424, 1355, 597, 0, + 0, 229, 1427, 1354, 0, 1385, 0, 1442, 1288, 1376, + 0, 1291, 1295, 1438, 1422, 1324, 276, 0, 0, 0, + 0, 0, 0, 0, 1351, 1362, 1399, 1403, 1345, 0, + 0, 0, 0, 0, 0, 3222, 0, 1322, 0, 1372, 0, 0, 0, 1300, 1292, 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, 0, 0, 0, 0, 1349, 0, 0, - 0, 0, 1303, 0, 1323, 1397, 0, 1286, 298, 1297, - 403, 258, 0, 454, 1404, 1417, 1346, 630, 1419, 1344, - 1343, 1391, 1301, 1410, 1336, 366, 1299, 331, 197, 225, - 0, 1334, 413, 462, 474, 1409, 1319, 1328, 254, 1326, + 0, 0, 1303, 0, 1323, 1400, 0, 1286, 298, 1297, + 403, 258, 0, 454, 1407, 1420, 1346, 630, 1423, 1344, + 1343, 1393, 1301, 1413, 1336, 366, 1299, 331, 197, 225, + 0, 1334, 413, 462, 474, 1412, 1319, 1328, 254, 1326, 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, - 1370, 1389, 471, 373, 586, 451, 602, 631, 632, 264, + 1371, 1391, 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, @@ -3057,15 +3073,15 @@ var yyAct = [...]int{ 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, 1314, 280, 284, 292, 295, 304, - 305, 314, 368, 420, 447, 443, 452, 1405, 580, 603, + 305, 314, 368, 420, 447, 443, 452, 1408, 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, - 643, 408, 312, 496, 334, 374, 1394, 1437, 426, 473, + 643, 408, 312, 496, 334, 374, 1397, 1441, 426, 473, 240, 607, 497, 199, 1308, 1313, 1306, 0, 255, 256, - 1376, 576, 1309, 1307, 1365, 1366, 1310, 1428, 1429, 1430, - 1415, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 1377, 576, 1309, 1307, 1365, 1366, 1310, 1432, 1433, 1434, + 1418, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, - 509, 515, 510, 511, 512, 513, 514, 0, 516, 1398, - 1302, 0, 1311, 1312, 399, 1407, 592, 593, 673, 385, + 509, 515, 510, 511, 512, 513, 514, 0, 516, 1401, + 1302, 0, 1311, 1312, 399, 1410, 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, @@ -3075,201 +3091,127 @@ var yyAct = [...]int{ 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, - 567, 551, 539, 532, 540, 1369, 196, 221, 369, 1433, + 567, 551, 539, 532, 540, 1370, 196, 221, 369, 1437, 455, 289, 651, 619, 485, 614, 206, 223, 1305, 263, 1317, 1325, 0, 1331, 1339, 1340, 1353, 1356, 1357, 1358, - 1359, 1377, 1378, 1380, 1388, 1390, 1393, 1395, 1402, 1416, - 1436, 198, 200, 209, 222, 232, 236, 243, 262, 277, + 1359, 1378, 1379, 1381, 1389, 1392, 1396, 1398, 1405, 1419, + 1440, 198, 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, - 648, 301, 601, 634, 598, 646, 628, 439, 379, 1368, - 1374, 382, 282, 306, 321, 1383, 618, 503, 227, 467, - 291, 251, 1401, 1403, 211, 246, 230, 260, 275, 278, - 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, - 486, 520, 521, 522, 524, 396, 267, 434, 1364, 1392, - 377, 577, 578, 317, 397, 0, 0, 0, 0, 0, - 0, 1422, 1406, 529, 0, 1348, 1425, 1316, 1335, 1435, - 1338, 1341, 1385, 1294, 1363, 417, 1332, 1320, 1289, 1327, - 1290, 1318, 1350, 271, 1315, 1408, 1367, 1424, 367, 268, - 1296, 1287, 204, 506, 1321, 431, 1337, 203, 1387, 488, - 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, - 429, 519, 423, 1431, 371, 1373, 0, 498, 402, 0, - 0, 0, 1412, 1411, 1342, 1352, 1414, 1361, 1399, 1347, - 1386, 1304, 1372, 1426, 1333, 1382, 1427, 324, 248, 326, - 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, - 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, - 340, 341, 343, 345, 351, 358, 364, 337, 346, 1329, - 1379, 610, 1421, 1330, 1381, 266, 322, 273, 265, 581, - 1432, 1413, 1293, 1360, 1420, 1355, 597, 0, 0, 229, - 1423, 1354, 0, 1384, 0, 1438, 1288, 1375, 0, 1291, - 1295, 1434, 1418, 1324, 276, 0, 0, 0, 0, 0, - 0, 0, 1351, 1362, 1396, 1400, 1345, 0, 0, 0, - 0, 0, 0, 3218, 0, 1322, 0, 1371, 0, 0, - 0, 1300, 1292, 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, 0, 0, 0, 0, 1349, 0, 0, 0, 0, - 1303, 0, 1323, 1397, 0, 1286, 298, 1297, 403, 258, - 0, 454, 1404, 1417, 1346, 630, 1419, 1344, 1343, 1391, - 1301, 1410, 1336, 366, 1299, 331, 197, 225, 0, 1334, - 413, 462, 474, 1409, 1319, 1328, 254, 1326, 472, 427, - 605, 233, 285, 459, 433, 470, 441, 288, 1370, 1389, - 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, - 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, - 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, - 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, - 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, - 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, - 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, - 653, 228, 623, 220, 1298, 622, 409, 585, 596, 395, - 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, - 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, - 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, - 235, 237, 1314, 280, 284, 292, 295, 304, 305, 314, - 368, 420, 447, 443, 452, 1405, 580, 603, 617, 629, - 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, - 312, 496, 334, 374, 1394, 1437, 426, 473, 240, 607, - 497, 199, 1308, 1313, 1306, 0, 255, 256, 1376, 576, - 1309, 1307, 1365, 1366, 1310, 1428, 1429, 1430, 1415, 655, - 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, - 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, - 510, 511, 512, 513, 514, 0, 516, 1398, 1302, 0, - 1311, 1312, 399, 1407, 592, 593, 673, 385, 487, 604, - 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, - 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, - 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, - 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, - 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, - 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, - 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, - 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, - 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, - 539, 532, 540, 1369, 196, 221, 369, 1433, 455, 289, - 651, 619, 485, 614, 206, 223, 1305, 263, 1317, 1325, - 0, 1331, 1339, 1340, 1353, 1356, 1357, 1358, 1359, 1377, - 1378, 1380, 1388, 1390, 1393, 1395, 1402, 1416, 1436, 198, - 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, - 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, - 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, - 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, - 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, - 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, - 601, 634, 598, 646, 628, 439, 379, 1368, 1374, 382, - 282, 306, 321, 1383, 618, 503, 227, 467, 291, 251, - 1401, 1403, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 1364, 1392, 377, 577, - 578, 317, 397, 0, 0, 0, 0, 0, 0, 1422, - 1406, 529, 0, 1348, 1425, 1316, 1335, 1435, 1338, 1341, - 1385, 1294, 1363, 417, 1332, 1320, 1289, 1327, 1290, 1318, - 1350, 271, 1315, 1408, 1367, 1424, 367, 268, 1296, 1287, - 204, 506, 1321, 431, 1337, 203, 1387, 488, 253, 378, - 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, - 423, 1431, 371, 1373, 0, 498, 402, 0, 0, 0, - 1412, 1411, 1342, 1352, 1414, 1361, 1399, 1347, 1386, 1304, - 1372, 1426, 1333, 1382, 1427, 324, 248, 326, 202, 414, - 499, 287, 0, 0, 0, 0, 0, 508, 960, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, - 343, 345, 351, 358, 364, 337, 346, 1329, 1379, 610, - 1421, 1330, 1381, 266, 322, 273, 265, 581, 1432, 1413, - 1293, 1360, 1420, 1355, 597, 0, 0, 229, 1423, 1354, - 0, 1384, 0, 1438, 1288, 1375, 0, 1291, 1295, 1434, - 1418, 1324, 276, 0, 0, 0, 0, 0, 0, 0, - 1351, 1362, 1396, 1400, 1345, 0, 0, 0, 0, 0, - 0, 2411, 0, 1322, 0, 1371, 0, 0, 0, 1300, - 1292, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 626, 633, 481, 1369, 1390, 1394, 1421, 302, 303, 445, + 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, + 628, 439, 379, 1368, 1375, 382, 282, 306, 321, 1384, + 618, 503, 227, 467, 291, 251, 1404, 1406, 211, 246, + 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, + 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, + 267, 434, 1364, 1395, 377, 577, 578, 317, 397, 0, + 0, 0, 0, 0, 0, 1426, 1409, 529, 0, 1348, + 1429, 1316, 1335, 1439, 1338, 1341, 1386, 1294, 1363, 417, + 1332, 1320, 1289, 1327, 1290, 1318, 1350, 271, 1315, 1411, + 1367, 1428, 367, 268, 1296, 1287, 204, 506, 1321, 431, + 1337, 203, 1388, 488, 253, 378, 375, 584, 283, 274, + 270, 250, 318, 386, 429, 519, 423, 1435, 371, 1374, + 0, 498, 402, 0, 0, 0, 1415, 1414, 1342, 1352, + 1417, 1361, 1402, 1347, 1387, 1304, 1373, 1430, 1333, 1383, + 1431, 324, 248, 326, 202, 414, 499, 287, 0, 0, + 0, 0, 0, 508, 960, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, + 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, + 364, 337, 346, 1329, 1380, 610, 1425, 1330, 1382, 266, + 322, 273, 265, 581, 1436, 1416, 1293, 1360, 1424, 1355, + 597, 0, 0, 229, 1427, 1354, 0, 1385, 0, 1442, + 1288, 1376, 0, 1291, 1295, 1438, 1422, 1324, 276, 0, + 0, 0, 0, 0, 0, 0, 1351, 1362, 1399, 1403, + 1345, 0, 0, 0, 0, 0, 0, 2415, 0, 1322, + 0, 1372, 0, 0, 0, 1300, 1292, 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, 1349, 0, 0, 0, 0, 1303, 0, - 1323, 1397, 0, 1286, 298, 1297, 403, 258, 0, 454, - 1404, 1417, 1346, 630, 1419, 1344, 1343, 1391, 1301, 1410, - 1336, 366, 1299, 331, 197, 225, 0, 1334, 413, 462, - 474, 1409, 1319, 1328, 254, 1326, 472, 427, 605, 233, - 285, 459, 433, 470, 441, 288, 1370, 1389, 471, 373, - 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, - 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, - 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, - 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, - 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, - 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, - 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, - 623, 220, 1298, 622, 409, 585, 596, 395, 384, 219, - 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, - 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, - 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, - 1314, 280, 284, 292, 295, 304, 305, 314, 368, 420, - 447, 443, 452, 1405, 580, 603, 617, 629, 635, 636, - 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, - 334, 374, 1394, 1437, 426, 473, 240, 607, 497, 199, - 1308, 1313, 1306, 0, 255, 256, 1376, 576, 1309, 1307, - 1365, 1366, 1310, 1428, 1429, 1430, 1415, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, - 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, - 512, 513, 514, 0, 516, 1398, 1302, 0, 1311, 1312, - 399, 1407, 592, 593, 673, 385, 487, 604, 336, 350, - 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, - 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, - 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, - 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, - 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, - 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, - 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, - 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, - 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, - 540, 1369, 196, 221, 369, 1433, 455, 289, 651, 619, - 485, 614, 206, 223, 1305, 263, 1317, 1325, 0, 1331, - 1339, 1340, 1353, 1356, 1357, 1358, 1359, 1377, 1378, 1380, - 1388, 1390, 1393, 1395, 1402, 1416, 1436, 198, 200, 209, - 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, - 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, - 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, - 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, - 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1349, + 0, 0, 0, 0, 1303, 0, 1323, 1400, 0, 1286, + 298, 1297, 403, 258, 0, 454, 1407, 1420, 1346, 630, + 1423, 1344, 1343, 1393, 1301, 1413, 1336, 366, 1299, 331, + 197, 225, 0, 1334, 413, 462, 474, 1412, 1319, 1328, + 254, 1326, 472, 427, 605, 233, 285, 459, 433, 470, + 441, 288, 1371, 1391, 471, 373, 586, 451, 602, 631, + 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, + 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, + 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, + 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, + 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, + 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, + 416, 590, 591, 257, 653, 228, 623, 220, 1298, 622, + 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, + 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, + 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, + 654, 453, 212, 234, 235, 237, 1314, 280, 284, 292, + 295, 304, 305, 314, 368, 420, 447, 443, 452, 1408, + 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, + 642, 645, 643, 408, 312, 496, 334, 374, 1397, 1441, + 426, 473, 240, 607, 497, 199, 1308, 1313, 1306, 0, + 255, 256, 1377, 576, 1309, 1307, 1365, 1366, 1310, 1432, + 1433, 1434, 1418, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, + 516, 1401, 1302, 0, 1311, 1312, 399, 1410, 592, 593, + 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, + 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, + 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, + 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, + 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, + 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, + 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, + 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, + 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, + 545, 556, 567, 551, 539, 532, 540, 1370, 196, 221, + 369, 1437, 455, 289, 651, 619, 485, 614, 206, 223, + 1305, 263, 1317, 1325, 0, 1331, 1339, 1340, 1353, 1356, + 1357, 1358, 1359, 1378, 1379, 1381, 1389, 1392, 1396, 1398, + 1405, 1419, 1440, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 1369, 1390, 1394, 1421, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, - 598, 646, 628, 439, 379, 1368, 1374, 382, 282, 306, - 321, 1383, 618, 503, 227, 467, 291, 251, 1401, 1403, + 598, 646, 628, 439, 379, 1368, 1375, 382, 282, 306, + 321, 1384, 618, 503, 227, 467, 291, 251, 1404, 1406, 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, - 524, 396, 267, 434, 1364, 1392, 377, 577, 578, 317, - 397, 0, 0, 0, 0, 0, 0, 1422, 1406, 529, - 0, 1348, 1425, 1316, 1335, 1435, 1338, 1341, 1385, 1294, + 524, 396, 267, 434, 1364, 1395, 377, 577, 578, 317, + 397, 0, 0, 0, 0, 0, 0, 1426, 1409, 529, + 0, 1348, 1429, 1316, 1335, 1439, 1338, 1341, 1386, 1294, 1363, 417, 1332, 1320, 1289, 1327, 1290, 1318, 1350, 271, - 1315, 1408, 1367, 1424, 367, 268, 1296, 1287, 204, 506, - 1321, 431, 1337, 203, 1387, 488, 253, 378, 375, 584, - 283, 274, 270, 250, 318, 386, 429, 519, 423, 1431, - 371, 1373, 0, 498, 402, 0, 0, 0, 1412, 1411, - 1342, 1352, 1414, 1361, 1399, 1347, 1386, 1304, 1372, 1426, - 1333, 1382, 1427, 324, 248, 326, 202, 414, 499, 287, + 1315, 1411, 1367, 1428, 367, 268, 1296, 1287, 204, 506, + 1321, 431, 1337, 203, 1388, 488, 253, 378, 375, 584, + 283, 274, 270, 250, 318, 386, 429, 519, 423, 1435, + 371, 1374, 0, 498, 402, 0, 0, 0, 1415, 1414, + 1342, 1352, 1417, 1361, 1402, 1347, 1387, 1304, 1373, 1430, + 1333, 1383, 1431, 324, 248, 326, 202, 414, 499, 287, 0, 95, 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, - 351, 358, 364, 337, 346, 1329, 1379, 610, 1421, 1330, - 1381, 266, 322, 273, 265, 581, 1432, 1413, 1293, 1360, - 1420, 1355, 597, 0, 0, 229, 1423, 1354, 0, 1384, - 0, 1438, 1288, 1375, 0, 1291, 1295, 1434, 1418, 1324, + 351, 358, 364, 337, 346, 1329, 1380, 610, 1425, 1330, + 1382, 266, 322, 273, 265, 581, 1436, 1416, 1293, 1360, + 1424, 1355, 597, 0, 0, 229, 1427, 1354, 0, 1385, + 0, 1442, 1288, 1376, 0, 1291, 1295, 1438, 1422, 1324, 276, 0, 0, 0, 0, 0, 0, 0, 1351, 1362, - 1396, 1400, 1345, 0, 0, 0, 0, 0, 0, 0, - 0, 1322, 0, 1371, 0, 0, 0, 1300, 1292, 0, + 1399, 1403, 1345, 0, 0, 0, 0, 0, 0, 0, + 0, 1322, 0, 1372, 0, 0, 0, 1300, 1292, 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, 0, 0, 0, - 0, 1349, 0, 0, 0, 0, 1303, 0, 1323, 1397, - 0, 1286, 298, 1297, 403, 258, 0, 454, 1404, 1417, - 1346, 630, 1419, 1344, 1343, 1391, 1301, 1410, 1336, 366, - 1299, 331, 197, 225, 0, 1334, 413, 462, 474, 1409, + 0, 1349, 0, 0, 0, 0, 1303, 0, 1323, 1400, + 0, 1286, 298, 1297, 403, 258, 0, 454, 1407, 1420, + 1346, 630, 1423, 1344, 1343, 1393, 1301, 1413, 1336, 366, + 1299, 331, 197, 225, 0, 1334, 413, 462, 474, 1412, 1319, 1328, 254, 1326, 472, 427, 605, 233, 285, 459, - 433, 470, 441, 288, 1370, 1389, 471, 373, 586, 451, + 433, 470, 441, 288, 1371, 1391, 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, @@ -3282,14 +3224,14 @@ var yyAct = [...]int{ 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, 1314, 280, 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, - 452, 1405, 580, 603, 617, 629, 635, 636, 638, 639, + 452, 1408, 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, - 1394, 1437, 426, 473, 240, 607, 497, 199, 1308, 1313, - 1306, 0, 255, 256, 1376, 576, 1309, 1307, 1365, 1366, - 1310, 1428, 1429, 1430, 1415, 655, 656, 657, 658, 659, + 1397, 1441, 426, 473, 240, 607, 497, 199, 1308, 1313, + 1306, 0, 255, 256, 1377, 576, 1309, 1307, 1365, 1366, + 1310, 1432, 1433, 1434, 1418, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, - 514, 0, 516, 1398, 1302, 0, 1311, 1312, 399, 1407, + 514, 0, 516, 1401, 1302, 0, 1311, 1312, 399, 1410, 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, @@ -3299,201 +3241,127 @@ var yyAct = [...]int{ 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, - 565, 564, 545, 556, 567, 551, 539, 532, 540, 1369, - 196, 221, 369, 1433, 455, 289, 651, 619, 485, 614, + 565, 564, 545, 556, 567, 551, 539, 532, 540, 1370, + 196, 221, 369, 1437, 455, 289, 651, 619, 485, 614, 206, 223, 1305, 263, 1317, 1325, 0, 1331, 1339, 1340, - 1353, 1356, 1357, 1358, 1359, 1377, 1378, 1380, 1388, 1390, - 1393, 1395, 1402, 1416, 1436, 198, 200, 209, 222, 232, + 1353, 1356, 1357, 1358, 1359, 1378, 1379, 1381, 1389, 1392, + 1396, 1398, 1405, 1419, 1440, 198, 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, - 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, - 628, 439, 379, 1368, 1374, 382, 282, 306, 321, 1383, - 618, 503, 227, 467, 291, 251, 1401, 1403, 211, 246, - 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, - 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, - 267, 434, 1364, 1392, 377, 577, 578, 317, 397, 0, - 0, 0, 0, 0, 0, 1422, 1406, 529, 0, 1348, - 1425, 1316, 1335, 1435, 1338, 1341, 1385, 1294, 1363, 417, - 1332, 1320, 1289, 1327, 1290, 1318, 1350, 271, 1315, 1408, - 1367, 1424, 367, 268, 1296, 1287, 204, 506, 1321, 431, - 1337, 203, 1387, 488, 253, 378, 375, 584, 283, 274, - 270, 250, 318, 386, 429, 519, 423, 1431, 371, 1373, - 0, 498, 402, 0, 0, 0, 1412, 1411, 1342, 1352, - 1414, 1361, 1399, 1347, 1386, 1304, 1372, 1426, 1333, 1382, - 1427, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 0, 508, 194, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, - 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, - 364, 337, 346, 1329, 1379, 610, 1421, 1330, 1381, 266, - 322, 273, 265, 581, 1432, 1413, 1293, 1360, 1420, 1355, - 597, 0, 0, 229, 1423, 1354, 0, 1384, 0, 1438, - 1288, 1375, 0, 1291, 1295, 1434, 1418, 1324, 276, 0, - 0, 0, 0, 0, 0, 0, 1351, 1362, 1396, 1400, - 1345, 0, 0, 0, 0, 0, 0, 0, 0, 1322, - 0, 1371, 0, 0, 0, 1300, 1292, 0, 0, 0, + 517, 587, 589, 606, 626, 633, 481, 1369, 1390, 1394, + 1421, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 601, 634, 598, 646, 628, 439, 379, 1368, 1375, 382, + 282, 306, 321, 1384, 618, 503, 227, 467, 291, 251, + 1404, 1406, 211, 246, 230, 260, 275, 278, 325, 392, + 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, + 521, 522, 524, 396, 267, 434, 1364, 1395, 377, 577, + 578, 317, 397, 0, 0, 0, 0, 0, 0, 1426, + 1409, 529, 0, 1348, 1429, 1316, 1335, 1439, 1338, 1341, + 1386, 1294, 1363, 417, 1332, 1320, 1289, 1327, 1290, 1318, + 1350, 271, 1315, 1411, 1367, 1428, 367, 268, 1296, 1287, + 204, 506, 1321, 431, 1337, 203, 1388, 488, 253, 378, + 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, + 423, 1435, 371, 1374, 0, 498, 402, 0, 0, 0, + 1415, 1414, 1342, 1352, 1417, 1361, 1402, 1347, 1387, 1304, + 1373, 1430, 1333, 1383, 1431, 324, 248, 326, 202, 414, + 499, 287, 0, 0, 0, 0, 0, 508, 194, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, + 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, + 343, 345, 351, 358, 364, 337, 346, 1329, 1380, 610, + 1425, 1330, 1382, 266, 322, 273, 265, 581, 1436, 1416, + 1293, 1360, 1424, 1355, 597, 0, 0, 229, 1427, 1354, + 0, 1385, 0, 1442, 1288, 1376, 0, 1291, 1295, 1438, + 1422, 1324, 276, 0, 0, 0, 0, 0, 0, 0, + 1351, 1362, 1399, 1403, 1345, 0, 0, 0, 0, 0, + 0, 0, 0, 1322, 0, 1372, 0, 0, 0, 1300, + 1292, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1349, - 0, 0, 0, 0, 1303, 0, 1323, 1397, 0, 1286, - 298, 1297, 403, 258, 0, 454, 1404, 1417, 1346, 630, - 1419, 1344, 1343, 1391, 1301, 1410, 1336, 366, 1299, 331, - 197, 225, 0, 1334, 413, 462, 474, 1409, 1319, 1328, - 254, 1326, 472, 427, 605, 233, 285, 459, 433, 470, - 441, 288, 1370, 1389, 471, 373, 586, 451, 602, 631, - 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, - 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, - 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, - 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, - 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, - 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, - 416, 590, 591, 257, 653, 228, 623, 220, 1298, 622, - 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, - 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, - 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, - 654, 453, 212, 234, 235, 237, 1314, 280, 284, 292, - 295, 304, 305, 314, 368, 420, 447, 443, 452, 1405, - 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, - 642, 645, 643, 408, 312, 496, 334, 374, 1394, 1437, - 426, 473, 240, 607, 497, 199, 1308, 1313, 1306, 0, - 255, 256, 1376, 576, 1309, 1307, 1365, 1366, 1310, 1428, - 1429, 1430, 1415, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, - 516, 1398, 1302, 0, 1311, 1312, 399, 1407, 592, 593, - 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, - 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, - 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, - 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, - 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, - 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, - 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, - 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, - 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, - 545, 556, 567, 551, 539, 532, 540, 1369, 196, 221, - 369, 1433, 455, 289, 651, 619, 485, 614, 206, 223, - 1305, 263, 1317, 1325, 0, 1331, 1339, 1340, 1353, 1356, - 1357, 1358, 1359, 1377, 1378, 1380, 1388, 1390, 1393, 1395, - 1402, 1416, 1436, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, - 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, - 379, 1368, 1374, 382, 282, 306, 321, 1383, 618, 503, - 227, 467, 291, 251, 1401, 1403, 211, 246, 230, 260, - 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, - 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, - 1364, 1392, 377, 577, 578, 317, 397, 0, 0, 0, - 0, 0, 0, 1422, 1406, 529, 0, 1348, 1425, 1316, - 1335, 1435, 1338, 1341, 1385, 1294, 1363, 417, 1332, 1320, - 1289, 1327, 1290, 1318, 1350, 271, 1315, 1408, 1367, 1424, - 367, 268, 1296, 1287, 204, 506, 1321, 431, 1337, 203, - 1387, 488, 253, 378, 375, 584, 283, 274, 270, 250, - 318, 386, 429, 519, 423, 1431, 371, 1373, 0, 498, - 402, 0, 0, 0, 1412, 1411, 1342, 1352, 1414, 1361, - 1399, 1347, 1386, 1304, 1372, 1426, 1333, 1382, 1427, 324, - 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, - 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, - 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, - 346, 1329, 1379, 610, 1421, 1330, 1381, 266, 322, 273, - 265, 581, 1432, 1413, 1293, 1360, 1420, 1355, 597, 0, - 0, 229, 1423, 1354, 0, 1384, 0, 1438, 1288, 1375, - 0, 1291, 1295, 1434, 1418, 1324, 276, 0, 0, 0, - 0, 0, 0, 0, 1351, 1362, 1396, 1400, 1345, 0, - 0, 0, 0, 0, 0, 0, 0, 1322, 0, 1371, - 0, 0, 0, 1300, 1292, 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, 0, 0, 0, 0, 1349, 0, 0, - 0, 0, 1303, 0, 1323, 1397, 0, 1286, 298, 1297, - 403, 258, 0, 454, 1404, 1417, 1346, 630, 1419, 1344, - 1343, 1391, 1301, 1410, 1336, 366, 1299, 331, 197, 225, - 0, 1334, 413, 462, 474, 1409, 1319, 1328, 254, 1326, - 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, - 1370, 1389, 471, 373, 586, 451, 602, 631, 632, 264, - 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, - 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, - 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, - 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, - 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, - 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, - 591, 257, 653, 228, 623, 220, 1298, 622, 409, 585, - 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, - 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, - 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, - 212, 234, 235, 237, 1314, 280, 284, 292, 295, 304, - 305, 314, 368, 420, 447, 443, 452, 1405, 580, 603, - 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, - 643, 408, 312, 496, 334, 374, 1394, 1437, 426, 473, - 240, 607, 497, 199, 1308, 1313, 1306, 0, 255, 256, - 1376, 576, 1309, 1307, 1365, 1366, 1310, 1428, 1429, 1430, - 1415, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, - 509, 515, 510, 511, 512, 513, 514, 0, 516, 1398, - 1302, 0, 1311, 1312, 399, 1407, 592, 593, 673, 385, - 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, - 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, - 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, - 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, - 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, - 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, - 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, - 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, - 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, - 567, 551, 539, 532, 540, 1369, 196, 221, 369, 1433, - 455, 289, 651, 619, 485, 614, 206, 223, 1305, 263, - 1317, 1325, 0, 1331, 1339, 1340, 1353, 1356, 1357, 1358, - 1359, 1377, 1378, 1380, 1388, 1390, 1393, 1395, 1402, 1416, - 1436, 198, 200, 209, 222, 232, 236, 243, 262, 277, - 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, - 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, - 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, - 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, - 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, - 648, 301, 601, 634, 598, 646, 628, 439, 379, 1368, - 1374, 382, 282, 306, 321, 1383, 618, 503, 227, 467, - 291, 251, 1401, 1403, 211, 246, 230, 260, 275, 278, - 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, - 486, 520, 521, 522, 524, 396, 267, 434, 1364, 1392, - 377, 577, 578, 317, 397, 0, 0, 0, 0, 0, - 0, 1422, 1406, 529, 0, 1348, 1425, 1316, 1335, 1435, - 1338, 1341, 1385, 1294, 1363, 417, 1332, 1320, 1289, 1327, - 1290, 1318, 1350, 271, 1315, 1408, 1367, 1424, 367, 268, - 1296, 1287, 204, 506, 1321, 431, 1337, 203, 1387, 488, - 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, - 429, 519, 423, 1431, 371, 1373, 0, 498, 402, 0, - 0, 0, 1412, 1411, 1342, 1352, 1414, 1361, 1399, 1347, - 1386, 1304, 1372, 1426, 1333, 1382, 1427, 324, 248, 326, - 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, - 960, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, - 340, 341, 343, 345, 351, 358, 364, 337, 346, 1329, - 1379, 610, 1421, 1330, 1381, 266, 322, 273, 265, 581, - 1432, 1413, 1293, 1360, 1420, 1355, 597, 0, 0, 229, - 1423, 1354, 0, 1384, 0, 1438, 1288, 1375, 0, 1291, - 1295, 1434, 1418, 1324, 276, 0, 0, 0, 0, 0, - 0, 0, 1351, 1362, 1396, 1400, 1345, 0, 0, 0, - 0, 0, 0, 0, 0, 1322, 0, 1371, 0, 0, - 0, 1300, 1292, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1349, 0, 0, 0, 0, 1303, 0, + 1323, 1400, 0, 1286, 298, 1297, 403, 258, 0, 454, + 1407, 1420, 1346, 630, 1423, 1344, 1343, 1393, 1301, 1413, + 1336, 366, 1299, 331, 197, 225, 0, 1334, 413, 462, + 474, 1412, 1319, 1328, 254, 1326, 472, 427, 605, 233, + 285, 459, 433, 470, 441, 288, 1371, 1391, 471, 373, + 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, + 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, + 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, + 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, + 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, + 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, + 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, + 623, 220, 1298, 622, 409, 585, 596, 395, 384, 219, + 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, + 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, + 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, + 1314, 280, 284, 292, 295, 304, 305, 314, 368, 420, + 447, 443, 452, 1408, 580, 603, 617, 629, 635, 636, + 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, + 334, 374, 1397, 1441, 426, 473, 240, 607, 497, 199, + 1308, 1313, 1306, 0, 255, 256, 1377, 576, 1309, 1307, + 1365, 1366, 1310, 1432, 1433, 1434, 1418, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, + 512, 513, 514, 0, 516, 1401, 1302, 0, 1311, 1312, + 399, 1410, 592, 593, 673, 385, 487, 604, 336, 350, + 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, + 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, + 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, + 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, + 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, + 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, + 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, + 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, + 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, + 540, 1370, 196, 221, 369, 1437, 455, 289, 651, 619, + 485, 614, 206, 223, 1305, 263, 1317, 1325, 0, 1331, + 1339, 1340, 1353, 1356, 1357, 1358, 1359, 1378, 1379, 1381, + 1389, 1392, 1396, 1398, 1405, 1419, 1440, 198, 200, 209, + 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, + 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, + 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, + 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, + 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 1369, + 1390, 1394, 1421, 302, 303, 445, 446, 315, 316, 647, + 648, 301, 601, 634, 598, 646, 628, 439, 379, 1368, + 1375, 382, 282, 306, 321, 1384, 618, 503, 227, 467, + 291, 251, 1404, 1406, 211, 246, 230, 260, 275, 278, + 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, + 486, 520, 521, 522, 524, 396, 267, 434, 1364, 1395, + 377, 577, 578, 317, 397, 0, 0, 0, 0, 0, + 0, 1426, 1409, 529, 0, 1348, 1429, 1316, 1335, 1439, + 1338, 1341, 1386, 1294, 1363, 417, 1332, 1320, 1289, 1327, + 1290, 1318, 1350, 271, 1315, 1411, 1367, 1428, 367, 268, + 1296, 1287, 204, 506, 1321, 431, 1337, 203, 1388, 488, + 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, + 429, 519, 423, 1435, 371, 1374, 0, 498, 402, 0, + 0, 0, 1415, 1414, 1342, 1352, 1417, 1361, 1402, 1347, + 1387, 1304, 1373, 1430, 1333, 1383, 1431, 324, 248, 326, + 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, + 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, + 340, 341, 343, 345, 351, 358, 364, 337, 346, 1329, + 1380, 610, 1425, 1330, 1382, 266, 322, 273, 265, 581, + 1436, 1416, 1293, 1360, 1424, 1355, 597, 0, 0, 229, + 1427, 1354, 0, 1385, 0, 1442, 1288, 1376, 0, 1291, + 1295, 1438, 1422, 1324, 276, 0, 0, 0, 0, 0, + 0, 0, 1351, 1362, 1399, 1403, 1345, 0, 0, 0, + 0, 0, 0, 0, 0, 1322, 0, 1372, 0, 0, + 0, 1300, 1292, 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, 0, 0, 0, 0, 1349, 0, 0, 0, 0, - 1303, 0, 1323, 1397, 0, 1286, 298, 1297, 403, 258, - 0, 454, 1404, 1417, 1346, 630, 1419, 1344, 1343, 1391, - 1301, 1410, 1336, 366, 1299, 331, 197, 225, 0, 1334, - 413, 462, 474, 1409, 1319, 1328, 254, 1326, 472, 427, - 605, 233, 285, 459, 433, 470, 441, 288, 1370, 1389, + 1303, 0, 1323, 1400, 0, 1286, 298, 1297, 403, 258, + 0, 454, 1407, 1420, 1346, 630, 1423, 1344, 1343, 1393, + 1301, 1413, 1336, 366, 1299, 331, 197, 225, 0, 1334, + 413, 462, 474, 1412, 1319, 1328, 254, 1326, 472, 427, + 605, 233, 285, 459, 433, 470, 441, 288, 1371, 1391, 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, @@ -3506,15 +3374,15 @@ var yyAct = [...]int{ 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, 1314, 280, 284, 292, 295, 304, 305, 314, - 368, 420, 447, 443, 452, 1405, 580, 603, 617, 629, + 368, 420, 447, 443, 452, 1408, 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, - 312, 496, 334, 374, 1394, 1437, 426, 473, 240, 607, - 497, 199, 1308, 1313, 1306, 0, 255, 256, 1376, 576, - 1309, 1307, 1365, 1366, 1310, 1428, 1429, 1430, 1415, 655, + 312, 496, 334, 374, 1397, 1441, 426, 473, 240, 607, + 497, 199, 1308, 1313, 1306, 0, 255, 256, 1377, 576, + 1309, 1307, 1365, 1366, 1310, 1432, 1433, 1434, 1418, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, - 510, 511, 512, 513, 514, 0, 516, 1398, 1302, 0, - 1311, 1312, 399, 1407, 592, 593, 673, 385, 487, 604, + 510, 511, 512, 513, 514, 0, 516, 1401, 1302, 0, + 1311, 1312, 399, 1410, 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, @@ -3524,91 +3392,167 @@ var yyAct = [...]int{ 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, - 539, 532, 540, 1369, 196, 221, 369, 1433, 455, 289, + 539, 532, 540, 1370, 196, 221, 369, 1437, 455, 289, 651, 619, 485, 614, 206, 223, 1305, 263, 1317, 1325, - 0, 1331, 1339, 1340, 1353, 1356, 1357, 1358, 1359, 1377, - 1378, 1380, 1388, 1390, 1393, 1395, 1402, 1416, 1436, 198, + 0, 1331, 1339, 1340, 1353, 1356, 1357, 1358, 1359, 1378, + 1379, 1381, 1389, 1392, 1396, 1398, 1405, 1419, 1440, 198, 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, - 601, 634, 598, 646, 628, 439, 379, 1368, 1374, 382, - 282, 306, 321, 1383, 618, 503, 227, 467, 291, 251, - 1401, 1403, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 1364, 1392, 377, 577, - 578, 317, 397, 0, 0, 0, 0, 0, 0, 0, - 0, 529, 0, 778, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 765, 0, 0, - 0, 271, 770, 0, 0, 0, 367, 268, 0, 0, - 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, - 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, - 423, 777, 371, 0, 0, 498, 402, 0, 0, 0, - 0, 0, 0, 0, 0, 772, 773, 0, 0, 0, - 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 95, 0, 0, 1024, 508, 960, 749, - 926, 964, 1025, 977, 978, 979, 965, 0, 238, 966, - 967, 245, 968, 0, 925, 808, 810, 809, 875, 876, - 877, 878, 879, 880, 881, 811, 812, 806, 973, 610, - 980, 981, 0, 266, 322, 273, 265, 581, 0, 0, - 2233, 2234, 2235, 0, 597, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 745, 762, 0, 776, 0, - 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, - 760, 0, 0, 0, 0, 920, 0, 761, 0, 0, - 769, 982, 983, 984, 985, 986, 987, 988, 989, 990, - 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, - 1021, 1022, 1023, 771, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, - 919, 0, 0, 630, 0, 0, 917, 0, 0, 0, - 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, - 474, 0, 0, 0, 970, 0, 472, 427, 605, 233, - 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, - 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, - 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, - 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, - 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, - 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, - 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, - 294, 0, 0, 259, 416, 971, 972, 257, 653, 816, - 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, - 594, 393, 383, 335, 824, 825, 281, 308, 901, 900, - 899, 307, 309, 897, 898, 896, 207, 609, 627, 0, - 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, - 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, - 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, - 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, - 334, 374, 0, 0, 426, 473, 240, 607, 497, 907, - 929, 918, 782, 783, 908, 909, 933, 910, 785, 786, - 930, 931, 779, 780, 784, 932, 934, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, - 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, - 512, 513, 514, 0, 516, 921, 768, 767, 0, 774, - 775, 0, 804, 805, 807, 813, 814, 815, 826, 873, - 874, 882, 884, 885, 883, 886, 887, 888, 891, 892, - 893, 894, 889, 890, 895, 787, 791, 788, 789, 790, - 802, 792, 793, 794, 795, 796, 797, 798, 799, 800, - 801, 803, 944, 945, 946, 947, 948, 949, 819, 823, - 822, 820, 821, 817, 818, 845, 844, 846, 847, 848, - 849, 850, 851, 853, 852, 854, 855, 856, 857, 858, - 859, 827, 828, 831, 832, 830, 829, 833, 842, 843, - 834, 835, 836, 837, 838, 839, 841, 840, 860, 861, - 862, 863, 864, 866, 865, 869, 870, 868, 867, 872, - 871, 766, 196, 221, 369, 0, 455, 289, 651, 619, - 485, 614, 206, 223, 935, 263, 936, 0, 0, 940, - 0, 0, 0, 942, 941, 0, 943, 905, 904, 0, - 0, 937, 938, 0, 939, 0, 0, 198, 200, 209, - 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, - 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, - 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, - 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, - 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 950, + 481, 1369, 1390, 1394, 1421, 302, 303, 445, 446, 315, + 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, + 379, 1368, 1375, 382, 282, 306, 321, 1384, 618, 503, + 227, 467, 291, 251, 1404, 1406, 211, 246, 230, 260, + 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, + 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, + 1364, 1395, 377, 577, 578, 317, 397, 0, 0, 0, + 0, 0, 0, 1426, 1409, 529, 0, 1348, 1429, 1316, + 1335, 1439, 1338, 1341, 1386, 1294, 1363, 417, 1332, 1320, + 1289, 1327, 1290, 1318, 1350, 271, 1315, 1411, 1367, 1428, + 367, 268, 1296, 1287, 204, 506, 1321, 431, 1337, 203, + 1388, 488, 253, 378, 375, 584, 283, 274, 270, 250, + 318, 386, 429, 519, 423, 1435, 371, 1374, 0, 498, + 402, 0, 0, 0, 1415, 1414, 1342, 1352, 1417, 1361, + 1402, 1347, 1387, 1304, 1373, 1430, 1333, 1383, 1431, 324, + 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, + 0, 508, 960, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, + 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, + 346, 1329, 1380, 610, 1425, 1330, 1382, 266, 322, 273, + 265, 581, 1436, 1416, 1293, 1360, 1424, 1355, 597, 0, + 0, 229, 1427, 1354, 0, 1385, 0, 1442, 1288, 1376, + 0, 1291, 1295, 1438, 1422, 1324, 276, 0, 0, 0, + 0, 0, 0, 0, 1351, 1362, 1399, 1403, 1345, 0, + 0, 0, 0, 0, 0, 0, 0, 1322, 0, 1372, + 0, 0, 0, 1300, 1292, 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, 0, 0, 0, 0, 1349, 0, 0, + 0, 0, 1303, 0, 1323, 1400, 0, 1286, 298, 1297, + 403, 258, 0, 454, 1407, 1420, 1346, 630, 1423, 1344, + 1343, 1393, 1301, 1413, 1336, 366, 1299, 331, 197, 225, + 0, 1334, 413, 462, 474, 1412, 1319, 1328, 254, 1326, + 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, + 1371, 1391, 471, 373, 586, 451, 602, 631, 632, 264, + 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, + 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, + 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, + 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, + 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, + 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, + 591, 257, 653, 228, 623, 220, 1298, 622, 409, 585, + 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, + 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, + 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, + 212, 234, 235, 237, 1314, 280, 284, 292, 295, 304, + 305, 314, 368, 420, 447, 443, 452, 1408, 580, 603, + 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, + 643, 408, 312, 496, 334, 374, 1397, 1441, 426, 473, + 240, 607, 497, 199, 1308, 1313, 1306, 0, 255, 256, + 1377, 576, 1309, 1307, 1365, 1366, 1310, 1432, 1433, 1434, + 1418, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, + 509, 515, 510, 511, 512, 513, 514, 0, 516, 1401, + 1302, 0, 1311, 1312, 399, 1410, 592, 593, 673, 385, + 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, + 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, + 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, + 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, + 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, + 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, + 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, + 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, + 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, + 567, 551, 539, 532, 540, 1370, 196, 221, 369, 1437, + 455, 289, 651, 619, 485, 614, 206, 223, 1305, 263, + 1317, 1325, 0, 1331, 1339, 1340, 1353, 1356, 1357, 1358, + 1359, 1378, 1379, 1381, 1389, 1392, 1396, 1398, 1405, 1419, + 1440, 198, 200, 209, 222, 232, 236, 243, 262, 277, + 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, + 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, + 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, + 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, + 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, + 626, 633, 481, 1369, 1390, 1394, 1421, 302, 303, 445, + 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, + 628, 439, 379, 1368, 1375, 382, 282, 306, 321, 1384, + 618, 503, 227, 467, 291, 251, 1404, 1406, 211, 246, + 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, + 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, + 267, 434, 1364, 1395, 377, 577, 578, 317, 397, 0, + 0, 0, 0, 0, 0, 0, 0, 529, 0, 778, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, + 0, 0, 0, 765, 0, 0, 0, 271, 770, 0, + 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, + 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, + 270, 250, 318, 386, 429, 519, 423, 777, 371, 0, + 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, + 0, 772, 773, 0, 0, 0, 0, 0, 0, 0, + 0, 324, 248, 326, 202, 414, 499, 287, 0, 95, + 0, 0, 1024, 508, 960, 749, 926, 964, 1025, 977, + 978, 979, 965, 0, 238, 966, 967, 245, 968, 0, + 925, 808, 810, 809, 875, 876, 877, 878, 879, 880, + 881, 811, 812, 806, 973, 610, 980, 981, 0, 266, + 322, 273, 265, 581, 0, 0, 2237, 2238, 2239, 0, + 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, + 0, 745, 762, 0, 776, 0, 0, 0, 276, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 759, 760, 0, 0, 0, + 0, 920, 0, 761, 0, 0, 769, 982, 983, 984, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, + 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, + 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 771, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 0, 403, 258, 0, 454, 919, 0, 0, 630, + 0, 0, 917, 0, 0, 0, 0, 366, 0, 331, + 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, + 970, 0, 472, 427, 605, 233, 285, 459, 433, 470, + 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, + 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, + 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, + 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, + 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, + 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, + 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, + 416, 971, 972, 257, 653, 816, 623, 220, 0, 622, + 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, + 824, 825, 281, 308, 901, 900, 899, 307, 309, 897, + 898, 896, 207, 609, 627, 0, 208, 0, 500, 612, + 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, + 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, + 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, + 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, + 426, 473, 240, 607, 497, 907, 929, 918, 782, 783, + 908, 909, 933, 910, 785, 786, 930, 931, 779, 780, + 784, 932, 934, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, + 516, 921, 768, 767, 0, 774, 775, 0, 804, 805, + 807, 813, 814, 815, 826, 873, 874, 882, 884, 885, + 883, 886, 887, 888, 891, 892, 893, 894, 889, 890, + 895, 787, 791, 788, 789, 790, 802, 792, 793, 794, + 795, 796, 797, 798, 799, 800, 801, 803, 944, 945, + 946, 947, 948, 949, 819, 823, 822, 820, 821, 817, + 818, 845, 844, 846, 847, 848, 849, 850, 851, 853, + 852, 854, 855, 856, 857, 858, 859, 827, 828, 831, + 832, 830, 829, 833, 842, 843, 834, 835, 836, 837, + 838, 839, 841, 840, 860, 861, 862, 863, 864, 866, + 865, 869, 870, 868, 867, 872, 871, 766, 196, 221, + 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, + 935, 263, 936, 0, 0, 940, 0, 0, 0, 942, + 941, 0, 943, 905, 904, 0, 0, 937, 938, 0, + 939, 0, 0, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 950, 951, 952, 953, 954, 955, 956, 957, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 975, 0, @@ -3622,12 +3566,12 @@ var yyAct = [...]int{ 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 777, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 772, 773, 0, - 0, 0, 0, 0, 0, 2440, 0, 324, 248, 326, + 0, 0, 0, 0, 0, 2444, 0, 324, 248, 326, 202, 414, 499, 287, 0, 95, 0, 0, 1024, 508, 960, 749, 926, 964, 1025, 977, 978, 979, 965, 0, 238, 966, 967, 245, 968, 0, 925, 808, 810, 809, 875, 876, 877, 878, 879, 880, 881, 811, 812, 806, - 973, 610, 980, 981, 2441, 266, 322, 273, 265, 581, + 973, 610, 980, 981, 2445, 266, 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 745, 762, 0, 776, 0, 0, 0, 276, 0, 0, 0, 0, 0, @@ -3683,161 +3627,13 @@ var yyAct = [...]int{ 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 950, 951, 952, 953, 954, 955, 956, 957, 301, - 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, - 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, - 975, 0, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, - 578, 317, 0, 0, 86, 529, 0, 778, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, - 0, 765, 0, 0, 0, 271, 770, 0, 0, 0, - 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, - 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, - 318, 386, 429, 519, 423, 777, 371, 0, 0, 498, - 402, 0, 0, 0, 0, 0, 0, 0, 0, 772, - 773, 0, 0, 0, 0, 0, 0, 0, 0, 324, - 248, 326, 202, 414, 499, 287, 0, 95, 0, 0, - 1024, 508, 960, 749, 926, 964, 1025, 977, 978, 979, - 965, 0, 238, 966, 967, 245, 968, 0, 925, 808, - 810, 809, 875, 876, 877, 878, 879, 880, 881, 811, - 812, 806, 973, 610, 980, 981, 0, 266, 322, 273, - 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, - 0, 229, 0, 0, 0, 0, 0, 0, 0, 745, - 762, 0, 776, 0, 0, 0, 276, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 759, 760, 0, 0, 0, 0, 920, - 0, 761, 0, 0, 769, 982, 983, 984, 985, 986, - 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, - 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, - 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - 1017, 1018, 1019, 1020, 1021, 1022, 1023, 771, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, - 403, 258, 0, 454, 919, 0, 0, 630, 0, 0, - 917, 0, 0, 0, 0, 366, 0, 331, 197, 225, - 0, 0, 413, 462, 474, 0, 0, 0, 970, 0, - 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, - 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, - 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, - 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, - 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, - 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, - 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, - 214, 0, 458, 269, 294, 0, 0, 259, 416, 971, - 972, 257, 653, 816, 623, 220, 0, 622, 409, 585, - 596, 395, 384, 219, 594, 393, 383, 335, 824, 825, - 281, 308, 901, 900, 899, 307, 309, 897, 898, 896, - 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, - 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, - 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, - 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, - 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, - 240, 607, 497, 907, 929, 918, 782, 783, 908, 909, - 933, 910, 785, 786, 930, 931, 779, 780, 784, 932, - 934, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, - 509, 515, 510, 511, 512, 513, 514, 0, 516, 921, - 768, 767, 0, 774, 775, 0, 804, 805, 807, 813, - 814, 815, 826, 873, 874, 882, 884, 885, 883, 886, - 887, 888, 891, 892, 893, 894, 889, 890, 895, 787, - 791, 788, 789, 790, 802, 792, 793, 794, 795, 796, - 797, 798, 799, 800, 801, 803, 944, 945, 946, 947, - 948, 949, 819, 823, 822, 820, 821, 817, 818, 845, - 844, 846, 847, 848, 849, 850, 851, 853, 852, 854, - 855, 856, 857, 858, 859, 827, 828, 831, 832, 830, - 829, 833, 842, 843, 834, 835, 836, 837, 838, 839, - 841, 840, 860, 861, 862, 863, 864, 866, 865, 869, - 870, 868, 867, 872, 871, 766, 196, 221, 369, 94, - 455, 289, 651, 619, 485, 614, 206, 223, 935, 263, - 936, 0, 0, 940, 0, 0, 0, 942, 941, 0, - 943, 905, 904, 0, 0, 937, 938, 0, 939, 0, - 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, - 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, - 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, - 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, - 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, - 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 950, 951, 952, 953, 954, 955, 956, - 957, 301, 601, 634, 598, 646, 628, 439, 379, 0, - 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, - 291, 251, 975, 0, 211, 246, 230, 260, 275, 278, - 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, - 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, - 377, 577, 578, 317, 0, 0, 0, 529, 0, 778, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, - 0, 0, 0, 765, 0, 0, 0, 271, 770, 0, - 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, - 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, - 270, 250, 318, 386, 429, 519, 423, 777, 371, 0, - 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, - 0, 772, 773, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 248, 326, 202, 414, 499, 287, 0, 95, - 0, 0, 1024, 508, 960, 749, 926, 964, 1025, 977, - 978, 979, 965, 0, 238, 966, 967, 245, 968, 0, - 925, 808, 810, 809, 875, 876, 877, 878, 879, 880, - 881, 811, 812, 806, 973, 610, 980, 981, 0, 266, - 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, - 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, - 0, 745, 762, 0, 776, 0, 0, 0, 276, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 759, 760, 0, 0, 0, - 0, 920, 0, 761, 0, 0, 769, 982, 983, 984, - 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, - 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, - 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, - 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 771, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 0, 403, 258, 0, 454, 919, 0, 0, 630, - 0, 0, 917, 0, 0, 0, 0, 366, 0, 331, - 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, - 970, 0, 472, 427, 605, 233, 285, 459, 433, 470, - 441, 288, 4098, 0, 471, 373, 586, 451, 602, 631, - 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, - 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, - 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, - 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, - 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, - 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, - 416, 971, 972, 257, 653, 816, 623, 220, 0, 622, - 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, - 824, 825, 281, 308, 901, 900, 899, 307, 309, 897, - 898, 896, 207, 609, 627, 0, 208, 0, 500, 612, - 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, - 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, - 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, - 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, - 426, 473, 240, 607, 497, 907, 929, 918, 782, 783, - 908, 909, 933, 910, 785, 786, 930, 931, 779, 780, - 784, 932, 934, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, - 516, 921, 768, 767, 0, 774, 775, 0, 804, 805, - 807, 813, 814, 815, 826, 873, 874, 882, 884, 885, - 883, 886, 887, 888, 891, 892, 893, 894, 889, 890, - 895, 787, 791, 788, 789, 790, 802, 792, 793, 794, - 795, 796, 797, 798, 799, 800, 801, 803, 944, 945, - 946, 947, 948, 949, 819, 823, 822, 820, 821, 817, - 818, 845, 844, 846, 847, 848, 849, 850, 851, 853, - 852, 854, 855, 856, 857, 858, 859, 827, 828, 831, - 832, 830, 829, 833, 842, 843, 834, 835, 836, 837, - 838, 839, 841, 840, 860, 861, 862, 863, 864, 866, - 865, 869, 870, 868, 867, 872, 871, 766, 196, 221, - 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, - 935, 263, 936, 0, 0, 940, 0, 0, 0, 942, - 941, 0, 943, 905, 904, 0, 0, 937, 938, 0, - 939, 0, 0, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 950, 951, 952, 953, 954, + 481, 0, 0, 0, 0, 950, 951, 952, 953, 954, 955, 956, 957, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 975, 0, 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, - 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, + 397, 0, 377, 577, 578, 317, 0, 0, 86, 529, 0, 778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 765, 0, 0, 0, 271, 770, 0, 0, 0, 367, 268, 0, 0, 204, 506, @@ -3846,7 +3642,7 @@ var yyAct = [...]int{ 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 772, 773, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 95, 0, 1754, 1024, 508, 960, 749, 926, 964, + 0, 95, 0, 0, 1024, 508, 960, 749, 926, 964, 1025, 977, 978, 979, 965, 0, 238, 966, 967, 245, 968, 0, 925, 808, 810, 809, 875, 876, 877, 878, 879, 880, 881, 811, 812, 806, 973, 610, 980, 981, @@ -3896,7 +3692,7 @@ var yyAct = [...]int{ 828, 831, 832, 830, 829, 833, 842, 843, 834, 835, 836, 837, 838, 839, 841, 840, 860, 861, 862, 863, 864, 866, 865, 869, 870, 868, 867, 872, 871, 766, - 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, + 196, 221, 369, 94, 455, 289, 651, 619, 485, 614, 206, 223, 935, 263, 936, 0, 0, 940, 0, 0, 0, 942, 941, 0, 943, 905, 904, 0, 0, 937, 938, 0, 939, 0, 0, 198, 200, 209, 222, 232, @@ -3905,7 +3701,82 @@ var yyAct = [...]int{ 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 950, 951, 952, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 950, 951, 952, 953, 954, 955, 956, 957, 301, + 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, + 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, + 975, 0, 211, 246, 230, 260, 275, 278, 325, 392, + 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, + 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, + 578, 317, 0, 0, 0, 529, 0, 778, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, + 0, 765, 0, 0, 0, 271, 770, 0, 0, 0, + 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, + 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, + 318, 386, 429, 519, 423, 777, 371, 0, 0, 498, + 402, 0, 0, 0, 0, 0, 0, 0, 0, 772, + 773, 0, 0, 0, 0, 0, 0, 0, 0, 324, + 248, 326, 202, 414, 499, 287, 0, 95, 0, 0, + 1024, 508, 960, 749, 926, 964, 1025, 977, 978, 979, + 965, 0, 238, 966, 967, 245, 968, 0, 925, 808, + 810, 809, 875, 876, 877, 878, 879, 880, 881, 811, + 812, 806, 973, 610, 980, 981, 0, 266, 322, 273, + 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 745, + 762, 0, 776, 0, 0, 0, 276, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 759, 760, 0, 0, 0, 0, 920, + 0, 761, 0, 0, 769, 982, 983, 984, 985, 986, + 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, + 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, + 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 1020, 1021, 1022, 1023, 771, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, + 403, 258, 0, 454, 919, 0, 0, 630, 0, 0, + 917, 0, 0, 0, 0, 366, 0, 331, 197, 225, + 0, 0, 413, 462, 474, 0, 0, 0, 970, 0, + 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, + 4102, 0, 471, 373, 586, 451, 602, 631, 632, 264, + 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, + 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, + 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, + 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, + 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, + 214, 0, 458, 269, 294, 0, 0, 259, 416, 971, + 972, 257, 653, 816, 623, 220, 0, 622, 409, 585, + 596, 395, 384, 219, 594, 393, 383, 335, 824, 825, + 281, 308, 901, 900, 899, 307, 309, 897, 898, 896, + 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, + 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, + 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, + 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, + 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, + 240, 607, 497, 907, 929, 918, 782, 783, 908, 909, + 933, 910, 785, 786, 930, 931, 779, 780, 784, 932, + 934, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, + 509, 515, 510, 511, 512, 513, 514, 0, 516, 921, + 768, 767, 0, 774, 775, 0, 804, 805, 807, 813, + 814, 815, 826, 873, 874, 882, 884, 885, 883, 886, + 887, 888, 891, 892, 893, 894, 889, 890, 895, 787, + 791, 788, 789, 790, 802, 792, 793, 794, 795, 796, + 797, 798, 799, 800, 801, 803, 944, 945, 946, 947, + 948, 949, 819, 823, 822, 820, 821, 817, 818, 845, + 844, 846, 847, 848, 849, 850, 851, 853, 852, 854, + 855, 856, 857, 858, 859, 827, 828, 831, 832, 830, + 829, 833, 842, 843, 834, 835, 836, 837, 838, 839, + 841, 840, 860, 861, 862, 863, 864, 866, 865, 869, + 870, 868, 867, 872, 871, 766, 196, 221, 369, 0, + 455, 289, 651, 619, 485, 614, 206, 223, 935, 263, + 936, 0, 0, 940, 0, 0, 0, 942, 941, 0, + 943, 905, 904, 0, 0, 937, 938, 0, 939, 0, + 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, + 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, + 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, + 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, + 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, + 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, + 626, 633, 481, 0, 0, 0, 0, 950, 951, 952, 953, 954, 955, 956, 957, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 975, 0, 211, 246, @@ -3920,7 +3791,7 @@ var yyAct = [...]int{ 423, 777, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 772, 773, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 95, 0, 0, 1024, 508, 960, 749, + 499, 287, 0, 95, 0, 1758, 1024, 508, 960, 749, 926, 964, 1025, 977, 978, 979, 965, 0, 238, 966, 967, 245, 968, 0, 925, 808, 810, 809, 875, 876, 877, 878, 879, 880, 881, 811, 812, 806, 973, 610, @@ -3929,7 +3800,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 745, 762, 0, 776, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, - 760, 1070, 0, 0, 0, 920, 0, 761, 0, 0, + 760, 0, 0, 0, 0, 920, 0, 761, 0, 0, 769, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, @@ -3979,7 +3850,82 @@ var yyAct = [...]int{ 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 950, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 950, 951, 952, 953, 954, 955, 956, + 957, 301, 601, 634, 598, 646, 628, 439, 379, 0, + 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, + 291, 251, 975, 0, 211, 246, 230, 260, 275, 278, + 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, + 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, + 377, 577, 578, 317, 0, 0, 0, 529, 0, 778, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, + 0, 0, 0, 765, 0, 0, 0, 271, 770, 0, + 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, + 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, + 270, 250, 318, 386, 429, 519, 423, 777, 371, 0, + 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, + 0, 772, 773, 0, 0, 0, 0, 0, 0, 0, + 0, 324, 248, 326, 202, 414, 499, 287, 0, 95, + 0, 0, 1024, 508, 960, 749, 926, 964, 1025, 977, + 978, 979, 965, 0, 238, 966, 967, 245, 968, 0, + 925, 808, 810, 809, 875, 876, 877, 878, 879, 880, + 881, 811, 812, 806, 973, 610, 980, 981, 0, 266, + 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, + 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, + 0, 745, 762, 0, 776, 0, 0, 0, 276, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 759, 760, 1070, 0, 0, + 0, 920, 0, 761, 0, 0, 769, 982, 983, 984, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, + 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, + 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 771, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 0, 403, 258, 0, 454, 919, 0, 0, 630, + 0, 0, 917, 0, 0, 0, 0, 366, 0, 331, + 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, + 970, 0, 472, 427, 605, 233, 285, 459, 433, 470, + 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, + 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, + 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, + 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, + 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, + 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, + 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, + 416, 971, 972, 257, 653, 816, 623, 220, 0, 622, + 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, + 824, 825, 281, 308, 901, 900, 899, 307, 309, 897, + 898, 896, 207, 609, 627, 0, 208, 0, 500, 612, + 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, + 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, + 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, + 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, + 426, 473, 240, 607, 497, 907, 929, 918, 782, 783, + 908, 909, 933, 910, 785, 786, 930, 931, 779, 780, + 784, 932, 934, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, + 516, 921, 768, 767, 0, 774, 775, 0, 804, 805, + 807, 813, 814, 815, 826, 873, 874, 882, 884, 885, + 883, 886, 887, 888, 891, 892, 893, 894, 889, 890, + 895, 787, 791, 788, 789, 790, 802, 792, 793, 794, + 795, 796, 797, 798, 799, 800, 801, 803, 944, 945, + 946, 947, 948, 949, 819, 823, 822, 820, 821, 817, + 818, 845, 844, 846, 847, 848, 849, 850, 851, 853, + 852, 854, 855, 856, 857, 858, 859, 827, 828, 831, + 832, 830, 829, 833, 842, 843, 834, 835, 836, 837, + 838, 839, 841, 840, 860, 861, 862, 863, 864, 866, + 865, 869, 870, 868, 867, 872, 871, 766, 196, 221, + 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, + 935, 263, 936, 0, 0, 940, 0, 0, 0, 942, + 941, 0, 943, 905, 904, 0, 0, 937, 938, 0, + 939, 0, 0, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 950, 951, 952, 953, 954, 955, 956, 957, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 975, 0, @@ -4054,14 +4000,89 @@ var yyAct = [...]int{ 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 950, 951, 952, 953, 954, 955, 956, 957, 301, - 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, - 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, - 975, 0, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, - 578, 317, 0, 0, 0, 529, 0, 778, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, + 481, 0, 0, 0, 0, 950, 951, 952, 953, 954, + 955, 956, 957, 301, 601, 634, 598, 646, 628, 439, + 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, + 227, 467, 291, 251, 975, 0, 211, 246, 230, 260, + 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, + 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, + 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, + 0, 778, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 417, 0, 0, 0, 765, 0, 0, 0, 271, + 770, 0, 0, 0, 367, 268, 0, 0, 204, 506, + 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, + 283, 274, 270, 250, 318, 386, 429, 519, 423, 777, + 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, + 0, 0, 0, 772, 773, 0, 0, 0, 0, 0, + 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, + 0, 95, 0, 0, 1024, 508, 960, 749, 926, 964, + 1025, 977, 978, 979, 965, 0, 238, 966, 967, 245, + 968, 0, 925, 808, 810, 809, 875, 876, 877, 878, + 879, 880, 881, 811, 812, 806, 973, 610, 980, 981, + 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, + 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, + 0, 0, 0, 745, 762, 0, 776, 0, 0, 0, + 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 759, 760, 0, + 0, 0, 0, 920, 0, 761, 0, 0, 769, 982, + 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, + 1023, 3178, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 0, 403, 258, 0, 454, 919, 0, + 0, 630, 0, 0, 917, 0, 0, 0, 0, 366, + 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, + 0, 0, 970, 0, 472, 427, 605, 233, 285, 459, + 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, + 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, + 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, + 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, + 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, + 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, + 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, + 0, 259, 416, 971, 972, 257, 653, 816, 623, 220, + 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, + 383, 335, 824, 825, 281, 308, 901, 900, 899, 307, + 309, 897, 898, 896, 207, 609, 627, 0, 208, 0, + 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, + 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, + 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, + 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, + 0, 0, 426, 473, 240, 607, 497, 907, 929, 918, + 782, 783, 908, 909, 933, 910, 785, 786, 930, 931, + 779, 780, 784, 932, 934, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, + 514, 0, 516, 921, 768, 767, 0, 774, 775, 0, + 804, 805, 807, 813, 814, 815, 826, 873, 874, 882, + 884, 885, 883, 886, 887, 888, 891, 892, 893, 894, + 889, 890, 895, 787, 791, 788, 789, 790, 802, 792, + 793, 794, 795, 796, 797, 798, 799, 800, 801, 803, + 944, 945, 946, 947, 948, 949, 819, 823, 822, 820, + 821, 817, 818, 845, 844, 846, 847, 848, 849, 850, + 851, 853, 852, 854, 855, 856, 857, 858, 859, 827, + 828, 831, 832, 830, 829, 833, 842, 843, 834, 835, + 836, 837, 838, 839, 841, 840, 860, 861, 862, 863, + 864, 866, 865, 869, 870, 868, 867, 872, 871, 766, + 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, + 206, 223, 935, 263, 936, 0, 0, 940, 0, 0, + 0, 942, 941, 0, 943, 905, 904, 0, 0, 937, + 938, 0, 939, 0, 0, 198, 200, 209, 222, 232, + 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, + 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, + 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, + 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, + 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 950, 951, 952, 953, 954, 955, 956, 957, 301, + 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, + 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, + 975, 0, 211, 246, 230, 260, 275, 278, 325, 392, + 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, + 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, + 578, 317, 0, 0, 0, 529, 0, 778, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 765, 0, 0, 0, 271, 770, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, @@ -4128,7 +4149,82 @@ var yyAct = [...]int{ 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 950, 951, 952, 953, 954, 955, 956, + 626, 633, 481, 0, 0, 0, 0, 950, 951, 952, + 953, 954, 955, 956, 957, 301, 601, 634, 598, 646, + 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, + 618, 503, 227, 467, 291, 251, 975, 0, 211, 246, + 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, + 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, + 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, + 0, 529, 0, 778, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 417, 0, 0, 0, 765, 0, 0, + 0, 271, 770, 0, 0, 0, 367, 268, 0, 0, + 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, + 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, + 423, 777, 371, 0, 0, 498, 402, 0, 0, 0, + 0, 0, 0, 0, 0, 772, 773, 0, 0, 0, + 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, + 499, 287, 0, 95, 0, 0, 1024, 508, 960, 1091, + 926, 964, 1025, 977, 978, 979, 965, 0, 238, 966, + 967, 245, 968, 0, 925, 808, 810, 809, 875, 876, + 877, 878, 879, 880, 881, 811, 812, 806, 973, 610, + 980, 981, 0, 266, 322, 273, 265, 581, 0, 0, + 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 762, 0, 776, 0, + 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, + 760, 0, 0, 0, 0, 920, 0, 761, 0, 0, + 769, 982, 983, 984, 985, 986, 987, 988, 989, 990, + 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, + 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, + 1021, 1022, 1023, 771, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, + 919, 0, 0, 630, 0, 0, 917, 0, 0, 0, + 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, + 474, 0, 0, 0, 970, 0, 472, 427, 605, 233, + 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, + 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, + 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, + 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, + 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, + 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, + 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, + 294, 0, 0, 259, 416, 971, 972, 257, 653, 816, + 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, + 594, 393, 383, 335, 824, 825, 281, 308, 901, 900, + 899, 307, 309, 897, 898, 896, 207, 609, 627, 0, + 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, + 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, + 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, + 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, + 334, 374, 0, 0, 426, 473, 240, 607, 497, 907, + 929, 918, 782, 783, 908, 909, 933, 910, 785, 786, + 930, 931, 779, 780, 784, 932, 934, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, + 512, 513, 514, 0, 516, 921, 768, 767, 0, 774, + 775, 0, 804, 805, 807, 813, 814, 815, 826, 873, + 874, 882, 884, 885, 883, 886, 887, 888, 891, 892, + 893, 894, 889, 890, 895, 787, 791, 788, 789, 790, + 802, 792, 793, 794, 795, 796, 797, 798, 799, 800, + 801, 803, 944, 945, 946, 947, 948, 949, 819, 823, + 822, 820, 821, 817, 818, 845, 844, 846, 847, 848, + 849, 850, 851, 853, 852, 854, 855, 856, 857, 858, + 859, 827, 828, 831, 832, 830, 829, 833, 842, 843, + 834, 835, 836, 837, 838, 839, 841, 840, 860, 861, + 862, 863, 864, 866, 865, 869, 870, 868, 867, 872, + 871, 766, 196, 221, 369, 0, 455, 289, 651, 619, + 485, 614, 206, 223, 935, 263, 936, 0, 0, 940, + 0, 0, 0, 942, 941, 0, 943, 905, 904, 0, + 0, 937, 938, 0, 939, 0, 0, 198, 200, 209, + 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, + 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, + 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, + 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, + 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 950, 951, 952, 953, 954, 955, 956, 957, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 975, 0, 211, 246, 230, 260, 275, 278, @@ -4143,20 +4239,20 @@ var yyAct = [...]int{ 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 772, 773, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, 0, 95, - 0, 0, 1024, 508, 960, 749, 926, 964, 1025, 977, + 0, 0, 1024, 508, 960, 1091, 926, 964, 1025, 977, 978, 979, 965, 0, 238, 966, 967, 245, 968, 0, 925, 808, 810, 809, 875, 876, 877, 878, 879, 880, 881, 811, 812, 806, 973, 610, 980, 981, 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, - 0, 745, 762, 0, 776, 0, 0, 0, 276, 0, + 0, 0, 762, 0, 776, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 760, 0, 0, 0, 0, 920, 0, 761, 0, 0, 769, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, - 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 3170, + 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 2128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, 919, 0, 0, 630, 0, 0, 917, 0, 0, 0, 0, 366, 0, 331, @@ -4202,1512 +4298,103 @@ var yyAct = [...]int{ 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 950, 951, 952, 953, 954, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 950, + 951, 952, 953, 954, 955, 956, 957, 301, 601, 634, + 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, + 321, 0, 618, 503, 227, 467, 291, 251, 975, 0, + 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, + 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, + 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, + 0, 0, 0, 529, 0, 778, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 417, 0, 0, 0, 765, + 0, 0, 0, 271, 770, 0, 0, 0, 367, 268, + 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, + 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, + 429, 519, 423, 777, 371, 0, 0, 498, 402, 0, + 0, 0, 0, 0, 0, 0, 0, 772, 773, 0, + 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, + 202, 414, 499, 287, 0, 95, 0, 0, 1024, 508, + 960, 1091, 926, 964, 1025, 977, 978, 979, 965, 0, + 238, 966, 967, 245, 968, 0, 925, 808, 810, 809, + 875, 876, 877, 878, 879, 880, 881, 811, 812, 806, + 973, 610, 980, 981, 0, 266, 322, 273, 265, 581, + 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, + 776, 0, 0, 0, 276, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 759, 760, 0, 0, 0, 0, 920, 0, 761, + 0, 0, 769, 982, 983, 984, 985, 986, 987, 988, + 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 1020, 1021, 1022, 1023, 2126, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 0, 403, 258, + 0, 454, 919, 0, 0, 630, 0, 0, 917, 0, + 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, + 413, 462, 474, 0, 0, 0, 970, 0, 472, 427, + 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, + 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, + 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, + 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, + 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, + 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, + 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, + 458, 269, 294, 0, 0, 259, 416, 971, 972, 257, + 653, 816, 623, 220, 0, 622, 409, 585, 596, 395, + 384, 219, 594, 393, 383, 335, 824, 825, 281, 308, + 901, 900, 899, 307, 309, 897, 898, 896, 207, 609, + 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, + 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, + 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, + 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, + 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, + 497, 907, 929, 918, 782, 783, 908, 909, 933, 910, + 785, 786, 930, 931, 779, 780, 784, 932, 934, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, + 510, 511, 512, 513, 514, 0, 516, 921, 768, 767, + 0, 774, 775, 0, 804, 805, 807, 813, 814, 815, + 826, 873, 874, 882, 884, 885, 883, 886, 887, 888, + 891, 892, 893, 894, 889, 890, 895, 787, 791, 788, + 789, 790, 802, 792, 793, 794, 795, 796, 797, 798, + 799, 800, 801, 803, 944, 945, 946, 947, 948, 949, + 819, 823, 822, 820, 821, 817, 818, 845, 844, 846, + 847, 848, 849, 850, 851, 853, 852, 854, 855, 856, + 857, 858, 859, 827, 828, 831, 832, 830, 829, 833, + 842, 843, 834, 835, 836, 837, 838, 839, 841, 840, + 860, 861, 862, 863, 864, 866, 865, 869, 870, 868, + 867, 872, 871, 766, 196, 221, 369, 0, 455, 289, + 651, 619, 485, 614, 206, 223, 935, 263, 936, 0, + 0, 940, 0, 0, 0, 942, 941, 0, 943, 905, + 904, 0, 0, 937, 938, 0, 939, 0, 0, 198, + 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, + 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, + 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, + 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, + 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, + 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, + 481, 0, 0, 0, 0, 950, 951, 952, 953, 954, 955, 956, 957, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 975, 0, 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, - 0, 778, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 417, 0, 0, 0, 765, 0, 0, 0, 271, - 770, 0, 0, 0, 367, 268, 0, 0, 204, 506, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, + 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, - 283, 274, 270, 250, 318, 386, 429, 519, 423, 777, + 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, - 0, 0, 0, 772, 773, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 95, 0, 0, 1024, 508, 960, 1091, 926, 964, - 1025, 977, 978, 979, 965, 0, 238, 966, 967, 245, - 968, 0, 925, 808, 810, 809, 875, 876, 877, 878, - 879, 880, 881, 811, 812, 806, 973, 610, 980, 981, + 0, 0, 0, 0, 0, 508, 725, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, + 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, + 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, - 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, - 0, 0, 0, 0, 762, 0, 776, 0, 0, 0, - 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 759, 760, 0, - 0, 0, 0, 920, 0, 761, 0, 0, 769, 982, - 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, - 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, - 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, - 1023, 771, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 0, 403, 258, 0, 454, 919, 0, - 0, 630, 0, 0, 917, 0, 0, 0, 0, 366, - 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, - 0, 0, 970, 0, 472, 427, 605, 233, 285, 459, - 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, - 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, - 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, - 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, - 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, - 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, - 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, - 0, 259, 416, 971, 972, 257, 653, 816, 623, 220, - 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, - 383, 335, 824, 825, 281, 308, 901, 900, 899, 307, - 309, 897, 898, 896, 207, 609, 627, 0, 208, 0, - 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, - 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, - 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, - 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, - 0, 0, 426, 473, 240, 607, 497, 907, 929, 918, - 782, 783, 908, 909, 933, 910, 785, 786, 930, 931, - 779, 780, 784, 932, 934, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, - 514, 0, 516, 921, 768, 767, 0, 774, 775, 0, - 804, 805, 807, 813, 814, 815, 826, 873, 874, 882, - 884, 885, 883, 886, 887, 888, 891, 892, 893, 894, - 889, 890, 895, 787, 791, 788, 789, 790, 802, 792, - 793, 794, 795, 796, 797, 798, 799, 800, 801, 803, - 944, 945, 946, 947, 948, 949, 819, 823, 822, 820, - 821, 817, 818, 845, 844, 846, 847, 848, 849, 850, - 851, 853, 852, 854, 855, 856, 857, 858, 859, 827, - 828, 831, 832, 830, 829, 833, 842, 843, 834, 835, - 836, 837, 838, 839, 841, 840, 860, 861, 862, 863, - 864, 866, 865, 869, 870, 868, 867, 872, 871, 766, - 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, - 206, 223, 935, 263, 936, 0, 0, 940, 0, 0, - 0, 942, 941, 0, 943, 905, 904, 0, 0, 937, - 938, 0, 939, 0, 0, 198, 200, 209, 222, 232, - 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, - 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, - 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, - 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, - 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 950, 951, 952, - 953, 954, 955, 956, 957, 301, 601, 634, 598, 646, - 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, - 618, 503, 227, 467, 291, 251, 975, 0, 211, 246, - 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, - 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, - 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, - 0, 529, 0, 778, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 765, 0, 0, - 0, 271, 770, 0, 0, 0, 367, 268, 0, 0, - 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, - 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, - 423, 777, 371, 0, 0, 498, 402, 0, 0, 0, - 0, 0, 0, 0, 0, 772, 773, 0, 0, 0, - 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 95, 0, 0, 1024, 508, 960, 1091, - 926, 964, 1025, 977, 978, 979, 965, 0, 238, 966, - 967, 245, 968, 0, 925, 808, 810, 809, 875, 876, - 877, 878, 879, 880, 881, 811, 812, 806, 973, 610, - 980, 981, 0, 266, 322, 273, 265, 581, 0, 0, - 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 0, 762, 0, 776, 0, - 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, - 760, 0, 0, 0, 0, 920, 0, 761, 0, 0, - 769, 982, 983, 984, 985, 986, 987, 988, 989, 990, - 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, - 1021, 1022, 1023, 2124, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, - 919, 0, 0, 630, 0, 0, 917, 0, 0, 0, - 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, - 474, 0, 0, 0, 970, 0, 472, 427, 605, 233, - 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, - 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, - 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, - 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, - 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, - 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, - 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, - 294, 0, 0, 259, 416, 971, 972, 257, 653, 816, - 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, - 594, 393, 383, 335, 824, 825, 281, 308, 901, 900, - 899, 307, 309, 897, 898, 896, 207, 609, 627, 0, - 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, - 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, - 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, - 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, - 334, 374, 0, 0, 426, 473, 240, 607, 497, 907, - 929, 918, 782, 783, 908, 909, 933, 910, 785, 786, - 930, 931, 779, 780, 784, 932, 934, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, - 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, - 512, 513, 514, 0, 516, 921, 768, 767, 0, 774, - 775, 0, 804, 805, 807, 813, 814, 815, 826, 873, - 874, 882, 884, 885, 883, 886, 887, 888, 891, 892, - 893, 894, 889, 890, 895, 787, 791, 788, 789, 790, - 802, 792, 793, 794, 795, 796, 797, 798, 799, 800, - 801, 803, 944, 945, 946, 947, 948, 949, 819, 823, - 822, 820, 821, 817, 818, 845, 844, 846, 847, 848, - 849, 850, 851, 853, 852, 854, 855, 856, 857, 858, - 859, 827, 828, 831, 832, 830, 829, 833, 842, 843, - 834, 835, 836, 837, 838, 839, 841, 840, 860, 861, - 862, 863, 864, 866, 865, 869, 870, 868, 867, 872, - 871, 766, 196, 221, 369, 0, 455, 289, 651, 619, - 485, 614, 206, 223, 935, 263, 936, 0, 0, 940, - 0, 0, 0, 942, 941, 0, 943, 905, 904, 0, - 0, 937, 938, 0, 939, 0, 0, 198, 200, 209, - 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, - 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, - 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, - 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, - 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 950, - 951, 952, 953, 954, 955, 956, 957, 301, 601, 634, - 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, - 321, 0, 618, 503, 227, 467, 291, 251, 975, 0, - 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, - 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, - 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, - 0, 0, 0, 529, 0, 778, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 417, 0, 0, 0, 765, - 0, 0, 0, 271, 770, 0, 0, 0, 367, 268, - 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, - 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, - 429, 519, 423, 777, 371, 0, 0, 498, 402, 0, - 0, 0, 0, 0, 0, 0, 0, 772, 773, 0, - 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, - 202, 414, 499, 287, 0, 95, 0, 0, 1024, 508, - 960, 1091, 926, 964, 1025, 977, 978, 979, 965, 0, - 238, 966, 967, 245, 968, 0, 925, 808, 810, 809, - 875, 876, 877, 878, 879, 880, 881, 811, 812, 806, - 973, 610, 980, 981, 0, 266, 322, 273, 265, 581, - 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, - 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, - 776, 0, 0, 0, 276, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 759, 760, 0, 0, 0, 0, 920, 0, 761, - 0, 0, 769, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, - 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, - 1019, 1020, 1021, 1022, 1023, 2122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 0, 403, 258, - 0, 454, 919, 0, 0, 630, 0, 0, 917, 0, - 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, - 413, 462, 474, 0, 0, 0, 970, 0, 472, 427, - 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, - 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, - 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, - 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, - 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, - 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, - 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, - 458, 269, 294, 0, 0, 259, 416, 971, 972, 257, - 653, 816, 623, 220, 0, 622, 409, 585, 596, 395, - 384, 219, 594, 393, 383, 335, 824, 825, 281, 308, - 901, 900, 899, 307, 309, 897, 898, 896, 207, 609, - 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, - 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, - 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, - 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, - 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, - 497, 907, 929, 918, 782, 783, 908, 909, 933, 910, - 785, 786, 930, 931, 779, 780, 784, 932, 934, 655, - 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, - 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, - 510, 511, 512, 513, 514, 0, 516, 921, 768, 767, - 0, 774, 775, 0, 804, 805, 807, 813, 814, 815, - 826, 873, 874, 882, 884, 885, 883, 886, 887, 888, - 891, 892, 893, 894, 889, 890, 895, 787, 791, 788, - 789, 790, 802, 792, 793, 794, 795, 796, 797, 798, - 799, 800, 801, 803, 944, 945, 946, 947, 948, 949, - 819, 823, 822, 820, 821, 817, 818, 845, 844, 846, - 847, 848, 849, 850, 851, 853, 852, 854, 855, 856, - 857, 858, 859, 827, 828, 831, 832, 830, 829, 833, - 842, 843, 834, 835, 836, 837, 838, 839, 841, 840, - 860, 861, 862, 863, 864, 866, 865, 869, 870, 868, - 867, 872, 871, 766, 196, 221, 369, 0, 455, 289, - 651, 619, 485, 614, 206, 223, 935, 263, 936, 0, - 0, 940, 0, 0, 0, 942, 941, 0, 943, 905, - 904, 0, 0, 937, 938, 0, 939, 0, 0, 198, - 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, - 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, - 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, - 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, - 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, - 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 950, 951, 952, 953, 954, 955, 956, 957, 301, - 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, - 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, - 975, 0, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, - 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, - 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, - 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, - 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, - 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, - 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, - 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, - 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, - 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, - 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, - 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, - 0, 229, 0, 1142, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, - 403, 258, 0, 454, 0, 0, 1141, 630, 0, 0, - 0, 0, 0, 1138, 1139, 366, 1099, 331, 197, 225, - 1132, 1136, 413, 462, 474, 0, 0, 0, 254, 0, - 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, - 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, - 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, - 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, - 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, - 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, - 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, - 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, - 591, 257, 653, 228, 623, 220, 0, 622, 409, 585, - 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, - 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, - 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, - 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, - 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, - 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, - 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, - 240, 607, 497, 199, 0, 0, 0, 0, 255, 256, - 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, - 509, 515, 510, 511, 512, 513, 514, 0, 516, 0, - 0, 0, 0, 0, 399, 0, 592, 593, 673, 385, - 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, - 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, - 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, - 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, - 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, - 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, - 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, - 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, - 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, - 567, 551, 539, 532, 540, 0, 196, 221, 369, 0, - 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, - 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, - 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, - 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, - 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, - 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, - 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, - 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, - 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, - 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, - 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, - 377, 577, 578, 317, 0, 0, 86, 529, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, - 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, - 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, - 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, - 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, - 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 248, 326, 202, 414, 499, 287, 0, 95, - 0, 0, 0, 508, 194, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, - 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, - 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, - 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, - 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, - 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, - 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, - 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, - 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, - 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, - 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, - 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, - 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, - 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, - 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, - 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, - 416, 590, 591, 257, 653, 228, 623, 220, 0, 622, - 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, - 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, - 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, - 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, - 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, - 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, - 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, - 426, 473, 240, 607, 497, 199, 0, 0, 0, 0, - 255, 256, 0, 576, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, - 516, 0, 0, 0, 0, 0, 399, 0, 592, 593, - 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, - 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, - 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, - 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, - 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, - 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, - 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, - 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, - 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, - 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, - 369, 94, 455, 289, 651, 619, 485, 614, 206, 223, - 0, 263, 0, 0, 0, 0, 0, 0, 2427, 0, - 0, 2426, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, - 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, - 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, - 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, - 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, - 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, - 1777, 0, 377, 577, 578, 317, 0, 0, 0, 529, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 417, 0, 0, 1779, 0, 0, 0, 0, 271, - 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, - 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, - 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, - 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 0, 0, 0, 1781, 508, 725, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, - 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, - 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, - 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, - 0, 0, 597, 0, 0, 229, 0, 0, 0, 1480, - 0, 1481, 1482, 0, 0, 0, 0, 0, 0, 0, - 276, 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, 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, 0, 0, 0, - 0, 0, 298, 0, 403, 258, 0, 454, 0, 0, - 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, - 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, - 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, - 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, - 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, - 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, - 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, - 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, - 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, - 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, - 0, 259, 416, 590, 591, 257, 653, 228, 623, 220, - 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, - 383, 335, 356, 357, 281, 308, 448, 376, 449, 307, - 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, - 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, - 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, - 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, - 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, - 0, 0, 426, 473, 240, 607, 497, 199, 0, 0, - 0, 0, 255, 256, 0, 576, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, - 514, 0, 516, 0, 0, 0, 0, 0, 399, 0, - 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, - 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, - 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, - 217, 218, 525, 526, 527, 528, 620, 621, 625, 205, - 463, 464, 465, 466, 293, 615, 310, 469, 468, 332, - 333, 380, 450, 541, 543, 554, 558, 560, 562, 568, - 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, - 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, - 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, - 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, - 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, - 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, - 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, - 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, - 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, - 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, - 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, - 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, - 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, - 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, - 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, - 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, - 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, - 86, 529, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, - 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, - 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, - 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 95, 0, 1754, 0, 508, 725, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, - 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, - 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, - 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 276, 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, 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, 0, - 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, - 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, - 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, - 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, - 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, - 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, - 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, - 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, - 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, - 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, - 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, - 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, - 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, - 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, - 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, - 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, - 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, - 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, - 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, - 334, 374, 0, 0, 426, 473, 240, 607, 497, 199, - 0, 0, 0, 0, 255, 256, 0, 576, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, - 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, - 512, 513, 514, 0, 516, 0, 0, 0, 0, 0, - 399, 0, 592, 593, 673, 385, 487, 604, 336, 350, - 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, - 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, - 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, - 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, - 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, - 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, - 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, - 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, - 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, - 540, 0, 196, 221, 369, 94, 455, 289, 651, 619, - 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, - 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, - 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, - 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, - 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, - 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, - 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, - 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, - 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, - 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, - 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, - 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, - 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, - 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, - 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, - 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, - 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, - 202, 414, 499, 287, 0, 95, 0, 0, 0, 508, - 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, - 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, - 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, - 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, 403, 258, - 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, - 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, - 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, - 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, - 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, - 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, - 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, - 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, - 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, - 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, - 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, - 653, 228, 623, 220, 0, 622, 409, 585, 596, 395, - 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, - 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, - 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, - 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, - 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, - 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, - 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, - 497, 199, 0, 0, 0, 0, 255, 256, 0, 576, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, - 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, - 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, - 510, 511, 512, 513, 514, 0, 516, 0, 0, 0, - 0, 0, 399, 0, 592, 593, 673, 385, 487, 604, - 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, - 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, - 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, - 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, - 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, - 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, - 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, - 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, - 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, - 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, - 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, - 0, 0, 0, 0, 2427, 0, 0, 2426, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, - 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, - 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, - 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, - 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, - 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, - 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, - 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, - 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, - 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, - 2374, 0, 0, 0, 0, 271, 0, 0, 0, 0, - 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, - 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, - 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, - 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, - 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, - 1962, 508, 194, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, - 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, - 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, - 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, - 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, - 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, - 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, - 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, - 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, - 0, 2372, 471, 373, 586, 451, 602, 631, 632, 264, - 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, - 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, - 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, - 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, - 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, - 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, - 591, 257, 653, 228, 623, 220, 0, 622, 409, 585, - 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, - 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, - 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, - 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, - 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, - 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, - 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, - 240, 607, 497, 199, 0, 0, 0, 0, 255, 256, - 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, - 509, 515, 510, 511, 512, 513, 514, 0, 516, 0, - 0, 0, 0, 0, 399, 0, 592, 593, 673, 385, - 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, - 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, - 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, - 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, - 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, - 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, - 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, - 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, - 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, - 567, 551, 539, 532, 540, 0, 196, 221, 369, 0, - 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, - 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, - 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, - 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, - 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, - 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, - 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, - 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, - 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, - 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, - 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, - 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, - 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, - 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, - 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, - 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, - 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, - 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, - 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, - 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, - 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, - 0, 0, 0, 0, 0, 0, 0, 1093, 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, 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, - 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, - 0, 0, 0, 0, 0, 0, 0, 366, 1099, 331, - 197, 225, 1097, 0, 413, 462, 474, 0, 0, 0, - 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, - 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, - 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, - 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, - 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, - 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, - 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, - 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, - 416, 590, 591, 257, 653, 228, 623, 220, 0, 622, - 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, - 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, - 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, - 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, - 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, - 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, - 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, - 426, 473, 240, 607, 497, 199, 0, 0, 0, 0, - 255, 256, 0, 576, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, - 516, 0, 0, 0, 0, 0, 399, 0, 592, 593, - 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, - 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, - 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, - 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, - 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, - 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, - 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, - 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, - 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, - 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, - 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, - 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, - 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, - 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, - 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, - 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, - 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, - 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 417, 0, 0, 2374, 0, 0, 0, 0, 271, - 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, - 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, - 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, - 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 0, 0, 0, 1962, 508, 194, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, - 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, - 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, - 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, - 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 276, 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, 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, 0, 0, 0, - 0, 0, 298, 0, 403, 258, 0, 454, 0, 0, - 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, - 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, - 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, - 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, - 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, - 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, - 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, - 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, - 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, - 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, - 0, 259, 416, 590, 591, 257, 653, 228, 623, 220, - 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, - 383, 335, 356, 357, 281, 308, 448, 376, 449, 307, - 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, - 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, - 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, - 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, - 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, - 0, 0, 426, 473, 240, 607, 497, 199, 0, 0, - 0, 0, 255, 256, 0, 576, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, - 514, 0, 516, 0, 0, 0, 0, 0, 399, 0, - 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, - 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, - 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, - 217, 218, 525, 526, 527, 528, 620, 621, 625, 205, - 463, 464, 465, 466, 293, 615, 310, 469, 468, 332, - 333, 380, 450, 541, 543, 554, 558, 560, 562, 568, - 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, - 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, - 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, - 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, - 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, - 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, - 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, - 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, - 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, - 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, - 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, - 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, - 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, - 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, - 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, - 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, - 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, - 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, - 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, - 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, - 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 0, 0, 1754, 0, 508, 725, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, - 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, - 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, - 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 276, 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, 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, 0, - 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, - 0, 0, 0, 630, 0, 0, 0, 3729, 0, 0, - 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, - 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, - 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, - 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, - 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, - 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, - 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, - 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, - 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, - 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, - 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, - 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, - 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, - 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, - 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, - 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, - 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, - 334, 374, 0, 0, 426, 473, 240, 607, 497, 199, - 0, 0, 0, 0, 255, 256, 0, 576, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, - 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, - 512, 513, 514, 0, 516, 0, 0, 0, 0, 0, - 399, 0, 592, 593, 673, 385, 487, 604, 336, 350, - 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, - 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, - 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, - 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, - 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, - 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, - 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, - 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, - 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, - 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, - 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, - 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, - 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, - 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, - 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, - 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, - 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, - 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, - 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, - 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, - 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, - 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, - 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, - 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, - 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, - 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, - 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, - 202, 414, 499, 287, 0, 0, 0, 0, 2133, 508, - 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, - 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, - 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, - 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 276, 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, 2134, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 0, 403, 258, - 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, - 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, - 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, - 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, - 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, - 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, - 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, - 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, - 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, - 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, - 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, - 653, 228, 623, 220, 0, 622, 409, 585, 596, 395, - 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, - 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, - 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, - 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, - 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, - 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, - 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, - 497, 199, 0, 0, 0, 0, 255, 256, 0, 576, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, - 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, - 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, - 510, 511, 512, 513, 514, 0, 516, 0, 0, 0, - 0, 0, 399, 0, 592, 593, 673, 385, 487, 604, - 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, - 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, - 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, - 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, - 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, - 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, - 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, - 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, - 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, - 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, - 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, - 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, - 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, - 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, - 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, - 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, - 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, - 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, - 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, - 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, - 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, - 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, - 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, - 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, - 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, - 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, - 2881, 508, 725, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, - 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, - 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, - 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, - 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 276, 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, 2882, 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, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, - 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, - 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, - 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, - 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, - 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, - 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, - 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, - 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, - 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, - 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, - 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, - 591, 257, 653, 228, 623, 220, 0, 622, 409, 585, - 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, - 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, - 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, - 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, - 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, - 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, - 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, - 240, 607, 497, 199, 0, 0, 0, 0, 255, 256, - 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, - 509, 515, 510, 511, 512, 513, 514, 0, 516, 0, - 0, 0, 0, 0, 399, 0, 592, 593, 673, 385, - 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, - 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, - 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, - 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, - 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, - 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, - 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, - 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, - 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, - 567, 551, 539, 532, 540, 0, 196, 221, 369, 0, - 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, - 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, - 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, - 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, - 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, - 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, - 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, - 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, - 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, - 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, - 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, - 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, - 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, - 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, - 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, - 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, - 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 0, 508, 725, 0, 0, 0, 0, 2866, - 0, 0, 0, 0, 238, 0, 0, 245, 2867, 0, - 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, - 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, - 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, - 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, - 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, - 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, - 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, - 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, - 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, - 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, - 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, - 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, - 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, - 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, - 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, - 416, 590, 591, 257, 653, 228, 623, 220, 0, 622, - 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, - 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, - 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, - 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, - 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, - 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, - 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, - 426, 473, 240, 607, 497, 199, 0, 0, 0, 0, - 255, 256, 0, 576, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, - 516, 0, 0, 0, 0, 0, 399, 0, 592, 593, - 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, - 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, - 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, - 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, - 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, - 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, - 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, - 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, - 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, - 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, - 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, - 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, - 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, - 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, - 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, - 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, - 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, - 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, - 1800, 0, 0, 0, 367, 268, 0, 0, 204, 506, - 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, - 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, - 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 0, 0, 0, 1799, 508, 725, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, - 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, - 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, - 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, - 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 276, 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, 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, 0, 0, 0, - 0, 0, 298, 0, 403, 258, 0, 454, 0, 0, - 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, - 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, - 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, - 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, - 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, - 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, - 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, - 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, - 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, - 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, - 0, 259, 416, 590, 591, 257, 653, 228, 623, 220, - 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, - 383, 335, 356, 357, 281, 308, 448, 376, 449, 307, - 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, - 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, - 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, - 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, - 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, - 0, 0, 426, 473, 240, 607, 497, 199, 0, 0, - 0, 0, 255, 256, 0, 576, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, - 514, 0, 516, 0, 0, 0, 0, 0, 399, 0, - 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, - 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, - 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, - 217, 218, 525, 526, 527, 528, 620, 621, 625, 205, - 463, 464, 465, 466, 293, 615, 310, 469, 468, 332, - 333, 380, 450, 541, 543, 554, 558, 560, 562, 568, - 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, - 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, - 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, - 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, - 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, - 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, - 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, - 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, - 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, - 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, - 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, - 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, - 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, - 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, - 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, - 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, - 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, - 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, - 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, - 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, - 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 0, 0, 0, 0, 508, 727, 728, - 729, 0, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, - 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, - 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, - 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 276, 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, 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, 0, - 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, - 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, - 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, - 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, - 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, - 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, - 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, - 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, - 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, - 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, - 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, - 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, - 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, - 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, - 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, - 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, - 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, - 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, - 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, - 334, 374, 0, 0, 426, 473, 240, 607, 497, 199, - 0, 0, 0, 0, 255, 256, 0, 576, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, - 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, - 512, 513, 514, 0, 516, 0, 0, 0, 0, 0, - 399, 0, 592, 593, 673, 385, 487, 604, 336, 350, - 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, - 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, - 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, - 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, - 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, - 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, - 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, - 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, - 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, - 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, - 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, - 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, - 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, - 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, - 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, - 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, - 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, - 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, - 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, - 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, - 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, - 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, - 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, - 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, - 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, - 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, - 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, - 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, - 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, - 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, - 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, - 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, 403, 258, - 0, 454, 0, 0, 0, 630, 0, 0, 0, 4073, - 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, - 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, - 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, - 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, - 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, - 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, - 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, - 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, - 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, - 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, - 653, 228, 623, 220, 0, 622, 409, 585, 596, 395, - 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, - 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, - 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, - 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, - 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, - 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, - 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, - 497, 199, 0, 0, 0, 0, 255, 256, 0, 576, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, - 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, - 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, - 510, 511, 512, 513, 514, 0, 516, 0, 0, 0, - 0, 0, 399, 0, 592, 593, 673, 385, 487, 604, - 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, - 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, - 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, - 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, - 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, - 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, - 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, - 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, - 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, - 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, - 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, - 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, - 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, - 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, - 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, - 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, - 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, - 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, - 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, - 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, - 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, - 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, - 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, - 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, - 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, - 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, - 1962, 508, 194, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, - 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, - 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, - 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, - 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, - 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, - 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, - 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, - 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, - 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, - 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, - 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, - 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, - 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, - 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, - 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, - 591, 257, 653, 228, 623, 220, 0, 622, 409, 585, - 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, - 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, - 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, - 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, - 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, - 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, - 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, - 240, 607, 497, 199, 0, 0, 0, 0, 255, 256, - 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, - 509, 515, 510, 511, 512, 513, 514, 0, 516, 0, - 0, 0, 0, 0, 399, 0, 592, 593, 673, 385, - 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, - 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, - 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, - 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, - 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, - 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, - 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, - 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, - 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, - 567, 551, 539, 532, 540, 0, 196, 221, 369, 0, - 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, - 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, - 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, - 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, - 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, - 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, - 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, - 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, - 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, - 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, - 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, - 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, - 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, - 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, - 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, - 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, - 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, - 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, - 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, - 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, - 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, - 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, - 0, 0, 0, 3729, 0, 0, 0, 366, 0, 331, - 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, - 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, - 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, - 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, - 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, - 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, - 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, - 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, - 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, - 416, 590, 591, 257, 653, 228, 623, 220, 0, 622, - 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, - 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, - 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, - 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, - 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, - 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, - 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, - 426, 473, 240, 607, 497, 199, 0, 0, 0, 0, - 255, 256, 0, 576, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, - 516, 0, 0, 0, 0, 0, 399, 0, 592, 593, - 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, - 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, - 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, - 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, - 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, - 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, - 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, - 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, - 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, - 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, - 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, - 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, - 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, - 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, - 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, - 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, - 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, - 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, - 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, - 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, - 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, - 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 95, 0, 0, 0, 508, 725, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, - 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, - 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, - 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, - 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 597, 0, 0, 229, 0, 1142, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 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, @@ -5717,8 +4404,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, 0, 0, - 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, - 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, + 1141, 630, 0, 0, 0, 0, 0, 1138, 1139, 366, + 1099, 331, 197, 225, 1132, 1136, 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, @@ -5726,196 +4413,48 @@ var yyAct = [...]int{ 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, - 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, - 0, 259, 416, 590, 591, 257, 653, 228, 623, 220, - 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, - 383, 335, 356, 357, 281, 308, 448, 376, 449, 307, - 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, - 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, - 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, - 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, - 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, - 0, 0, 426, 473, 240, 607, 497, 199, 0, 0, - 0, 0, 255, 256, 0, 576, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, - 514, 0, 516, 0, 0, 0, 0, 0, 399, 0, - 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, - 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, - 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, - 217, 218, 525, 526, 527, 528, 620, 621, 625, 205, - 463, 464, 465, 466, 293, 615, 310, 469, 468, 332, - 333, 380, 450, 541, 543, 554, 558, 560, 562, 568, - 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, - 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, - 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, - 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, - 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, - 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, - 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, - 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, - 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, - 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, - 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, - 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, - 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, - 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, - 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, - 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, - 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, - 0, 529, 0, 0, 0, 0, 2428, 0, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, - 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, - 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, - 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 0, 0, 0, 0, 508, 194, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, - 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, - 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, - 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 276, 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, 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, 0, - 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, - 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, - 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, - 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, - 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, - 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, - 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, - 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, - 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, - 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, - 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, - 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, - 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, - 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, - 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, - 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, - 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, - 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, - 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, - 334, 374, 0, 0, 426, 473, 240, 607, 497, 199, - 0, 0, 0, 0, 255, 256, 0, 576, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, - 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, - 512, 513, 514, 0, 516, 0, 0, 0, 0, 0, - 399, 0, 592, 593, 673, 385, 487, 604, 336, 350, - 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, - 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, - 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, - 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, - 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, - 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, - 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, - 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, - 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, - 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, - 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, - 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, - 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, - 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, - 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, - 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, - 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, - 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, - 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, - 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, - 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, - 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, - 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, - 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, - 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, - 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, - 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, - 202, 414, 499, 287, 0, 0, 0, 0, 1781, 508, - 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, - 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, - 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, - 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, 403, 258, - 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, - 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, - 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, - 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, - 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, - 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, - 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, - 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, - 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, - 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, - 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, - 653, 228, 623, 220, 0, 622, 409, 585, 596, 395, - 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, - 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, - 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, - 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, - 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, - 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, - 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, - 497, 199, 0, 0, 0, 0, 255, 256, 0, 576, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, - 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, - 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, - 510, 511, 512, 513, 514, 0, 516, 0, 0, 0, - 0, 0, 399, 0, 592, 593, 673, 385, 487, 604, - 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, - 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, - 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, - 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, - 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, - 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, - 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, - 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, - 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, - 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, - 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, + 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, + 0, 259, 416, 590, 591, 257, 653, 228, 623, 220, + 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, + 383, 335, 356, 357, 281, 308, 448, 376, 449, 307, + 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, + 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, + 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, + 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, + 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, + 0, 0, 426, 473, 240, 607, 497, 199, 0, 0, + 0, 0, 255, 256, 0, 576, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, + 514, 0, 516, 0, 0, 0, 0, 0, 399, 0, + 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, + 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, + 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, + 217, 218, 525, 526, 527, 528, 620, 621, 625, 205, + 463, 464, 465, 466, 293, 615, 310, 469, 468, 332, + 333, 380, 450, 541, 543, 554, 558, 560, 562, 568, + 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, + 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, + 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, + 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, + 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, + 206, 223, 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, 198, - 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, - 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, - 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, - 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, - 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, - 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, + 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, + 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, + 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, + 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, + 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, - 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, + 578, 317, 0, 0, 86, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, @@ -5923,7 +4462,7 @@ var yyAct = [...]int{ 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, - 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, + 248, 326, 202, 414, 499, 287, 0, 95, 0, 0, 0, 508, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, @@ -5973,9 +4512,9 @@ var yyAct = [...]int{ 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, - 567, 551, 539, 532, 540, 0, 196, 221, 369, 2080, + 567, 551, 539, 532, 540, 0, 196, 221, 369, 94, 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2431, 0, 0, 2430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, @@ -5983,13 +4522,88 @@ var yyAct = [...]int{ 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, + 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, + 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, + 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, + 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, + 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, + 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, + 267, 434, 1781, 0, 377, 577, 578, 317, 0, 0, + 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 417, 0, 0, 1783, 0, 0, 0, + 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, + 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, + 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, + 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, + 499, 287, 0, 0, 0, 0, 1785, 508, 725, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, + 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, + 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, + 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, + 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, + 0, 1484, 0, 1485, 1486, 0, 0, 0, 0, 0, + 0, 0, 276, 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, 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, 0, + 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, + 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, + 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, + 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, + 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, + 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, + 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, + 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, + 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, + 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, + 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, + 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, + 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, + 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, + 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, + 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, + 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, + 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, + 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, + 334, 374, 0, 0, 426, 473, 240, 607, 497, 199, + 0, 0, 0, 0, 255, 256, 0, 576, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, + 512, 513, 514, 0, 516, 0, 0, 0, 0, 0, + 399, 0, 592, 593, 673, 385, 487, 604, 336, 350, + 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, + 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, + 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, + 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, + 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, + 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, + 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, + 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, + 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, + 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, + 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, + 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, + 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, + 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, + 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, + 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, - 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, + 377, 577, 578, 317, 0, 0, 86, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, @@ -5997,8 +4611,8 @@ var yyAct = [...]int{ 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 2071, 508, 725, 0, 0, 0, 0, 0, + 0, 324, 248, 326, 202, 414, 499, 287, 0, 95, + 0, 1758, 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, @@ -6048,7 +4662,7 @@ var yyAct = [...]int{ 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, - 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, + 369, 94, 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, @@ -6057,7 +4671,82 @@ var yyAct = [...]int{ 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 302, + 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, + 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, + 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, + 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, + 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, + 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, + 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, + 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, + 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, + 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, + 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, + 202, 414, 499, 287, 0, 95, 0, 0, 0, 508, + 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, + 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, + 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, + 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, 403, 258, + 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, + 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, + 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, + 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, + 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, + 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, + 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, + 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, + 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, + 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, + 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, + 653, 228, 623, 220, 0, 622, 409, 585, 596, 395, + 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, + 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, + 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, + 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, + 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, + 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, + 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, + 497, 199, 0, 0, 0, 0, 255, 256, 0, 576, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, + 510, 511, 512, 513, 514, 0, 516, 0, 0, 0, + 0, 0, 399, 0, 592, 593, 673, 385, 487, 604, + 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, + 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, + 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, + 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, + 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, + 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, + 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, + 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, + 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, + 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, + 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, + 0, 0, 0, 0, 2431, 0, 0, 2430, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, + 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, + 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, + 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, + 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, + 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, + 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, @@ -6065,14 +4754,14 @@ var yyAct = [...]int{ 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, - 0, 0, 0, 0, 367, 268, 0, 1929, 204, 506, + 0, 417, 0, 0, 2378, 0, 0, 0, 0, 271, + 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 0, 0, 0, 0, 508, 725, 0, 0, 0, + 0, 0, 0, 0, 1966, 508, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, @@ -6091,7 +4780,7 @@ var yyAct = [...]int{ 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, - 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, + 433, 470, 441, 288, 0, 2376, 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, @@ -6131,7 +4820,82 @@ var yyAct = [...]int{ 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, + 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, + 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, + 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, + 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, + 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, + 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, + 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, + 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, + 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, + 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, + 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, + 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, + 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, + 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, + 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, + 0, 0, 0, 0, 0, 1093, 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, 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, 298, 0, + 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, + 0, 0, 0, 0, 0, 366, 1099, 331, 197, 225, + 1097, 0, 413, 462, 474, 0, 0, 0, 254, 0, + 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, + 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, + 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, + 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, + 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, + 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, + 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, + 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, + 591, 257, 653, 228, 623, 220, 0, 622, 409, 585, + 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, + 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, + 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, + 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, + 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, + 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, + 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, + 240, 607, 497, 199, 0, 0, 0, 0, 255, 256, + 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, + 509, 515, 510, 511, 512, 513, 514, 0, 516, 0, + 0, 0, 0, 0, 399, 0, 592, 593, 673, 385, + 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, + 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, + 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, + 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, + 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, + 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, + 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, + 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, + 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, + 567, 551, 539, 532, 540, 0, 196, 221, 369, 0, + 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, + 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, + 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, + 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, + 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, + 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, + 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, @@ -6139,14 +4903,14 @@ var yyAct = [...]int{ 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 0, 367, 268, 0, 1927, + 0, 0, 0, 417, 0, 0, 2378, 0, 0, 0, + 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 0, 0, 0, 0, 508, 725, 0, + 499, 287, 0, 0, 0, 0, 1966, 508, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, @@ -6205,7 +4969,82 @@ var yyAct = [...]int{ 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, + 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, + 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, + 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, + 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, + 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, + 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, + 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, + 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, + 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, + 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, + 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, + 0, 1758, 0, 508, 725, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, + 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, + 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, + 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, + 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, + 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, + 0, 0, 0, 3733, 0, 0, 0, 366, 0, 331, + 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, + 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, + 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, + 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, + 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, + 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, + 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, + 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, + 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, + 416, 590, 591, 257, 653, 228, 623, 220, 0, 622, + 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, + 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, + 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, + 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, + 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, + 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, + 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, + 426, 473, 240, 607, 497, 199, 0, 0, 0, 0, + 255, 256, 0, 576, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, + 516, 0, 0, 0, 0, 0, 399, 0, 592, 593, + 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, + 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, + 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, + 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, + 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, + 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, + 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, + 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, + 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, + 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, + 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, + 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, @@ -6215,12 +5054,12 @@ var yyAct = [...]int{ 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, - 0, 1925, 204, 506, 0, 431, 0, 203, 0, 488, + 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, - 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, + 202, 414, 499, 287, 0, 0, 0, 0, 2137, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, @@ -6230,7 +5069,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 276, 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, 2138, 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, @@ -6280,7 +5119,82 @@ var yyAct = [...]int{ 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, + 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, + 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, + 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, + 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, + 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, + 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, + 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, + 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, + 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, + 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, + 0, 0, 0, 0, 2885, 508, 725, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, + 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, + 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, + 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, + 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 276, 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, 2886, 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, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 0, 403, 258, 0, 454, 0, 0, + 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, + 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, + 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, + 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, + 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, + 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, + 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, + 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, + 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, + 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, + 0, 259, 416, 590, 591, 257, 653, 228, 623, 220, + 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, + 383, 335, 356, 357, 281, 308, 448, 376, 449, 307, + 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, + 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, + 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, + 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, + 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, + 0, 0, 426, 473, 240, 607, 497, 199, 0, 0, + 0, 0, 255, 256, 0, 576, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, + 514, 0, 516, 0, 0, 0, 0, 0, 399, 0, + 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, + 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, + 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, + 217, 218, 525, 526, 527, 528, 620, 621, 625, 205, + 463, 464, 465, 466, 293, 615, 310, 469, 468, 332, + 333, 380, 450, 541, 543, 554, 558, 560, 562, 568, + 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, + 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, + 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, + 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, + 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, + 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, + 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, + 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, + 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, + 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, + 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, @@ -6289,14 +5203,14 @@ var yyAct = [...]int{ 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, - 367, 268, 0, 1923, 204, 506, 0, 431, 0, 203, + 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, - 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, + 0, 508, 725, 0, 0, 0, 0, 2870, 0, 0, + 0, 0, 238, 0, 0, 245, 2871, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, @@ -6354,7 +5268,82 @@ var yyAct = [...]int{ 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, + 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, + 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, + 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, + 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, + 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, + 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, + 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, + 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, + 0, 271, 1804, 0, 0, 0, 367, 268, 0, 0, + 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, + 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, + 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, + 499, 287, 0, 0, 0, 0, 1803, 508, 725, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, + 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, + 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, + 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, + 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 276, 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, 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, 0, + 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, + 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, + 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, + 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, + 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, + 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, + 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, + 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, + 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, + 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, + 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, + 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, + 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, + 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, + 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, + 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, + 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, + 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, + 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, + 334, 374, 0, 0, 426, 473, 240, 607, 497, 199, + 0, 0, 0, 0, 255, 256, 0, 576, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, + 512, 513, 514, 0, 516, 0, 0, 0, 0, 0, + 399, 0, 592, 593, 673, 385, 487, 604, 336, 350, + 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, + 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, + 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, + 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, + 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, + 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, + 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, + 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, + 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, + 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, + 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, + 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, + 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, + 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, + 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, + 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, @@ -6363,13 +5352,13 @@ var yyAct = [...]int{ 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, - 0, 0, 367, 268, 0, 1921, 204, 506, 0, 431, + 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, + 0, 0, 0, 508, 727, 728, 729, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, @@ -6422,13 +5411,88 @@ var yyAct = [...]int{ 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, + 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 302, + 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, + 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, + 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, + 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, + 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, + 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, + 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, + 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, + 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, + 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, + 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, + 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, + 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, + 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, + 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, + 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, 403, 258, + 0, 454, 0, 0, 0, 630, 0, 0, 0, 4077, + 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, + 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, + 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, + 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, + 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, + 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, + 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, + 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, + 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, + 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, + 653, 228, 623, 220, 0, 622, 409, 585, 596, 395, + 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, + 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, + 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, + 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, + 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, + 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, + 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, + 497, 199, 0, 0, 0, 0, 255, 256, 0, 576, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, + 510, 511, 512, 513, 514, 0, 516, 0, 0, 0, + 0, 0, 399, 0, 592, 593, 673, 385, 487, 604, + 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, + 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, + 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, + 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, + 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, + 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, + 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, + 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, + 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, + 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, + 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, + 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, + 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, + 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, + 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, + 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, + 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, @@ -6437,13 +5501,13 @@ var yyAct = [...]int{ 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, - 0, 0, 0, 0, 367, 268, 0, 1917, 204, 506, + 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 0, 0, 0, 0, 508, 725, 0, 0, 0, + 0, 0, 0, 0, 1966, 508, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, @@ -6502,7 +5566,82 @@ var yyAct = [...]int{ 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, + 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, + 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, + 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, + 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, + 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, + 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, + 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, + 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, + 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, + 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, + 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, + 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, + 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, + 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, + 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, + 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, + 0, 3733, 0, 0, 0, 366, 0, 331, 197, 225, + 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, + 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, + 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, + 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, + 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, + 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, + 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, + 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, + 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, + 591, 257, 653, 228, 623, 220, 0, 622, 409, 585, + 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, + 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, + 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, + 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, + 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, + 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, + 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, + 240, 607, 497, 199, 0, 0, 0, 0, 255, 256, + 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, + 509, 515, 510, 511, 512, 513, 514, 0, 516, 0, + 0, 0, 0, 0, 399, 0, 592, 593, 673, 385, + 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, + 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, + 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, + 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, + 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, + 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, + 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, + 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, + 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, + 567, 551, 539, 532, 540, 0, 196, 221, 369, 0, + 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, + 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, + 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, + 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, + 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, + 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, + 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, @@ -6511,13 +5650,13 @@ var yyAct = [...]int{ 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 0, 367, 268, 0, 1915, + 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 0, 0, 0, 0, 508, 725, 0, + 499, 287, 0, 95, 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, @@ -6576,7 +5715,82 @@ var yyAct = [...]int{ 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, + 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, + 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, + 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, + 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, + 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, + 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, + 0, 0, 2432, 0, 0, 0, 0, 0, 0, 417, + 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, + 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, + 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, + 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, + 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, + 0, 0, 0, 508, 194, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, + 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, + 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, + 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, + 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, + 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, + 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, + 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, + 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, + 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, + 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, + 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, + 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, + 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, + 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, + 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, + 416, 590, 591, 257, 653, 228, 623, 220, 0, 622, + 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, + 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, + 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, + 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, + 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, + 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, + 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, + 426, 473, 240, 607, 497, 199, 0, 0, 0, 0, + 255, 256, 0, 576, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, + 516, 0, 0, 0, 0, 0, 399, 0, 592, 593, + 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, + 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, + 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, + 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, + 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, + 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, + 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, + 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, + 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, + 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, + 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, + 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, @@ -6586,12 +5800,12 @@ var yyAct = [...]int{ 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, - 0, 1913, 204, 506, 0, 431, 0, 203, 0, 488, + 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, - 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, + 202, 414, 499, 287, 0, 0, 0, 0, 1785, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, @@ -6644,14 +5858,89 @@ var yyAct = [...]int{ 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, - 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, - 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, - 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, - 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, - 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, + 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, + 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, + 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, + 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, + 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, + 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, + 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, + 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, + 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, + 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, + 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, + 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, + 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, + 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, + 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, + 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, + 0, 0, 0, 0, 0, 508, 194, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, + 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, + 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, + 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, + 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 276, 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, 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, 0, 0, 0, + 0, 0, 298, 0, 403, 258, 0, 454, 0, 0, + 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, + 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, + 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, + 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, + 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, + 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, + 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, + 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, + 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, + 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, + 0, 259, 416, 590, 591, 257, 653, 228, 623, 220, + 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, + 383, 335, 356, 357, 281, 308, 448, 376, 449, 307, + 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, + 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, + 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, + 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, + 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, + 0, 0, 426, 473, 240, 607, 497, 199, 0, 0, + 0, 0, 255, 256, 0, 576, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, + 514, 0, 516, 0, 0, 0, 0, 0, 399, 0, + 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, + 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, + 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, + 217, 218, 525, 526, 527, 528, 620, 621, 625, 205, + 463, 464, 465, 466, 293, 615, 310, 469, 468, 332, + 333, 380, 450, 541, 543, 554, 558, 560, 562, 568, + 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, + 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, + 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, + 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, + 196, 221, 369, 2084, 455, 289, 651, 619, 485, 614, + 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, + 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, + 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, + 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, + 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, + 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, @@ -6665,8 +5954,8 @@ var yyAct = [...]int{ 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, - 248, 326, 202, 414, 499, 287, 0, 1888, 0, 0, - 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, + 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, + 2075, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, @@ -6725,7 +6014,82 @@ var yyAct = [...]int{ 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, + 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, + 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, + 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, + 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, + 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, + 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, + 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, + 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, + 0, 271, 0, 0, 0, 0, 367, 268, 0, 1933, + 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, + 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, + 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, + 499, 287, 0, 0, 0, 0, 0, 508, 725, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, + 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, + 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, + 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, + 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 276, 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, 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, 0, + 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, + 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, + 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, + 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, + 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, + 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, + 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, + 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, + 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, + 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, + 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, + 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, + 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, + 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, + 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, + 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, + 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, + 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, + 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, + 334, 374, 0, 0, 426, 473, 240, 607, 497, 199, + 0, 0, 0, 0, 255, 256, 0, 576, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, + 512, 513, 514, 0, 516, 0, 0, 0, 0, 0, + 399, 0, 592, 593, 673, 385, 487, 604, 336, 350, + 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, + 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, + 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, + 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, + 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, + 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, + 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, + 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, + 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, + 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, + 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, + 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, + 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, + 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, + 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, + 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, @@ -6733,14 +6097,14 @@ var yyAct = [...]int{ 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, - 0, 0, 0, 0, 0, 0, 1785, 271, 0, 0, - 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, + 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, + 0, 0, 367, 268, 0, 1931, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 0, 508, 194, 0, 0, 0, 0, 0, + 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, @@ -6799,7 +6163,82 @@ var yyAct = [...]int{ 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 302, + 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, + 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, + 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, + 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, + 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, + 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, + 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, + 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, + 0, 1929, 204, 506, 0, 431, 0, 203, 0, 488, + 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, + 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, + 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, + 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, + 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, + 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, + 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, 403, 258, + 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, + 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, + 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, + 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, + 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, + 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, + 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, + 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, + 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, + 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, + 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, + 653, 228, 623, 220, 0, 622, 409, 585, 596, 395, + 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, + 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, + 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, + 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, + 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, + 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, + 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, + 497, 199, 0, 0, 0, 0, 255, 256, 0, 576, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, + 510, 511, 512, 513, 514, 0, 516, 0, 0, 0, + 0, 0, 399, 0, 592, 593, 673, 385, 487, 604, + 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, + 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, + 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, + 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, + 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, + 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, + 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, + 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, + 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, + 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, + 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, + 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, + 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, + 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, + 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, + 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, + 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, @@ -6808,13 +6247,13 @@ var yyAct = [...]int{ 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, - 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, + 0, 0, 0, 0, 367, 268, 0, 1927, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 95, 0, 0, 0, 508, 960, 0, 0, 0, + 0, 0, 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, @@ -6873,7 +6312,82 @@ var yyAct = [...]int{ 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, + 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, + 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, + 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, + 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, + 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, + 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, + 367, 268, 0, 1925, 204, 506, 0, 431, 0, 203, + 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, + 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, + 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, + 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, + 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, + 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, + 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, + 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, + 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, + 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, + 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, + 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, + 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, + 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, + 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, + 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, + 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, + 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, + 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, + 591, 257, 653, 228, 623, 220, 0, 622, 409, 585, + 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, + 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, + 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, + 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, + 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, + 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, + 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, + 240, 607, 497, 199, 0, 0, 0, 0, 255, 256, + 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, + 509, 515, 510, 511, 512, 513, 514, 0, 516, 0, + 0, 0, 0, 0, 399, 0, 592, 593, 673, 385, + 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, + 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, + 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, + 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, + 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, + 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, + 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, + 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, + 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, + 567, 551, 539, 532, 540, 0, 196, 221, 369, 0, + 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, + 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, + 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, + 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, + 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, + 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, + 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, @@ -6882,13 +6396,13 @@ var yyAct = [...]int{ 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, + 0, 271, 0, 0, 0, 0, 367, 268, 0, 1921, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 0, 0, 0, 0, 508, 194, 0, + 499, 287, 0, 0, 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, @@ -6903,7 +6417,7 @@ var yyAct = [...]int{ 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, 1457, 0, 298, 0, 403, 258, 0, 454, + 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, @@ -6947,8 +6461,83 @@ var yyAct = [...]int{ 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, - 303, 445, 446, 315, 316, 647, 648, 1456, 601, 634, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, + 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, + 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, + 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, + 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, + 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, + 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, + 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, + 0, 0, 367, 268, 0, 1919, 204, 506, 0, 431, + 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, + 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, + 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, + 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, + 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, + 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, + 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, + 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, + 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, + 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, + 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, + 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, + 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, + 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, + 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, + 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, + 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, + 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, + 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, + 416, 590, 591, 257, 653, 228, 623, 220, 0, 622, + 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, + 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, + 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, + 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, + 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, + 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, + 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, + 426, 473, 240, 607, 497, 199, 0, 0, 0, 0, + 255, 256, 0, 576, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, + 516, 0, 0, 0, 0, 0, 399, 0, 592, 593, + 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, + 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, + 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, + 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, + 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, + 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, + 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, + 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, + 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, + 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, + 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, + 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 302, + 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, @@ -6957,13 +6546,13 @@ var yyAct = [...]int{ 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, - 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, + 0, 1917, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, - 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, @@ -7015,14 +6604,89 @@ var yyAct = [...]int{ 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1050, 0, 0, 0, 198, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, + 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, + 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, + 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, + 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, + 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, + 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 417, 0, 0, 0, 0, 0, 0, 0, 271, + 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, + 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, + 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, + 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, + 0, 1892, 0, 0, 0, 508, 725, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, + 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, + 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, + 0, 266, 322, 273, 265, 581, 0, 0, 0, 0, + 0, 0, 597, 0, 0, 229, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 276, 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, 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, 0, 0, 0, + 0, 0, 298, 0, 403, 258, 0, 454, 0, 0, + 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, + 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, + 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, + 433, 470, 441, 288, 0, 0, 471, 373, 586, 451, + 602, 631, 632, 264, 407, 616, 523, 624, 649, 226, + 261, 421, 507, 608, 495, 398, 582, 583, 330, 494, + 296, 201, 370, 637, 224, 480, 372, 242, 231, 588, + 613, 300, 252, 290, 457, 644, 213, 518, 599, 239, + 484, 0, 0, 652, 247, 505, 611, 600, 215, 595, + 504, 394, 327, 328, 214, 0, 458, 269, 294, 0, + 0, 259, 416, 590, 591, 257, 653, 228, 623, 220, + 0, 622, 409, 585, 596, 395, 384, 219, 594, 393, + 383, 335, 356, 357, 281, 308, 448, 376, 449, 307, + 309, 405, 404, 406, 207, 609, 627, 0, 208, 0, + 500, 612, 654, 453, 212, 234, 235, 237, 0, 280, + 284, 292, 295, 304, 305, 314, 368, 420, 447, 443, + 452, 0, 580, 603, 617, 629, 635, 636, 638, 639, + 640, 641, 642, 645, 643, 408, 312, 496, 334, 374, + 0, 0, 426, 473, 240, 607, 497, 199, 0, 0, + 0, 0, 255, 256, 0, 576, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, 672, 650, 509, 515, 510, 511, 512, 513, + 514, 0, 516, 0, 0, 0, 0, 0, 399, 0, + 592, 593, 673, 385, 487, 604, 336, 350, 353, 342, + 362, 0, 363, 338, 339, 344, 347, 348, 349, 354, + 355, 359, 365, 249, 210, 391, 400, 579, 313, 216, + 217, 218, 525, 526, 527, 528, 620, 621, 625, 205, + 463, 464, 465, 466, 293, 615, 310, 469, 468, 332, + 333, 380, 450, 541, 543, 554, 558, 560, 562, 568, + 571, 542, 544, 555, 559, 561, 563, 569, 572, 531, + 533, 535, 537, 550, 549, 546, 574, 575, 552, 557, + 536, 548, 553, 566, 573, 570, 530, 534, 538, 547, + 565, 564, 545, 556, 567, 551, 539, 532, 540, 0, + 196, 221, 369, 0, 455, 289, 651, 619, 485, 614, + 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 198, 200, 209, 222, 232, + 236, 243, 262, 277, 279, 286, 299, 311, 319, 320, + 323, 329, 381, 387, 388, 389, 390, 410, 411, 412, + 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, + 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, + 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, @@ -7030,7 +6694,7 @@ var yyAct = [...]int{ 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, - 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, + 0, 0, 0, 0, 1789, 271, 0, 0, 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, @@ -7052,7 +6716,7 @@ var yyAct = [...]int{ 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, 298, 0, - 403, 258, 0, 454, 0, 676, 0, 630, 0, 0, + 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, @@ -7096,7 +6760,82 @@ var yyAct = [...]int{ 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, - 626, 633, 481, 302, 303, 445, 446, 315, 316, 647, + 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, + 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, + 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, + 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, + 230, 260, 275, 278, 325, 392, 401, 430, 435, 297, + 272, 244, 460, 241, 486, 520, 521, 522, 524, 396, + 267, 434, 397, 0, 377, 577, 578, 317, 0, 0, + 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, + 0, 271, 0, 0, 0, 0, 367, 268, 0, 0, + 204, 506, 0, 431, 0, 203, 0, 488, 253, 378, + 375, 584, 283, 274, 270, 250, 318, 386, 429, 519, + 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, + 499, 287, 0, 95, 0, 0, 0, 508, 960, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, + 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, + 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, + 0, 0, 0, 266, 322, 273, 265, 581, 0, 0, + 0, 0, 0, 0, 597, 0, 0, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 276, 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, 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, 0, + 0, 0, 0, 0, 298, 0, 403, 258, 0, 454, + 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, + 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, + 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, + 285, 459, 433, 470, 441, 288, 0, 0, 471, 373, + 586, 451, 602, 631, 632, 264, 407, 616, 523, 624, + 649, 226, 261, 421, 507, 608, 495, 398, 582, 583, + 330, 494, 296, 201, 370, 637, 224, 480, 372, 242, + 231, 588, 613, 300, 252, 290, 457, 644, 213, 518, + 599, 239, 484, 0, 0, 652, 247, 505, 611, 600, + 215, 595, 504, 394, 327, 328, 214, 0, 458, 269, + 294, 0, 0, 259, 416, 590, 591, 257, 653, 228, + 623, 220, 0, 622, 409, 585, 596, 395, 384, 219, + 594, 393, 383, 335, 356, 357, 281, 308, 448, 376, + 449, 307, 309, 405, 404, 406, 207, 609, 627, 0, + 208, 0, 500, 612, 654, 453, 212, 234, 235, 237, + 0, 280, 284, 292, 295, 304, 305, 314, 368, 420, + 447, 443, 452, 0, 580, 603, 617, 629, 635, 636, + 638, 639, 640, 641, 642, 645, 643, 408, 312, 496, + 334, 374, 0, 0, 426, 473, 240, 607, 497, 199, + 0, 0, 0, 0, 255, 256, 0, 576, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 650, 509, 515, 510, 511, + 512, 513, 514, 0, 516, 0, 0, 0, 0, 0, + 399, 0, 592, 593, 673, 385, 487, 604, 336, 350, + 353, 342, 362, 0, 363, 338, 339, 344, 347, 348, + 349, 354, 355, 359, 365, 249, 210, 391, 400, 579, + 313, 216, 217, 218, 525, 526, 527, 528, 620, 621, + 625, 205, 463, 464, 465, 466, 293, 615, 310, 469, + 468, 332, 333, 380, 450, 541, 543, 554, 558, 560, + 562, 568, 571, 542, 544, 555, 559, 561, 563, 569, + 572, 531, 533, 535, 537, 550, 549, 546, 574, 575, + 552, 557, 536, 548, 553, 566, 573, 570, 530, 534, + 538, 547, 565, 564, 545, 556, 567, 551, 539, 532, + 540, 0, 196, 221, 369, 0, 455, 289, 651, 619, + 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 198, 200, 209, + 222, 232, 236, 243, 262, 277, 279, 286, 299, 311, + 319, 320, 323, 329, 381, 387, 388, 389, 390, 410, + 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, + 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, + 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, @@ -7111,7 +6850,7 @@ var yyAct = [...]int{ 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, - 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, + 0, 0, 0, 508, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, @@ -7125,7 +6864,7 @@ var yyAct = [...]int{ 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, @@ -7164,13 +6903,88 @@ var yyAct = [...]int{ 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, - 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, - 381, 387, 388, 389, 390, 4139, 411, 412, 415, 418, - 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, - 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, - 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, - 589, 606, 626, 633, 481, 302, 303, 445, 446, 315, + 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 302, + 303, 445, 446, 315, 316, 647, 648, 1460, 601, 634, + 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, + 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, + 211, 246, 230, 260, 275, 278, 325, 392, 401, 430, + 435, 297, 272, 244, 460, 241, 486, 520, 521, 522, + 524, 396, 267, 434, 397, 0, 377, 577, 578, 317, + 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, + 0, 0, 0, 271, 0, 0, 0, 0, 367, 268, + 0, 0, 204, 506, 0, 431, 0, 203, 0, 488, + 253, 378, 375, 584, 283, 274, 270, 250, 318, 386, + 429, 519, 423, 0, 371, 0, 0, 498, 402, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, + 202, 414, 499, 287, 0, 0, 0, 0, 0, 508, + 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, + 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, + 0, 610, 0, 0, 0, 266, 322, 273, 265, 581, + 0, 0, 0, 0, 0, 0, 597, 0, 0, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, 403, 258, + 0, 454, 0, 0, 0, 630, 0, 0, 0, 0, + 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, + 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, + 605, 233, 285, 459, 433, 470, 441, 288, 0, 0, + 471, 373, 586, 451, 602, 631, 632, 264, 407, 616, + 523, 624, 649, 226, 261, 421, 507, 608, 495, 398, + 582, 583, 330, 494, 296, 201, 370, 637, 224, 480, + 372, 242, 231, 588, 613, 300, 252, 290, 457, 644, + 213, 518, 599, 239, 484, 0, 0, 652, 247, 505, + 611, 600, 215, 595, 504, 394, 327, 328, 214, 0, + 458, 269, 294, 0, 0, 259, 416, 590, 591, 257, + 653, 228, 623, 220, 0, 622, 409, 585, 596, 395, + 384, 219, 594, 393, 383, 335, 356, 357, 281, 308, + 448, 376, 449, 307, 309, 405, 404, 406, 207, 609, + 627, 0, 208, 0, 500, 612, 654, 453, 212, 234, + 235, 237, 0, 280, 284, 292, 295, 304, 305, 314, + 368, 420, 447, 443, 452, 0, 580, 603, 617, 629, + 635, 636, 638, 639, 640, 641, 642, 645, 643, 408, + 312, 496, 334, 374, 0, 0, 426, 473, 240, 607, + 497, 199, 0, 0, 0, 0, 255, 256, 0, 576, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 650, 509, 515, + 510, 511, 512, 513, 514, 0, 516, 0, 0, 0, + 0, 0, 399, 0, 592, 593, 673, 385, 487, 604, + 336, 350, 353, 342, 362, 0, 363, 338, 339, 344, + 347, 348, 349, 354, 355, 359, 365, 249, 210, 391, + 400, 579, 313, 216, 217, 218, 525, 526, 527, 528, + 620, 621, 625, 205, 463, 464, 465, 466, 293, 615, + 310, 469, 468, 332, 333, 380, 450, 541, 543, 554, + 558, 560, 562, 568, 571, 542, 544, 555, 559, 561, + 563, 569, 572, 531, 533, 535, 537, 550, 549, 546, + 574, 575, 552, 557, 536, 548, 553, 566, 573, 570, + 530, 534, 538, 547, 565, 564, 545, 556, 567, 551, + 539, 532, 540, 0, 196, 221, 369, 0, 455, 289, + 651, 619, 485, 614, 206, 223, 0, 263, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1050, 0, 0, 0, 198, + 200, 209, 222, 232, 236, 243, 262, 277, 279, 286, + 299, 311, 319, 320, 323, 329, 381, 387, 388, 389, + 390, 410, 411, 412, 415, 418, 419, 422, 424, 425, + 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, + 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, + 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, + 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, @@ -7185,7 +6999,7 @@ var yyAct = [...]int{ 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, 499, 287, - 0, 0, 0, 0, 0, 508, 725, 0, 0, 0, + 0, 0, 0, 0, 0, 508, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, 0, 0, @@ -7200,7 +7014,7 @@ var yyAct = [...]int{ 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, 298, 0, 403, 258, 0, 454, 0, 0, + 0, 0, 298, 0, 403, 258, 0, 454, 0, 676, 0, 630, 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, 472, 427, 605, 233, 285, 459, @@ -7244,7 +7058,82 @@ var yyAct = [...]int{ 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, - 517, 587, 589, 606, 626, 633, 481, 302, 303, 445, + 517, 587, 589, 606, 626, 633, 481, 0, 0, 0, + 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, + 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, + 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, + 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, + 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, + 521, 522, 524, 396, 267, 434, 397, 0, 377, 577, + 578, 317, 0, 0, 0, 529, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, + 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, + 367, 268, 0, 0, 204, 506, 0, 431, 0, 203, + 0, 488, 253, 378, 375, 584, 283, 274, 270, 250, + 318, 386, 429, 519, 423, 0, 371, 0, 0, 498, + 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, + 248, 326, 202, 414, 499, 287, 0, 0, 0, 0, + 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, + 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, + 346, 0, 0, 610, 0, 0, 0, 266, 322, 273, + 265, 581, 0, 0, 0, 0, 0, 0, 597, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, 298, 0, + 403, 258, 0, 454, 0, 0, 0, 630, 0, 0, + 0, 0, 0, 0, 0, 366, 0, 331, 197, 225, + 0, 0, 413, 462, 474, 0, 0, 0, 254, 0, + 472, 427, 605, 233, 285, 459, 433, 470, 441, 288, + 0, 0, 471, 373, 586, 451, 602, 631, 632, 264, + 407, 616, 523, 624, 649, 226, 261, 421, 507, 608, + 495, 398, 582, 583, 330, 494, 296, 201, 370, 637, + 224, 480, 372, 242, 231, 588, 613, 300, 252, 290, + 457, 644, 213, 518, 599, 239, 484, 0, 0, 652, + 247, 505, 611, 600, 215, 595, 504, 394, 327, 328, + 214, 0, 458, 269, 294, 0, 0, 259, 416, 590, + 591, 257, 653, 228, 623, 220, 0, 622, 409, 585, + 596, 395, 384, 219, 594, 393, 383, 335, 356, 357, + 281, 308, 448, 376, 449, 307, 309, 405, 404, 406, + 207, 609, 627, 0, 208, 0, 500, 612, 654, 453, + 212, 234, 235, 237, 0, 280, 284, 292, 295, 304, + 305, 314, 368, 420, 447, 443, 452, 0, 580, 603, + 617, 629, 635, 636, 638, 639, 640, 641, 642, 645, + 643, 408, 312, 496, 334, 374, 0, 0, 426, 473, + 240, 607, 497, 199, 0, 0, 0, 0, 255, 256, + 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, 672, 650, + 509, 515, 510, 511, 512, 513, 514, 0, 516, 0, + 0, 0, 0, 0, 399, 0, 592, 593, 673, 385, + 487, 604, 336, 350, 353, 342, 362, 0, 363, 338, + 339, 344, 347, 348, 349, 354, 355, 359, 365, 249, + 210, 391, 400, 579, 313, 216, 217, 218, 525, 526, + 527, 528, 620, 621, 625, 205, 463, 464, 465, 466, + 293, 615, 310, 469, 468, 332, 333, 380, 450, 541, + 543, 554, 558, 560, 562, 568, 571, 542, 544, 555, + 559, 561, 563, 569, 572, 531, 533, 535, 537, 550, + 549, 546, 574, 575, 552, 557, 536, 548, 553, 566, + 573, 570, 530, 534, 538, 547, 565, 564, 545, 556, + 567, 551, 539, 532, 540, 0, 196, 221, 369, 0, + 455, 289, 651, 619, 485, 614, 206, 223, 0, 263, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 198, 200, 209, 222, 232, 236, 243, 262, 277, + 279, 286, 299, 311, 319, 320, 323, 329, 381, 387, + 388, 389, 390, 4143, 411, 412, 415, 418, 419, 422, + 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, + 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, + 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, + 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, 211, 246, @@ -7259,7 +7148,7 @@ var yyAct = [...]int{ 423, 0, 371, 0, 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 248, 326, 202, 414, - 499, 287, 0, 0, 0, 0, 0, 508, 960, 0, + 499, 287, 0, 0, 0, 0, 0, 508, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, 364, 337, 346, 0, 0, 610, @@ -7318,7 +7207,82 @@ var yyAct = [...]int{ 411, 412, 415, 418, 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, - 501, 502, 517, 587, 589, 606, 626, 633, 481, 302, + 501, 502, 517, 587, 589, 606, 626, 633, 481, 0, + 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, + 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, + 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, + 291, 251, 0, 0, 211, 246, 230, 260, 275, 278, + 325, 392, 401, 430, 435, 297, 272, 244, 460, 241, + 486, 520, 521, 522, 524, 396, 267, 434, 397, 0, + 377, 577, 578, 317, 0, 0, 0, 529, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, + 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, + 0, 0, 367, 268, 0, 0, 204, 506, 0, 431, + 0, 203, 0, 488, 253, 378, 375, 584, 283, 274, + 270, 250, 318, 386, 429, 519, 423, 0, 371, 0, + 0, 498, 402, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 324, 248, 326, 202, 414, 499, 287, 0, 0, + 0, 0, 0, 508, 960, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 0, 0, 245, 0, 0, + 0, 352, 361, 360, 340, 341, 343, 345, 351, 358, + 364, 337, 346, 0, 0, 610, 0, 0, 0, 266, + 322, 273, 265, 581, 0, 0, 0, 0, 0, 0, + 597, 0, 0, 229, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 276, 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, 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, 0, 0, 0, 0, 0, + 298, 0, 403, 258, 0, 454, 0, 0, 0, 630, + 0, 0, 0, 0, 0, 0, 0, 366, 0, 331, + 197, 225, 0, 0, 413, 462, 474, 0, 0, 0, + 254, 0, 472, 427, 605, 233, 285, 459, 433, 470, + 441, 288, 0, 0, 471, 373, 586, 451, 602, 631, + 632, 264, 407, 616, 523, 624, 649, 226, 261, 421, + 507, 608, 495, 398, 582, 583, 330, 494, 296, 201, + 370, 637, 224, 480, 372, 242, 231, 588, 613, 300, + 252, 290, 457, 644, 213, 518, 599, 239, 484, 0, + 0, 652, 247, 505, 611, 600, 215, 595, 504, 394, + 327, 328, 214, 0, 458, 269, 294, 0, 0, 259, + 416, 590, 591, 257, 653, 228, 623, 220, 0, 622, + 409, 585, 596, 395, 384, 219, 594, 393, 383, 335, + 356, 357, 281, 308, 448, 376, 449, 307, 309, 405, + 404, 406, 207, 609, 627, 0, 208, 0, 500, 612, + 654, 453, 212, 234, 235, 237, 0, 280, 284, 292, + 295, 304, 305, 314, 368, 420, 447, 443, 452, 0, + 580, 603, 617, 629, 635, 636, 638, 639, 640, 641, + 642, 645, 643, 408, 312, 496, 334, 374, 0, 0, + 426, 473, 240, 607, 497, 199, 0, 0, 0, 0, + 255, 256, 0, 576, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 650, 509, 515, 510, 511, 512, 513, 514, 0, + 516, 0, 0, 0, 0, 0, 399, 0, 592, 593, + 673, 385, 487, 604, 336, 350, 353, 342, 362, 0, + 363, 338, 339, 344, 347, 348, 349, 354, 355, 359, + 365, 249, 210, 391, 400, 579, 313, 216, 217, 218, + 525, 526, 527, 528, 620, 621, 625, 205, 463, 464, + 465, 466, 293, 615, 310, 469, 468, 332, 333, 380, + 450, 541, 543, 554, 558, 560, 562, 568, 571, 542, + 544, 555, 559, 561, 563, 569, 572, 531, 533, 535, + 537, 550, 549, 546, 574, 575, 552, 557, 536, 548, + 553, 566, 573, 570, 530, 534, 538, 547, 565, 564, + 545, 556, 567, 551, 539, 532, 540, 0, 196, 221, + 369, 0, 455, 289, 651, 619, 485, 614, 206, 223, + 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 198, 200, 209, 222, 232, 236, 243, + 262, 277, 279, 286, 299, 311, 319, 320, 323, 329, + 381, 387, 388, 389, 390, 410, 411, 412, 415, 418, + 419, 422, 424, 425, 428, 432, 436, 437, 438, 440, + 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, + 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, + 589, 606, 626, 633, 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, 0, 0, @@ -7393,36 +7357,38 @@ var yyAct = [...]int{ 428, 432, 436, 437, 438, 440, 442, 444, 456, 461, 475, 476, 477, 478, 479, 482, 483, 489, 490, 491, 492, 493, 501, 502, 517, 587, 589, 606, 626, 633, - 481, 302, 303, 445, 446, 315, 316, 647, 648, 301, - 601, 634, 598, 646, 628, 439, 379, 0, 0, 382, - 282, 306, 321, 0, 618, 503, 227, 467, 291, 251, - 0, 0, 211, 246, 230, 260, 275, 278, 325, 392, - 401, 430, 435, 297, 272, 244, 460, 241, 486, 520, - 521, 522, 524, 396, 267, 434, 0, 0, 377, 577, - 578, 317, + 481, 0, 0, 0, 0, 302, 303, 445, 446, 315, + 316, 647, 648, 301, 601, 634, 598, 646, 628, 439, + 379, 0, 0, 382, 282, 306, 321, 0, 618, 503, + 227, 467, 291, 251, 0, 0, 211, 246, 230, 260, + 275, 278, 325, 392, 401, 430, 435, 297, 272, 244, + 460, 241, 486, 520, 521, 522, 524, 396, 267, 434, + 0, 0, 377, 577, 578, 317, } var yyPact = [...]int{ - -1000, -1000, 4350, -1000, -549, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 6564, -1000, -552, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 2500, 2660, -1000, -1000, -1000, -1000, 2653, -1000, 949, + 2093, -1000, 2460, 5133, -1000, 55810, 466, -1000, 52826, -417, + 578, 254, 36414, -1000, 192, -1000, 182, 54318, 187, -1000, + -1000, -1000, -1000, -417, 22240, 2338, 47, 45, 55810, -1000, + -1000, -1000, -1000, -374, 2593, 2062, -1000, 401, -1000, -1000, + -1000, -1000, -1000, -1000, 52080, -1000, 1051, -1000, -1000, 2479, + 2470, 2306, 857, 2333, -1000, 2499, 2062, -1000, 22240, 2575, + 2476, 21494, 21494, 416, -1000, -1000, 265, -1000, -1000, 31192, + 55810, 39398, 314, -1000, 2460, -1000, -1000, -1000, 213, -1000, + 320, 1980, -1000, 1979, -1000, 1044, 959, 350, 461, 415, + 346, 345, 344, 343, 339, 337, 336, 333, 360, -1000, + 877, 877, -219, -225, 373, 391, 403, 403, 1099, 443, + 2380, 2362, -1000, -1000, 877, 877, 877, 329, 877, 877, + 877, 877, 283, 277, 877, 877, 877, 877, 877, 877, + 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, + 877, 909, 2460, 259, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 2520, 2555, -1000, -1000, -1000, -1000, 2696, -1000, 1031, - 2117, -1000, 2474, 4989, -1000, 56250, 778, -1000, 53282, -420, - 897, 238, 36958, -1000, 193, -1000, 186, 54766, 189, -1000, - -1000, -1000, -1000, -420, 22860, 2334, 57, 55, 56250, -1000, - -1000, -1000, -1000, -373, 2641, 2087, -1000, 392, -1000, -1000, - -1000, -1000, -1000, -1000, 52540, -1000, 1119, -1000, -1000, 2482, - 2485, 2309, 941, 2399, -1000, 2569, 2087, -1000, 22860, 2632, - 2475, 22118, 22118, 456, -1000, -1000, 269, -1000, -1000, 31764, - 56250, 39926, 322, -1000, 2474, -1000, -1000, -1000, 211, -1000, - 342, 1987, -1000, 1971, -1000, 937, 914, 389, 473, 471, - 386, 385, 384, 368, 367, 363, 358, 355, 399, -1000, - 958, 958, -218, -220, 371, 769, 460, 460, 1035, 490, - 2427, 2379, -1000, -1000, 958, 958, 958, 339, 958, 958, - 958, 958, 311, 310, 958, 958, 958, 958, 958, 958, - 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, - 958, 917, 2474, 270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -7468,69 +7434,69 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 55810, 203, 55810, -1000, 526, 462, + -1000, -1000, -463, 1019, 1019, 81, 1019, 1019, 1019, 1019, + 188, 980, 40, -1000, 179, 262, 184, 255, 1023, 180, + -1000, -1000, 248, 1023, 1748, -1000, 863, 251, 163, -1000, + 1019, 1019, -1000, 14756, 229, 14756, 14756, 244, 169, -1000, + 2434, -1000, -1000, -1000, -1000, -1000, 1177, -1000, -1000, -1000, + -1000, -38, 436, -1000, -1000, -1000, -1000, 54318, 51334, 284, + -1000, -1000, 340, 1838, 1207, 22240, 1377, 855, -1000, -1000, + 1438, 805, -1000, -1000, -1000, -1000, -1000, 497, -1000, 24478, + 24478, 24478, 24478, -1000, -1000, 1480, 50588, 1480, 1480, 24478, + 1480, 24478, 1480, 1480, 1480, 1480, 22240, 1480, 1480, 1480, + 1480, -1000, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, -1000, -1000, -1000, -1000, 1480, 525, 1480, 1480, 1480, + 1480, 1480, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1480, + 1480, 1480, 1480, 1480, 1480, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, -1000, -1000, + -1000, 1546, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1488, + 1406, 1402, 1399, -1000, 19256, 1480, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 56250, 194, 56250, -1000, 828, 775, - -1000, -1000, -459, 1114, 1114, 101, 1114, 1114, 1114, 1114, - 183, 1043, 54, -1000, 182, 261, 168, 271, 1096, 304, - -1000, -1000, 257, 1096, 1834, -1000, 946, 266, 169, -1000, - 1114, 1114, -1000, 15416, 203, 15416, 15416, 265, 172, -1000, - 2464, -1000, -1000, -1000, -1000, -1000, 1344, -1000, -1000, -1000, - -1000, -37, 489, -1000, -1000, -1000, -1000, 54766, 51798, 283, - -1000, -1000, 780, 1851, 1393, 22860, 1315, 938, -1000, -1000, - 1434, 900, -1000, -1000, -1000, -1000, -1000, 809, -1000, 25086, - 25086, 25086, 25086, -1000, -1000, 1830, 51056, 1830, 1830, 25086, - 1830, 25086, 1830, 1830, 1830, 1830, 22860, 1830, 1830, 1830, - 1830, -1000, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, -1000, -1000, -1000, -1000, 1830, 826, 1830, 1830, 1830, - 1830, 1830, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1830, - 1830, 1830, 1830, 1830, 1830, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, -1000, -1000, - -1000, 1692, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1693, - 1513, 1500, 1498, -1000, 19892, 1830, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 55810, -1000, 1480, + 210, 54318, 54318, 355, 1271, -1000, -1000, 2499, 2062, -1000, + 2593, 2581, 401, -1000, 3910, 1616, 1893, 1344, 2062, 1952, + 55810, -1000, 2005, -1000, -1000, -1000, -355, -356, 2232, 1361, + 1746, -1000, -1000, -1000, -1000, 2164, 22240, -1000, -1000, 2630, + -1000, 28208, 524, 2626, 49842, -1000, 416, 416, 1977, 417, + 15, -1000, -1000, -1000, -1000, 899, 35668, -1000, -1000, -1000, + -1000, -1000, 1917, 55810, -1000, -1000, 5083, 54318, -1000, 2084, + -1000, 1906, -1000, 2043, 22240, 2095, 459, 54318, 452, 449, + 448, 428, -62, -1000, -1000, -1000, -1000, -1000, -1000, 877, + 877, 877, -1000, 358, 2573, 5133, 7747, -1000, -1000, -1000, + 49096, 2080, 54318, -1000, 2074, -1000, 981, 860, 844, 844, + 54318, -1000, -1000, 55064, 54318, 978, 977, 54318, 54318, 54318, + 54318, -1000, 48350, -1000, 47604, 46858, 1270, 54318, 46112, 45366, + 44620, 43874, 43128, -1000, 2287, -1000, 2275, -1000, -1000, -1000, + 55064, 54318, 54318, 55064, 54318, 55064, 55810, 54318, -1000, -1000, + 369, -1000, -1000, 1261, 1260, 1256, 877, 877, 1252, 1744, + 1738, 1700, 877, 877, 1251, 1697, 37906, 1672, 256, 1239, + 1226, 1225, 1303, 1667, 200, 1659, 1243, 1191, 1215, 54318, + 2072, 55810, -1000, 239, 1083, 970, 898, 2460, 2335, 1974, + 435, 458, 54318, 425, 425, 54318, -1000, 15508, 55810, 221, + -1000, 1650, 22240, -1000, 1029, 1023, 1023, -1000, -1000, -1000, + -1000, -1000, -1000, 1019, 55810, 1029, -1000, -1000, -1000, 1023, + 1019, 55810, 1019, 1019, 1019, 1019, 1023, 1023, 1023, 1019, + 55810, 55810, 55810, 55810, 55810, 55810, 55810, 55810, 55810, 14756, + 863, 1019, -464, -1000, 1626, -1000, -1000, -1000, 2205, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 56250, -1000, 1830, - 216, 54766, 54766, 340, 1333, -1000, -1000, 2569, 2087, -1000, - 2641, 2620, 392, -1000, 3919, 2111, 1683, 1406, 2087, 1954, - 56250, -1000, 2005, -1000, -1000, -1000, -357, -364, 2232, 1455, - 1829, -1000, -1000, -1000, -1000, 1798, 22860, -1000, -1000, 2693, - -1000, 28796, 823, 2687, 50314, -1000, 456, 456, 1969, 421, - 13, -1000, -1000, -1000, -1000, 979, 36216, -1000, -1000, -1000, - -1000, -1000, 1884, 56250, -1000, -1000, 5043, 54766, -1000, 2107, - -1000, 1875, -1000, 2041, 22860, 2126, 768, 54766, 523, 516, - 510, 475, -62, -1000, -1000, -1000, -1000, -1000, -1000, 958, - 958, 958, -1000, 395, 2623, 4989, 5064, -1000, -1000, -1000, - 49572, 2102, 54766, -1000, 2088, -1000, 1039, 861, 864, 864, - 54766, -1000, -1000, 55508, 54766, 1037, 1033, 54766, 54766, 54766, - 54766, -1000, 48830, -1000, 48088, 47346, 1331, 54766, 46604, 45862, - 45120, 44378, 43636, -1000, 2609, -1000, 2204, -1000, -1000, -1000, - 55508, 54766, 54766, 55508, 54766, 55508, 56250, 54766, -1000, -1000, - 357, -1000, -1000, 1329, 1327, 1319, 958, 958, 1317, 1828, - 1823, 1816, 958, 958, 1305, 1800, 38442, 1780, 276, 1299, - 1296, 1294, 1293, 1775, 259, 1757, 1237, 1220, 1272, 54766, - 2083, 56250, -1000, 250, 1070, 434, 978, 2474, 2331, 1964, - 488, 767, 54766, 474, 474, 54766, -1000, 16164, 56250, 230, - -1000, 1744, 22860, -1000, 1117, 1096, 1096, -1000, -1000, -1000, - -1000, -1000, -1000, 1114, 56250, 1117, -1000, -1000, -1000, 1096, - 1114, 56250, 1114, 1114, 1114, 1114, 1096, 1096, 1096, 1114, - 56250, 56250, 56250, 56250, 56250, 56250, 56250, 56250, 56250, 15416, - 946, 1114, -460, -1000, 1742, -1000, -1000, -1000, 2230, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -7545,338 +7511,336 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 14756, 14756, -1000, -1000, 2535, 2532, -1000, + -1000, -1000, 1963, -1000, 177, 6, 181, -1000, 42382, 438, + 897, -1000, 438, -1000, -1000, -1000, -1000, -1000, 1962, 41636, + -1000, -465, -470, -471, -472, -1000, -1000, -1000, -476, -478, + -1000, -1000, -1000, 22240, 22240, 22240, 22240, -269, -1000, 1153, + 24478, 2370, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 22240, + 243, 1007, 24478, 24478, 24478, 24478, 24478, 24478, 24478, 25970, + 25224, 24478, 24478, 24478, 24478, 24478, 24478, -1000, -1000, 33430, + 5686, 5686, 805, 805, 805, 805, -1000, -176, 1961, 55064, + -1000, -1000, -1000, 523, 22240, 22240, 805, -1000, 1229, 2012, + 19256, 22240, 22240, 22240, 22240, 908, 1207, 55064, 22240, -1000, + 1344, -1000, -1000, -1000, -1000, 1119, -1000, -1000, 1021, 2377, + 2377, 2377, 2377, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 2377, 22240, 905, 905, 1047, 22240, 22240, + 22240, 22240, 22240, 22240, 22240, 22240, 17764, 22240, 22240, 24478, + 22240, 22240, 22240, 1344, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 1344, 22240, 1846, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 17012, 22240, 22240, 22240, 22240, 22240, -1000, + -1000, -1000, -1000, -1000, -1000, 22240, 22240, 22240, 22240, 22240, + 22240, 22240, 22240, 1344, 22240, 22240, 22240, 22240, 22240, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1623, + 1345, 1532, 22240, -1000, 1954, -1000, -202, 30446, 22240, 1621, + 2623, 2133, 54318, -1000, -1000, -1000, -1000, 2499, -1000, 2499, + 1623, 3624, 2259, 21494, -1000, -1000, 3624, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 15416, - 15416, -1000, -1000, 2565, 2559, -1000, -1000, -1000, 1960, -1000, - 184, 17, 185, -1000, 42894, 535, 974, -1000, 535, -1000, - -1000, -1000, -1000, -1000, 1959, 42152, -1000, -461, -464, -467, - -469, -1000, -1000, -1000, -471, -473, -1000, -1000, -1000, 22860, - 22860, 22860, 22860, -257, -1000, 1217, 25086, 2491, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 22860, 247, 1131, 25086, 25086, - 25086, 25086, 25086, 25086, 25086, 26570, 25828, 25086, 25086, 25086, - 25086, 25086, 25086, -1000, -1000, 33990, 6271, 6271, 900, 900, - 900, 900, -1000, -174, 1958, 55508, -1000, -1000, -1000, 822, - 22860, 22860, 900, -1000, 1238, 2007, 19892, 22860, 22860, 22860, - 22860, 960, 1393, 55508, 22860, -1000, 1406, -1000, -1000, -1000, - -1000, 1234, -1000, -1000, 1081, 2376, 2376, 2376, 2376, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 2376, - 22860, 208, 208, 919, 22860, 22860, 22860, 22860, 22860, 22860, - 22860, 22860, 18408, 22860, 22860, 25086, 22860, 22860, 22860, 1406, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 1406, - 22860, 1221, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 17660, - 22860, 22860, 22860, 22860, 22860, -1000, -1000, -1000, -1000, -1000, - -1000, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 22860, 1406, - 22860, 22860, 22860, 22860, 22860, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1686, 1493, 1478, 22860, -1000, - 1957, -1000, -202, 31022, 22860, 1739, 2683, 2157, 54766, -1000, - -1000, -1000, -1000, 2569, -1000, 2569, 1686, 3881, 2277, 22118, - -1000, -1000, 3881, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1737, -1000, 56250, 1954, - 2545, 54766, -1000, -294, -1000, -295, 2272, 1730, 351, -1000, - 22860, 22860, 1953, -1000, 1399, 56250, -1000, -257, -1000, 41410, - -1000, -1000, 14668, 56250, 350, 56250, -1000, 30280, 40668, 306, - -1000, 13, 1933, -1000, 29, 1, 19150, 899, -1000, -1000, - -1000, 371, 27312, 1822, 899, 100, -1000, -1000, -1000, 2041, - -1000, 2041, 2041, 2041, 2041, 351, 351, 351, 351, -1000, - -1000, -1000, -1000, -1000, 2079, 2041, 2075, -1000, 2041, 2041, - 2041, 2041, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2073, - 2073, 2073, 2061, 2061, 2042, 2042, 447, -1000, 22860, 486, - 39926, 2537, 1270, 1538, 250, 475, 2144, 54766, 54766, 54766, - 56250, 989, -1000, 1445, 1412, 1398, -1000, -532, 1952, -1000, - -1000, 2617, -1000, -1000, 956, 1088, 1084, 1064, 54766, 214, - 335, -1000, 433, -1000, 39926, 54766, 1029, 864, 54766, -1000, - 54766, -1000, -1000, -1000, -1000, -1000, 54766, -1000, -1000, 1950, - -1000, 1927, 1106, 1083, 1098, 1080, 1950, -1000, -1000, -183, - 1950, -1000, 1950, -1000, 1950, -1000, 1950, -1000, 1950, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1001, 278, - -350, 54766, 214, 487, -1000, 485, 33990, -1000, -1000, -1000, - 33990, 33990, -1000, -1000, -1000, -1000, 1726, 1723, -1000, -1000, + 1720, -1000, 55810, 1952, 2519, 54318, -1000, -323, -1000, -328, + 2237, 1603, 354, -1000, 22240, 22240, 1949, -1000, 1605, 55810, + -1000, -269, -1000, 40890, -1000, -1000, 14004, 55810, 324, 55810, + -1000, 29700, 40144, 279, -1000, 15, 1933, -1000, 19, 3, + 18510, 586, -1000, -1000, -1000, 373, 26716, 1775, 586, 104, + -1000, -1000, -1000, 2043, -1000, 2043, 2043, 2043, 2043, 354, + 354, 354, 354, -1000, -1000, -1000, -1000, -1000, 2070, 2043, + 2068, -1000, 2043, 2043, 2043, 2043, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 2063, 2063, 2063, 2059, 2059, 2044, 2044, + 396, -1000, 22240, 475, 39398, 2490, 1211, 1323, 239, 428, + 2131, 54318, 54318, 54318, 55810, 913, -1000, 1482, 1479, 1455, + -1000, -537, 1944, -1000, -1000, 2572, -1000, -1000, 1081, 998, + 997, 925, 54318, 222, 318, -1000, 383, -1000, 39398, 54318, + 975, 844, 54318, -1000, 54318, -1000, -1000, -1000, -1000, -1000, + 54318, -1000, -1000, 1942, -1000, 1945, 1067, 994, 1028, 992, + 1942, -1000, -1000, -181, 1942, -1000, 1942, -1000, 1942, -1000, + 1942, -1000, 1942, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 973, 287, -345, 54318, 222, 433, -1000, 432, + 33430, -1000, -1000, -1000, 33430, 33430, -1000, -1000, -1000, -1000, + 1597, 1584, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -520, 56250, -1000, - 236, 971, 268, 376, 291, 56250, 405, 2423, 2413, 2403, - 2396, 2391, 2373, 2366, 242, 298, 56250, 56250, 474, 2206, - 56250, 2522, 56250, -1000, -1000, -1000, -1000, -1000, 1716, 1708, - -1000, 1393, 56250, -1000, -1000, 1114, 1114, -1000, -1000, 56250, - 1114, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1114, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 56250, -1000, -1000, -1000, -1000, - 1702, -1000, 56250, -37, 177, -1000, -1000, 54766, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -114, -1000, 854, - 26, 393, -1000, -1000, -1000, -1000, -1000, 2550, -1000, 1393, - 1021, 1010, -1000, 1830, -1000, -1000, 1233, -1000, -1000, -1000, - -1000, -1000, 1830, 1830, 1830, -1000, -1000, -1000, -1000, -1000, - 247, 25086, 25086, 25086, 1782, 777, 1891, 1812, 1474, 1231, - 1231, 976, 25086, 976, 25086, 918, 918, 918, 918, 918, - -1000, -1000, -1000, -1000, -1000, -1000, 1692, -1000, 1667, -1000, - 1830, 55508, 1827, 17660, 1747, 1599, 1406, 932, -1000, -1000, + -1000, -524, 55810, -1000, 234, 895, 297, 300, 288, 55810, + 852, 2423, 2422, 2418, 2396, 2394, 2367, 2361, 241, 270, + 55810, 55810, 425, 2193, 55810, 2495, 55810, -1000, -1000, -1000, + -1000, -1000, 1570, 1568, -1000, 1207, 55810, -1000, -1000, 1019, + 1019, -1000, -1000, 55810, 1019, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1019, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 55810, + -1000, -1000, -1000, -1000, 1548, -1000, 55810, -38, 175, -1000, + -1000, 54318, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -115, -1000, 774, 17, 394, -1000, -1000, -1000, -1000, + -1000, 2531, -1000, 1207, 935, 937, -1000, 1480, -1000, -1000, + 1136, -1000, -1000, -1000, -1000, -1000, 1480, 1480, 1480, -1000, + -1000, -1000, -1000, -1000, 243, 24478, 24478, 24478, 1593, 457, + 1640, 1214, 1477, 1248, 1248, 1266, 24478, 1266, 24478, 813, + 813, 813, 813, 813, -1000, -1000, -1000, -1000, -1000, -1000, + 1546, -1000, 1533, -1000, 1480, 55064, 1868, 17012, 1946, 1600, + 1344, 835, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3935, 1406, - 1851, 1406, 1674, 3902, 1026, -1000, 22860, 1406, 3610, -1000, - -1000, 1406, 1406, 22860, -1000, -1000, 22860, 22860, 22860, 22860, - 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, - 22860, 1538, 1947, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 3490, 1344, 1838, 1344, 2681, 3486, 912, -1000, + 22240, 1344, 3482, -1000, -1000, 1344, 1344, 22240, -1000, -1000, + 22240, 22240, 22240, 22240, 1323, 1323, 1323, 1323, 1323, 1323, + 1323, 1323, 1323, 1323, 22240, 1323, 1938, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1938, 2669, 1558, 1538, 1538, 1538, 1538, 3587, 1538, - 1538, 22860, 1358, -1000, -1000, -1000, 1419, 3583, 1684, 3572, - 1538, 1538, -1000, 1538, 3541, 3536, 1406, 2928, 2820, 1538, - 1538, 1538, 1538, 1538, 2792, 2778, 1538, 1538, 2705, 1538, - 3522, 1538, 2698, 2681, 2677, 2633, 2611, 2603, 2594, 2570, - 2561, 2539, 2533, 2523, 2509, 2492, 2458, 2448, 2444, 2407, - 1538, 1538, 1538, 3508, 1538, 3489, 1538, 3485, 1538, 1538, - 3474, 2394, 2364, 1406, 1934, -1000, 3469, 1538, 3457, 3453, - 3446, 2354, 3427, 3422, 3418, 1538, 1538, 1538, 2339, 3413, - 3407, 3395, 3391, 3374, 3369, 3364, 3355, 3343, 1538, 1478, - 1478, 1478, 1478, 1478, 3253, -259, 1538, 1406, -1000, -1000, - -1000, -1000, -1000, 3092, 2333, 3042, 3030, 3011, 3003, 1406, - 1830, 821, -1000, -1000, 1478, 1406, 1406, 1478, 1478, 2995, - 2963, 2957, 2953, 2933, 2834, 1538, 1538, -1000, 1538, 2810, - 2800, 2303, 2290, 1406, -1000, 1478, 56250, -1000, -451, -1000, - -8, 954, 1830, -1000, 38442, 1406, -1000, 4349, -1000, 1168, - -1000, -1000, -1000, -1000, -1000, 35474, 1879, -1000, -1000, -1000, - -1000, 1830, 1762, -1000, -1000, -1000, -1000, 351, 73, 34732, - 890, 890, 123, 1393, 1393, 22860, -1000, -1000, -1000, -1000, - -1000, -1000, 820, 2642, 404, 1830, -1000, 1948, 3576, -1000, - -1000, -1000, 2544, 28054, -1000, -1000, 1830, 1830, 56250, 1939, - 1745, -1000, 819, -1000, 1320, 1933, 13, 24, -1000, -1000, - -1000, -1000, 1393, -1000, 1378, 353, 346, -1000, 437, -1000, - -1000, -1000, -1000, 2343, 81, -1000, -1000, -1000, 912, 351, - -1000, -1000, -1000, -1000, -1000, -1000, 1664, -1000, 1664, -1000, - -1000, -1000, -1000, -1000, 1268, -1000, -1000, -1000, -1000, 1266, - -1000, -1000, 1256, -1000, -1000, 2877, 2183, 486, -1000, -1000, - 958, 1655, -1000, -1000, 2356, 958, 958, 54766, -1000, -1000, - 1783, 2537, 236, 56250, 2203, -1000, 2144, 2144, 2144, -1000, - 2497, -1000, -1000, -1000, -1000, -1000, -1000, -522, 174, 609, - -1000, -1000, -1000, 1389, 54766, 1721, -1000, 224, -1000, 1779, - -1000, 54766, -1000, 1713, 2053, 54766, 54766, -1000, -1000, -1000, - 54766, 1830, -1000, -1000, -1000, -1000, 760, 2471, 319, -1000, - -1000, -283, -1000, -1000, 214, 224, 55508, 54766, 899, -1000, - -1000, -1000, -1000, -1000, -523, 1690, 506, 228, 328, 56250, - 56250, 56250, 56250, 56250, 56250, 800, -1000, -1000, 39, -1000, - -1000, 202, -1000, -1000, 1623, -1000, -1000, -1000, -1000, 202, - -1000, -1000, -1000, -1000, -1000, 275, 478, -1000, 56250, 56250, - 964, -1000, -1000, -1000, -1000, -1000, 1096, -1000, -1000, 1096, + -1000, -1000, -1000, -1000, -1000, 1937, 2622, 1695, 1323, 1323, + 1323, 1323, 3478, 1323, 1323, 22240, 2261, -1000, -1000, -1000, + 1389, 3471, 1386, 3466, 1323, 1323, -1000, 1323, 3462, 3450, + 1344, 2632, 2620, 1323, 1323, 1323, 1323, 1323, 2577, 2571, + 1323, 1323, 2567, 1323, 3434, 1323, 2558, 2549, 2541, 2533, + 2525, 2505, 2463, 2458, 2453, 2444, 2411, 2359, 2344, 2337, + 2298, 2294, 2283, 2254, 1323, 1323, 1323, 3417, 1323, 3413, + 1323, 3399, 1323, 1323, 3395, 2250, 2231, 1344, 1936, -1000, + 3389, 1323, 3385, 3378, 3373, 2204, 3368, 3359, 3352, 1323, + 1323, 1323, 2200, 3348, 3280, 3274, 3254, 3106, 3096, 3091, + 3071, 3056, 1323, 1532, 1532, 1532, 1532, 1532, 3045, -272, + 1323, 1344, -1000, -1000, -1000, -1000, -1000, 3033, 2180, 3027, + 3021, 3005, 2965, 1344, 1480, 522, -1000, -1000, 1532, 1344, + 1344, 1532, 1532, 2959, 2937, 2932, 2889, 2871, 2804, 1323, + 1323, -1000, 1323, 2800, 2796, 2170, 2155, 1344, -1000, 1532, + 55810, -1000, -455, -1000, -1, 945, 1480, -1000, 37906, 1344, + -1000, 5622, -1000, 1058, -1000, -1000, -1000, -1000, -1000, 34922, + 1957, -1000, -1000, -1000, -1000, 1480, 1834, -1000, -1000, -1000, + -1000, 354, 74, 34176, 572, 572, 117, 1207, 1207, 22240, + -1000, -1000, -1000, -1000, -1000, -1000, 519, 2591, 377, 1480, + -1000, 1862, 2348, -1000, -1000, -1000, 2514, 27462, -1000, -1000, + 1480, 1480, 55810, 1860, 1771, -1000, 518, -1000, 1280, 1933, + 15, -8, -1000, -1000, -1000, -1000, 1207, -1000, 1452, 328, + 352, -1000, 385, -1000, -1000, -1000, -1000, 2347, 73, -1000, + -1000, -1000, 833, 354, -1000, -1000, -1000, -1000, -1000, -1000, + 1517, -1000, 1517, -1000, -1000, -1000, -1000, -1000, 1209, -1000, + -1000, -1000, -1000, 1206, -1000, -1000, 1195, -1000, -1000, 2494, + 2124, 475, -1000, -1000, 877, 1507, -1000, -1000, 2353, 877, + 877, 54318, -1000, -1000, 1736, 2490, 234, 55810, 2184, -1000, + 2131, 2131, 2131, -1000, 2489, -1000, -1000, -1000, -1000, -1000, + -1000, -526, 158, 381, -1000, -1000, -1000, 6936, 54318, 1809, + -1000, 216, -1000, 1714, -1000, 54318, -1000, 1798, 2058, 54318, + 54318, -1000, -1000, -1000, 54318, 1480, -1000, -1000, -1000, -1000, + 454, 2457, 323, -1000, -1000, -297, -1000, -1000, 222, 216, + 55064, 54318, 586, -1000, -1000, -1000, -1000, -1000, -527, 1784, + 446, 225, 516, 55810, 55810, 55810, 55810, 55810, 55810, 495, + -1000, -1000, 30, -1000, -1000, 198, -1000, -1000, 1505, -1000, + -1000, -1000, -1000, 198, -1000, -1000, -1000, -1000, -1000, 266, + 431, -1000, 55810, 55810, 931, -1000, -1000, -1000, -1000, -1000, + 1023, -1000, -1000, 1023, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2432, 55810, 9, -493, + -1000, -490, 22240, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1347, 413, 1640, 24478, 24478, 2012, 2012, 24478, -1000, -1000, + -1000, 1062, 1062, 33430, -1000, 24478, 22240, -1000, -1000, 22240, + 22240, 22240, 903, -1000, 22240, 1311, -1000, 22240, -1000, -272, + 1532, 1323, 1323, 1323, 1323, -272, -272, -272, -272, -272, + -272, -272, -272, -272, -272, 1786, -1000, 22240, 22240, 22240, + 1344, 309, -1000, -1000, -1000, -272, 22240, -1000, -1000, 2621, + -1000, 22240, -1000, 33430, 22240, 22240, 22240, -1000, -1000, -1000, + 22240, 22240, -1000, -1000, 22240, -1000, 22240, -1000, -1000, -1000, + -1000, -1000, -1000, 22240, -1000, 22240, -1000, -1000, -1000, 22240, + -1000, 22240, -1000, -1000, 22240, -1000, 22240, -1000, 22240, -1000, + 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, + 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, + 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, + -1000, -1000, 22240, -1000, 22240, -1000, 22240, -1000, -1000, 22240, + -1000, 22240, -1000, 22240, -1000, 22240, 22240, -1000, 22240, 22240, + 22240, -1000, 22240, 22240, 22240, 22240, -1000, -1000, -1000, -1000, + 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, 22240, + -1000, -1000, -1000, -1000, -1000, -1000, 22240, -1000, 39398, 49, + -272, 1846, 49, 1846, 23732, 528, 517, 22986, -1000, 22240, + 16260, -1000, -1000, -1000, -1000, -1000, 22240, 22240, 22240, 22240, + 22240, 22240, -1000, -1000, -1000, 22240, 22240, -1000, 22240, -1000, + 22240, -1000, -1000, -1000, -1000, -1000, 945, -1000, 451, 418, + 844, 54318, -1000, -1000, -1000, -1000, 1929, -1000, 2530, -1000, + 2271, 2267, 2602, 2591, 21494, -1000, 29700, -1000, -1000, 54318, + -442, -1000, 2331, 2290, 572, 572, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 13252, 2499, 22240, 2179, 55064, 264, -1000, + 28954, 54318, 55064, 29700, 29700, 29700, 29700, 29700, -1000, 2217, + 2213, -1000, 2238, 2214, 2368, 55810, -1000, 1623, 1758, -1000, + 22240, 31938, 1774, 29700, -1000, -1000, 29700, 55810, 12500, -1000, + -1000, -7, -2, -1000, -1000, -1000, -1000, 373, -1000, -1000, + 1080, 2510, 2345, -1000, -1000, -1000, -1000, -1000, 1756, -1000, + 1735, 1927, 1710, 1689, 287, -1000, 2091, 2429, 877, 877, + -1000, 1194, -1000, 1229, 1503, 1500, -1000, -1000, -1000, 445, + -1000, 55810, 2168, 2165, 2159, -1000, -536, 1192, 2057, 1996, + 22240, 2054, 2570, 1908, 54318, -1000, -1000, 55064, -1000, 280, + -1000, 475, 54318, -1000, -1000, -1000, 318, 55810, -1000, 9373, + -1000, -1000, -1000, 216, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 55810, 233, -1000, 2046, 1087, -1000, -1000, 2121, -1000, + -1000, -1000, -1000, -1000, 209, 207, 1495, 195, 1486, -1000, + 195, -1000, 55810, 924, 2124, 55810, -1000, -1000, -1000, 1019, + 1019, -1000, -1000, 2416, -1000, 1229, 1323, 24478, 24478, -1000, + 805, -1000, -1000, 544, -240, 2043, 2043, -1000, 2043, 2044, + -1000, 2043, 164, 2043, 161, 2043, -1000, -1000, 1344, 1344, + -1000, 1532, 2151, 1328, 2782, -1000, 1207, 22240, 2776, -1000, + -1000, -272, -272, -272, -272, -272, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -69, 2767, 2732, 1323, + -1000, 2040, 2038, -1000, 1323, 22240, 1323, 1344, 2128, 1323, + 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, + 1323, 2119, 2115, 2106, 2090, 2086, 2081, 2075, 1995, 1991, + 1987, 1981, 1975, 1969, 1965, 1959, 1940, 1323, 1323, 1896, + 1323, 1875, 1871, -1000, 1207, 1532, 2702, 1532, 1323, 1323, + 2694, 315, 1323, 1671, 1671, 1671, 1671, 1671, 1532, 1532, + 1532, 1532, 1323, 54318, -1000, -272, -1000, -1000, -337, -338, + -1000, 1344, -272, 1922, 24478, 1323, 24478, 24478, 24478, 1323, + 1344, -1000, 1852, 1845, 2686, 1841, 1323, 2671, 1323, 1323, + 1323, 1831, -1000, 2526, 1480, 2526, 1480, 2526, 1654, 1058, + 55810, -1000, -1000, -1000, -1000, 2591, 2552, -1000, 1919, -1000, + 74, 611, -1000, 2301, 2290, -1000, 2566, 2327, 2563, -1000, + -1000, -1000, -1000, -1000, 1207, -1000, 2462, 1827, -1000, 886, + 1874, -1000, -1000, 20748, 1666, 2252, 512, 1654, 1870, 2348, + 2120, 2148, 3087, -1000, -1000, -1000, -1000, 2211, -1000, 2101, + -1000, -1000, 2005, -1000, 2662, 324, 29700, 1843, 1843, -1000, + 511, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1022, 9373, + 2646, -1000, 1483, -1000, 1318, 191, 1184, -1000, -1000, 877, + 877, -1000, 972, 961, -1000, 55810, 2031, -1000, 354, 1478, + 354, 1174, -1000, -1000, 1171, -1000, -1000, -1000, -1000, 2013, + 2251, -1000, -1000, -1000, -1000, 55810, -1000, 55810, 55810, 55810, + 2022, 2560, -1000, 22240, 2021, 885, 2176, 54318, 54318, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 2457, 56250, 20, -490, -1000, -486, 22860, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1666, 749, 1891, 25086, - 25086, 2007, 2007, 25086, -1000, -1000, -1000, 1076, 1076, 33990, - -1000, 25086, 22860, -1000, -1000, 22860, 22860, 22860, 981, -1000, - 22860, 1181, -1000, 22860, -1000, -259, 1478, 1538, 1538, 1538, - 1538, -259, -259, -259, -259, -259, -259, -259, -259, -259, - -259, 1908, -1000, 22860, 22860, 22860, 1406, 334, -1000, -1000, - -1000, -259, 22860, -1000, -1000, 2666, -1000, 22860, -1000, 33990, - 22860, 22860, 22860, -1000, -1000, -1000, 22860, 22860, -1000, -1000, - 22860, -1000, 22860, -1000, -1000, -1000, -1000, -1000, -1000, 22860, - -1000, 22860, -1000, -1000, -1000, 22860, -1000, 22860, -1000, -1000, - 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, - 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, - 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, - 22860, -1000, 22860, -1000, 22860, -1000, -1000, -1000, 22860, -1000, - 22860, -1000, 22860, -1000, -1000, 22860, -1000, 22860, -1000, 22860, - -1000, 22860, 22860, -1000, 22860, 22860, 22860, -1000, 22860, 22860, - 22860, 22860, -1000, -1000, -1000, -1000, 22860, 22860, 22860, 22860, - 22860, 22860, 22860, 22860, 22860, 22860, -1000, -1000, -1000, -1000, - -1000, -1000, 22860, -1000, 39926, 47, -259, 1221, 47, 1221, - 24344, 832, 507, 23602, -1000, 22860, 16912, -1000, -1000, -1000, - -1000, -1000, 22860, 22860, 22860, 22860, 22860, 22860, -1000, -1000, - -1000, 22860, 22860, -1000, 22860, -1000, 22860, -1000, -1000, -1000, - -1000, -1000, 954, -1000, 455, 453, 864, 54766, -1000, -1000, - -1000, -1000, 1930, -1000, 2564, -1000, 2285, 2284, 2659, 2642, - 22118, -1000, 30280, -1000, -1000, 54766, -419, -1000, 2326, 2476, - 890, 890, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 13920, - 2569, 22860, 2201, 55508, 223, -1000, 29538, 54766, 55508, 30280, - 30280, 30280, 30280, 30280, -1000, 2242, 2235, -1000, 2254, 2228, - 2313, 56250, -1000, 1686, 1688, -1000, 22860, 32506, 1935, 30280, - -1000, -1000, 30280, 56250, 13172, -1000, -1000, 6, -7, -1000, - -1000, -1000, -1000, 371, -1000, -1000, 1082, 2543, 2338, -1000, - -1000, -1000, -1000, -1000, 1682, -1000, 1676, 1928, 1671, 1662, - 278, -1000, 2067, 2451, 958, 958, -1000, 1254, -1000, 1238, - 1614, 1586, -1000, -1000, -1000, 496, -1000, 56250, 2200, 2195, - 2194, -1000, -540, 1253, 2052, 2012, 22860, 2051, 2615, 1913, - 54766, -1000, -1000, 55508, -1000, 197, -1000, 486, 54766, -1000, - -1000, -1000, 335, 56250, -1000, 7068, -1000, -1000, -1000, 224, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 56250, 233, -1000, - 2047, 1343, -1000, -1000, 2140, -1000, -1000, -1000, -1000, -1000, - 213, 201, 1583, 199, 1547, -1000, 199, -1000, 56250, 928, - 2183, 56250, -1000, -1000, -1000, 1114, 1114, -1000, -1000, 2449, - -1000, 1238, 1538, 25086, 25086, -1000, 900, -1000, -1000, 435, - -229, 2041, 2041, -1000, 2041, 2042, -1000, 2041, 171, 2041, - 154, 2041, -1000, -1000, 1406, 1406, -1000, 1478, 2286, 1439, - 2796, -1000, 1393, 22860, 2715, -1000, -1000, -259, -259, -259, - -259, -259, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -69, 2689, 2637, 1538, -1000, 2039, 2036, -1000, - 1538, 22860, 1538, 1406, 2278, 1538, 1538, 1538, 1538, 1538, - 1538, 1538, 1538, 1538, 1538, 1538, 1538, 2266, 2257, 2249, - 2196, 2175, 2171, 2167, 2163, 2158, 2149, 2145, 2128, 2084, - 2080, 2076, 2062, 1538, 1538, 2058, 1538, 2054, 2048, -1000, - 1393, 1478, 2628, 1478, 1538, 1538, 2527, 337, 1538, 1651, - 1651, 1651, 1651, 1651, 1478, 1478, 1478, 1478, 1538, 54766, - -1000, -259, -1000, -1000, -307, -309, -1000, 1406, -259, 1926, - 25086, 1538, 25086, 25086, 25086, 1538, 1406, -1000, 2043, 2010, - 2270, 1940, 1538, 1832, 1538, 1538, 1538, 1821, -1000, 2535, - 1830, 2535, 1830, 2535, 1647, 1168, 56250, -1000, -1000, -1000, - -1000, 2642, 2639, -1000, 1914, -1000, 73, 639, -1000, 2311, - 2476, -1000, 2610, 2306, 2598, -1000, -1000, -1000, -1000, -1000, - 1393, -1000, 2479, 1916, -1000, 963, 1907, -1000, -1000, 21376, - 1649, 2281, 817, 1647, 1923, 3576, 2136, 2190, 3359, -1000, - -1000, -1000, -1000, 2231, -1000, 2063, -1000, -1000, 2005, -1000, - 1790, 350, 30280, 1877, 1877, -1000, 816, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1100, 7068, 2704, -1000, 1544, -1000, - 1366, 195, 1240, -1000, -1000, 958, 958, -1000, 1028, 1020, - -1000, 56250, 2031, -1000, 351, 1529, 351, 1225, -1000, -1000, - 1215, -1000, -1000, -1000, -1000, 1994, 2562, -1000, -1000, -1000, - -1000, 56250, -1000, 56250, 56250, 56250, 2029, 2595, -1000, 22860, - 2015, 962, 2253, 54766, 54766, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 427, 958, -503, 297, - 294, 958, 958, 958, -541, -1000, -1000, 1639, 1637, -1000, - -205, -1000, 22860, -1000, -1000, -1000, -1000, -1000, 1249, 1249, - 1513, 1500, 1498, -1000, 2005, -1000, -1000, -1000, 1722, -1000, - -1000, -186, 54766, 54766, 54766, 54766, -1000, -1000, -1000, 1187, + 406, 877, -505, 268, 260, 877, 877, 877, -544, -1000, + -1000, 1643, 1641, -1000, -203, -1000, 22240, -1000, -1000, -1000, + -1000, -1000, 1050, 1050, 1406, 1402, 1399, -1000, 2005, -1000, + -1000, -1000, 1690, -1000, -1000, -187, 54318, 54318, 54318, 54318, + -1000, -1000, -1000, 1131, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 805, 1344, 349, -190, + 1344, -1000, -1000, 354, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 22240, -1000, 22240, -1000, 22240, 1207, + 22240, -1000, -1000, -1000, -1000, -1000, 2499, 1396, 22240, 22240, + -1000, 1141, 1139, -272, 1323, -1000, -1000, -1000, 22240, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 900, 1406, 375, -188, 1406, -1000, -1000, 351, + -1000, -1000, 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, + 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, + 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, 22240, -1000, + 22240, -1000, 22240, -1000, -1000, 22240, -1000, -1000, -1000, 22240, + -1000, 22240, -1000, 22240, -1000, -1000, -1000, 22240, 258, 1062, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 22860, -1000, 22860, -1000, 22860, 1393, 22860, -1000, -1000, -1000, - -1000, -1000, 2569, 1489, 22860, 22860, -1000, 1211, 1209, -259, - 1538, -1000, -1000, -1000, 22860, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 22860, -1000, - 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, - 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, - 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, 22860, -1000, - -1000, 22860, -1000, -1000, -1000, 22860, -1000, 22860, -1000, 22860, - -1000, -1000, -1000, 22860, 264, 1076, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1406, 347, -1000, - -1000, -1000, 2650, -1000, 1406, 22860, 2007, -1000, 2007, 2007, - 2007, -1000, -1000, -1000, 22860, -1000, 22860, 22860, -1000, 22860, - -1000, 22860, -1000, -1000, -1000, -1000, 22860, 1830, 2374, 39184, - 1830, 39184, 1830, 32506, -1000, -1000, 2639, 2596, 2593, 2300, - 2312, 2312, 2311, -1000, 2589, 2587, -1000, 1472, 2585, 1458, - 1006, -1000, 55508, 22860, -1000, 223, 38442, -1000, 403, 54766, - 223, 54766, -1000, 2634, -1000, -1000, 22860, 2014, -1000, 22860, - -1000, -1000, -1000, -1000, 6271, 2642, 1877, -1000, -1000, 922, - -1000, 22860, -1000, 11485, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1453, 1446, -1000, -1000, 2006, 22860, -1000, -1000, - -1000, 1663, 1652, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 2005, -1000, -1000, -1000, -1000, 335, -527, 2224, 54766, - 1206, -1000, 1632, 1913, 288, 223, 1432, 958, 958, 958, - 1161, 1152, 38442, 1605, -1000, 54766, 364, -1000, 335, -1000, - -222, -223, 1538, -1000, -1000, 2530, -1000, -1000, 16912, -1000, - -1000, 2003, 2141, -1000, -1000, -1000, -1000, 2264, -179, -200, - -1000, -1000, 1538, 1538, 1538, 1405, 1406, -1000, 1538, 1538, - 1633, 1543, -1000, -1000, 1538, 1538, 1538, 1538, 1538, 1538, - 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, - 1538, 1538, 1538, 1538, 1478, 1778, -1000, 264, 1406, 2184, - -1000, -1000, 6271, -1000, -1000, 2634, 2579, 47, -1000, -1000, - 222, 47, 1393, 1032, 1406, 1406, 1032, 1760, 1538, 1660, - 1642, 1538, 1538, 33248, -1000, 2572, 2571, 1542, -1000, -1000, - 39184, 1542, 39184, 954, 2596, -270, 22860, 22860, 2297, 1164, - -1000, -1000, -1000, -1000, 1402, 1390, -1000, 1377, -1000, 2699, - -1000, 1393, -1000, 1830, 223, -1000, 808, 1907, -1000, 2569, - 1393, 54766, 1393, 75, 2634, -1000, 1538, -1000, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, -1000, - -1000, 54766, 2180, -1000, -1000, 2529, 1554, 166, -1000, 1475, - 1913, -1000, -1000, 221, -1000, 22860, -1000, 38442, 1374, 1360, - -1000, -1000, -1000, -1000, -541, -1000, -1000, -1000, -1000, -1000, - -1000, 392, 1888, -1000, 957, 54766, 56250, -1000, 2188, -1000, - -1000, -1000, -1000, 22860, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1344, 322, -1000, -1000, -1000, 2599, -1000, 1344, 22240, + 2012, -1000, 2012, 2012, 2012, -1000, -1000, -1000, 22240, -1000, + 22240, 22240, -1000, 22240, -1000, 22240, -1000, -1000, -1000, -1000, + 22240, 1480, 2438, 38652, 1480, 38652, 1480, 31938, -1000, -1000, + 2552, 2586, 2557, 2302, 2291, 2291, 2301, -1000, 2556, 2554, + -1000, 1384, 2551, 1379, 960, -1000, 55064, 22240, -1000, 264, + 37906, -1000, 397, 54318, 264, 54318, -1000, 2511, -1000, -1000, + 22240, 2018, -1000, 22240, -1000, -1000, -1000, -1000, 5686, 2591, + 1843, -1000, -1000, 832, -1000, 22240, -1000, 10471, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1376, 1373, -1000, -1000, + 2008, 22240, -1000, -1000, -1000, 1686, 1624, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 2005, -1000, -1000, -1000, -1000, + 318, -531, 2065, 54318, 1112, -1000, 1637, 1908, 289, 264, + 1367, 877, 877, 877, 1107, 1096, 37906, 1619, -1000, 54318, + 341, -1000, 318, -1000, -227, -232, 1323, -1000, -1000, 2507, + -1000, -1000, 16260, -1000, -1000, 2002, 2127, -1000, -1000, -1000, + -1000, 2235, -179, -204, -1000, -1000, 1323, 1323, 1323, 2638, + 1344, -1000, 1323, 1323, 1609, 1601, -1000, -1000, 1323, 1323, + 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, + 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1532, 1825, + -1000, 258, 1344, 2147, -1000, -1000, 5686, -1000, -1000, 2511, + 2547, 49, -1000, -1000, 214, 49, 1207, 940, 1344, 1344, + 940, 1780, 1323, 1762, 1718, 1323, 1323, 32684, -1000, 2546, + 2542, 1591, -1000, -1000, 38652, 1591, 38652, 945, 2586, -281, + 22240, 22240, 2277, 1224, -1000, -1000, -1000, -1000, 1364, 1360, + -1000, 1357, -1000, 2643, -1000, 1207, -1000, 1480, 264, -1000, + 509, 1874, -1000, 2499, 1207, 54318, 1207, 65, 2511, -1000, + 1323, -1000, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, -1000, -1000, 54318, 1685, -1000, -1000, 2506, + 1608, 157, -1000, 1346, 1908, -1000, -1000, 193, -1000, 22240, + -1000, 37906, 1324, 1317, -1000, -1000, -1000, -1000, -544, -1000, + -1000, -1000, -1000, -1000, -1000, 401, 1892, -1000, 875, 54318, + 55810, -1000, 2227, -1000, -1000, -1000, -1000, 22240, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 22860, -1000, 1406, 2181, -1000, -375, -1000, -504, 22860, - -259, -1000, -1000, -259, -1000, -1000, -1000, -1000, -1000, 22860, - -1000, -1000, 22860, -1000, 22860, -1000, -1000, 1542, -1000, -1000, - -1000, 37700, -1000, 1542, -1000, 1542, -1000, -270, -1000, 1882, - -1000, 54766, 1393, 345, -1000, 1162, -1000, -1000, -1000, -1000, - -1000, 55508, 54766, 1907, 54766, -1000, -1000, 1508, 1406, 1830, - 2569, -1000, 1482, -1000, 392, -1000, 2002, 2012, -1000, -1000, - -1000, 20634, -1000, -1000, -1000, -1000, -1000, 249, -185, 16912, - 12424, 1480, -1000, -184, 1538, 1478, -1000, -479, -1000, -1000, - -1000, -1000, 279, -1000, -1000, 1851, -1000, -1000, 1621, 1527, - 1444, -1000, -1000, -1000, -1000, -1000, -1000, -270, -1000, -1000, - 2525, -1000, -226, -1000, -1000, 1367, 1442, -1000, -1000, -1000, - 32506, 54024, -1000, -171, 293, -185, 22860, 1995, 1406, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -52, -1000, -1000, - 799, -1000, -1000, -1000, 2140, -189, -1000, -1000, -1000, 284, - -494, -291, -292, 25086, -1000, 22860, -1000, 22860, -1000, 22860, - -1000, 54766, 1830, -1000, -1000, -1000, 1426, -1000, 4978, -334, - 2177, -1000, -126, -1000, -1000, -1000, 1042, 1359, -1000, -1000, - -1000, -1000, -1000, -1000, 1936, 54766, -1000, 446, -1000, -1000, - 16164, -186, -201, 1000, -1000, -1000, -1000, -1000, -1000, 2007, - 1365, 1353, 1538, -1000, 54766, -1000, 54024, -314, 899, 6271, - -1000, 2164, 2159, 2656, -1000, -1000, -1000, -1000, -1000, -1000, - -544, 1356, 243, -1000, -1000, -1000, 284, -338, -1000, 22860, - -1000, 22860, -1000, 1406, -1000, -1000, 2494, 75, -1000, 2658, - -1000, 2643, 1016, 1016, -1000, 1136, -544, -1000, -1000, -1000, - -1000, 1538, 1538, -1000, -354, -1000, -1000, -1000, -1000, -1000, - 440, 1275, -1000, -1000, -1000, -1000, -1000, 6271, -1000, -1000, - -1000, 263, 263, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 22240, -1000, 1344, 2144, -1000, + -373, -1000, -507, 22240, -272, -1000, -1000, -272, -1000, -1000, + -1000, -1000, -1000, 22240, -1000, -1000, 22240, -1000, 22240, -1000, + -1000, 1591, -1000, -1000, -1000, 37160, -1000, 1591, -1000, 1591, + -1000, -281, -1000, 1859, -1000, 54318, 1207, 326, -1000, 1173, + -1000, -1000, -1000, -1000, -1000, 55064, 54318, 1874, 54318, -1000, + -1000, 1588, 1344, 1480, 2499, -1000, 1555, -1000, 401, -1000, + 1994, 1996, -1000, -1000, -1000, 20002, -1000, -1000, -1000, -1000, + -1000, 246, -186, 16260, 11748, 1545, -1000, -182, 1323, 1532, + -1000, -483, -1000, -1000, -1000, -1000, 286, -1000, -1000, 1838, + -1000, -1000, 1713, 1708, 1646, -1000, -1000, -1000, -1000, -1000, + -1000, -281, -1000, -1000, 2497, -1000, -234, -1000, -1000, 1824, + 1511, -1000, -1000, -1000, 31938, 53572, -1000, -172, 480, -186, + 22240, 1985, 1344, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -52, -1000, -1000, 505, -1000, -1000, -1000, 2121, -200, + -1000, -1000, -1000, 294, -496, -314, -316, 24478, -1000, 22240, + -1000, 22240, -1000, 22240, -1000, 54318, 1480, -1000, -1000, -1000, + 1460, -1000, 4949, -360, 2141, -1000, -122, -1000, -1000, -1000, + 1014, 1313, -1000, -1000, -1000, -1000, -1000, -1000, 1405, 54318, + -1000, 386, -1000, -1000, 15508, -187, -216, 936, -1000, -1000, + -1000, -1000, -1000, 2012, 1635, 1343, 1323, -1000, 54318, -1000, + 53572, -344, 586, 5686, -1000, 2116, 2085, 2616, -1000, -1000, + -1000, -1000, -1000, -1000, -549, 1330, 237, -1000, -1000, -1000, + 294, -333, -1000, 22240, -1000, 22240, -1000, 1344, -1000, -1000, + 2487, 65, -1000, 2637, -1000, 2617, 1054, 1054, -1000, 1048, + -549, -1000, -1000, -1000, -1000, 1323, 1323, -1000, -381, -1000, + -1000, -1000, -1000, -1000, 372, 1109, -1000, -1000, -1000, -1000, + -1000, 5686, -1000, -1000, -1000, 257, 257, -1000, -1000, } var yyPgo = [...]int{ - 0, 3243, 3242, 31, 6, 37, 36, 3240, 3239, 3238, - 174, 3237, 3235, 3224, 3223, 3222, 3221, 2754, 2745, 2728, - 3220, 3219, 3218, 3215, 3213, 3211, 3210, 3209, 3208, 38, - 116, 91, 104, 201, 213, 3205, 170, 161, 197, 3203, - 3202, 3201, 115, 187, 84, 92, 195, 3200, 3199, 71, - 3196, 3194, 3192, 190, 189, 188, 1092, 3190, 184, 114, - 48, 3189, 3187, 3184, 3182, 3179, 3178, 3176, 3174, 3173, - 3172, 3170, 3169, 3168, 3165, 3163, 3162, 3161, 3160, 285, - 3157, 3155, 12, 3154, 73, 3153, 3152, 3149, 3147, 3146, - 8, 3140, 3139, 26, 45, 63, 3136, 3134, 44, 3132, - 3131, 3129, 3125, 3124, 72, 3123, 27, 3121, 40, 3120, - 3117, 124, 3115, 3111, 3105, 42, 3104, 3100, 3098, 28, - 169, 3097, 3094, 140, 3093, 3092, 3087, 167, 205, 3085, - 2265, 3082, 99, 3080, 3079, 3077, 166, 193, 3076, 125, - 3074, 3073, 3072, 152, 3068, 3263, 3066, 3065, 59, 80, - 164, 3064, 3062, 199, 79, 54, 3061, 17, 19, 3060, - 3058, 67, 70, 3057, 108, 3056, 3054, 103, 77, 3052, - 105, 102, 3051, 3050, 5, 7, 3048, 1, 4, 2, - 83, 3047, 3044, 119, 3041, 3040, 3039, 101, 3037, 3035, - 4407, 3031, 93, 130, 106, 76, 3028, 171, 132, 3027, - 3026, 3022, 3021, 3016, 2985, 49, 2984, 2983, 2982, 136, - 22, 110, 2981, 146, 346, 51, 147, 2978, 196, 78, - 2977, 172, 2971, 2969, 134, 133, 2968, 2962, 58, 168, - 194, 2960, 96, 129, 120, 176, 95, 135, 2954, 2946, - 56, 62, 2944, 2943, 2940, 2939, 181, 2935, 2929, 61, - 2927, 53, 2925, 182, 2924, 306, 69, 2922, 180, 162, - 2921, 60, 2919, 2918, 68, 100, 55, 39, 2914, 157, - 160, 127, 165, 2913, 2912, 52, 2905, 2899, 2894, 200, - 301, 2891, 2890, 329, 183, 143, 149, 85, 2887, 323, - 2886, 2885, 2884, 16, 5094, 7550, 186, 25, 159, 2883, - 2882, 8334, 20, 43, 24, 2872, 210, 2869, 185, 2867, - 2866, 2865, 211, 207, 112, 158, 57, 2864, 2859, 2857, - 2856, 64, 2855, 2850, 2849, 2848, 2847, 2846, 35, 34, - 33, 75, 218, 65, 21, 98, 156, 151, 66, 2843, - 2841, 2839, 123, 90, 2835, 155, 153, 126, 163, 2829, - 175, 142, 117, 2823, 87, 32, 2822, 2821, 2819, 2818, - 89, 2813, 2810, 2806, 2805, 150, 144, 121, 81, 2803, - 82, 118, 148, 145, 50, 2799, 46, 2798, 2797, 30, - 191, 29, 2787, 13, 111, 109, 2780, 6691, 2779, 9, - 305, 154, 2776, 2775, 10, 11, 14, 2772, 2771, 2770, - 2769, 131, 2768, 2765, 2763, 2761, 23, 47, 18, 15, - 113, 137, 74, 2760, 2746, 141, 2732, 2727, 2722, 0, - 1034, 128, 2721, 202, + 0, 3225, 3223, 29, 6, 37, 36, 3222, 3219, 3218, + 174, 3217, 3215, 3214, 3207, 3205, 3204, 2750, 2749, 2715, + 3203, 3199, 3196, 3194, 3193, 3191, 3190, 3178, 3171, 51, + 119, 91, 102, 200, 208, 3170, 170, 161, 201, 3159, + 3157, 3156, 115, 192, 82, 84, 193, 3155, 3154, 71, + 3153, 3151, 3150, 188, 187, 186, 1007, 3144, 185, 113, + 47, 3143, 3142, 3139, 3137, 3135, 3134, 3132, 3128, 3127, + 3125, 3124, 3122, 3119, 3113, 3109, 3108, 3105, 3104, 290, + 3103, 3102, 12, 3098, 73, 3097, 3096, 3091, 3089, 3086, + 8, 3084, 3083, 23, 40, 63, 3082, 3081, 44, 3080, + 3078, 3077, 3076, 3072, 72, 3070, 27, 3069, 38, 3066, + 3064, 126, 3063, 3062, 3058, 39, 3057, 3056, 3054, 5, + 169, 3053, 3052, 138, 3051, 3050, 3048, 167, 202, 3043, + 2240, 3039, 99, 3036, 3035, 3034, 166, 197, 3032, 124, + 3029, 3012, 3007, 153, 2994, 3299, 2993, 2991, 59, 79, + 164, 2989, 2988, 199, 67, 62, 2987, 17, 19, 2986, + 2982, 65, 68, 2981, 106, 2980, 2979, 103, 77, 2978, + 101, 111, 2977, 2975, 24, 7, 2973, 1, 4, 2, + 90, 2972, 2971, 118, 2970, 2966, 2965, 95, 2964, 2958, + 4513, 2950, 85, 130, 104, 78, 2947, 171, 132, 2946, + 2945, 2944, 2943, 2939, 2934, 48, 2926, 2925, 2921, 134, + 22, 110, 2918, 146, 346, 50, 148, 2917, 196, 75, + 2916, 172, 2915, 2909, 133, 135, 2903, 2898, 56, 168, + 194, 2897, 96, 129, 117, 176, 93, 140, 2895, 2894, + 55, 61, 2890, 2889, 2886, 2879, 181, 2876, 2874, 58, + 2873, 53, 2871, 182, 2870, 331, 69, 2869, 180, 163, + 2868, 60, 2866, 2865, 70, 100, 123, 30, 2864, 157, + 160, 127, 165, 2862, 2859, 52, 2854, 2853, 2852, 195, + 320, 2851, 2848, 334, 175, 143, 150, 83, 2846, 289, + 2845, 2843, 2840, 13, 4482, 6450, 189, 25, 159, 2838, + 2835, 7654, 16, 43, 26, 2833, 211, 2823, 184, 2821, + 2814, 2810, 206, 210, 112, 158, 57, 2809, 2807, 2806, + 2805, 42, 2803, 2802, 2801, 2799, 2797, 2796, 35, 34, + 33, 74, 216, 64, 21, 98, 156, 151, 66, 2792, + 2789, 2784, 121, 89, 2783, 155, 154, 125, 162, 2781, + 178, 142, 116, 2779, 87, 32, 2778, 2774, 2772, 2770, + 92, 2769, 2768, 2765, 2764, 152, 144, 120, 81, 2763, + 76, 114, 149, 145, 49, 2762, 45, 2761, 2760, 31, + 191, 28, 2754, 41, 105, 108, 2751, 6192, 2737, 9, + 301, 147, 2735, 2731, 10, 11, 14, 2725, 2719, 2709, + 2707, 131, 2701, 2700, 2695, 2693, 20, 46, 18, 15, + 109, 137, 80, 2691, 2687, 141, 2683, 2677, 2676, 0, + 1034, 128, 2665, 203, } -//line sql.y:8764 +//line sql.y:8769 type yySymType struct { union any empty struct{} @@ -8756,7 +8720,7 @@ var yyR1 = [...]int{ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 294, 294, 294, 294, 294, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, @@ -8804,7 +8768,8 @@ var yyR1 = [...]int{ 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, - 294, 294, 294, 419, 420, 312, 313, 313, 313, + 294, 294, 294, 294, 294, 294, 294, 419, 420, 312, + 313, 313, 313, } var yyR2 = [...]int{ @@ -9036,7 +9001,8 @@ var yyR2 = [...]int{ 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, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 0, 1, 1, } var yyChk = [...]int{ @@ -9047,72 +9013,72 @@ var yyChk = [...]int{ -8, -32, -31, -30, 13, 14, -109, -35, 35, -40, -50, 240, -51, -41, 241, -52, 243, 242, 280, 244, 397, 273, 83, 330, 331, 333, 334, 335, 336, -110, - 704, 278, 279, 246, 39, 51, 36, 37, 40, 250, + 708, 278, 279, 246, 39, 51, 36, 37, 40, 250, 286, 287, 249, 145, -33, -36, 12, -419, 15, 487, - 275, 274, 31, -34, 597, 95, -80, -418, 752, -253, + 275, 274, 31, -34, 597, 95, -80, -418, 756, -253, -237, 26, 36, 32, -236, -232, -128, -237, 24, 22, 11, -79, -79, -79, 16, 17, -79, -356, -358, 95, 173, 95, -79, -57, -56, -54, -53, -55, -58, 34, -47, -48, -380, -46, -43, 245, 242, 290, 135, 136, 280, 281, 282, 244, 264, 279, 283, 278, 299, -42, 90, 36, 597, 600, -363, 241, 247, 248, 243, 488, - 138, 137, 84, -360, 392, 631, 722, -58, 724, 110, - 113, 723, 50, 254, 725, 726, 727, 638, 728, 263, - 729, 730, 731, 732, 738, 679, 739, 740, 741, 139, + 138, 137, 84, -360, 392, 631, 726, -58, 728, 110, + 113, 727, 50, 254, 729, 730, 731, 638, 732, 263, + 733, 734, 735, 736, 742, 679, 743, 744, 745, 139, 11, -79, -305, -301, 100, -294, 594, 266, 629, 441, 630, 315, 90, 47, 42, 533, 604, 388, 392, 631, - 518, 722, 398, 330, 348, 342, 523, 524, 525, 371, - 363, 595, 632, 605, 318, 267, 303, 716, 361, 149, - 724, 322, 633, 281, 399, 400, 634, 401, 110, 333, - 438, 737, 321, 635, 735, 113, 723, 338, 88, 517, - 57, 719, 326, 50, 276, 446, 447, 359, 249, 355, - 725, 304, 636, 607, 297, 138, 135, 744, 39, 351, - 56, 33, 734, 137, 55, 726, 164, 637, 727, 638, - 403, 378, 710, 54, 404, 282, 639, 93, 287, 599, - 327, 718, 405, 538, 352, 406, 314, 733, 246, 640, - 325, 699, 691, 692, 407, 408, 711, 383, 379, 384, - 540, 641, 430, 522, 409, 695, 696, 751, 58, 642, - 643, 712, 136, 644, 87, 728, 89, 346, 347, 645, + 518, 726, 398, 330, 348, 342, 523, 524, 525, 371, + 363, 595, 632, 605, 318, 267, 303, 720, 361, 149, + 728, 322, 633, 281, 399, 400, 634, 401, 110, 333, + 438, 741, 321, 635, 739, 113, 727, 338, 88, 517, + 57, 723, 326, 50, 276, 446, 447, 359, 249, 355, + 729, 304, 636, 607, 297, 138, 135, 748, 39, 351, + 56, 33, 738, 137, 55, 730, 164, 637, 731, 638, + 403, 378, 714, 54, 404, 282, 639, 93, 287, 599, + 327, 722, 405, 538, 352, 406, 314, 737, 246, 640, + 325, 703, 695, 696, 407, 408, 715, 383, 379, 384, + 540, 641, 430, 522, 409, 699, 700, 755, 58, 642, + 643, 716, 136, 644, 87, 732, 89, 346, 347, 645, 312, 265, 543, 544, 432, 375, 500, 127, 507, 508, 120, 121, 503, 122, 509, 123, 128, 510, 511, 512, 501, 124, 117, 502, 513, 514, 376, 377, 125, 515, 119, 118, 504, 506, 126, 516, 263, 38, 410, 596, - 316, 64, 320, 291, 433, 52, 381, 748, 51, 706, - 545, 646, 709, 374, 370, 497, 59, 647, 648, 649, - 650, 519, 729, 373, 345, 369, 743, 4, 309, 492, - 520, 730, 68, 248, 386, 385, 387, 298, 429, 366, + 316, 64, 320, 291, 433, 52, 381, 752, 51, 710, + 545, 646, 713, 374, 370, 497, 59, 647, 648, 649, + 650, 519, 733, 373, 345, 369, 747, 4, 309, 492, + 520, 734, 68, 248, 386, 385, 387, 298, 429, 366, 651, 652, 653, 270, 91, 654, 356, 25, 655, 656, 411, 305, 657, 62, 658, 659, 436, 279, 660, 60, - 731, 45, 661, 284, 745, 732, 662, 663, 664, 705, - 665, 286, 666, 413, 667, 693, 694, 412, 380, 382, + 735, 45, 661, 284, 749, 736, 662, 663, 664, 709, + 665, 286, 666, 413, 667, 697, 698, 412, 380, 382, 546, 293, 414, 397, 251, 598, 668, 328, 350, 283, - 736, 669, 271, 534, 535, 536, 537, 717, 542, 541, + 740, 669, 271, 534, 535, 536, 537, 721, 542, 541, 285, 290, 278, 437, 272, 670, 671, 672, 673, 674, - 319, 690, 675, 676, 334, 602, 738, 498, 49, 677, + 319, 690, 675, 676, 334, 602, 742, 498, 49, 677, 678, 679, 680, 681, 313, 308, 431, 440, 67, 92, - 394, 682, 683, 715, 344, 339, 43, 306, 99, 478, + 394, 682, 683, 719, 344, 339, 43, 306, 99, 478, 480, 481, 482, 483, 484, 479, 486, 684, 331, 61, - 739, 740, 741, 300, 742, 526, 527, 528, 529, 13, + 743, 744, 745, 300, 746, 526, 527, 528, 529, 13, 580, 563, 591, 564, 581, 565, 574, 566, 582, 590, 592, 547, 555, 548, 556, 586, 569, 583, 575, 568, 567, 589, 572, 576, 549, 557, 587, 573, 550, 558, 551, 559, 552, 560, 585, 584, 577, 588, 553, 561, - 579, 554, 562, 578, 570, 571, 449, 749, 750, 521, + 579, 554, 562, 578, 570, 571, 449, 753, 754, 521, 416, 139, 310, 311, 53, 367, 292, 685, 323, 686, - 357, 358, 494, 495, 372, 343, 368, 146, 702, 332, - 341, 700, 294, 417, 499, 280, 687, 439, 307, 389, - 131, 340, 395, 324, 603, 539, 299, 418, 714, 601, - 530, 531, 365, 362, 301, 532, 688, 390, 704, 419, - 255, 295, 296, 689, 701, 420, 421, 317, 422, 423, - 424, 425, 426, 428, 329, 427, 703, 697, 698, 302, + 357, 358, 494, 495, 372, 343, 368, 146, 706, 332, + 341, 704, 294, 417, 499, 280, 687, 439, 307, 389, + 131, 340, 395, 324, 603, 539, 299, 418, 718, 601, + 530, 531, 365, 362, 301, 532, 688, 390, 708, 419, + 255, 295, 296, 689, 705, 420, 421, 317, 422, 423, + 424, 425, 426, 428, 329, 427, 707, 701, 702, 302, 477, 600, 337, 360, 396, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 496, 253, -79, 253, -190, -301, -130, - 706, 708, 192, -272, 400, -290, 402, 415, 410, 420, + 710, 712, 192, -272, 400, -290, 402, 415, 410, 420, 408, -281, 411, 413, 293, -403, 430, 253, 417, 240, 403, 412, 421, 422, 317, 428, 423, 329, 427, 302, - 424, 425, 426, -387, 192, 727, 742, 332, 340, 149, - 364, 407, 405, 431, 706, 100, -307, 100, 101, 102, + 424, 425, 426, -387, 192, 731, 746, 332, 340, 149, + 364, 407, 405, 431, 710, 100, -307, 100, 101, 102, -294, 332, -310, 337, -295, -387, -294, 335, -79, -79, -312, -312, -130, -210, -145, 157, -159, -261, -162, 101, -150, -153, -204, -205, -206, -207, -160, -220, -259, 181, @@ -9135,24 +9101,24 @@ var yyChk = [...]int{ 187, 487, -154, -148, -218, 116, 102, -31, -214, 442, 452, 453, 457, 448, 458, 606, 608, 623, 624, 626, 611, 616, 615, 618, 534, 535, 536, 537, 538, 539, - 691, 692, 693, 694, 695, 696, 697, 698, -387, -294, + 695, 696, 697, 698, 699, 700, 701, 702, -387, -294, 100, -157, -155, -199, 103, 108, 111, 112, 114, -409, - 276, 357, 358, 130, -419, 720, -156, 105, 106, 107, + 276, 357, 358, 130, -419, 724, -156, 105, 106, 107, 132, 133, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 98, 104, 50, 416, 416, -190, - -79, -79, -79, -79, -416, 723, 598, -230, -128, -232, + -79, -79, -79, -79, -416, 727, 598, -230, -128, -232, -33, -31, -419, 12, -79, -31, -32, -30, -36, -38, 625, -37, -301, 109, -237, -253, 16, 67, 176, 48, 56, -235, -236, -34, -31, -145, 23, 41, 27, -132, 183, -145, -301, -132, -279, 257, -79, -79, -268, -315, - 332, -270, 431, 706, 430, -260, -273, 100, -259, -272, + 332, -270, 431, 710, 430, -260, -273, 100, -259, -272, 429, 101, -357, 173, -343, -347, -295, 268, -373, 264, -190, -366, -365, -295, -419, -129, -289, 254, 262, 261, 150, -390, 153, 310, 443, 252, -53, -54, -55, -272, - 191, 726, -111, 285, 289, 96, 96, -347, -346, -345, + 191, 730, -111, 285, 289, 96, 96, -347, -346, -345, -391, 289, 268, -372, -364, 260, 269, -353, 261, 262, -348, 254, 151, -391, -348, 259, 269, 264, 268, 289, 289, 139, 289, 139, 289, 289, 289, 289, 289, 289, @@ -9162,7 +9128,7 @@ var yyChk = [...]int{ -354, -354, 297, 297, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, 253, -390, -137, 427, 317, 90, -56, 299, -39, - -190, -289, 254, 255, -390, 286, -190, 236, 253, 709, + -190, -289, 254, 255, -390, 286, -190, 236, 253, 713, -283, 173, 19, -283, -280, 416, 414, 401, 406, -283, -283, -283, -283, 300, 399, -349, 254, 38, 265, 416, 300, 399, 300, 301, 300, 301, 409, 419, 300, -306, @@ -9176,26 +9142,26 @@ var yyChk = [...]int{ 133, 611, 26, 84, 269, 18, 262, 46, 20, 612, 613, 21, 74, 258, 257, 176, 254, 79, 15, 235, 32, 172, 75, 614, 151, 145, 615, 616, 617, 618, - 143, 77, 173, 24, 746, 452, 453, 36, 707, 593, - 288, 187, 82, 65, 708, 157, 448, 619, 620, 130, - 621, 134, 85, 713, 153, 22, 80, 48, 622, 289, - 623, 259, 747, 624, 434, 625, 174, 243, 487, 78, - 175, 720, 626, 721, 252, 415, 12, 493, 35, 273, - 261, 73, 72, 141, 76, 458, 627, 253, 162, 256, - 144, 132, 11, 150, 37, 16, 83, 86, 455, 456, - 457, 63, 140, 597, 161, 19, 628, 435, 155, -387, - 709, -313, -313, 300, 341, 35, 101, -413, -414, -415, - 597, 434, 256, -295, -190, -85, 699, 244, -86, 705, - 41, 251, 146, 38, -135, 416, -123, 192, 727, 710, - 711, 712, 709, 413, 717, 715, 713, 300, 714, 96, - 153, 155, 156, 4, -145, 172, -200, -201, 171, 165, - 166, 167, 168, 169, 170, 177, 176, 157, 159, 173, - -246, 154, 178, 179, 180, 181, 182, 183, 184, 186, - 185, 187, 188, 174, 175, 191, 238, 239, -153, -153, - -153, -153, -216, -222, -221, -419, -218, -387, -294, -301, - -419, -419, -153, -278, -419, -150, -419, -419, -419, -419, - -419, -225, -145, -419, -419, -423, -419, -423, -423, -423, - -332, -419, -332, -332, -419, -419, -419, -419, -419, -419, + 143, 77, 173, 24, 750, 452, 453, 36, 711, 691, + 593, 288, 187, 82, 65, 712, 157, 448, 619, 620, + 130, 621, 134, 85, 717, 153, 22, 80, 48, 622, + 692, 289, 623, 259, 693, 751, 624, 434, 625, 174, + 243, 487, 78, 175, 724, 626, 725, 252, 415, 12, + 493, 35, 273, 261, 73, 72, 141, 76, 458, 627, + 253, 694, 162, 256, 144, 132, 11, 150, 37, 16, + 83, 86, 455, 456, 457, 63, 140, 597, 161, 19, + 628, 435, 155, -387, 713, -313, -313, 300, 341, 35, + 101, -413, -414, -415, 597, 434, 256, -295, -190, -85, + 703, 244, -86, 709, 41, 251, 146, 38, -135, 416, + -123, 192, 731, 714, 715, 716, 713, 413, 721, 719, + 717, 300, 718, 96, 153, 155, 156, 4, -145, 172, + -200, -201, 171, 165, 166, 167, 168, 169, 170, 177, + 176, 157, 159, 173, -246, 154, 178, 179, 180, 181, + 182, 183, 184, 186, 185, 187, 188, 174, 175, 191, + 238, 239, -153, -153, -153, -153, -216, -222, -221, -419, + -218, -387, -294, -301, -419, -419, -153, -278, -419, -150, + -419, -419, -419, -419, -419, -225, -145, -419, -419, -423, + -419, -423, -423, -423, -332, -419, -332, -332, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, @@ -9207,264 +9173,264 @@ var yyChk = [...]int{ -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, - -419, -419, -419, -419, -419, -419, -419, -419, -419, 236, - -419, -419, -419, -419, -419, -332, -332, -332, -332, -332, - -332, -419, -419, -419, -419, -419, -419, -419, -419, -419, - -419, -419, -419, -419, -419, 98, 112, 108, 111, 103, - 114, 98, 98, 98, 98, -31, -32, -210, -419, -312, - -400, -401, -193, -190, -419, 317, -295, -295, 286, 105, - -235, -34, -31, -230, -236, -232, -31, -79, -121, -134, - 69, 70, -133, -136, 27, 44, 74, 76, 99, 72, - 73, 71, 41, -420, 97, -420, -253, -420, 96, -38, - -256, 95, 653, 683, 653, 683, 67, 49, 98, 98, - 96, 25, -231, -233, -145, 18, -299, 4, -298, 28, - -295, 98, 236, 18, -191, 32, -190, -279, -279, 96, - 100, 332, -269, -271, 432, 434, 165, -300, -295, 98, - 34, 97, 96, -190, -321, -324, -326, -325, -327, -322, - -323, 361, 362, 192, 365, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 378, 390, 35, 276, 357, 358, - 359, 360, 379, 380, 381, 382, 384, 385, 386, 387, - 342, 363, 595, 343, 344, 345, 346, 347, 348, 350, - 351, 354, 352, 353, 355, 356, -296, -295, 95, 97, - 96, -331, 95, -145, -137, 253, -295, 254, 254, 254, - -286, 258, 487, -354, -354, -354, 284, 23, -46, -43, - -380, 22, -42, -43, 245, 135, 136, 242, 95, -343, - 95, -352, -296, -295, 95, 151, 259, 150, -351, -348, - -351, -352, -295, -218, -295, 151, 151, -295, -295, -265, - -295, -265, -265, 41, -265, 41, -265, 41, 105, -295, - -265, 41, -265, 41, -265, 41, -265, 41, -265, 41, - 34, 87, 88, 89, 34, 91, 92, 93, -218, -295, - -295, -218, -343, -218, -190, -295, -272, 105, 105, 105, - -354, -354, 105, 98, 98, 98, -354, -354, 105, 98, - -303, -301, 98, 98, -392, 270, 314, 316, 105, 105, - 105, 105, 34, 98, -393, 34, 734, 733, 735, 736, - 737, 98, 105, 34, 105, 34, 105, -295, 95, -190, - -143, 304, 240, 242, 245, 85, 98, 322, 320, 321, - 318, 323, 324, 325, 165, 50, 96, 256, 253, -295, - -285, 258, -285, -295, -302, -301, -293, -190, 256, 398, - 98, -145, -350, 18, 176, -306, -306, -283, -190, -350, - -306, -283, -190, -283, -283, -283, -283, -306, -306, -306, - -283, -301, -301, -190, -190, -190, -190, -190, -190, -190, - -313, -284, -283, 709, 98, -277, 18, 85, -313, -313, - -292, 26, 26, 96, 338, 435, 436, -311, 335, -81, - -295, 98, -10, -29, -18, -17, -19, 165, -10, 96, - 597, -183, -190, 709, 709, 709, 709, 709, 709, -145, - -145, -145, -145, 621, -208, -411, 157, 132, 133, 130, - 131, -162, 42, 43, 41, -145, -209, -214, -216, 115, - 176, 159, 173, -246, -150, -153, -150, -150, -150, -150, - -150, -150, 235, -150, 235, -150, -150, -150, -150, -150, - -150, -314, -295, 98, 192, -158, -157, 114, -409, -158, - 594, 96, -221, 236, -145, -145, -387, -119, 460, 461, - 462, 463, 465, 466, 467, 470, 471, 475, 476, 459, - 477, 464, 469, 472, 473, 474, 468, 360, -145, -211, - -210, -211, -145, -145, -223, -224, 161, -218, -145, -420, - -420, 105, 183, -127, 27, 44, -127, -127, -127, -127, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -127, -145, -120, 459, 477, 464, 469, 472, 473, 474, - 468, 360, 478, 479, 480, 481, 482, 483, 484, 485, - 486, -120, -119, -145, -145, -145, -145, -145, -145, -145, - -145, -87, -145, 142, 143, 144, -210, -145, -150, -145, - -145, -145, -420, -145, -145, -145, -211, -145, -145, -145, + -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, + -419, -419, -419, 236, -419, -419, -419, -419, -419, -332, + -332, -332, -332, -332, -332, -419, -419, -419, -419, -419, + -419, -419, -419, -419, -419, -419, -419, -419, -419, 98, + 112, 108, 111, 103, 114, 98, 98, 98, 98, -31, + -32, -210, -419, -312, -400, -401, -193, -190, -419, 317, + -295, -295, 286, 105, -235, -34, -31, -230, -236, -232, + -31, -79, -121, -134, 69, 70, -133, -136, 27, 44, + 74, 76, 99, 72, 73, 71, 41, -420, 97, -420, + -253, -420, 96, -38, -256, 95, 653, 683, 653, 683, + 67, 49, 98, 98, 96, 25, -231, -233, -145, 18, + -299, 4, -298, 28, -295, 98, 236, 18, -191, 32, + -190, -279, -279, 96, 100, 332, -269, -271, 432, 434, + 165, -300, -295, 98, 34, 97, 96, -190, -321, -324, + -326, -325, -327, -322, -323, 361, 362, 192, 365, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 378, 390, + 35, 276, 357, 358, 359, 360, 379, 380, 381, 382, + 384, 385, 386, 387, 342, 363, 595, 343, 344, 345, + 346, 347, 348, 350, 351, 354, 352, 353, 355, 356, + -296, -295, 95, 97, 96, -331, 95, -145, -137, 253, + -295, 254, 254, 254, -286, 258, 487, -354, -354, -354, + 284, 23, -46, -43, -380, 22, -42, -43, 245, 135, + 136, 242, 95, -343, 95, -352, -296, -295, 95, 151, + 259, 150, -351, -348, -351, -352, -295, -218, -295, 151, + 151, -295, -295, -265, -295, -265, -265, 41, -265, 41, + -265, 41, 105, -295, -265, 41, -265, 41, -265, 41, + -265, 41, -265, 41, 34, 87, 88, 89, 34, 91, + 92, 93, -218, -295, -295, -218, -343, -218, -190, -295, + -272, 105, 105, 105, -354, -354, 105, 98, 98, 98, + -354, -354, 105, 98, -303, -301, 98, 98, -392, 270, + 314, 316, 105, 105, 105, 105, 34, 98, -393, 34, + 738, 737, 739, 740, 741, 98, 105, 34, 105, 34, + 105, -295, 95, -190, -143, 304, 240, 242, 245, 85, + 98, 322, 320, 321, 318, 323, 324, 325, 165, 50, + 96, 256, 253, -295, -285, 258, -285, -295, -302, -301, + -293, -190, 256, 398, 98, -145, -350, 18, 176, -306, + -306, -283, -190, -350, -306, -283, -190, -283, -283, -283, + -283, -306, -306, -306, -283, -301, -301, -190, -190, -190, + -190, -190, -190, -190, -313, -284, -283, 713, 98, -277, + 18, 85, -313, -313, -292, 26, 26, 96, 338, 435, + 436, -311, 335, -81, -295, 98, -10, -29, -18, -17, + -19, 165, -10, 96, 597, -183, -190, 713, 713, 713, + 713, 713, 713, -145, -145, -145, -145, 621, -208, -411, + 157, 132, 133, 130, 131, -162, 42, 43, 41, -145, + -209, -214, -216, 115, 176, 159, 173, -246, -150, -153, + -150, -150, -150, -150, -150, -150, 235, -150, 235, -150, + -150, -150, -150, -150, -150, -314, -295, 98, 192, -158, + -157, 114, -409, -158, 594, 96, -221, 236, -145, -145, + -387, -119, 460, 461, 462, 463, 465, 466, 467, 470, + 471, 475, 476, 459, 477, 464, 469, 472, 473, 474, + 468, 360, -145, -211, -210, -211, -145, -145, -223, -224, + 161, -218, -145, -420, -420, 105, 183, -127, 27, 44, + -127, -127, -127, -127, -145, -145, -145, -145, -145, -145, + -145, -145, -145, -145, -127, -145, -120, 459, 477, 464, + 469, 472, 473, 474, 468, 360, 478, 479, 480, 481, + 482, 483, 484, 485, 486, -120, -119, -145, -145, -145, + -145, -145, -145, -145, -145, -87, -145, 142, 143, 144, + -210, -145, -150, -145, -145, -145, -420, -145, -145, -145, + -211, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, + -145, -145, -145, -145, -145, -145, -145, -386, -385, -384, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -386, -385, -384, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -210, - -210, -210, -210, -210, -145, -420, -145, -164, -148, 105, - -261, 114, 101, -145, -145, -145, -145, -145, -145, -211, - -297, -302, -293, -294, -210, -211, -211, -210, -210, -145, - -145, -145, -145, -145, -145, -145, -145, -420, -145, -145, - -145, -145, -145, -253, -420, -210, 96, -402, 434, 435, - 707, -304, 289, -303, 28, -211, 98, 18, -263, 86, - -295, -235, -235, 69, 70, 65, -131, -132, -136, -420, - -37, 28, -255, -295, 646, 646, 68, 98, -333, -272, - 388, 389, 192, -145, -145, 96, -234, 30, 31, -190, - -298, 183, -302, -190, -264, 289, -190, -168, -170, -171, - -172, -193, -217, -419, -173, -31, 617, 614, 18, -183, - -184, -192, -301, -270, -315, -269, 96, 433, 435, 436, - 85, 134, -145, -334, 191, -362, -361, -360, -343, -345, - -346, -347, 97, -334, -339, 395, 394, -331, -331, -331, - -331, -331, -333, -333, -333, -333, 95, -331, 95, -331, - -331, -331, -331, -336, 95, -336, -336, -337, -336, 95, - -337, -338, 95, -338, -373, -145, -370, -369, -367, -368, - 263, 110, 689, 645, 597, 638, 679, 86, -365, -234, - 105, -420, -143, -286, -371, -368, -295, -295, -295, -301, - 157, 100, 98, 100, 98, 100, 98, -112, -60, -1, - 746, 747, 748, 96, 23, -344, -343, -59, 314, -376, - -377, 289, -372, -366, -352, 151, -351, -352, -352, -295, - 96, 32, 139, 139, 139, 139, 597, 242, 35, -287, - 637, 157, 689, 645, -343, -59, 256, 256, -314, -314, - -314, 98, 98, -282, 742, -183, -139, 306, 165, 295, - 295, 253, 308, 253, 308, -190, 319, 322, 320, 321, - 318, 323, 324, 325, 326, 41, 41, 41, 41, 41, - 41, 41, 307, 309, 311, 297, -190, -190, -285, 85, - -185, -190, 29, -301, 98, 98, -190, -283, -283, -190, - -283, -283, -190, 98, -301, -415, 339, -295, 375, 700, - 702, -123, 434, 96, 597, 26, -124, 26, -419, -411, - 132, 133, -216, -216, -216, -209, -150, -153, -150, 156, - 277, -150, -150, -419, -218, -420, -297, 28, 96, 86, - -420, 181, 96, -420, -420, 96, 18, 96, -226, -224, - 163, -145, -420, 96, -420, -420, -210, -145, -145, -145, - -145, -420, -420, -420, -420, -420, -420, -420, -420, -420, - -420, -210, -420, 96, 96, 18, -318, 28, -420, -420, - -420, -420, 96, -420, -420, -225, -420, 18, -420, 86, - 96, 176, 96, -420, -420, -420, 96, 96, -420, -420, - 96, -420, 96, -420, -420, -420, -420, -420, -420, 96, - -420, 96, -420, -420, -420, 96, -420, 96, -420, -420, + -145, -145, -145, -210, -210, -210, -210, -210, -145, -420, + -145, -164, -148, 105, -261, 114, 101, -145, -145, -145, + -145, -145, -145, -211, -297, -302, -293, -294, -210, -211, + -211, -210, -210, -145, -145, -145, -145, -145, -145, -145, + -145, -420, -145, -145, -145, -145, -145, -253, -420, -210, + 96, -402, 434, 435, 711, -304, 289, -303, 28, -211, + 98, 18, -263, 86, -295, -235, -235, 69, 70, 65, + -131, -132, -136, -420, -37, 28, -255, -295, 646, 646, + 68, 98, -333, -272, 388, 389, 192, -145, -145, 96, + -234, 30, 31, -190, -298, 183, -302, -190, -264, 289, + -190, -168, -170, -171, -172, -193, -217, -419, -173, -31, + 617, 614, 18, -183, -184, -192, -301, -270, -315, -269, + 96, 433, 435, 436, 85, 134, -145, -334, 191, -362, + -361, -360, -343, -345, -346, -347, 97, -334, -339, 395, + 394, -331, -331, -331, -331, -331, -333, -333, -333, -333, + 95, -331, 95, -331, -331, -331, -331, -336, 95, -336, + -336, -337, -336, 95, -337, -338, 95, -338, -373, -145, + -370, -369, -367, -368, 263, 110, 689, 645, 597, 638, + 679, 86, -365, -234, 105, -420, -143, -286, -371, -368, + -295, -295, -295, -301, 157, 100, 98, 100, 98, 100, + 98, -112, -60, -1, 750, 751, 752, 96, 23, -344, + -343, -59, 314, -376, -377, 289, -372, -366, -352, 151, + -351, -352, -352, -295, 96, 32, 139, 139, 139, 139, + 597, 242, 35, -287, 637, 157, 689, 645, -343, -59, + 256, 256, -314, -314, -314, 98, 98, -282, 746, -183, + -139, 306, 165, 295, 295, 253, 308, 253, 308, -190, + 319, 322, 320, 321, 318, 323, 324, 325, 326, 41, + 41, 41, 41, 41, 41, 41, 307, 309, 311, 297, + -190, -190, -285, 85, -185, -190, 29, -301, 98, 98, + -190, -283, -283, -190, -283, -283, -190, 98, -301, -415, + 339, -295, 375, 704, 706, -123, 434, 96, 597, 26, + -124, 26, -419, -411, 132, 133, -216, -216, -216, -209, + -150, -153, -150, 156, 277, -150, -150, -419, -218, -420, + -297, 28, 96, 86, -420, 181, 96, -420, -420, 96, + 18, 96, -226, -224, 163, -145, -420, 96, -420, -420, + -210, -145, -145, -145, -145, -420, -420, -420, -420, -420, + -420, -420, -420, -420, -420, -210, -420, 96, 96, 18, + -318, 28, -420, -420, -420, -420, 96, -420, -420, -225, + -420, 18, -420, 86, 96, 176, 96, -420, -420, -420, + 96, 96, -420, -420, 96, -420, 96, -420, -420, -420, + -420, -420, -420, 96, -420, 96, -420, -420, -420, 96, + -420, 96, -420, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, - 96, -420, 96, -420, 96, -420, -420, -420, 96, -420, - 96, -420, 96, -420, -420, 96, -420, 96, -420, 96, - -420, 96, 96, -420, 96, 96, 96, -420, 96, 96, - 96, 96, -420, -420, -420, -420, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, -420, -420, -420, -420, - -420, -420, 96, -94, 622, -420, -420, 96, -420, 96, - 96, 96, 96, 96, -420, -419, 236, -420, -420, -420, - -420, -420, 96, 96, 96, 96, 96, 96, -420, -420, - -420, 96, 96, -420, 96, -420, 96, -420, -401, 706, - 435, -197, -196, -194, 83, 257, 84, -419, -303, -420, - -158, -261, -262, -261, -203, -295, 105, 114, -237, -167, - 96, -169, 18, -216, 97, 96, -333, -241, -247, -280, - -295, 98, 192, -335, 192, -335, 388, 389, -233, 236, - -198, 19, -202, 35, 63, -29, -419, -419, 35, 96, - -186, -188, -187, -189, 75, 79, 81, 76, 77, 78, - 82, -309, 28, -31, -168, -31, -419, -190, -183, -421, - 18, 86, -421, 96, 236, -271, -274, 437, 434, 440, - -387, 98, -111, 96, -360, -347, -238, -140, 46, -340, - 396, -333, 605, -333, -342, 98, -342, 105, 105, 105, - 97, -49, -44, -45, 36, 90, -367, -354, 98, 45, - -354, -354, -295, 97, -234, -139, -190, 85, -371, -371, - -371, 29, -2, 745, 751, 151, 95, 401, 22, -255, - 96, 97, -219, 315, 97, -113, -295, 97, 95, -352, - -352, -295, -419, 253, 34, 34, 689, 645, 637, -59, - -219, -218, -295, -334, 744, 743, 97, 255, 313, -144, - 454, -141, 98, 100, -190, -190, -190, -190, -190, -190, - 245, 242, 424, -410, 327, 98, -410, 298, 256, -183, - -190, 96, -84, 272, 267, -306, -306, 36, -190, 434, - 718, 716, -145, 156, 277, -162, -153, -119, -119, -150, - -316, 192, 361, 276, 359, 355, 375, 366, 394, 357, - 395, 352, 351, 350, -316, -314, -150, -210, -145, -145, - -145, 164, -145, 162, -145, -95, -94, -420, -420, -420, - -420, -420, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -230, -145, -145, -145, -420, 192, 361, -95, - -145, 18, -145, -314, -145, -145, -145, -145, -145, -145, + -420, -420, 96, -420, 96, -420, 96, -420, -420, 96, + -420, 96, -420, 96, -420, 96, 96, -420, 96, 96, + 96, -420, 96, 96, 96, 96, -420, -420, -420, -420, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + -420, -420, -420, -420, -420, -420, 96, -94, 622, -420, + -420, 96, -420, 96, 96, 96, 96, 96, -420, -419, + 236, -420, -420, -420, -420, -420, 96, 96, 96, 96, + 96, 96, -420, -420, -420, 96, 96, -420, 96, -420, + 96, -420, -401, 710, 435, -197, -196, -194, 83, 257, + 84, -419, -303, -420, -158, -261, -262, -261, -203, -295, + 105, 114, -237, -167, 96, -169, 18, -216, 97, 96, + -333, -241, -247, -280, -295, 98, 192, -335, 192, -335, + 388, 389, -233, 236, -198, 19, -202, 35, 63, -29, + -419, -419, 35, 96, -186, -188, -187, -189, 75, 79, + 81, 76, 77, 78, 82, -309, 28, -31, -168, -31, + -419, -190, -183, -421, 18, 86, -421, 96, 236, -271, + -274, 437, 434, 440, -387, 98, -111, 96, -360, -347, + -238, -140, 46, -340, 396, -333, 605, -333, -342, 98, + -342, 105, 105, 105, 97, -49, -44, -45, 36, 90, + -367, -354, 98, 45, -354, -354, -295, 97, -234, -139, + -190, 85, -371, -371, -371, 29, -2, 749, 755, 151, + 95, 401, 22, -255, 96, 97, -219, 315, 97, -113, + -295, 97, 95, -352, -352, -295, -419, 253, 34, 34, + 689, 645, 637, -59, -219, -218, -295, -334, 748, 747, + 97, 255, 313, -144, 454, -141, 98, 100, -190, -190, + -190, -190, -190, -190, 245, 242, 424, -410, 327, 98, + -410, 298, 256, -183, -190, 96, -84, 272, 267, -306, + -306, 36, -190, 434, 722, 720, -145, 156, 277, -162, + -153, -119, -119, -150, -316, 192, 361, 276, 359, 355, + 375, 366, 394, 357, 395, 352, 351, 350, -316, -314, + -150, -210, -145, -145, -145, 164, -145, 162, -145, -95, + -94, -420, -420, -420, -420, -420, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -230, -145, -145, -145, + -420, 192, 361, -95, -145, 18, -145, -314, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -384, - -145, -210, -145, -210, -145, -145, -145, -145, -145, -385, - -385, -385, -385, -385, -210, -210, -210, -210, -145, -419, - -295, -98, -97, -96, 672, 257, -94, -164, -98, -164, - 235, -145, 235, 235, 235, -145, -211, -297, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -194, -348, - 295, -348, 295, -348, -265, 96, -276, 26, 18, 63, - 63, -167, -198, -132, -168, -295, -244, 699, -250, 52, - -248, -249, 53, -245, 54, 62, -335, -335, 183, -235, - -145, -266, 85, -267, -275, -218, -213, -215, -214, -419, - -254, -420, -295, -265, -267, -170, -171, -171, -170, -171, - 75, 75, 75, 80, 75, 80, 75, -187, -301, -420, - -145, -304, 86, -168, -168, -192, -301, 183, 434, 438, - 439, -360, -408, 130, 157, 34, 85, 392, 110, -406, - 191, 634, 684, 689, 645, 638, 679, -407, 259, 150, - 151, 271, 28, 47, 97, 96, 97, 96, 97, 97, - 96, -288, -287, -45, -44, -354, -354, 105, -387, 98, - 98, 255, -190, 85, 85, 85, -114, 749, 105, 95, - -3, 90, -145, 95, 23, -343, -218, -378, -328, -379, - -329, -330, -5, -6, -355, -117, 63, 110, -63, 50, - 254, 729, 730, 139, -419, 742, -370, -255, -374, -376, - -190, -149, -419, -161, -147, -146, -148, -154, 181, 182, - 276, 357, 358, -219, -190, -138, 304, 312, 95, -142, - 101, -389, 86, 295, 392, 295, 392, 98, -412, 328, - 98, -412, -190, -84, -49, -190, -283, -283, 36, -387, - -420, -162, -153, -126, 176, 597, -319, 604, -331, -331, - -331, -338, -331, 347, -331, 347, -331, -420, -420, -420, - 96, -420, 26, -420, 96, -145, 96, -95, -95, -95, - -95, -95, -122, 493, 96, 96, -420, 95, 95, -420, - -145, -420, -420, -420, 96, -420, -420, -420, -420, -420, - -420, -420, -420, -420, -420, -420, -420, -420, 96, -420, - 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, + -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, + -145, -145, -145, -384, -145, -210, -145, -210, -145, -145, + -145, -145, -145, -385, -385, -385, -385, -385, -210, -210, + -210, -210, -145, -419, -295, -98, -97, -96, 672, 257, + -94, -164, -98, -164, 235, -145, 235, 235, 235, -145, + -211, -297, -145, -145, -145, -145, -145, -145, -145, -145, + -145, -145, -194, -348, 295, -348, 295, -348, -265, 96, + -276, 26, 18, 63, 63, -167, -198, -132, -168, -295, + -244, 703, -250, 52, -248, -249, 53, -245, 54, 62, + -335, -335, 183, -235, -145, -266, 85, -267, -275, -218, + -213, -215, -214, -419, -254, -420, -295, -265, -267, -170, + -171, -171, -170, -171, 75, 75, 75, 80, 75, 80, + 75, -187, -301, -420, -145, -304, 86, -168, -168, -192, + -301, 183, 434, 438, 439, -360, -408, 130, 157, 34, + 85, 392, 110, -406, 191, 634, 684, 689, 645, 638, + 679, -407, 259, 150, 151, 271, 28, 47, 97, 96, + 97, 96, 97, 97, 96, -288, -287, -45, -44, -354, + -354, 105, -387, 98, 98, 255, -190, 85, 85, 85, + -114, 753, 105, 95, -3, 90, -145, 95, 23, -343, + -218, -378, -328, -379, -329, -330, -5, -6, -355, -117, + 63, 110, -63, 50, 254, 733, 734, 139, -419, 746, + -370, -255, -374, -376, -190, -149, -419, -161, -147, -146, + -148, -154, 181, 182, 276, 357, 358, -219, -190, -138, + 304, 312, 95, -142, 101, -389, 86, 295, 392, 295, + 392, 98, -412, 328, 98, -412, -190, -84, -49, -190, + -283, -283, 36, -387, -420, -162, -153, -126, 176, 597, + -319, 604, -331, -331, -331, -338, -331, 347, -331, 347, + -331, -420, -420, -420, 96, -420, 26, -420, 96, -145, + 96, -95, -95, -95, -95, -95, -122, 493, 96, 96, + -420, 95, 95, -420, -145, -420, -420, -420, 96, -420, + -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, + -420, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, 96, -420, - -420, 96, -420, -420, -420, 96, -420, 96, -420, 96, - -420, -420, -420, 96, -317, 690, -420, -420, -420, -420, - -420, -420, -420, -420, -420, -420, -420, -93, -296, -94, - 654, 654, -420, -94, -227, 96, -150, -420, -150, -150, - -150, -420, -420, -420, 96, -420, 96, 96, -420, 96, - -420, 96, -420, -420, -420, -420, 96, -195, 26, -419, - -195, -419, -195, -420, -261, -190, -198, -228, 20, -241, - 57, 367, -252, -251, 61, 53, -249, 23, 55, 23, - 33, -266, 96, 165, -308, 96, 28, -420, -420, 96, - 63, 236, -420, -198, -181, -180, 85, 86, -182, 85, - -180, 75, 75, -256, 96, -264, -168, -198, -198, 236, - 130, -419, -149, 16, 98, 98, -387, -405, 733, 734, - 34, 105, -354, -354, 151, 151, -190, 95, -333, 98, - -333, 105, 105, 34, 91, 92, 93, 34, 87, 88, - 89, -190, -190, -190, -190, -375, 95, 23, -145, 95, - 165, 97, -255, -255, 291, 176, -354, 727, 297, 297, - -354, -354, -354, -116, -115, 749, 97, -420, 96, -341, - 597, 600, -145, -155, -155, -256, 97, -383, 597, -388, - -295, -295, -295, -295, 105, 107, -420, 595, 82, 598, - -420, -333, -145, -145, -145, -145, -235, 98, -145, -145, - 105, 105, -95, -420, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -210, -145, -420, -178, -177, -179, - 710, 130, 34, -316, -420, -212, 289, -101, -100, -99, - 18, -420, -145, -119, -119, -119, -119, -145, -145, -145, - -145, -145, -145, -419, 75, 22, 20, -258, -295, 259, - -419, -258, -419, -304, -228, -229, 21, 23, -242, 59, - -240, 58, -240, -251, 23, 23, 98, 23, 98, 151, - -275, -145, -215, -303, 63, -29, -295, -213, -295, -230, - -145, 95, -145, -158, -198, -198, -145, -205, 517, 519, - 520, 521, 518, 523, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 522, 533, 494, 495, 496, 117, 119, - 118, 127, 128, 497, 498, 499, 361, 545, 546, 540, - 543, 544, 542, 541, 376, 377, 500, 563, 564, 568, - 567, 565, 566, 569, 572, 573, 574, 575, 576, 577, - 579, 578, 570, 571, 548, 547, 549, 550, 551, 552, - 553, 554, 556, 555, 557, 558, 559, 560, 561, 562, - 580, 581, 582, 583, 584, 586, 585, 590, 589, 587, - 588, 592, 591, 501, 502, 120, 121, 122, 123, 124, - 125, 126, 503, 506, 504, 507, 508, 509, 514, 515, - 510, 511, 512, 513, 516, 387, 385, 386, 382, 381, - 380, 441, 446, 447, 449, 534, 535, 536, 537, 538, - 539, 691, 692, 693, 694, 695, 696, 697, 698, 98, - 98, 95, -145, 97, 97, -256, -374, -60, 97, -257, - -255, 105, 97, 292, -214, -419, 98, -354, -354, -354, - 105, 105, -303, -420, 96, -295, -407, -376, 601, 601, - -420, 28, -382, -381, -297, 95, 86, 68, 596, 599, - -420, -420, -420, 96, -420, -420, -420, 97, 97, -420, + 96, -420, 96, -420, -420, 96, -420, -420, -420, 96, + -420, 96, -420, 96, -420, -420, -420, 96, -317, 690, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, + -420, -93, -296, -94, 654, 654, -420, -94, -227, 96, + -150, -420, -150, -150, -150, -420, -420, -420, 96, -420, + 96, 96, -420, 96, -420, 96, -420, -420, -420, -420, + 96, -195, 26, -419, -195, -419, -195, -420, -261, -190, + -198, -228, 20, -241, 57, 367, -252, -251, 61, 53, + -249, 23, 55, 23, 33, -266, 96, 165, -308, 96, + 28, -420, -420, 96, 63, 236, -420, -198, -181, -180, + 85, 86, -182, 85, -180, 75, 75, -256, 96, -264, + -168, -198, -198, 236, 130, -419, -149, 16, 98, 98, + -387, -405, 737, 738, 34, 105, -354, -354, 151, 151, + -190, 95, -333, 98, -333, 105, 105, 34, 91, 92, + 93, 34, 87, 88, 89, -190, -190, -190, -190, -375, + 95, 23, -145, 95, 165, 97, -255, -255, 291, 176, + -354, 731, 297, 297, -354, -354, -354, -116, -115, 753, + 97, -420, 96, -341, 597, 600, -145, -155, -155, -256, + 97, -383, 597, -388, -295, -295, -295, -295, 105, 107, + -420, 595, 82, 598, -420, -333, -145, -145, -145, -145, + -235, 98, -145, -145, 105, 105, -95, -420, -145, -145, + -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, + -145, -145, -145, -145, -145, -145, -145, -145, -210, -145, + -420, -178, -177, -179, 714, 130, 34, -316, -420, -212, + 289, -101, -100, -99, 18, -420, -145, -119, -119, -119, + -119, -145, -145, -145, -145, -145, -145, -419, 75, 22, + 20, -258, -295, 259, -419, -258, -419, -304, -228, -229, + 21, 23, -242, 59, -240, 58, -240, -251, 23, 23, + 98, 23, 98, 151, -275, -145, -215, -303, 63, -29, + -295, -213, -295, -230, -145, 95, -145, -158, -198, -198, + -145, -205, 517, 519, 520, 521, 518, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 522, 533, 494, + 495, 496, 117, 119, 118, 127, 128, 497, 498, 499, + 361, 545, 546, 540, 543, 544, 542, 541, 376, 377, + 500, 563, 564, 568, 567, 565, 566, 569, 572, 573, + 574, 575, 576, 577, 579, 578, 570, 571, 548, 547, + 549, 550, 551, 552, 553, 554, 556, 555, 557, 558, + 559, 560, 561, 562, 580, 581, 582, 583, 584, 586, + 585, 590, 589, 587, 588, 592, 591, 501, 502, 120, + 121, 122, 123, 124, 125, 126, 503, 506, 504, 507, + 508, 509, 514, 515, 510, 511, 512, 513, 516, 387, + 385, 386, 382, 381, 380, 441, 446, 447, 449, 534, + 535, 536, 537, 538, 539, 695, 696, 697, 698, 699, + 700, 701, 702, 98, 98, 95, -145, 97, 97, -256, + -374, -60, 97, -257, -255, 105, 97, 292, -214, -419, + 98, -354, -354, -354, 105, 105, -303, -420, 96, -295, + -407, -376, 601, 601, -420, 28, -382, -381, -297, 95, + 86, 68, 596, 599, -420, -420, -420, 96, -420, -420, + -420, 97, 97, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, - -420, 96, -420, -177, -179, -420, 85, -158, -230, 23, - -98, 314, 316, -98, -420, -420, -420, -420, -420, 96, - -420, -420, 96, -420, 96, -420, -420, -258, -420, 23, - 23, 96, -420, -258, -420, -258, -197, -229, -108, -107, - -106, 628, -145, -210, -243, 60, 85, 134, 98, 98, - 98, 16, -419, -213, 236, -308, -235, -255, -175, 401, - -230, -420, -255, 97, 28, 97, 751, 151, 97, -214, - -125, -419, 288, -303, 98, 98, -115, -118, -29, 96, - 165, -255, -190, 68, -145, -210, -420, 85, 609, 710, - -92, -91, -88, 721, 747, -210, -94, -94, -145, -145, - -145, -420, -295, 259, -420, -420, -108, 96, -105, -104, - -295, -320, 597, 85, 134, -267, -255, -308, -295, 97, - -420, -419, -235, 97, -239, -29, 95, -3, 288, -328, - -379, -329, -330, -5, -6, -355, -82, 597, -381, -359, - -301, -297, 98, 105, 97, 597, -420, -420, -90, 159, - 719, 687, -155, 235, -420, 96, -420, 96, -420, 96, - -106, 96, 28, 602, -420, -304, -176, -174, -295, 651, - -398, -397, 593, -408, -404, 130, 157, 110, -406, 689, - 645, 140, 141, -82, -145, 95, -420, -83, 303, 706, - 236, -389, 598, -90, 720, 665, 640, 665, 640, -150, - -145, -145, -145, -104, -419, -420, 96, 26, -321, -62, - 662, -395, -396, 85, -399, 407, 661, 682, 130, 98, - 97, -255, 264, -302, -383, 599, 156, -119, -420, 96, - -420, 96, -420, -93, -174, 658, -334, -158, -396, 85, - -395, 85, 17, 16, -4, 750, 97, 305, -90, 665, - 640, -145, -145, -420, -61, 29, -175, -394, 272, 267, - 270, 35, -394, 105, -4, -420, -420, 662, 266, 34, - 130, -158, -178, -177, -177, + -420, -420, -420, -420, -420, 96, -420, -177, -179, -420, + 85, -158, -230, 23, -98, 314, 316, -98, -420, -420, + -420, -420, -420, 96, -420, -420, 96, -420, 96, -420, + -420, -258, -420, 23, 23, 96, -420, -258, -420, -258, + -197, -229, -108, -107, -106, 628, -145, -210, -243, 60, + 85, 134, 98, 98, 98, 16, -419, -213, 236, -308, + -235, -255, -175, 401, -230, -420, -255, 97, 28, 97, + 755, 151, 97, -214, -125, -419, 288, -303, 98, 98, + -115, -118, -29, 96, 165, -255, -190, 68, -145, -210, + -420, 85, 609, 714, -92, -91, -88, 725, 751, -210, + -94, -94, -145, -145, -145, -420, -295, 259, -420, -420, + -108, 96, -105, -104, -295, -320, 597, 85, 134, -267, + -255, -308, -295, 97, -420, -419, -235, 97, -239, -29, + 95, -3, 288, -328, -379, -329, -330, -5, -6, -355, + -82, 597, -381, -359, -301, -297, 98, 105, 97, 597, + -420, -420, -90, 159, 723, 687, -155, 235, -420, 96, + -420, 96, -420, 96, -106, 96, 28, 602, -420, -304, + -176, -174, -295, 651, -398, -397, 593, -408, -404, 130, + 157, 110, -406, 689, 645, 140, 141, -82, -145, 95, + -420, -83, 303, 710, 236, -389, 598, -90, 724, 665, + 640, 665, 640, -150, -145, -145, -145, -104, -419, -420, + 96, 26, -321, -62, 662, -395, -396, 85, -399, 407, + 661, 682, 130, 98, 97, -255, 264, -302, -383, 599, + 156, -119, -420, 96, -420, 96, -420, -93, -174, 658, + -334, -158, -396, 85, -395, 85, 17, 16, -4, 754, + 97, 305, -90, 665, 640, -145, -145, -420, -61, 29, + -175, -394, 272, 267, 270, 35, -394, 105, -4, -420, + -420, 662, 266, 34, 130, -158, -178, -177, -177, } var yyDef = [...]int{ @@ -9475,9 +9441,9 @@ var yyDef = [...]int{ 39, 70, 72, 73, 889, 889, 889, 0, 889, 0, 0, 889, -2, -2, 889, 1644, 0, 889, 0, 884, 0, -2, 804, 810, 0, 819, -2, 0, 0, 889, - 889, 2285, 2285, 884, 0, 0, 0, 0, 0, 889, + 889, 2289, 2289, 884, 0, 0, 0, 0, 0, 889, 889, 889, 889, 1649, 1502, 50, 889, 0, 85, 86, - 839, 840, 841, 65, 0, 2283, 890, 1, 3, 71, + 839, 840, 841, 65, 0, 2287, 890, 1, 3, 71, 75, 0, 0, 0, 58, 1511, 0, 78, 0, 0, 893, 0, 0, 1627, 889, 889, 0, 126, 127, 0, 0, 0, -2, 130, -2, 159, 160, 161, 0, 166, @@ -9487,90 +9453,90 @@ var yyDef = [...]int{ 0, 0, 560, 463, 401, 401, 401, 0, 401, 401, 401, 401, 0, 0, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 1529, 165, 1645, 1642, 1643, 1805, 1806, 1807, 1808, - 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, - 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, - 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, - 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, - 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, - 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, - 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, - 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, - 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, - 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, - 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, - 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, - 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, - 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, - 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, - 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, - 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, - 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, - 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, - 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, - 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, - 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, - 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, - 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, - 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, - 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, - 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, - 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, - 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, - 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, - 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, - 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, - 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, - 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, - 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, - 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, - 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, 2226, 2227, 2228, - 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, 2254, 2255, 2256, 2257, 2258, - 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, - 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, - 2279, 2280, 2281, 2282, 0, 1621, 0, 722, 993, 0, + 401, 1529, 165, 1645, 1642, 1643, 1809, 1810, 1811, 1812, + 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, + 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, + 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, + 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, + 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, + 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, + 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, + 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, + 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, + 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, + 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, + 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, + 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, + 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, + 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, + 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, + 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, + 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, + 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, + 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, + 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, + 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, + 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, + 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, + 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, + 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, + 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, + 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, + 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, + 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, + 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, + 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, + 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, + 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, + 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, + 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, + 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, + 2193, 2194, 2195, 2196, 2197, 2198, 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, 2226, 2227, 2228, 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, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, + 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, + 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, + 2283, 2284, 2285, 2286, 0, 1621, 0, 722, 993, 0, 885, 886, 0, 793, 793, 0, 793, 793, 793, 793, 0, 0, 0, 736, 0, 0, 0, 0, 790, 0, 752, 753, 0, 790, 0, 759, 796, 0, 0, 766, - 793, 793, 769, 2286, 0, 2286, 2286, 0, 0, 1612, + 793, 793, 769, 2290, 0, 2290, 2290, 0, 0, 1612, 0, 787, 785, 799, 800, 42, 803, 806, 807, 808, 809, 812, 0, 823, 826, 1638, 1639, 0, 828, 833, 852, 853, 0, 45, 1153, 0, 1017, 0, 1028, -2, 1039, 1056, 1057, 1058, 1059, 1060, 1062, 1063, 1064, 0, 0, 0, 0, 1069, 1070, 0, 0, 0, 0, 0, - 1133, 0, 0, 0, 0, 2008, 1473, 0, 0, 1435, - 1435, 1169, 1435, 1435, 1437, 1437, 1437, 1858, 2000, 2009, - 2188, 1819, 1825, 1826, 1827, 2134, 2135, 2136, 2137, 2229, - 2230, 2234, 1922, 1814, 2201, 2202, 0, 2282, 1961, 1969, - 1970, 1946, 1955, 1994, 2096, 2213, 1837, 1989, 2059, 1919, - 1941, 1942, 2077, 2078, 1965, 1966, 1945, 2140, 2142, 2158, - 2159, 2144, 2146, 2155, 2161, 2166, 2145, 2157, 2162, 2175, - 2179, 2182, 2183, 2184, 2152, 2150, 2163, 2167, 2169, 2171, - 2177, 2180, 2153, 2151, 2164, 2168, 2170, 2172, 2178, 2181, - 2139, 2143, 2147, 2156, 2174, 2154, 2173, 2148, 2160, 2165, - 2176, 2149, 2141, 1959, 1962, 1949, 1950, 1952, 1954, 1960, - 1967, 1973, 1951, 1972, 1971, 0, 1947, 1948, 1953, 1964, - 1968, 1956, 1957, 1958, 1963, 1974, 2015, 2014, 2013, 2058, - 1985, 2057, 0, 0, 0, 0, 0, 1808, 1864, 1865, - 2185, 1357, 1358, 1359, 1360, 0, 0, 0, 0, 0, + 1133, 0, 0, 0, 0, 2012, 1473, 0, 0, 1435, + 1435, 1169, 1435, 1435, 1437, 1437, 1437, 1862, 2004, 2013, + 2192, 1823, 1829, 1830, 1831, 2138, 2139, 2140, 2141, 2233, + 2234, 2238, 1926, 1818, 2205, 2206, 0, 2286, 1965, 1973, + 1974, 1950, 1959, 1998, 2100, 2217, 1841, 1993, 2063, 1923, + 1945, 1946, 2081, 2082, 1969, 1970, 1949, 2144, 2146, 2162, + 2163, 2148, 2150, 2159, 2165, 2170, 2149, 2161, 2166, 2179, + 2183, 2186, 2187, 2188, 2156, 2154, 2167, 2171, 2173, 2175, + 2181, 2184, 2157, 2155, 2168, 2172, 2174, 2176, 2182, 2185, + 2143, 2147, 2151, 2160, 2178, 2158, 2177, 2152, 2164, 2169, + 2180, 2153, 2145, 1963, 1966, 1953, 1954, 1956, 1958, 1964, + 1971, 1977, 1955, 1976, 1975, 0, 1951, 1952, 1957, 1968, + 1972, 1960, 1961, 1962, 1967, 1978, 2019, 2018, 2017, 2062, + 1989, 2061, 0, 0, 0, 0, 0, 1812, 1868, 1869, + 2189, 1357, 1358, 1359, 1360, 0, 0, 0, 0, 0, 0, 0, 290, 291, 1486, 1487, 44, 1152, 1608, 1437, 1437, 1437, 1437, 1437, 1437, 1091, 1092, 1093, 1094, 1095, - 1121, 1122, 1128, 1129, 2072, 2073, 2074, 2075, 1902, 2224, - 1911, 1912, 2054, 2055, 1924, 1925, 2256, 2257, -2, -2, + 1121, 1122, 1128, 1129, 2076, 2077, 2078, 2079, 1906, 2228, + 1915, 1916, 2058, 2059, 1928, 1929, 2260, 2261, -2, -2, -2, 232, 233, 234, 235, 236, 237, 238, 239, 0, - 1863, 2199, 2200, 228, 0, 0, 295, 292, 293, 294, + 1867, 2203, 2204, 228, 0, 0, 295, 292, 293, 294, 1135, 1136, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 297, 298, 2285, 0, 862, 0, + 286, 287, 288, 289, 297, 298, 2289, 0, 862, 0, 0, 0, 0, 0, 0, 1650, 1651, 1511, 0, 1503, 1502, 63, 0, 889, -2, 0, 0, 0, 0, 47, 0, 52, 950, 892, 77, 76, 1551, 1554, 0, 0, @@ -9594,9 +9560,9 @@ var yyDef = [...]int{ 726, 0, 0, 727, 0, 790, 790, 788, 789, 729, 730, 731, 732, 793, 0, 0, 410, 411, 412, 790, 793, 0, 793, 793, 793, 793, 790, 790, 790, 793, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2286, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2290, 796, 793, 0, 760, 0, 761, 762, 763, 764, 767, - 768, 770, 2287, 2288, 1640, 1641, 1652, 1653, 1654, 1655, + 768, 770, 2291, 2292, 1640, 1641, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, @@ -9611,288 +9577,288 @@ var yyDef = [...]int{ 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, - 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 2286, - 2286, 774, 778, 782, 780, 1613, 805, 811, 813, 814, - 0, 0, 824, 827, 846, 49, 1910, 832, 49, 834, - 835, 836, 837, 838, 864, 865, 870, 0, 0, 0, - 0, 876, 877, 878, 0, 0, 881, 882, 883, 0, - 0, 0, 0, 0, 1015, 0, 0, 1141, 1142, 1143, - 1144, 1145, 1146, 1147, 1148, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1040, 1041, 0, 0, 0, 1065, 1066, - 1067, 1068, 1071, 0, 1082, 0, 1084, 1482, -2, 0, - 0, 0, 1076, 1077, 0, 0, 0, 1633, 1633, 0, - 0, 0, 1474, 0, 0, 1167, 0, 1168, 1170, 1171, - 1172, 0, 1173, 1174, 899, 899, 899, 899, 899, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1633, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 141, 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, 1633, 0, - 0, 1633, 1633, 0, 0, 220, 221, 222, 223, 224, - 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 240, 241, 242, 243, - 244, 299, 245, 246, 247, 1152, 0, 0, 0, 46, - 854, 855, 0, 976, 1633, 0, 0, 905, 0, 1648, - 57, 66, 68, 1511, 61, 1511, 0, 909, 0, 0, - -2, -2, 910, 911, 915, 916, 917, 918, 919, 920, - 921, 922, 923, 54, 2284, 55, 0, 74, 0, 48, - 0, 0, 1552, 0, 1555, 0, 0, 0, 374, 1559, - 0, 0, 1504, 1505, 1508, 0, 927, 2006, 931, 0, - 933, 934, 0, 0, 100, 0, 992, 0, 0, 0, - 111, 0, 113, 114, 0, 0, 0, 385, 1616, 1617, - 1618, -2, 408, 0, 385, 369, 307, 308, 309, 360, - 311, 360, 360, 360, 360, 374, 374, 374, 374, 342, - 343, 344, 345, 346, 0, 360, 0, 328, 360, 360, - 360, 360, 350, 351, 352, 353, 354, 355, 356, 357, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 362, - 362, 362, 362, 362, 366, 366, 0, 1110, 0, 389, - 0, 1508, 0, 0, 1542, 1625, 1635, 0, 0, 0, - 0, 0, 132, 0, 0, 0, 576, 620, 527, 564, - 577, 0, 530, 531, -2, 0, 0, 512, 0, 514, - 0, 409, 0, -2, 0, 419, 0, 415, 419, 416, - 419, 407, 420, 554, 555, 556, 0, 558, 559, 650, - 962, 0, 0, 0, 0, 0, 656, 657, 658, 0, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 565, 566, 567, 568, 569, 570, 571, 572, 0, 0, - 0, 0, 514, 0, 561, 0, 0, 465, 466, 467, - 0, 0, 470, 471, 472, 473, 0, 0, 476, 477, - 478, 979, 980, 479, 480, 505, 506, 507, 481, 482, - 483, 484, 485, 486, 487, 499, 500, 501, 502, 503, - 504, 488, 489, 490, 491, 492, 493, 496, 0, 147, - 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1623, 0, - 0, 0, 0, 908, 994, 1646, 1647, 723, 0, 0, - 794, 795, 0, 413, 414, 793, 793, 733, 775, 0, - 793, 737, 776, 738, 740, 739, 741, 754, 755, 793, - 744, 791, 792, 745, 746, 747, 748, 749, 750, 751, - 771, 756, 757, 758, 797, 0, 801, 802, 772, 773, - 0, 783, 0, 0, 0, 817, 818, 0, 825, 849, - 847, 848, 850, 842, 843, 844, 845, 0, 851, 0, - 0, 867, 96, 872, 873, 874, 875, 887, 880, 1154, - 1012, 1013, 1014, 0, 1016, 1022, 0, 1137, 1139, 1020, - 1021, 1024, 0, 0, 0, 1018, 1029, 1149, 1150, 1151, - 0, 0, 0, 0, 0, 1033, 1037, 1042, 1043, 1044, - 1045, 1046, 0, 1047, 0, 1050, 1051, 1052, 1053, 1054, - 1055, 1061, 1450, 1451, 1452, 1080, 300, 301, 0, 1081, - 0, 0, 0, 0, 0, 0, 0, 0, 1397, 1398, - 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, - 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1153, 0, - 1634, 0, 0, 0, 1480, 1477, 0, 0, 0, 1436, - 1438, 0, 0, 0, 900, 901, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1417, 1418, 1419, 1420, 1421, 1422, 1423, - 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, - 1434, 0, 0, 1453, 0, 0, 0, 0, 0, 0, - 0, 1473, 0, 1086, 1087, 1088, 0, 0, 0, 0, - 0, 0, 1215, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 142, 143, 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, 1361, 1362, - 1363, 1364, 41, 0, 0, 0, 0, 0, 0, 0, - 1484, 0, -2, -2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, - 0, 0, 0, 0, 1606, 0, 0, 857, 858, 860, - 0, 996, 0, 977, 0, 0, 863, 0, 904, 0, - 907, 60, 62, 913, 914, 0, 935, 924, 912, 56, - 51, 0, 0, 954, 1553, 1556, 1557, 374, 1579, 0, - 383, 383, 380, 1514, 1515, 0, 1507, 1509, 1510, 79, - 932, 928, 0, 1010, 0, 0, 991, 0, 938, 940, - 941, 942, 974, 0, 945, 946, 0, 0, 0, 0, - 0, 98, 993, 104, 0, 112, 0, 0, 117, 118, - 105, 106, 107, 108, 0, 609, -2, 460, 179, 181, - 182, 183, 174, -2, 372, 370, 371, 310, 374, 374, - 336, 337, 338, 339, 340, 341, 0, 348, 0, 329, - 330, 331, 332, 321, 0, 322, 323, 324, 364, 0, - 325, 326, 0, 327, 427, 0, 1516, 390, 391, 393, - 401, 0, 396, 397, 0, 401, 401, 0, 422, 423, - 0, 1508, 1533, 0, 0, 1636, 1635, 1635, 1635, 152, - 0, 167, 168, 169, 170, 171, 172, 645, 0, 0, - 621, 643, 644, 165, 0, 0, 175, 516, 515, 0, - 677, 0, 425, 0, 0, 419, 419, 404, 405, 557, - 0, 0, 652, 653, 654, 655, 0, 0, 0, 543, - 454, 0, 544, 545, 514, 516, 0, 0, 385, 468, - 469, 474, 475, 494, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 592, 593, 595, 598, - 600, 518, 604, 606, 0, 594, 597, 599, 601, 518, - 605, 607, 1530, 1531, 1532, 0, 0, 715, 0, 0, - 451, 94, 1624, 720, 724, 725, 790, 743, 777, 790, - 735, 742, 765, 779, 781, 815, 816, 821, 829, 830, - 831, 871, 0, 0, 0, 0, 879, 0, 0, 1023, - 1138, 1140, 1025, 1026, 1027, 1030, 0, 1034, 1038, 0, - 0, 0, 0, 0, 1085, 1083, 1484, 0, 0, 0, - 1134, 0, 0, 1157, 1158, 0, 0, 0, 0, 1478, - 0, 0, 1165, 0, 1439, 1115, 0, 0, 0, 0, - 0, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, - 1115, 1502, 1192, 0, 0, 0, 0, 0, 1197, 1198, - 1199, 1115, 0, 1202, 1203, 0, 1205, 0, 1206, 0, - 0, 0, 0, 1213, 1214, 1216, 0, 0, 1219, 1220, - 0, 1222, 0, 1224, 1225, 1226, 1227, 1228, 1229, 0, - 1231, 0, 1233, 1234, 1235, 0, 1237, 0, 1239, 1240, - 0, 1242, 0, 1244, 0, 1247, 0, 1250, 0, 1253, - 0, 1256, 0, 1259, 0, 1262, 0, 1265, 0, 1268, - 0, 1271, 0, 1274, 0, 1277, 0, 1280, 0, 1283, - 0, 1286, 0, 1289, 0, 1292, 1293, 1294, 0, 1296, - 0, 1298, 0, 1301, 1302, 0, 1304, 0, 1307, 0, - 1310, 0, 0, 1311, 0, 0, 0, 1315, 0, 0, - 0, 0, 1324, 1325, 1326, 1327, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1338, 1339, 1340, 1341, - 1342, 1343, 0, 1345, 0, 1116, 0, 0, 1116, 0, - 0, 0, 0, 0, 1155, 1633, 0, 1440, 1441, 1442, - 1443, 1444, 0, 0, 0, 0, 0, 0, 1384, 1385, - 1387, 0, 0, 1390, 0, 1392, 0, 1607, 856, 859, - 861, 948, 997, 998, 0, 0, 0, 0, 978, 1632, - 902, 903, 906, 956, 0, 1488, 0, 0, 935, 1010, - 0, 936, 0, 53, 951, 0, 1561, 1560, 1573, 1586, - 383, 383, 377, 378, 384, 379, 381, 382, 1506, 0, - 1511, 0, 1600, 0, 0, 1589, 0, 0, 0, 0, - 0, 0, 0, 0, 981, 0, 0, 984, 0, 0, - 0, 0, 975, 946, 0, 947, 0, -2, 0, 0, - 92, 93, 0, 0, 0, 115, 116, 0, 0, 122, - 386, 387, 156, 165, 462, 180, 435, 0, 0, 306, - 373, 333, 334, 335, 0, 358, 0, 0, 0, 0, - 456, 128, 1520, 1519, 401, 401, 392, 0, 395, 0, - 0, 0, 1637, 361, 424, 0, 146, 0, 0, 0, - 0, 1626, 615, 0, 0, 622, 0, 0, 0, 525, - 0, 536, 537, 0, 649, -2, 711, 389, 0, 403, - 406, 963, 0, 0, 538, 0, 541, 542, 455, 516, - 547, 548, 562, 549, 497, 498, 495, 0, 0, 1543, - 1544, 1549, 1547, 1548, 133, 583, 585, 589, 584, 588, - 0, 0, 0, 520, 0, 608, 520, 581, 0, 451, - 1516, 0, 719, 452, 453, 793, 793, 866, 97, 0, - 869, 0, 0, 0, 0, 1031, 1035, 1048, 1049, 1445, - 1471, 360, 360, 1458, 360, 366, 1461, 360, 1463, 360, - 1466, 360, 1469, 1470, 0, 0, 1078, 0, 0, 0, - 0, 1164, 1481, 0, 0, 1175, 1114, 1115, 1115, 1115, - 1115, 1115, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, - 1189, 1190, 1475, 0, 0, 0, 1196, 0, 0, 1200, - 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, 0, 144, - 145, 0, 0, 0, 0, 0, 0, 1395, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1109, - 1113, 0, 1117, 1118, 0, 0, 1347, 0, 0, 1365, - 0, 0, 0, 0, 0, 0, 0, 1485, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 999, 1006, - 0, 1006, 0, 1006, 0, 0, 0, 1619, 1620, 1489, - 1490, 1010, 1491, 925, 937, 955, 1579, 0, 1572, 0, - -2, 1581, 0, 0, 0, 1587, 375, 376, 929, 80, - 1011, 83, 0, 1600, 1609, 0, 1597, 1602, 1604, 0, - 0, 0, 1593, 0, 1010, 939, 970, 972, 0, 967, - 982, 983, 985, 0, 987, 0, 989, 990, 950, 944, - 0, 100, 0, 1010, 1010, 99, 0, 995, 119, 120, - 121, 461, 184, 189, 0, 0, 0, 194, 0, 196, - 0, 0, 0, 201, 202, 401, 401, 436, 0, 303, - 305, 0, 0, 187, 374, 0, 374, 0, 365, 367, - 0, 437, 457, 1517, 1518, 0, 0, 394, 398, 399, - 400, 0, 148, 0, 0, 0, 618, 0, 646, 0, - 0, 0, 0, 0, 0, 176, 517, 678, 679, 680, - 681, 682, 683, 684, 685, 686, 0, 401, 0, 0, - 0, 401, 401, 401, 0, 703, 388, 0, 0, 674, - 671, 539, 0, 218, 219, 226, 227, 229, 0, 0, - 0, 0, 0, 546, 950, 1534, 1535, 1536, 0, 1546, - 1550, 136, 0, 0, 0, 0, 591, 596, 602, 0, - 519, 603, 716, 717, 718, 95, 728, 734, 868, 888, - 1019, 1032, 1036, 0, 0, 0, 0, 1472, 1456, 374, - 1459, 1460, 1462, 1464, 1465, 1467, 1468, 1074, 1075, 1079, - 0, 1161, 0, 1163, 0, 1479, 0, 1176, 1177, 1178, - 1179, 1180, 1511, 0, 0, 0, 1195, 0, 0, 1115, - 0, 1208, 1207, 1209, 0, 1211, 1212, 1217, 1218, 1221, - 1223, 1230, 1232, 1236, 1238, 1241, 1243, 1245, 0, 1248, - 0, 1251, 0, 1254, 0, 1257, 0, 1260, 0, 1263, - 0, 1266, 0, 1269, 0, 1272, 0, 1275, 0, 1278, - 0, 1281, 0, 1284, 0, 1287, 0, 1290, 0, 1295, - 1297, 0, 1300, 1303, 1305, 0, 1308, 0, 1312, 0, - 1314, 1316, 1317, 0, 0, 0, 1328, 1329, 1330, 1331, - 1332, 1333, 1334, 1335, 1336, 1337, 1344, 0, 1107, 1346, - 1119, 1120, 1125, 1349, 0, 0, 0, 1352, 0, 0, - 0, 1356, 1156, 1367, 0, 1372, 0, 0, 1378, 0, - 1382, 0, 1388, 1389, 1391, 1393, 0, 0, 0, 0, - 0, 0, 0, 976, 957, 64, 1491, 1495, 0, 1566, - 1564, 1564, 1574, 1575, 0, 0, 1582, 0, 0, 0, - 0, 84, 0, 0, 1588, 0, 0, 1605, 0, 0, - 0, 0, 101, 1502, 964, 971, 0, 0, 965, 0, - 966, 986, 988, 943, 0, 1010, 1010, 90, 91, 0, - 190, 0, 192, 0, 195, 197, 198, 199, 205, 206, - 207, 200, 0, 0, 302, 304, 0, 0, 347, 359, - 349, 0, 0, 1521, 1522, 1523, 1524, 1525, 1526, 1527, - 1528, 950, 149, 150, 151, 610, 0, 620, 0, 952, - 0, 613, 0, 528, 0, 0, 0, 401, 401, 401, - 0, 0, 0, 0, 688, 0, 0, 651, 0, 659, - 0, 0, 0, 230, 231, 0, 1545, 582, 0, 134, - 135, 0, 0, 587, 521, 522, 1072, 0, 0, 0, - 1073, 1457, 0, 0, 0, 0, 0, 1476, 0, 0, - 0, 0, 1201, 1204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1320, 0, 0, 0, - 640, 641, 0, 1396, 1112, 1502, 0, 1116, 1126, 1127, - 0, 1116, 1366, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1007, 0, 0, 0, 958, 959, - 0, 0, 0, 996, 1495, 1500, 0, 0, 1569, 0, - 1562, 1565, 1563, 1576, 0, 0, 1583, 0, 1585, 0, - 1610, 1611, 1603, 1598, 0, 1592, 1595, 1597, 1594, 1511, - 968, 0, 973, 0, 1502, 89, 0, 193, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, - 204, 0, 0, 363, 368, 0, 0, 0, 611, 0, - 953, 623, 614, 0, 701, 0, 705, 0, 0, 0, - 708, 709, 710, 687, 0, 691, 429, 675, 672, 673, - 540, 0, 137, 138, 0, 0, 0, 1446, 0, 1449, - 1159, 1162, 1160, 0, 1191, 1193, 1194, 1454, 1455, 1210, - 1246, 1249, 1252, 1255, 1258, 1261, 1264, 1267, 1270, 1273, - 1276, 1279, 1282, 1285, 1288, 1291, 1299, 1306, 1309, 1313, - 1318, 0, 1321, 0, 0, 1322, 0, 642, 1103, 0, - 0, 1123, 1124, 0, 1351, 1353, 1354, 1355, 1368, 0, - 1373, 1374, 0, 1379, 0, 1383, 1394, 0, 1001, 1008, - 1009, 0, 1004, 0, 1005, 0, 949, 1500, 82, 1501, - 1498, 0, 1496, 1493, 1558, 0, 1567, 1568, 1577, 1578, - 1584, 0, 0, 1597, 0, 1591, 87, 0, 0, 0, - 1511, 191, 0, 210, 0, 619, 0, 622, 612, 699, - 700, 0, 712, 704, 706, 707, 689, -2, 1537, 0, - 0, 0, 590, 1447, 0, 0, 1323, 0, 638, 639, - 1111, 1104, 0, 1089, 1090, 1108, 1348, 1350, 0, 0, - 0, 1000, 960, 961, 1002, 1003, 81, 0, 1497, 1131, - 0, 1492, 0, 1570, 1571, 1601, 0, 1590, 1596, 969, - 976, 0, 88, 442, 435, 1537, 0, 0, 0, 692, - 693, 694, 695, 696, 697, 698, 579, 1539, 139, 140, - 0, 509, 510, 511, 133, 0, 1166, 1319, 1105, 0, - 0, 0, 0, 0, 1369, 0, 1375, 0, 1380, 0, - 1499, 0, 0, 1494, 1599, 624, 0, 626, 0, -2, - 430, 443, 0, 185, 211, 212, 0, 0, 215, 216, - 217, 208, 209, 129, 0, 0, 713, 0, 1540, 1541, - 0, 136, 0, 0, 1096, 1097, 1098, 1099, 1101, 0, - 0, 0, 0, 1132, 1109, 625, 0, 0, 385, 0, - 635, 431, 432, 0, 438, 439, 440, 441, 213, 214, - 647, 0, 0, 508, 586, 1448, 0, 0, 1370, 0, - 1376, 0, 1381, 0, 627, 628, 636, 0, 433, 0, - 434, 0, 0, 0, 616, 0, 647, 1538, 1106, 1100, - 1102, 0, 0, 1130, 0, 637, 633, 444, 446, 447, - 0, 0, 445, 648, 617, 1371, 1377, 0, 448, 449, - 450, 629, 630, 631, 632, + 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, + 1806, 1807, 1808, 2290, 2290, 774, 778, 782, 780, 1613, + 805, 811, 813, 814, 0, 0, 824, 827, 846, 49, + 1914, 832, 49, 834, 835, 836, 837, 838, 864, 865, + 870, 0, 0, 0, 0, 876, 877, 878, 0, 0, + 881, 882, 883, 0, 0, 0, 0, 0, 1015, 0, + 0, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 0, + 0, 0, 1065, 1066, 1067, 1068, 1071, 0, 1082, 0, + 1084, 1482, -2, 0, 0, 0, 1076, 1077, 0, 0, + 0, 1633, 1633, 0, 0, 0, 1474, 0, 0, 1167, + 0, 1168, 1170, 1171, 1172, 0, 1173, 1174, 899, 899, + 899, 899, 899, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 899, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1633, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 141, 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, 1633, 0, 0, 1633, 1633, 0, 0, 220, + 221, 222, 223, 224, 225, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, + 240, 241, 242, 243, 244, 299, 245, 246, 247, 1152, + 0, 0, 0, 46, 854, 855, 0, 976, 1633, 0, + 0, 905, 0, 1648, 57, 66, 68, 1511, 61, 1511, + 0, 909, 0, 0, -2, -2, 910, 911, 915, 916, + 917, 918, 919, 920, 921, 922, 923, 54, 2288, 55, + 0, 74, 0, 48, 0, 0, 1552, 0, 1555, 0, + 0, 0, 374, 1559, 0, 0, 1504, 1505, 1508, 0, + 927, 2010, 931, 0, 933, 934, 0, 0, 100, 0, + 992, 0, 0, 0, 111, 0, 113, 114, 0, 0, + 0, 385, 1616, 1617, 1618, -2, 408, 0, 385, 369, + 307, 308, 309, 360, 311, 360, 360, 360, 360, 374, + 374, 374, 374, 342, 343, 344, 345, 346, 0, 360, + 0, 328, 360, 360, 360, 360, 350, 351, 352, 353, + 354, 355, 356, 357, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 362, 362, 362, 362, 362, 366, 366, + 0, 1110, 0, 389, 0, 1508, 0, 0, 1542, 1625, + 1635, 0, 0, 0, 0, 0, 132, 0, 0, 0, + 576, 620, 527, 564, 577, 0, 530, 531, -2, 0, + 0, 512, 0, 514, 0, 409, 0, -2, 0, 419, + 0, 415, 419, 416, 419, 407, 420, 554, 555, 556, + 0, 558, 559, 650, 962, 0, 0, 0, 0, 0, + 656, 657, 658, 0, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 565, 566, 567, 568, 569, 570, + 571, 572, 0, 0, 0, 0, 514, 0, 561, 0, + 0, 465, 466, 467, 0, 0, 470, 471, 472, 473, + 0, 0, 476, 477, 478, 979, 980, 479, 480, 505, + 506, 507, 481, 482, 483, 484, 485, 486, 487, 499, + 500, 501, 502, 503, 504, 488, 489, 490, 491, 492, + 493, 496, 0, 147, 1533, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1623, 0, 0, 0, 0, 908, 994, 1646, + 1647, 723, 0, 0, 794, 795, 0, 413, 414, 793, + 793, 733, 775, 0, 793, 737, 776, 738, 740, 739, + 741, 754, 755, 793, 744, 791, 792, 745, 746, 747, + 748, 749, 750, 751, 771, 756, 757, 758, 797, 0, + 801, 802, 772, 773, 0, 783, 0, 0, 0, 817, + 818, 0, 825, 849, 847, 848, 850, 842, 843, 844, + 845, 0, 851, 0, 0, 867, 96, 872, 873, 874, + 875, 887, 880, 1154, 1012, 1013, 1014, 0, 1016, 1022, + 0, 1137, 1139, 1020, 1021, 1024, 0, 0, 0, 1018, + 1029, 1149, 1150, 1151, 0, 0, 0, 0, 0, 1033, + 1037, 1042, 1043, 1044, 1045, 1046, 0, 1047, 0, 1050, + 1051, 1052, 1053, 1054, 1055, 1061, 1450, 1451, 1452, 1080, + 300, 301, 0, 1081, 0, 0, 0, 0, 0, 0, + 0, 0, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, + 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, + 1415, 1416, 1153, 0, 1634, 0, 0, 0, 1480, 1477, + 0, 0, 0, 1436, 1438, 0, 0, 0, 900, 901, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1417, 1418, 1419, + 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, + 1430, 1431, 1432, 1433, 1434, 0, 0, 1453, 0, 0, + 0, 0, 0, 0, 0, 1473, 0, 1086, 1087, 1088, + 0, 0, 0, 0, 0, 0, 1215, 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, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 142, 143, + 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, 1361, 1362, 1363, 1364, 41, 0, 0, 0, + 0, 0, 0, 0, 1484, 0, -2, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1386, 0, 0, 0, 0, 0, 0, 1606, 0, + 0, 857, 858, 860, 0, 996, 0, 977, 0, 0, + 863, 0, 904, 0, 907, 60, 62, 913, 914, 0, + 935, 924, 912, 56, 51, 0, 0, 954, 1553, 1556, + 1557, 374, 1579, 0, 383, 383, 380, 1514, 1515, 0, + 1507, 1509, 1510, 79, 932, 928, 0, 1010, 0, 0, + 991, 0, 938, 940, 941, 942, 974, 0, 945, 946, + 0, 0, 0, 0, 0, 98, 993, 104, 0, 112, + 0, 0, 117, 118, 105, 106, 107, 108, 0, 609, + -2, 460, 179, 181, 182, 183, 174, -2, 372, 370, + 371, 310, 374, 374, 336, 337, 338, 339, 340, 341, + 0, 348, 0, 329, 330, 331, 332, 321, 0, 322, + 323, 324, 364, 0, 325, 326, 0, 327, 427, 0, + 1516, 390, 391, 393, 401, 0, 396, 397, 0, 401, + 401, 0, 422, 423, 0, 1508, 1533, 0, 0, 1636, + 1635, 1635, 1635, 152, 0, 167, 168, 169, 170, 171, + 172, 645, 0, 0, 621, 643, 644, 165, 0, 0, + 175, 516, 515, 0, 677, 0, 425, 0, 0, 419, + 419, 404, 405, 557, 0, 0, 652, 653, 654, 655, + 0, 0, 0, 543, 454, 0, 544, 545, 514, 516, + 0, 0, 385, 468, 469, 474, 475, 494, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 592, 593, 595, 598, 600, 518, 604, 606, 0, 594, + 597, 599, 601, 518, 605, 607, 1530, 1531, 1532, 0, + 0, 715, 0, 0, 451, 94, 1624, 720, 724, 725, + 790, 743, 777, 790, 735, 742, 765, 779, 781, 815, + 816, 821, 829, 830, 831, 871, 0, 0, 0, 0, + 879, 0, 0, 1023, 1138, 1140, 1025, 1026, 1027, 1030, + 0, 1034, 1038, 0, 0, 0, 0, 0, 1085, 1083, + 1484, 0, 0, 0, 1134, 0, 0, 1157, 1158, 0, + 0, 0, 0, 1478, 0, 0, 1165, 0, 1439, 1115, + 0, 0, 0, 0, 0, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1502, 1192, 0, 0, 0, + 0, 0, 1197, 1198, 1199, 1115, 0, 1202, 1203, 0, + 1205, 0, 1206, 0, 0, 0, 0, 1213, 1214, 1216, + 0, 0, 1219, 1220, 0, 1222, 0, 1224, 1225, 1226, + 1227, 1228, 1229, 0, 1231, 0, 1233, 1234, 1235, 0, + 1237, 0, 1239, 1240, 0, 1242, 0, 1244, 0, 1247, + 0, 1250, 0, 1253, 0, 1256, 0, 1259, 0, 1262, + 0, 1265, 0, 1268, 0, 1271, 0, 1274, 0, 1277, + 0, 1280, 0, 1283, 0, 1286, 0, 1289, 0, 1292, + 1293, 1294, 0, 1296, 0, 1298, 0, 1301, 1302, 0, + 1304, 0, 1307, 0, 1310, 0, 0, 1311, 0, 0, + 0, 1315, 0, 0, 0, 0, 1324, 1325, 1326, 1327, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1338, 1339, 1340, 1341, 1342, 1343, 0, 1345, 0, 1116, + 0, 0, 1116, 0, 0, 0, 0, 0, 1155, 1633, + 0, 1440, 1441, 1442, 1443, 1444, 0, 0, 0, 0, + 0, 0, 1384, 1385, 1387, 0, 0, 1390, 0, 1392, + 0, 1607, 856, 859, 861, 948, 997, 998, 0, 0, + 0, 0, 978, 1632, 902, 903, 906, 956, 0, 1488, + 0, 0, 935, 1010, 0, 936, 0, 53, 951, 0, + 1561, 1560, 1573, 1586, 383, 383, 377, 378, 384, 379, + 381, 382, 1506, 0, 1511, 0, 1600, 0, 0, 1589, + 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, + 0, 984, 0, 0, 0, 0, 975, 946, 0, 947, + 0, -2, 0, 0, 92, 93, 0, 0, 0, 115, + 116, 0, 0, 122, 386, 387, 156, 165, 462, 180, + 435, 0, 0, 306, 373, 333, 334, 335, 0, 358, + 0, 0, 0, 0, 456, 128, 1520, 1519, 401, 401, + 392, 0, 395, 0, 0, 0, 1637, 361, 424, 0, + 146, 0, 0, 0, 0, 1626, 615, 0, 0, 622, + 0, 0, 0, 525, 0, 536, 537, 0, 649, -2, + 711, 389, 0, 403, 406, 963, 0, 0, 538, 0, + 541, 542, 455, 516, 547, 548, 562, 549, 497, 498, + 495, 0, 0, 1543, 1544, 1549, 1547, 1548, 133, 583, + 585, 589, 584, 588, 0, 0, 0, 520, 0, 608, + 520, 581, 0, 451, 1516, 0, 719, 452, 453, 793, + 793, 866, 97, 0, 869, 0, 0, 0, 0, 1031, + 1035, 1048, 1049, 1445, 1471, 360, 360, 1458, 360, 366, + 1461, 360, 1463, 360, 1466, 360, 1469, 1470, 0, 0, + 1078, 0, 0, 0, 0, 1164, 1481, 0, 0, 1175, + 1114, 1115, 1115, 1115, 1115, 1115, 1181, 1182, 1183, 1184, + 1185, 1186, 1187, 1188, 1189, 1190, 1475, 0, 0, 0, + 1196, 0, 0, 1200, 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, 0, 144, 145, 0, 0, 0, 0, 0, + 0, 1395, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1109, 1113, 0, 1117, 1118, 0, 0, + 1347, 0, 0, 1365, 0, 0, 0, 0, 0, 0, + 0, 1485, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 999, 1006, 0, 1006, 0, 1006, 0, 0, + 0, 1619, 1620, 1489, 1490, 1010, 1491, 925, 937, 955, + 1579, 0, 1572, 0, -2, 1581, 0, 0, 0, 1587, + 375, 376, 929, 80, 1011, 83, 0, 1600, 1609, 0, + 1597, 1602, 1604, 0, 0, 0, 1593, 0, 1010, 939, + 970, 972, 0, 967, 982, 983, 985, 0, 987, 0, + 989, 990, 950, 944, 0, 100, 0, 1010, 1010, 99, + 0, 995, 119, 120, 121, 461, 184, 189, 0, 0, + 0, 194, 0, 196, 0, 0, 0, 201, 202, 401, + 401, 436, 0, 303, 305, 0, 0, 187, 374, 0, + 374, 0, 365, 367, 0, 437, 457, 1517, 1518, 0, + 0, 394, 398, 399, 400, 0, 148, 0, 0, 0, + 618, 0, 646, 0, 0, 0, 0, 0, 0, 176, + 517, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 0, 401, 0, 0, 0, 401, 401, 401, 0, 703, + 388, 0, 0, 674, 671, 539, 0, 218, 219, 226, + 227, 229, 0, 0, 0, 0, 0, 546, 950, 1534, + 1535, 1536, 0, 1546, 1550, 136, 0, 0, 0, 0, + 591, 596, 602, 0, 519, 603, 716, 717, 718, 95, + 728, 734, 868, 888, 1019, 1032, 1036, 0, 0, 0, + 0, 1472, 1456, 374, 1459, 1460, 1462, 1464, 1465, 1467, + 1468, 1074, 1075, 1079, 0, 1161, 0, 1163, 0, 1479, + 0, 1176, 1177, 1178, 1179, 1180, 1511, 0, 0, 0, + 1195, 0, 0, 1115, 0, 1208, 1207, 1209, 0, 1211, + 1212, 1217, 1218, 1221, 1223, 1230, 1232, 1236, 1238, 1241, + 1243, 1245, 0, 1248, 0, 1251, 0, 1254, 0, 1257, + 0, 1260, 0, 1263, 0, 1266, 0, 1269, 0, 1272, + 0, 1275, 0, 1278, 0, 1281, 0, 1284, 0, 1287, + 0, 1290, 0, 1295, 1297, 0, 1300, 1303, 1305, 0, + 1308, 0, 1312, 0, 1314, 1316, 1317, 0, 0, 0, + 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, + 1344, 0, 1107, 1346, 1119, 1120, 1125, 1349, 0, 0, + 0, 1352, 0, 0, 0, 1356, 1156, 1367, 0, 1372, + 0, 0, 1378, 0, 1382, 0, 1388, 1389, 1391, 1393, + 0, 0, 0, 0, 0, 0, 0, 976, 957, 64, + 1491, 1495, 0, 1566, 1564, 1564, 1574, 1575, 0, 0, + 1582, 0, 0, 0, 0, 84, 0, 0, 1588, 0, + 0, 1605, 0, 0, 0, 0, 101, 1502, 964, 971, + 0, 0, 965, 0, 966, 986, 988, 943, 0, 1010, + 1010, 90, 91, 0, 190, 0, 192, 0, 195, 197, + 198, 199, 205, 206, 207, 200, 0, 0, 302, 304, + 0, 0, 347, 359, 349, 0, 0, 1521, 1522, 1523, + 1524, 1525, 1526, 1527, 1528, 950, 149, 150, 151, 610, + 0, 620, 0, 952, 0, 613, 0, 528, 0, 0, + 0, 401, 401, 401, 0, 0, 0, 0, 688, 0, + 0, 651, 0, 659, 0, 0, 0, 230, 231, 0, + 1545, 582, 0, 134, 135, 0, 0, 587, 521, 522, + 1072, 0, 0, 0, 1073, 1457, 0, 0, 0, 0, + 0, 1476, 0, 0, 0, 0, 1201, 1204, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1320, 0, 0, 0, 640, 641, 0, 1396, 1112, 1502, + 0, 1116, 1126, 1127, 0, 1116, 1366, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1007, 0, + 0, 0, 958, 959, 0, 0, 0, 996, 1495, 1500, + 0, 0, 1569, 0, 1562, 1565, 1563, 1576, 0, 0, + 1583, 0, 1585, 0, 1610, 1611, 1603, 1598, 0, 1592, + 1595, 1597, 1594, 1511, 968, 0, 973, 0, 1502, 89, + 0, 193, 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, + 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, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 203, 204, 0, 0, 363, 368, 0, + 0, 0, 611, 0, 953, 623, 614, 0, 701, 0, + 705, 0, 0, 0, 708, 709, 710, 687, 0, 691, + 429, 675, 672, 673, 540, 0, 137, 138, 0, 0, + 0, 1446, 0, 1449, 1159, 1162, 1160, 0, 1191, 1193, + 1194, 1454, 1455, 1210, 1246, 1249, 1252, 1255, 1258, 1261, + 1264, 1267, 1270, 1273, 1276, 1279, 1282, 1285, 1288, 1291, + 1299, 1306, 1309, 1313, 1318, 0, 1321, 0, 0, 1322, + 0, 642, 1103, 0, 0, 1123, 1124, 0, 1351, 1353, + 1354, 1355, 1368, 0, 1373, 1374, 0, 1379, 0, 1383, + 1394, 0, 1001, 1008, 1009, 0, 1004, 0, 1005, 0, + 949, 1500, 82, 1501, 1498, 0, 1496, 1493, 1558, 0, + 1567, 1568, 1577, 1578, 1584, 0, 0, 1597, 0, 1591, + 87, 0, 0, 0, 1511, 191, 0, 210, 0, 619, + 0, 622, 612, 699, 700, 0, 712, 704, 706, 707, + 689, -2, 1537, 0, 0, 0, 590, 1447, 0, 0, + 1323, 0, 638, 639, 1111, 1104, 0, 1089, 1090, 1108, + 1348, 1350, 0, 0, 0, 1000, 960, 961, 1002, 1003, + 81, 0, 1497, 1131, 0, 1492, 0, 1570, 1571, 1601, + 0, 1590, 1596, 969, 976, 0, 88, 442, 435, 1537, + 0, 0, 0, 692, 693, 694, 695, 696, 697, 698, + 579, 1539, 139, 140, 0, 509, 510, 511, 133, 0, + 1166, 1319, 1105, 0, 0, 0, 0, 0, 1369, 0, + 1375, 0, 1380, 0, 1499, 0, 0, 1494, 1599, 624, + 0, 626, 0, -2, 430, 443, 0, 185, 211, 212, + 0, 0, 215, 216, 217, 208, 209, 129, 0, 0, + 713, 0, 1540, 1541, 0, 136, 0, 0, 1096, 1097, + 1098, 1099, 1101, 0, 0, 0, 0, 1132, 1109, 625, + 0, 0, 385, 0, 635, 431, 432, 0, 438, 439, + 440, 441, 213, 214, 647, 0, 0, 508, 586, 1448, + 0, 0, 1370, 0, 1376, 0, 1381, 0, 627, 628, + 636, 0, 433, 0, 434, 0, 0, 0, 616, 0, + 647, 1538, 1106, 1100, 1102, 0, 0, 1130, 0, 637, + 633, 444, 446, 447, 0, 0, 445, 648, 617, 1371, + 1377, 0, 448, 449, 450, 629, 630, 631, 632, } var yyTok1 = [...]int{ @@ -9901,7 +9867,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 158, 3, 3, 3, 186, 178, 3, 95, 97, 183, 181, 96, 182, 236, 184, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 752, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 756, 166, 165, 167, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -10036,7 +10002,8 @@ var yyTok3 = [...]int{ 58060, 735, 58061, 736, 58062, 737, 58063, 738, 58064, 739, 58065, 740, 58066, 741, 58067, 742, 58068, 743, 58069, 744, 58070, 745, 58071, 746, 58072, 747, 58073, 748, 58074, 749, - 58075, 750, 58076, 751, 0, + 58075, 750, 58076, 751, 58077, 752, 58078, 753, 58079, 754, + 58080, 755, 0, } var yyErrorMessages = [...]struct { @@ -10386,7 +10353,7 @@ yydefault: case 1: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:631 +//line sql.y:632 { stmt := yyDollar[2].statementUnion() // If the statement is empty and we have comments @@ -10400,46 +10367,46 @@ yydefault: } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:644 +//line sql.y:645 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:645 +//line sql.y:646 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:649 +//line sql.y:650 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 40: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:688 +//line sql.y:689 { setParseTree(yylex, nil) } case 41: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Variable -//line sql.y:694 +//line sql.y:695 { yyLOCAL = NewVariableExpression(yyDollar[1].str, SingleAt) } yyVAL.union = yyLOCAL case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:700 +//line sql.y:701 { yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) } case 43: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Variable -//line sql.y:706 +//line sql.y:707 { yyLOCAL = NewVariableExpression(string(yyDollar[1].str), SingleAt) } @@ -10447,7 +10414,7 @@ yydefault: case 44: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Variable -//line sql.y:710 +//line sql.y:711 { yyLOCAL = NewVariableExpression(string(yyDollar[1].str), DoubleAt) } @@ -10455,7 +10422,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:716 +//line sql.y:717 { yyLOCAL = &OtherAdmin{} } @@ -10463,7 +10430,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:722 +//line sql.y:723 { yyLOCAL = &Load{} } @@ -10471,7 +10438,7 @@ yydefault: case 47: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:728 +//line sql.y:729 { yyLOCAL = &With{CTEs: yyDollar[2].ctesUnion(), Recursive: false} } @@ -10479,7 +10446,7 @@ yydefault: case 48: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:732 +//line sql.y:733 { yyLOCAL = &With{CTEs: yyDollar[3].ctesUnion(), Recursive: true} } @@ -10487,7 +10454,7 @@ yydefault: case 49: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:737 +//line sql.y:738 { yyLOCAL = nil } @@ -10495,14 +10462,14 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:741 +//line sql.y:742 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 51: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:747 +//line sql.y:748 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -10510,7 +10477,7 @@ yydefault: case 52: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:751 +//line sql.y:752 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -10518,7 +10485,7 @@ yydefault: case 53: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:757 +//line sql.y:758 { yyLOCAL = &CommonTableExpr{ID: yyDollar[1].identifierCS, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion().Select} } @@ -10526,7 +10493,7 @@ yydefault: case 54: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:763 +//line sql.y:764 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -10534,7 +10501,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:767 +//line sql.y:768 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -10542,7 +10509,7 @@ yydefault: case 56: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:771 +//line sql.y:772 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -10551,7 +10518,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:794 +//line sql.y:795 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -10561,7 +10528,7 @@ yydefault: case 58: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:800 +//line sql.y:801 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -10570,7 +10537,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:805 +//line sql.y:806 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -10580,7 +10547,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:811 +//line sql.y:812 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -10591,7 +10558,7 @@ yydefault: case 61: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:818 +//line sql.y:819 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -10601,7 +10568,7 @@ yydefault: case 62: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:824 +//line sql.y:825 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -10611,14 +10578,14 @@ yydefault: yyVAL.union = yyLOCAL case 63: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:831 +//line sql.y:832 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 64: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:835 +//line sql.y:836 { yyLOCAL = NewSelect(Comments(yyDollar[2].strs), SelectExprs{&Nextval{Expr: yyDollar[5].exprUnion()}}, []string{yyDollar[3].str} /*options*/, nil, TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}, nil /*where*/, nil /*groupBy*/, nil /*having*/, nil) } @@ -10626,7 +10593,7 @@ yydefault: case 65: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:841 +//line sql.y:842 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -10634,7 +10601,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:845 +//line sql.y:846 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -10642,7 +10609,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:849 +//line sql.y:850 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -10650,7 +10617,7 @@ yydefault: case 68: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:853 +//line sql.y:854 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -10658,7 +10625,7 @@ yydefault: case 69: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:857 +//line sql.y:858 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -10666,7 +10633,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:863 +//line sql.y:864 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -10674,7 +10641,7 @@ yydefault: case 71: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:867 +//line sql.y:868 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -10683,7 +10650,7 @@ yydefault: case 72: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:872 +//line sql.y:873 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -10691,7 +10658,7 @@ yydefault: case 73: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:876 +//line sql.y:877 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -10699,7 +10666,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:882 +//line sql.y:883 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -10707,7 +10674,7 @@ yydefault: case 75: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:886 +//line sql.y:887 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -10716,7 +10683,7 @@ yydefault: case 76: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:891 +//line sql.y:892 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -10726,7 +10693,7 @@ yydefault: case 77: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:897 +//line sql.y:898 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -10736,7 +10703,7 @@ yydefault: case 78: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:903 +//line sql.y:904 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -10745,7 +10712,7 @@ yydefault: case 79: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:910 +//line sql.y:911 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -10753,7 +10720,7 @@ yydefault: case 80: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:916 +//line sql.y:917 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -10761,7 +10728,7 @@ yydefault: case 81: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:924 +//line sql.y:925 { yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, yyDollar[5].selectIntoUnion() /*into*/, yyDollar[6].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[7].exprUnion()), yyDollar[8].groupByUnion(), NewWhere(HavingClause, yyDollar[9].exprUnion()), yyDollar[10].namedWindowsUnion()) } @@ -10769,7 +10736,7 @@ yydefault: case 82: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:928 +//line sql.y:929 { yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, nil, yyDollar[5].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[6].exprUnion()), yyDollar[7].groupByUnion(), NewWhere(HavingClause, yyDollar[8].exprUnion()), yyDollar[9].namedWindowsUnion()) } @@ -10777,7 +10744,7 @@ yydefault: case 83: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:934 +//line sql.y:935 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -10793,7 +10760,7 @@ yydefault: case 84: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:946 +//line sql.y:947 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -10807,7 +10774,7 @@ yydefault: case 85: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:958 +//line sql.y:959 { yyLOCAL = InsertAct } @@ -10815,7 +10782,7 @@ yydefault: case 86: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:962 +//line sql.y:963 { yyLOCAL = ReplaceAct } @@ -10823,7 +10790,7 @@ yydefault: case 87: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:968 +//line sql.y:969 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: yyDollar[5].tableExprsUnion(), Exprs: yyDollar[7].updateExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion()), OrderBy: yyDollar[9].orderByUnion(), Limit: yyDollar[10].limitUnion()} } @@ -10831,7 +10798,7 @@ yydefault: case 88: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:974 +//line sql.y:975 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[6].tableName, As: yyDollar[7].identifierCS}}, Partitions: yyDollar[8].partitionsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion()), OrderBy: yyDollar[10].orderByUnion(), Limit: yyDollar[11].limitUnion()} } @@ -10839,7 +10806,7 @@ yydefault: case 89: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:978 +//line sql.y:979 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -10847,7 +10814,7 @@ yydefault: case 90: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:982 +//line sql.y:983 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -10855,32 +10822,32 @@ yydefault: case 91: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:986 +//line sql.y:987 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 92: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:991 +//line sql.y:992 { } case 93: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:992 +//line sql.y:993 { } case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:996 +//line sql.y:997 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1000 +//line sql.y:1001 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -10888,14 +10855,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:1006 +//line sql.y:1007 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1010 +//line sql.y:1011 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -10903,14 +10870,14 @@ yydefault: case 98: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:1016 +//line sql.y:1017 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 99: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1020 +//line sql.y:1021 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -10918,7 +10885,7 @@ yydefault: case 100: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:1025 +//line sql.y:1026 { yyLOCAL = nil } @@ -10926,7 +10893,7 @@ yydefault: case 101: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:1029 +//line sql.y:1030 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -10934,7 +10901,7 @@ yydefault: case 102: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:1035 +//line sql.y:1036 { yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[3].setExprsUnion()) } @@ -10942,14 +10909,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:1041 +//line sql.y:1042 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1045 +//line sql.y:1046 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) @@ -10957,7 +10924,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:1051 +//line sql.y:1052 { yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("on")} } @@ -10965,7 +10932,7 @@ yydefault: case 106: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:1055 +//line sql.y:1056 { yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("off")} } @@ -10973,7 +10940,7 @@ yydefault: case 107: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:1059 +//line sql.y:1060 { yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: yyDollar[3].exprUnion()} } @@ -10981,7 +10948,7 @@ yydefault: case 108: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:1063 +//line sql.y:1064 { yyLOCAL = &SetExpr{Var: NewSetVariable(string(yyDollar[1].str), SessionScope), Expr: yyDollar[2].exprUnion()} } @@ -10989,7 +10956,7 @@ yydefault: case 109: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Variable -//line sql.y:1069 +//line sql.y:1070 { yyLOCAL = NewSetVariable(string(yyDollar[1].str), SessionScope) } @@ -10997,7 +10964,7 @@ yydefault: case 110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Variable -//line sql.y:1073 +//line sql.y:1074 { yyLOCAL = yyDollar[1].variableUnion() } @@ -11005,7 +10972,7 @@ yydefault: case 111: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Variable -//line sql.y:1077 +//line sql.y:1078 { yyLOCAL = NewSetVariable(string(yyDollar[2].str), yyDollar[1].scopeUnion()) } @@ -11013,7 +10980,7 @@ yydefault: case 112: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:1083 +//line sql.y:1084 { yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), UpdateSetExprsScope(yyDollar[5].setExprsUnion(), yyDollar[3].scopeUnion())) } @@ -11021,7 +10988,7 @@ yydefault: case 113: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:1087 +//line sql.y:1088 { yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[4].setExprsUnion()) } @@ -11029,14 +10996,14 @@ yydefault: case 114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:1093 +//line sql.y:1094 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL case 115: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1097 +//line sql.y:1098 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) @@ -11044,7 +11011,7 @@ yydefault: case 116: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:1103 +//line sql.y:1104 { yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionIsolationStr, NextTxScope), Expr: NewStrLiteral(yyDollar[3].str)} } @@ -11052,7 +11019,7 @@ yydefault: case 117: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:1107 +//line sql.y:1108 { yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("off")} } @@ -11060,39 +11027,39 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:1111 +//line sql.y:1112 { yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL case 119: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1117 +//line sql.y:1118 { yyVAL.str = RepeatableReadStr } case 120: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1121 +//line sql.y:1122 { yyVAL.str = ReadCommittedStr } case 121: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1125 +//line sql.y:1126 { yyVAL.str = ReadUncommittedStr } case 122: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1129 +//line sql.y:1130 { yyVAL.str = SerializableStr } case 123: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:1135 +//line sql.y:1136 { yyLOCAL = SessionScope } @@ -11100,7 +11067,7 @@ yydefault: case 124: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:1139 +//line sql.y:1140 { yyLOCAL = SessionScope } @@ -11108,7 +11075,7 @@ yydefault: case 125: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:1143 +//line sql.y:1144 { yyLOCAL = GlobalScope } @@ -11116,7 +11083,7 @@ yydefault: case 126: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1149 +//line sql.y:1150 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -11126,7 +11093,7 @@ yydefault: case 127: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1155 +//line sql.y:1156 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -11137,7 +11104,7 @@ yydefault: case 128: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:1162 +//line sql.y:1163 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -11150,7 +11117,7 @@ yydefault: case 129: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:1171 +//line sql.y:1172 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName, Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -11158,7 +11125,7 @@ yydefault: case 130: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1175 +//line sql.y:1176 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() @@ -11168,7 +11135,7 @@ yydefault: case 131: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1182 +//line sql.y:1183 { yyLOCAL = false } @@ -11176,33 +11143,33 @@ yydefault: case 132: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1186 +//line sql.y:1187 { yyLOCAL = true } yyVAL.union = yyLOCAL case 133: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1191 +//line sql.y:1192 { yyVAL.identifierCI = NewIdentifierCI("") } case 134: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1195 +//line sql.y:1196 { yyVAL.identifierCI = yyDollar[2].identifierCI } case 135: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1201 +//line sql.y:1202 { yyVAL.identifierCI = yyDollar[1].identifierCI } case 136: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1206 +//line sql.y:1207 { var v []VindexParam yyLOCAL = v @@ -11211,7 +11178,7 @@ yydefault: case 137: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1211 +//line sql.y:1212 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -11219,7 +11186,7 @@ yydefault: case 138: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1217 +//line sql.y:1218 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -11227,21 +11194,21 @@ yydefault: yyVAL.union = yyLOCAL case 139: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1222 +//line sql.y:1223 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 140: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1228 +//line sql.y:1229 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].identifierCI, Val: yyDollar[3].str} } case 141: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1233 +//line sql.y:1234 { yyLOCAL = nil } @@ -11249,7 +11216,7 @@ yydefault: case 142: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1237 +//line sql.y:1238 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -11257,28 +11224,28 @@ yydefault: case 143: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1243 +//line sql.y:1244 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 144: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1247 +//line sql.y:1248 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 145: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1253 +//line sql.y:1254 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 146: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1259 +//line sql.y:1260 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -11287,7 +11254,7 @@ yydefault: case 147: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1266 +//line sql.y:1267 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -11296,7 +11263,7 @@ yydefault: case 148: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1273 +//line sql.y:1274 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].identifierCI}, Options: yyDollar[5].indexOptionsUnion()}}}} setDDL(yylex, yyLOCAL) @@ -11305,7 +11272,7 @@ yydefault: case 149: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1278 +//line sql.y:1279 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeFullText}, Options: yyDollar[6].indexOptionsUnion()}}}} setDDL(yylex, yyLOCAL) @@ -11314,7 +11281,7 @@ yydefault: case 150: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1283 +//line sql.y:1284 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeSpatial}, Options: yyDollar[6].indexOptionsUnion()}}}} setDDL(yylex, yyLOCAL) @@ -11323,7 +11290,7 @@ yydefault: case 151: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1288 +//line sql.y:1289 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeUnique}, Options: yyDollar[6].indexOptionsUnion()}}}} setDDL(yylex, yyLOCAL) @@ -11332,7 +11299,7 @@ yydefault: case 152: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1295 +//line sql.y:1296 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfNotExists: yyDollar[4].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -11341,7 +11308,7 @@ yydefault: case 153: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1302 +//line sql.y:1303 { yyLOCAL = &AlterDatabase{Comments: Comments(yyDollar[2].strs).Parsed()} setDDL(yylex, yyLOCAL) @@ -11350,7 +11317,7 @@ yydefault: case 156: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1313 +//line sql.y:1314 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -11360,7 +11327,7 @@ yydefault: case 157: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1320 +//line sql.y:1321 { yyLOCAL = nil } @@ -11368,7 +11335,7 @@ yydefault: case 158: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1324 +//line sql.y:1325 { yyLOCAL = yyDollar[1].databaseOptionsUnion() } @@ -11376,7 +11343,7 @@ yydefault: case 159: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1330 +//line sql.y:1331 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -11384,7 +11351,7 @@ yydefault: case 160: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1334 +//line sql.y:1335 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -11392,28 +11359,28 @@ yydefault: case 161: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1338 +//line sql.y:1339 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } yyVAL.union = yyLOCAL case 162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1342 +//line sql.y:1343 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1346 +//line sql.y:1347 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1350 +//line sql.y:1351 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) @@ -11421,7 +11388,7 @@ yydefault: case 165: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1356 +//line sql.y:1357 { yyLOCAL = false } @@ -11429,51 +11396,51 @@ yydefault: case 166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1360 +//line sql.y:1361 { yyLOCAL = true } yyVAL.union = yyLOCAL case 167: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1366 +//line sql.y:1367 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} } case 168: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1370 +//line sql.y:1371 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} } case 169: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1376 +//line sql.y:1377 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} } case 170: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1380 +//line sql.y:1381 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} } case 171: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1386 +//line sql.y:1387 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} } case 172: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1390 +//line sql.y:1391 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} } case 173: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1396 +//line sql.y:1397 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -11481,7 +11448,7 @@ yydefault: case 174: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1400 +//line sql.y:1401 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -11489,14 +11456,14 @@ yydefault: case 175: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1406 +//line sql.y:1407 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 176: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1410 +//line sql.y:1411 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -11504,7 +11471,7 @@ yydefault: case 177: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1416 +//line sql.y:1417 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -11513,7 +11480,7 @@ yydefault: case 178: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1421 +//line sql.y:1422 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -11521,39 +11488,39 @@ yydefault: yyVAL.union = yyLOCAL case 179: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1426 +//line sql.y:1427 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 180: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1430 +//line sql.y:1431 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 181: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1435 +//line sql.y:1436 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 182: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1439 +//line sql.y:1440 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 183: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1443 +//line sql.y:1444 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 184: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1454 +//line sql.y:1455 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -11566,7 +11533,7 @@ yydefault: case 185: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1463 +//line sql.y:1464 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -11577,20 +11544,20 @@ yydefault: yyVAL.union = yyLOCAL case 186: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1472 +//line sql.y:1473 { yyVAL.str = "" } case 187: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1476 +//line sql.y:1477 { yyVAL.str = "" } case 188: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1485 +//line sql.y:1486 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: ColKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} } @@ -11598,7 +11565,7 @@ yydefault: case 189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1489 +//line sql.y:1490 { yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(true) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11607,7 +11574,7 @@ yydefault: case 190: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1494 +//line sql.y:1495 { yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(false) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11616,7 +11583,7 @@ yydefault: case 191: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1499 +//line sql.y:1500 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11625,7 +11592,7 @@ yydefault: case 192: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1504 +//line sql.y:1505 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyDollar[1].columnTypeOptionsUnion().DefaultLiteral = true @@ -11635,7 +11602,7 @@ yydefault: case 193: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1510 +//line sql.y:1511 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11644,7 +11611,7 @@ yydefault: case 194: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1515 +//line sql.y:1516 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11653,7 +11620,7 @@ yydefault: case 195: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1520 +//line sql.y:1521 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11662,7 +11629,7 @@ yydefault: case 196: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1525 +//line sql.y:1526 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11670,14 +11637,14 @@ yydefault: yyVAL.union = yyLOCAL case 197: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1530 +//line sql.y:1531 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 198: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1534 +//line sql.y:1535 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].identifierCI.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11685,14 +11652,14 @@ yydefault: yyVAL.union = yyLOCAL case 199: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1539 +//line sql.y:1540 { yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() } case 200: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1543 +//line sql.y:1544 { yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11701,7 +11668,7 @@ yydefault: case 201: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1548 +//line sql.y:1549 { yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(false) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11710,7 +11677,7 @@ yydefault: case 202: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1553 +//line sql.y:1554 { yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(true) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11718,20 +11685,20 @@ yydefault: yyVAL.union = yyLOCAL case 203: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1558 +//line sql.y:1559 { yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) } case 204: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1562 +//line sql.y:1563 { yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) } case 205: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1568 +//line sql.y:1569 { yyLOCAL = FixedFormat } @@ -11739,7 +11706,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1572 +//line sql.y:1573 { yyLOCAL = DynamicFormat } @@ -11747,7 +11714,7 @@ yydefault: case 207: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1576 +//line sql.y:1577 { yyLOCAL = DefaultFormat } @@ -11755,7 +11722,7 @@ yydefault: case 208: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1582 +//line sql.y:1583 { yyLOCAL = VirtualStorage } @@ -11763,7 +11730,7 @@ yydefault: case 209: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1586 +//line sql.y:1587 { yyLOCAL = StoredStorage } @@ -11771,7 +11738,7 @@ yydefault: case 210: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1591 +//line sql.y:1592 { yyLOCAL = &ColumnTypeOptions{} } @@ -11779,7 +11746,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1595 +//line sql.y:1596 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11788,7 +11755,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1600 +//line sql.y:1601 { yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(true) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11797,7 +11764,7 @@ yydefault: case 213: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1605 +//line sql.y:1606 { yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(false) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11806,7 +11773,7 @@ yydefault: case 214: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1610 +//line sql.y:1611 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11815,7 +11782,7 @@ yydefault: case 215: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1615 +//line sql.y:1616 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11824,7 +11791,7 @@ yydefault: case 216: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1620 +//line sql.y:1621 { yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(false) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11833,7 +11800,7 @@ yydefault: case 217: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1625 +//line sql.y:1626 { yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(true) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -11842,7 +11809,7 @@ yydefault: case 218: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1632 +//line sql.y:1633 { yyLOCAL = yyDollar[1].exprUnion() } @@ -11850,7 +11817,7 @@ yydefault: case 220: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1639 +//line sql.y:1640 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_timestamp"), Fsp: yyDollar[2].integerUnion()} } @@ -11858,7 +11825,7 @@ yydefault: case 221: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1643 +//line sql.y:1644 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtime"), Fsp: yyDollar[2].integerUnion()} } @@ -11866,7 +11833,7 @@ yydefault: case 222: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1647 +//line sql.y:1648 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtimestamp"), Fsp: yyDollar[2].integerUnion()} } @@ -11874,7 +11841,7 @@ yydefault: case 223: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1651 +//line sql.y:1652 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_timestamp"), Fsp: yyDollar[2].integerUnion()} } @@ -11882,7 +11849,7 @@ yydefault: case 224: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1655 +//line sql.y:1656 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("now"), Fsp: yyDollar[2].integerUnion()} } @@ -11890,7 +11857,7 @@ yydefault: case 225: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1659 +//line sql.y:1660 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("sysdate"), Fsp: yyDollar[2].integerUnion()} } @@ -11898,7 +11865,7 @@ yydefault: case 228: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1669 +//line sql.y:1670 { yyLOCAL = &NullVal{} } @@ -11906,7 +11873,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1676 +//line sql.y:1677 { yyLOCAL = yyDollar[2].exprUnion() } @@ -11914,7 +11881,7 @@ yydefault: case 231: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1680 +//line sql.y:1681 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -11922,7 +11889,7 @@ yydefault: case 232: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1686 +//line sql.y:1687 { yyLOCAL = yyDollar[1].exprUnion() } @@ -11930,7 +11897,7 @@ yydefault: case 233: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1690 +//line sql.y:1691 { yyLOCAL = yyDollar[1].exprUnion() } @@ -11938,7 +11905,7 @@ yydefault: case 234: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1694 +//line sql.y:1695 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -11946,7 +11913,7 @@ yydefault: case 235: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1698 +//line sql.y:1699 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -11954,7 +11921,7 @@ yydefault: case 236: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1702 +//line sql.y:1703 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -11962,7 +11929,7 @@ yydefault: case 237: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1706 +//line sql.y:1707 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -11970,7 +11937,7 @@ yydefault: case 238: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1710 +//line sql.y:1711 { yyLOCAL = NewBitLiteral("0b" + yyDollar[1].str) } @@ -11978,7 +11945,7 @@ yydefault: case 239: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1714 +//line sql.y:1715 { yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:]) } @@ -11986,7 +11953,7 @@ yydefault: case 240: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1718 +//line sql.y:1719 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral("0b" + yyDollar[2].str)} } @@ -11994,7 +11961,7 @@ yydefault: case 241: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1722 +//line sql.y:1723 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -12002,7 +11969,7 @@ yydefault: case 242: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1726 +//line sql.y:1727 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -12010,7 +11977,7 @@ yydefault: case 243: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1730 +//line sql.y:1731 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -12018,7 +11985,7 @@ yydefault: case 244: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1734 +//line sql.y:1735 { arg := parseBindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: arg} @@ -12027,7 +11994,7 @@ yydefault: case 245: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1739 +//line sql.y:1740 { yyLOCAL = NewDateLiteral(yyDollar[2].str) } @@ -12035,7 +12002,7 @@ yydefault: case 246: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1743 +//line sql.y:1744 { yyLOCAL = NewTimeLiteral(yyDollar[2].str) } @@ -12043,267 +12010,267 @@ yydefault: case 247: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1747 +//line sql.y:1748 { yyLOCAL = NewTimestampLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1753 +//line sql.y:1754 { yyVAL.str = Armscii8Str } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1757 +//line sql.y:1758 { yyVAL.str = ASCIIStr } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1761 +//line sql.y:1762 { yyVAL.str = Big5Str } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1765 +//line sql.y:1766 { yyVAL.str = UBinaryStr } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1769 +//line sql.y:1770 { yyVAL.str = Cp1250Str } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1773 +//line sql.y:1774 { yyVAL.str = Cp1251Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1777 +//line sql.y:1778 { yyVAL.str = Cp1256Str } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1781 +//line sql.y:1782 { yyVAL.str = Cp1257Str } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1785 +//line sql.y:1786 { yyVAL.str = Cp850Str } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1789 +//line sql.y:1790 { yyVAL.str = Cp852Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1793 +//line sql.y:1794 { yyVAL.str = Cp866Str } case 259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1797 +//line sql.y:1798 { yyVAL.str = Cp932Str } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1801 +//line sql.y:1802 { yyVAL.str = Dec8Str } case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1805 +//line sql.y:1806 { yyVAL.str = EucjpmsStr } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1809 +//line sql.y:1810 { yyVAL.str = EuckrStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1813 +//line sql.y:1814 { yyVAL.str = Gb18030Str } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1817 +//line sql.y:1818 { yyVAL.str = Gb2312Str } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1821 +//line sql.y:1822 { yyVAL.str = GbkStr } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1825 +//line sql.y:1826 { yyVAL.str = Geostd8Str } case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1829 +//line sql.y:1830 { yyVAL.str = GreekStr } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1833 +//line sql.y:1834 { yyVAL.str = HebrewStr } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1837 +//line sql.y:1838 { yyVAL.str = Hp8Str } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1841 +//line sql.y:1842 { yyVAL.str = Keybcs2Str } case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1845 +//line sql.y:1846 { yyVAL.str = Koi8rStr } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1849 +//line sql.y:1850 { yyVAL.str = Koi8uStr } case 273: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1853 +//line sql.y:1854 { yyVAL.str = Latin1Str } case 274: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1857 +//line sql.y:1858 { yyVAL.str = Latin2Str } case 275: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1861 +//line sql.y:1862 { yyVAL.str = Latin5Str } case 276: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1865 +//line sql.y:1866 { yyVAL.str = Latin7Str } case 277: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1869 +//line sql.y:1870 { yyVAL.str = MacceStr } case 278: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1873 +//line sql.y:1874 { yyVAL.str = MacromanStr } case 279: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1877 +//line sql.y:1878 { yyVAL.str = SjisStr } case 280: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1881 +//line sql.y:1882 { yyVAL.str = Swe7Str } case 281: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1885 +//line sql.y:1886 { yyVAL.str = Tis620Str } case 282: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1889 +//line sql.y:1890 { yyVAL.str = Ucs2Str } case 283: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1893 +//line sql.y:1894 { yyVAL.str = UjisStr } case 284: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1897 +//line sql.y:1898 { yyVAL.str = Utf16Str } case 285: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1901 +//line sql.y:1902 { yyVAL.str = Utf16leStr } case 286: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1905 +//line sql.y:1906 { yyVAL.str = Utf32Str } case 287: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1909 +//line sql.y:1910 { yyVAL.str = Utf8mb3Str } case 288: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1913 +//line sql.y:1914 { yyVAL.str = Utf8mb4Str } case 289: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1917 +//line sql.y:1918 { yyVAL.str = Utf8mb3Str } case 292: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1927 +//line sql.y:1928 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -12311,7 +12278,7 @@ yydefault: case 293: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1931 +//line sql.y:1932 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -12319,7 +12286,7 @@ yydefault: case 294: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1935 +//line sql.y:1936 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -12327,7 +12294,7 @@ yydefault: case 295: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1941 +//line sql.y:1942 { yyLOCAL = yyDollar[1].exprUnion() } @@ -12335,7 +12302,7 @@ yydefault: case 296: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1945 +//line sql.y:1946 { yyLOCAL = AppendString(yyDollar[1].exprUnion(), yyDollar[2].str) } @@ -12343,7 +12310,7 @@ yydefault: case 297: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1951 +//line sql.y:1952 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -12351,7 +12318,7 @@ yydefault: case 298: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1955 +//line sql.y:1956 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -12359,7 +12326,7 @@ yydefault: case 299: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1959 +//line sql.y:1960 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -12367,7 +12334,7 @@ yydefault: case 300: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1965 +//line sql.y:1966 { yyLOCAL = yyDollar[1].exprUnion() } @@ -12375,7 +12342,7 @@ yydefault: case 301: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1969 +//line sql.y:1970 { yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:]) } @@ -12383,7 +12350,7 @@ yydefault: case 302: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1975 +//line sql.y:1976 { yyLOCAL = ColKeyPrimary } @@ -12391,7 +12358,7 @@ yydefault: case 303: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1979 +//line sql.y:1980 { yyLOCAL = ColKeyUnique } @@ -12399,7 +12366,7 @@ yydefault: case 304: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1983 +//line sql.y:1984 { yyLOCAL = ColKeyUniqueKey } @@ -12407,14 +12374,14 @@ yydefault: case 305: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1987 +//line sql.y:1988 { yyLOCAL = ColKey } yyVAL.union = yyLOCAL case 306: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1993 +//line sql.y:1994 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -12422,74 +12389,74 @@ yydefault: } case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2004 +//line sql.y:2005 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].intPtrUnion() } case 311: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2009 +//line sql.y:2010 { yyVAL.columnType = yyDollar[1].columnType } case 312: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2015 +//line sql.y:2016 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 313: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2019 +//line sql.y:2020 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2023 +//line sql.y:2024 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2027 +//line sql.y:2028 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2031 +//line sql.y:2032 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2035 +//line sql.y:2036 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2039 +//line sql.y:2040 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 319: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2043 +//line sql.y:2044 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2047 +//line sql.y:2048 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 321: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2053 +//line sql.y:2054 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -12497,7 +12464,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2059 +//line sql.y:2060 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -12505,7 +12472,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2065 +//line sql.y:2066 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -12513,7 +12480,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2071 +//line sql.y:2072 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -12521,7 +12488,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2077 +//line sql.y:2078 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -12529,7 +12496,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2083 +//line sql.y:2084 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -12537,7 +12504,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2089 +//line sql.y:2090 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -12545,43 +12512,43 @@ yydefault: } case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2097 +//line sql.y:2098 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 329: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2101 +//line sql.y:2102 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } case 330: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2105 +//line sql.y:2106 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } case 331: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2109 +//line sql.y:2110 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } case 332: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2113 +//line sql.y:2114 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } case 333: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2119 +//line sql.y:2120 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset} } case 334: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2123 +//line sql.y:2124 { // CHAR BYTE is an alias for binary. See also: // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html @@ -12589,159 +12556,159 @@ yydefault: } case 335: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2129 +//line sql.y:2130 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset} } case 336: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2133 +//line sql.y:2134 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } case 337: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2137 +//line sql.y:2138 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } case 338: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2141 +//line sql.y:2142 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 339: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2145 +//line sql.y:2146 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 340: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2149 +//line sql.y:2150 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 341: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2153 +//line sql.y:2154 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 342: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2157 +//line sql.y:2158 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 343: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2161 +//line sql.y:2162 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 344: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2165 +//line sql.y:2166 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 345: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2169 +//line sql.y:2170 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 346: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2173 +//line sql.y:2174 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 347: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2177 +//line sql.y:2178 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 348: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2181 +//line sql.y:2182 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } case 349: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2186 +//line sql.y:2187 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 350: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2192 +//line sql.y:2193 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 351: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2196 +//line sql.y:2197 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 352: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2200 +//line sql.y:2201 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 353: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2204 +//line sql.y:2205 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 354: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2208 +//line sql.y:2209 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 355: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2212 +//line sql.y:2213 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2216 +//line sql.y:2217 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 357: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2220 +//line sql.y:2221 { yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} } case 358: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2226 +//line sql.y:2227 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 359: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2231 +//line sql.y:2232 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 360: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *int -//line sql.y:2236 +//line sql.y:2237 { yyLOCAL = nil } @@ -12749,20 +12716,20 @@ yydefault: case 361: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *int -//line sql.y:2240 +//line sql.y:2241 { yyLOCAL = ptr.Of(convertStringToInt(yyDollar[2].str)) } yyVAL.union = yyLOCAL case 362: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2245 +//line sql.y:2246 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 363: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2249 +//line sql.y:2250 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: ptr.Of(convertStringToInt(yyDollar[2].str)), @@ -12771,13 +12738,13 @@ yydefault: } case 364: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2258 +//line sql.y:2259 { yyVAL.LengthScaleOption = yyDollar[1].LengthScaleOption } case 365: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2262 +//line sql.y:2263 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: ptr.Of(convertStringToInt(yyDollar[2].str)), @@ -12785,13 +12752,13 @@ yydefault: } case 366: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2269 +//line sql.y:2270 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 367: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2273 +//line sql.y:2274 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: ptr.Of(convertStringToInt(yyDollar[2].str)), @@ -12799,7 +12766,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2279 +//line sql.y:2280 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: ptr.Of(convertStringToInt(yyDollar[2].str)), @@ -12809,7 +12776,7 @@ yydefault: case 369: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2287 +//line sql.y:2288 { yyLOCAL = false } @@ -12817,7 +12784,7 @@ yydefault: case 370: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2291 +//line sql.y:2292 { yyLOCAL = true } @@ -12825,7 +12792,7 @@ yydefault: case 371: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2295 +//line sql.y:2296 { yyLOCAL = false } @@ -12833,7 +12800,7 @@ yydefault: case 372: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2300 +//line sql.y:2301 { yyLOCAL = false } @@ -12841,66 +12808,66 @@ yydefault: case 373: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2304 +//line sql.y:2305 { yyLOCAL = true } yyVAL.union = yyLOCAL case 374: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2309 +//line sql.y:2310 { yyVAL.columnCharset = ColumnCharset{} } case 375: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2313 +//line sql.y:2314 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].identifierCI.String()), Binary: yyDollar[3].booleanUnion()} } case 376: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2317 +//line sql.y:2318 { yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} } case 377: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2321 +//line sql.y:2322 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} } case 378: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2325 +//line sql.y:2326 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} } case 379: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2330 +//line sql.y:2331 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} } case 380: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2335 +//line sql.y:2336 { // BINARY: Shorthand for default CHARACTER SET but with binary collation yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} } case 381: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2340 +//line sql.y:2341 { // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} } case 382: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2345 +//line sql.y:2346 { // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} @@ -12908,7 +12875,7 @@ yydefault: case 383: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2351 +//line sql.y:2352 { yyLOCAL = false } @@ -12916,33 +12883,33 @@ yydefault: case 384: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2355 +//line sql.y:2356 { yyLOCAL = true } yyVAL.union = yyLOCAL case 385: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2360 +//line sql.y:2361 { yyVAL.str = "" } case 386: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2364 +//line sql.y:2365 { yyVAL.str = string(yyDollar[2].identifierCI.String()) } case 387: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2368 +//line sql.y:2369 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 388: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2374 +//line sql.y:2375 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -12950,7 +12917,7 @@ yydefault: case 389: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2379 +//line sql.y:2380 { yyLOCAL = nil } @@ -12958,7 +12925,7 @@ yydefault: case 390: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2383 +//line sql.y:2384 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -12966,14 +12933,14 @@ yydefault: case 391: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2389 +//line sql.y:2390 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 392: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2393 +//line sql.y:2394 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -12981,7 +12948,7 @@ yydefault: case 393: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2399 +//line sql.y:2400 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -12989,7 +12956,7 @@ yydefault: case 394: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2403 +//line sql.y:2404 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -12998,7 +12965,7 @@ yydefault: case 395: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2408 +//line sql.y:2409 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -13006,7 +12973,7 @@ yydefault: case 396: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2412 +//line sql.y:2413 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -13014,7 +12981,7 @@ yydefault: case 397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2416 +//line sql.y:2417 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -13022,7 +12989,7 @@ yydefault: case 398: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2420 +//line sql.y:2421 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].identifierCI.String()} } @@ -13030,7 +12997,7 @@ yydefault: case 399: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2424 +//line sql.y:2425 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -13038,27 +13005,27 @@ yydefault: case 400: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2428 +//line sql.y:2429 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL case 401: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2434 +//line sql.y:2435 { yyVAL.str = "" } case 402: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2438 +//line sql.y:2439 { yyVAL.str = string(yyDollar[1].str) } case 403: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2444 +//line sql.y:2445 { yyLOCAL = &IndexInfo{Type: IndexTypePrimary, ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI("PRIMARY")} } @@ -13066,7 +13033,7 @@ yydefault: case 404: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2448 +//line sql.y:2449 { yyLOCAL = &IndexInfo{Type: IndexTypeSpatial, Name: NewIdentifierCI(yyDollar[3].str)} } @@ -13074,7 +13041,7 @@ yydefault: case 405: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2452 +//line sql.y:2453 { yyLOCAL = &IndexInfo{Type: IndexTypeFullText, Name: NewIdentifierCI(yyDollar[3].str)} } @@ -13082,7 +13049,7 @@ yydefault: case 406: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2456 +//line sql.y:2457 { yyLOCAL = &IndexInfo{Type: IndexTypeUnique, ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[4].str)} } @@ -13090,100 +13057,100 @@ yydefault: case 407: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2460 +//line sql.y:2461 { yyLOCAL = &IndexInfo{Type: IndexTypeDefault, Name: NewIdentifierCI(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 408: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2465 +//line sql.y:2466 { yyVAL.str = "" } case 409: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2469 +//line sql.y:2470 { yyVAL.str = yyDollar[2].str } case 410: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2475 +//line sql.y:2476 { yyVAL.str = string(yyDollar[1].str) } case 411: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2479 +//line sql.y:2480 { yyVAL.str = string(yyDollar[1].str) } case 412: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2483 +//line sql.y:2484 { yyVAL.str = string(yyDollar[1].str) } case 413: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2489 +//line sql.y:2490 { yyVAL.str = string(yyDollar[1].str) } case 414: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2493 +//line sql.y:2494 { yyVAL.str = string(yyDollar[1].str) } case 415: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2498 +//line sql.y:2499 { yyVAL.str = "" } case 416: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2502 +//line sql.y:2503 { yyVAL.str = yyDollar[1].str } case 417: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2508 +//line sql.y:2509 { yyVAL.str = string(yyDollar[1].str) } case 418: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2512 +//line sql.y:2513 { yyVAL.str = string(yyDollar[1].str) } case 419: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2517 +//line sql.y:2518 { yyVAL.str = "" } case 420: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2521 +//line sql.y:2522 { yyVAL.str = string(yyDollar[1].identifierCI.String()) } case 421: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2527 +//line sql.y:2528 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 422: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2531 +//line sql.y:2532 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -13191,7 +13158,7 @@ yydefault: case 423: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2537 +//line sql.y:2538 { yyLOCAL = &IndexColumn{Column: yyDollar[1].identifierCI, Length: yyDollar[2].intPtrUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -13199,7 +13166,7 @@ yydefault: case 424: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2541 +//line sql.y:2542 { yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} } @@ -13207,7 +13174,7 @@ yydefault: case 425: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2547 +//line sql.y:2548 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()} } @@ -13215,7 +13182,7 @@ yydefault: case 426: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2551 +//line sql.y:2552 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -13223,7 +13190,7 @@ yydefault: case 427: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2557 +//line sql.y:2558 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()} } @@ -13231,7 +13198,7 @@ yydefault: case 428: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2561 +//line sql.y:2562 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -13239,7 +13206,7 @@ yydefault: case 429: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2567 +//line sql.y:2568 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewIdentifierCI(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -13247,7 +13214,7 @@ yydefault: case 430: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2573 +//line sql.y:2574 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} } @@ -13255,7 +13222,7 @@ yydefault: case 431: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2577 +//line sql.y:2578 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} } @@ -13263,7 +13230,7 @@ yydefault: case 432: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2581 +//line sql.y:2582 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} } @@ -13271,7 +13238,7 @@ yydefault: case 433: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2585 +//line sql.y:2586 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} } @@ -13279,7 +13246,7 @@ yydefault: case 434: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2589 +//line sql.y:2590 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} } @@ -13287,7 +13254,7 @@ yydefault: case 435: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2594 +//line sql.y:2595 { yyLOCAL = nil } @@ -13295,7 +13262,7 @@ yydefault: case 436: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2598 +//line sql.y:2599 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -13303,7 +13270,7 @@ yydefault: case 437: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2604 +//line sql.y:2605 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -13311,7 +13278,7 @@ yydefault: case 438: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2610 +//line sql.y:2611 { yyLOCAL = yyDollar[2].matchActionUnion() } @@ -13319,7 +13286,7 @@ yydefault: case 439: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2616 +//line sql.y:2617 { yyLOCAL = Full } @@ -13327,7 +13294,7 @@ yydefault: case 440: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2620 +//line sql.y:2621 { yyLOCAL = Partial } @@ -13335,7 +13302,7 @@ yydefault: case 441: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2624 +//line sql.y:2625 { yyLOCAL = Simple } @@ -13343,7 +13310,7 @@ yydefault: case 442: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2629 +//line sql.y:2630 { yyLOCAL = DefaultMatch } @@ -13351,7 +13318,7 @@ yydefault: case 443: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2633 +//line sql.y:2634 { yyLOCAL = yyDollar[1].matchActionUnion() } @@ -13359,7 +13326,7 @@ yydefault: case 444: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2639 +//line sql.y:2640 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -13367,7 +13334,7 @@ yydefault: case 445: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2645 +//line sql.y:2646 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -13375,7 +13342,7 @@ yydefault: case 446: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2651 +//line sql.y:2652 { yyLOCAL = Restrict } @@ -13383,7 +13350,7 @@ yydefault: case 447: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2655 +//line sql.y:2656 { yyLOCAL = Cascade } @@ -13391,7 +13358,7 @@ yydefault: case 448: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2659 +//line sql.y:2660 { yyLOCAL = NoAction } @@ -13399,7 +13366,7 @@ yydefault: case 449: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2663 +//line sql.y:2664 { yyLOCAL = SetDefault } @@ -13407,33 +13374,33 @@ yydefault: case 450: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2667 +//line sql.y:2668 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 451: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2672 +//line sql.y:2673 { yyVAL.str = "" } case 452: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2676 +//line sql.y:2677 { yyVAL.str = string(yyDollar[1].str) } case 453: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2680 +//line sql.y:2681 { yyVAL.str = string(yyDollar[1].str) } case 454: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2686 +//line sql.y:2687 { yyLOCAL = true } @@ -13441,7 +13408,7 @@ yydefault: case 455: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2690 +//line sql.y:2691 { yyLOCAL = false } @@ -13449,7 +13416,7 @@ yydefault: case 456: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2695 +//line sql.y:2696 { yyLOCAL = true } @@ -13457,7 +13424,7 @@ yydefault: case 457: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2699 +//line sql.y:2700 { yyLOCAL = yyDollar[1].booleanUnion() } @@ -13465,7 +13432,7 @@ yydefault: case 458: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2704 +//line sql.y:2705 { yyLOCAL = nil } @@ -13473,7 +13440,7 @@ yydefault: case 459: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2708 +//line sql.y:2709 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -13481,21 +13448,21 @@ yydefault: case 460: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2714 +//line sql.y:2715 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 461: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2718 +//line sql.y:2719 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 462: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2722 +//line sql.y:2723 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -13503,14 +13470,14 @@ yydefault: case 463: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2728 +//line sql.y:2729 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 464: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2732 +//line sql.y:2733 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -13518,7 +13485,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2738 +//line sql.y:2739 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13526,7 +13493,7 @@ yydefault: case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2742 +//line sql.y:2743 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13534,7 +13501,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2746 +//line sql.y:2747 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13542,7 +13509,7 @@ yydefault: case 468: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2750 +//line sql.y:2751 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} } @@ -13550,7 +13517,7 @@ yydefault: case 469: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2754 +//line sql.y:2755 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} } @@ -13558,7 +13525,7 @@ yydefault: case 470: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2758 +//line sql.y:2759 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13566,7 +13533,7 @@ yydefault: case 471: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2762 +//line sql.y:2763 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -13574,7 +13541,7 @@ yydefault: case 472: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2766 +//line sql.y:2767 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -13582,7 +13549,7 @@ yydefault: case 473: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2770 +//line sql.y:2771 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -13590,7 +13557,7 @@ yydefault: case 474: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2774 +//line sql.y:2775 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -13598,7 +13565,7 @@ yydefault: case 475: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2778 +//line sql.y:2779 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -13606,7 +13573,7 @@ yydefault: case 476: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2782 +//line sql.y:2783 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13614,7 +13581,7 @@ yydefault: case 477: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2786 +//line sql.y:2787 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -13622,7 +13589,7 @@ yydefault: case 478: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2790 +//line sql.y:2791 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].identifierCS.String(), CaseSensitive: true} } @@ -13630,7 +13597,7 @@ yydefault: case 479: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2794 +//line sql.y:2795 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -13638,7 +13605,7 @@ yydefault: case 480: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2798 +//line sql.y:2799 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -13646,7 +13613,7 @@ yydefault: case 481: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2802 +//line sql.y:2803 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13654,7 +13621,7 @@ yydefault: case 482: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2806 +//line sql.y:2807 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13662,7 +13629,7 @@ yydefault: case 483: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2810 +//line sql.y:2811 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13670,7 +13637,7 @@ yydefault: case 484: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2814 +//line sql.y:2815 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13678,7 +13645,7 @@ yydefault: case 485: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2818 +//line sql.y:2819 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -13686,7 +13653,7 @@ yydefault: case 486: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2822 +//line sql.y:2823 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -13694,7 +13661,7 @@ yydefault: case 487: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2826 +//line sql.y:2827 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -13702,7 +13669,7 @@ yydefault: case 488: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2830 +//line sql.y:2831 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -13710,7 +13677,7 @@ yydefault: case 489: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2834 +//line sql.y:2835 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13718,7 +13685,7 @@ yydefault: case 490: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2838 +//line sql.y:2839 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -13726,7 +13693,7 @@ yydefault: case 491: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2842 +//line sql.y:2843 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13734,7 +13701,7 @@ yydefault: case 492: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2846 +//line sql.y:2847 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -13742,7 +13709,7 @@ yydefault: case 493: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2850 +//line sql.y:2851 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -13750,7 +13717,7 @@ yydefault: case 494: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2854 +//line sql.y:2855 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].identifierCI.String() + yyDollar[4].str), CaseSensitive: true} } @@ -13758,63 +13725,63 @@ yydefault: case 495: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2858 +//line sql.y:2859 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 496: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2863 +//line sql.y:2864 { yyVAL.str = "" } case 497: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2867 +//line sql.y:2868 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 498: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2871 +//line sql.y:2872 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 508: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2890 +//line sql.y:2891 { yyVAL.str = String(TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}) } case 509: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2894 +//line sql.y:2895 { yyVAL.str = yyDollar[1].identifierCI.String() } case 510: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2898 +//line sql.y:2899 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 511: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2902 +//line sql.y:2903 { yyVAL.str = string(yyDollar[1].str) } case 512: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2907 +//line sql.y:2908 { yyVAL.str = "" } case 514: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2913 +//line sql.y:2914 { yyLOCAL = false } @@ -13822,7 +13789,7 @@ yydefault: case 515: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2917 +//line sql.y:2918 { yyLOCAL = true } @@ -13830,7 +13797,7 @@ yydefault: case 516: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2922 +//line sql.y:2923 { yyLOCAL = nil } @@ -13838,27 +13805,27 @@ yydefault: case 517: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2926 +//line sql.y:2927 { yyLOCAL = yyDollar[2].colNameUnion() } yyVAL.union = yyLOCAL case 518: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2931 +//line sql.y:2932 { yyVAL.str = "" } case 519: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2935 +//line sql.y:2936 { yyVAL.str = string(yyDollar[2].str) } case 520: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2940 +//line sql.y:2941 { yyLOCAL = nil } @@ -13866,7 +13833,7 @@ yydefault: case 521: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2944 +//line sql.y:2945 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -13874,7 +13841,7 @@ yydefault: case 522: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2948 +//line sql.y:2949 { yyLOCAL = NewDecimalLiteral(yyDollar[2].str) } @@ -13882,7 +13849,7 @@ yydefault: case 523: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2953 +//line sql.y:2954 { yyLOCAL = nil } @@ -13890,14 +13857,14 @@ yydefault: case 524: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2957 +//line sql.y:2958 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 525: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2961 +//line sql.y:2962 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -13905,14 +13872,14 @@ yydefault: case 526: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2965 +//line sql.y:2966 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 527: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2969 +//line sql.y:2970 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -13920,7 +13887,7 @@ yydefault: case 528: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2973 +//line sql.y:2974 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -13928,21 +13895,21 @@ yydefault: case 529: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2979 +//line sql.y:2980 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 530: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2983 +//line sql.y:2984 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 531: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2987 +//line sql.y:2988 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -13950,7 +13917,7 @@ yydefault: case 532: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2993 +//line sql.y:2994 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -13958,7 +13925,7 @@ yydefault: case 533: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2997 +//line sql.y:2998 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -13966,7 +13933,7 @@ yydefault: case 534: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3001 +//line sql.y:3002 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -13974,7 +13941,7 @@ yydefault: case 535: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3005 +//line sql.y:3006 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -13982,7 +13949,7 @@ yydefault: case 536: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3009 +//line sql.y:3010 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -13990,7 +13957,7 @@ yydefault: case 537: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3013 +//line sql.y:3014 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -13998,7 +13965,7 @@ yydefault: case 538: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3017 +//line sql.y:3018 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -14006,7 +13973,7 @@ yydefault: case 539: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3021 +//line sql.y:3022 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion(), DefaultLiteral: true} } @@ -14014,7 +13981,7 @@ yydefault: case 540: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3025 +//line sql.y:3026 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -14022,7 +13989,7 @@ yydefault: case 541: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3029 +//line sql.y:3030 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: ptr.Of(false)} } @@ -14030,7 +13997,7 @@ yydefault: case 542: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3033 +//line sql.y:3034 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: ptr.Of(true)} } @@ -14038,7 +14005,7 @@ yydefault: case 543: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3037 +//line sql.y:3038 { yyLOCAL = &AlterCheck{Name: yyDollar[3].identifierCI, Enforced: yyDollar[4].booleanUnion()} } @@ -14046,7 +14013,7 @@ yydefault: case 544: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3041 +//line sql.y:3042 { yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: false} } @@ -14054,7 +14021,7 @@ yydefault: case 545: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3045 +//line sql.y:3046 { yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: true} } @@ -14062,7 +14029,7 @@ yydefault: case 546: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3049 +//line sql.y:3050 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -14070,7 +14037,7 @@ yydefault: case 547: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3053 +//line sql.y:3054 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -14078,7 +14045,7 @@ yydefault: case 548: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3057 +//line sql.y:3058 { yyLOCAL = &RenameColumn{OldName: yyDollar[3].colNameUnion(), NewName: yyDollar[5].colNameUnion()} } @@ -14086,7 +14053,7 @@ yydefault: case 549: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3061 +//line sql.y:3062 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -14094,7 +14061,7 @@ yydefault: case 550: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3065 +//line sql.y:3066 { yyLOCAL = &KeyState{Enable: false} } @@ -14102,7 +14069,7 @@ yydefault: case 551: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3069 +//line sql.y:3070 { yyLOCAL = &KeyState{Enable: true} } @@ -14110,7 +14077,7 @@ yydefault: case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3073 +//line sql.y:3074 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -14118,7 +14085,7 @@ yydefault: case 553: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3077 +//line sql.y:3078 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -14126,7 +14093,7 @@ yydefault: case 554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3081 +//line sql.y:3082 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -14134,7 +14101,7 @@ yydefault: case 555: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3085 +//line sql.y:3086 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].identifierCI} } @@ -14142,7 +14109,7 @@ yydefault: case 556: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3089 +//line sql.y:3090 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -14150,7 +14117,7 @@ yydefault: case 557: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3093 +//line sql.y:3094 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].identifierCI} } @@ -14158,7 +14125,7 @@ yydefault: case 558: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3097 +//line sql.y:3098 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI} } @@ -14166,7 +14133,7 @@ yydefault: case 559: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3101 +//line sql.y:3102 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI} } @@ -14174,7 +14141,7 @@ yydefault: case 560: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3105 +//line sql.y:3106 { yyLOCAL = &Force{} } @@ -14182,7 +14149,7 @@ yydefault: case 561: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3109 +//line sql.y:3110 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -14190,7 +14157,7 @@ yydefault: case 562: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3113 +//line sql.y:3114 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].identifierCI, NewName: yyDollar[5].identifierCI} } @@ -14198,14 +14165,14 @@ yydefault: case 563: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:3119 +//line sql.y:3120 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 564: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3123 +//line sql.y:3124 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -14213,7 +14180,7 @@ yydefault: case 565: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3129 +//line sql.y:3130 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -14221,7 +14188,7 @@ yydefault: case 566: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3133 +//line sql.y:3134 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -14229,7 +14196,7 @@ yydefault: case 567: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3137 +//line sql.y:3138 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -14237,7 +14204,7 @@ yydefault: case 568: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3141 +//line sql.y:3142 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -14245,7 +14212,7 @@ yydefault: case 569: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3145 +//line sql.y:3146 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -14253,7 +14220,7 @@ yydefault: case 570: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3149 +//line sql.y:3150 { yyLOCAL = &LockOption{Type: NoneType} } @@ -14261,7 +14228,7 @@ yydefault: case 571: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3153 +//line sql.y:3154 { yyLOCAL = &LockOption{Type: SharedType} } @@ -14269,7 +14236,7 @@ yydefault: case 572: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3157 +//line sql.y:3158 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -14277,7 +14244,7 @@ yydefault: case 573: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3161 +//line sql.y:3162 { yyLOCAL = &Validation{With: true} } @@ -14285,7 +14252,7 @@ yydefault: case 574: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:3165 +//line sql.y:3166 { yyLOCAL = &Validation{With: false} } @@ -14293,7 +14260,7 @@ yydefault: case 575: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3171 +//line sql.y:3172 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -14304,7 +14271,7 @@ yydefault: case 576: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3178 +//line sql.y:3179 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -14315,7 +14282,7 @@ yydefault: case 577: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3185 +//line sql.y:3186 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -14326,7 +14293,7 @@ yydefault: case 578: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3192 +//line sql.y:3193 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -14336,7 +14303,7 @@ yydefault: case 579: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:3198 +//line sql.y:3199 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName, Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -14344,7 +14311,7 @@ yydefault: case 580: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3208 +//line sql.y:3209 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS @@ -14355,7 +14322,7 @@ yydefault: case 581: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3215 +//line sql.y:3216 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS @@ -14366,7 +14333,7 @@ yydefault: case 582: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3222 +//line sql.y:3223 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -14382,7 +14349,7 @@ yydefault: case 583: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3234 +//line sql.y:3235 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -14396,7 +14363,7 @@ yydefault: case 584: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3244 +//line sql.y:3245 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -14404,7 +14371,7 @@ yydefault: case 585: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3248 +//line sql.y:3249 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -14412,7 +14379,7 @@ yydefault: case 586: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:3252 +//line sql.y:3253 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -14429,7 +14396,7 @@ yydefault: case 587: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3265 +//line sql.y:3266 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -14443,7 +14410,7 @@ yydefault: case 588: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3275 +//line sql.y:3276 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -14451,7 +14418,7 @@ yydefault: case 589: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3279 +//line sql.y:3280 { yyLOCAL = &AlterVschema{Action: DropSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -14459,7 +14426,7 @@ yydefault: case 590: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:3283 +//line sql.y:3284 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -14474,7 +14441,7 @@ yydefault: case 591: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3294 +//line sql.y:3295 { yyLOCAL = &AlterVschema{ Action: DropAutoIncDDLAction, @@ -14485,7 +14452,7 @@ yydefault: case 592: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3301 +//line sql.y:3302 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -14496,7 +14463,7 @@ yydefault: case 593: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3308 +//line sql.y:3309 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -14507,7 +14474,7 @@ yydefault: case 594: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3315 +//line sql.y:3316 { yyLOCAL = &AlterMigration{ Type: CleanupAllMigrationType, @@ -14517,7 +14484,7 @@ yydefault: case 595: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3321 +//line sql.y:3322 { yyLOCAL = &AlterMigration{ Type: LaunchMigrationType, @@ -14528,7 +14495,7 @@ yydefault: case 596: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3328 +//line sql.y:3329 { yyLOCAL = &AlterMigration{ Type: LaunchMigrationType, @@ -14540,7 +14507,7 @@ yydefault: case 597: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3336 +//line sql.y:3337 { yyLOCAL = &AlterMigration{ Type: LaunchAllMigrationType, @@ -14550,7 +14517,7 @@ yydefault: case 598: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3342 +//line sql.y:3343 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -14561,7 +14528,7 @@ yydefault: case 599: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3349 +//line sql.y:3350 { yyLOCAL = &AlterMigration{ Type: CompleteAllMigrationType, @@ -14571,7 +14538,7 @@ yydefault: case 600: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3355 +//line sql.y:3356 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -14582,7 +14549,7 @@ yydefault: case 601: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3362 +//line sql.y:3363 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -14592,7 +14559,7 @@ yydefault: case 602: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3368 +//line sql.y:3369 { yyLOCAL = &AlterMigration{ Type: ThrottleMigrationType, @@ -14605,7 +14572,7 @@ yydefault: case 603: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3377 +//line sql.y:3378 { yyLOCAL = &AlterMigration{ Type: ThrottleAllMigrationType, @@ -14617,7 +14584,7 @@ yydefault: case 604: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3385 +//line sql.y:3386 { yyLOCAL = &AlterMigration{ Type: UnthrottleMigrationType, @@ -14628,7 +14595,7 @@ yydefault: case 605: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3392 +//line sql.y:3393 { yyLOCAL = &AlterMigration{ Type: UnthrottleAllMigrationType, @@ -14638,7 +14605,7 @@ yydefault: case 606: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3398 +//line sql.y:3399 { yyLOCAL = &AlterMigration{ Type: ForceCutOverMigrationType, @@ -14649,7 +14616,7 @@ yydefault: case 607: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3405 +//line sql.y:3406 { yyLOCAL = &AlterMigration{ Type: ForceCutOverAllMigrationType, @@ -14659,7 +14626,7 @@ yydefault: case 608: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3411 +//line sql.y:3412 { yyLOCAL = &AlterMigration{ Type: SetCutOverThresholdMigrationType, @@ -14671,7 +14638,7 @@ yydefault: case 609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3420 +//line sql.y:3421 { yyLOCAL = nil } @@ -14679,7 +14646,7 @@ yydefault: case 610: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3424 +//line sql.y:3425 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -14690,7 +14657,7 @@ yydefault: case 611: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3433 +//line sql.y:3434 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -14702,7 +14669,7 @@ yydefault: case 612: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3441 +//line sql.y:3442 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -14715,7 +14682,7 @@ yydefault: case 613: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3450 +//line sql.y:3451 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -14726,7 +14693,7 @@ yydefault: case 614: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3457 +//line sql.y:3458 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -14737,7 +14704,7 @@ yydefault: case 615: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3465 +//line sql.y:3466 { yyLOCAL = nil } @@ -14745,7 +14712,7 @@ yydefault: case 616: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3469 +//line sql.y:3470 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -14758,7 +14725,7 @@ yydefault: case 617: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3478 +//line sql.y:3479 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -14772,7 +14739,7 @@ yydefault: case 618: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3489 +//line sql.y:3490 { yyLOCAL = nil } @@ -14780,7 +14747,7 @@ yydefault: case 619: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3493 +//line sql.y:3494 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -14788,7 +14755,7 @@ yydefault: case 620: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3498 +//line sql.y:3499 { yyLOCAL = false } @@ -14796,7 +14763,7 @@ yydefault: case 621: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3502 +//line sql.y:3503 { yyLOCAL = true } @@ -14804,7 +14771,7 @@ yydefault: case 622: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3507 +//line sql.y:3508 { yyLOCAL = 0 } @@ -14812,7 +14779,7 @@ yydefault: case 623: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3511 +//line sql.y:3512 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -14820,7 +14787,7 @@ yydefault: case 624: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3517 +//line sql.y:3518 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].identifierCS} } @@ -14828,7 +14795,7 @@ yydefault: case 625: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3523 +//line sql.y:3524 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -14836,14 +14803,14 @@ yydefault: case 626: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3529 +//line sql.y:3530 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 627: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3533 +//line sql.y:3534 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -14851,7 +14818,7 @@ yydefault: case 628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3539 +//line sql.y:3540 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].identifierCI}} } @@ -14859,7 +14826,7 @@ yydefault: case 629: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3543 +//line sql.y:3544 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -14869,7 +14836,7 @@ yydefault: case 630: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3549 +//line sql.y:3550 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -14879,7 +14846,7 @@ yydefault: case 631: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3555 +//line sql.y:3556 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -14889,7 +14856,7 @@ yydefault: case 632: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3561 +//line sql.y:3562 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -14899,7 +14866,7 @@ yydefault: case 633: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3567 +//line sql.y:3568 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -14908,7 +14875,7 @@ yydefault: case 634: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3573 +//line sql.y:3574 { yyLOCAL = false } @@ -14916,7 +14883,7 @@ yydefault: case 635: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3577 +//line sql.y:3578 { yyLOCAL = true } @@ -14924,7 +14891,7 @@ yydefault: case 636: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3581 +//line sql.y:3582 { yyLOCAL = false } @@ -14932,7 +14899,7 @@ yydefault: case 637: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3585 +//line sql.y:3586 { yyLOCAL = true } @@ -14940,7 +14907,7 @@ yydefault: case 638: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3591 +//line sql.y:3592 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -14948,7 +14915,7 @@ yydefault: case 639: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3597 +//line sql.y:3598 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -14956,7 +14923,7 @@ yydefault: case 640: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3603 +//line sql.y:3604 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -14964,7 +14931,7 @@ yydefault: case 641: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3607 +//line sql.y:3608 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -14972,7 +14939,7 @@ yydefault: case 642: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3611 +//line sql.y:3612 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -14980,7 +14947,7 @@ yydefault: case 643: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3617 +//line sql.y:3618 { yyLOCAL = RangeType } @@ -14988,7 +14955,7 @@ yydefault: case 644: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3621 +//line sql.y:3622 { yyLOCAL = ListType } @@ -14996,7 +14963,7 @@ yydefault: case 645: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3626 +//line sql.y:3627 { yyLOCAL = -1 } @@ -15004,7 +14971,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3630 +//line sql.y:3631 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -15012,7 +14979,7 @@ yydefault: case 647: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3635 +//line sql.y:3636 { yyLOCAL = -1 } @@ -15020,7 +14987,7 @@ yydefault: case 648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3639 +//line sql.y:3640 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -15028,7 +14995,7 @@ yydefault: case 649: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3645 +//line sql.y:3646 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -15036,7 +15003,7 @@ yydefault: case 650: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3649 +//line sql.y:3650 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -15044,7 +15011,7 @@ yydefault: case 651: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3653 +//line sql.y:3654 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -15052,7 +15019,7 @@ yydefault: case 652: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3657 +//line sql.y:3658 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -15060,7 +15027,7 @@ yydefault: case 653: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3661 +//line sql.y:3662 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -15068,7 +15035,7 @@ yydefault: case 654: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3665 +//line sql.y:3666 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -15076,7 +15043,7 @@ yydefault: case 655: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3669 +//line sql.y:3670 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -15084,7 +15051,7 @@ yydefault: case 656: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3673 +//line sql.y:3674 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -15092,7 +15059,7 @@ yydefault: case 657: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3677 +//line sql.y:3678 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -15100,7 +15067,7 @@ yydefault: case 658: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3681 +//line sql.y:3682 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -15108,7 +15075,7 @@ yydefault: case 659: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3685 +//line sql.y:3686 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].identifierCI}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -15116,7 +15083,7 @@ yydefault: case 660: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3689 +//line sql.y:3690 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -15124,7 +15091,7 @@ yydefault: case 661: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3693 +//line sql.y:3694 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -15132,7 +15099,7 @@ yydefault: case 662: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3697 +//line sql.y:3698 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -15140,7 +15107,7 @@ yydefault: case 663: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3701 +//line sql.y:3702 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -15148,7 +15115,7 @@ yydefault: case 664: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3705 +//line sql.y:3706 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -15156,7 +15123,7 @@ yydefault: case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3709 +//line sql.y:3710 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -15164,7 +15131,7 @@ yydefault: case 666: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3713 +//line sql.y:3714 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -15172,7 +15139,7 @@ yydefault: case 667: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3717 +//line sql.y:3718 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -15180,7 +15147,7 @@ yydefault: case 668: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3721 +//line sql.y:3722 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -15188,7 +15155,7 @@ yydefault: case 669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3725 +//line sql.y:3726 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -15196,7 +15163,7 @@ yydefault: case 670: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3729 +//line sql.y:3730 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -15204,7 +15171,7 @@ yydefault: case 671: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3734 +//line sql.y:3735 { yyLOCAL = false } @@ -15212,7 +15179,7 @@ yydefault: case 672: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3738 +//line sql.y:3739 { yyLOCAL = false } @@ -15220,7 +15187,7 @@ yydefault: case 673: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3742 +//line sql.y:3743 { yyLOCAL = true } @@ -15228,28 +15195,28 @@ yydefault: case 674: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3748 +//line sql.y:3749 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 675: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3752 +//line sql.y:3753 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 676: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3758 +//line sql.y:3759 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } case 677: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3763 +//line sql.y:3764 { yyLOCAL = &PartitionDefinitionOptions{} } @@ -15257,7 +15224,7 @@ yydefault: case 678: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3767 +//line sql.y:3768 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15266,7 +15233,7 @@ yydefault: case 679: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3772 +//line sql.y:3773 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15275,7 +15242,7 @@ yydefault: case 680: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3777 +//line sql.y:3778 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15284,7 +15251,7 @@ yydefault: case 681: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3782 +//line sql.y:3783 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15293,7 +15260,7 @@ yydefault: case 682: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3787 +//line sql.y:3788 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15302,7 +15269,7 @@ yydefault: case 683: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3792 +//line sql.y:3793 { yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = ptr.Of(yyDollar[2].integerUnion()) yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15311,7 +15278,7 @@ yydefault: case 684: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3797 +//line sql.y:3798 { yyDollar[1].partitionDefinitionOptionsUnion().MinRows = ptr.Of(yyDollar[2].integerUnion()) yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15320,7 +15287,7 @@ yydefault: case 685: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3802 +//line sql.y:3803 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15329,7 +15296,7 @@ yydefault: case 686: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3807 +//line sql.y:3808 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -15338,7 +15305,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3813 +//line sql.y:3814 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } @@ -15346,14 +15313,14 @@ yydefault: case 688: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3819 +//line sql.y:3820 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL case 689: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3823 +//line sql.y:3824 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) @@ -15361,7 +15328,7 @@ yydefault: case 690: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3829 +//line sql.y:3830 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].identifierCI, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } @@ -15369,7 +15336,7 @@ yydefault: case 691: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3834 +//line sql.y:3835 { yyLOCAL = &SubPartitionDefinitionOptions{} } @@ -15377,7 +15344,7 @@ yydefault: case 692: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3838 +//line sql.y:3839 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -15386,7 +15353,7 @@ yydefault: case 693: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3843 +//line sql.y:3844 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -15395,7 +15362,7 @@ yydefault: case 694: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3848 +//line sql.y:3849 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -15404,7 +15371,7 @@ yydefault: case 695: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3853 +//line sql.y:3854 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -15413,7 +15380,7 @@ yydefault: case 696: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3858 +//line sql.y:3859 { yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = ptr.Of(yyDollar[2].integerUnion()) yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -15422,7 +15389,7 @@ yydefault: case 697: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3863 +//line sql.y:3864 { yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = ptr.Of(yyDollar[2].integerUnion()) yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -15431,7 +15398,7 @@ yydefault: case 698: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3868 +//line sql.y:3869 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -15440,7 +15407,7 @@ yydefault: case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3875 +//line sql.y:3876 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -15451,7 +15418,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3882 +//line sql.y:3883 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -15462,7 +15429,7 @@ yydefault: case 701: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3889 +//line sql.y:3890 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -15473,7 +15440,7 @@ yydefault: case 702: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3897 +//line sql.y:3898 { yyLOCAL = false } @@ -15481,7 +15448,7 @@ yydefault: case 703: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3901 +//line sql.y:3902 { yyLOCAL = true } @@ -15489,7 +15456,7 @@ yydefault: case 704: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3907 +//line sql.y:3908 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].identifierCS.String()} } @@ -15497,7 +15464,7 @@ yydefault: case 705: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3913 +//line sql.y:3914 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } @@ -15505,7 +15472,7 @@ yydefault: case 706: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3919 +//line sql.y:3920 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -15513,7 +15480,7 @@ yydefault: case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3925 +//line sql.y:3926 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -15521,7 +15488,7 @@ yydefault: case 708: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3931 +//line sql.y:3932 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -15529,41 +15496,41 @@ yydefault: case 709: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3937 +//line sql.y:3938 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL case 710: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3943 +//line sql.y:3944 { yyVAL.str = yyDollar[3].identifierCS.String() } case 711: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3949 +//line sql.y:3950 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].identifierCI} } yyVAL.union = yyLOCAL case 712: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3955 +//line sql.y:3956 { yyVAL.str = "" } case 713: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3959 +//line sql.y:3960 { yyVAL.str = "" } case 714: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3965 +//line sql.y:3966 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -15571,14 +15538,14 @@ yydefault: case 715: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3971 +//line sql.y:3972 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 716: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3975 +//line sql.y:3976 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -15586,7 +15553,7 @@ yydefault: case 717: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3981 +//line sql.y:3982 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -15594,7 +15561,7 @@ yydefault: case 718: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3985 +//line sql.y:3986 { // Change this to an alter statement if yyDollar[4].identifierCI.Lowered() == "primary" { @@ -15607,7 +15574,7 @@ yydefault: case 719: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3994 +//line sql.y:3995 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -15615,7 +15582,7 @@ yydefault: case 720: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3998 +//line sql.y:3999 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfExists: yyDollar[4].booleanUnion()} } @@ -15623,7 +15590,7 @@ yydefault: case 721: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4004 +//line sql.y:4005 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -15631,7 +15598,7 @@ yydefault: case 722: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4008 +//line sql.y:4009 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -15639,7 +15606,7 @@ yydefault: case 723: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4014 +//line sql.y:4015 { yyLOCAL = &Analyze{IsLocal: yyDollar[2].booleanUnion(), Table: yyDollar[4].tableName} } @@ -15647,7 +15614,7 @@ yydefault: case 724: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4020 +//line sql.y:4021 { yyLOCAL = &PurgeBinaryLogs{To: string(yyDollar[5].str)} } @@ -15655,7 +15622,7 @@ yydefault: case 725: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4024 +//line sql.y:4025 { yyLOCAL = &PurgeBinaryLogs{Before: string(yyDollar[5].str)} } @@ -15663,7 +15630,7 @@ yydefault: case 726: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4030 +//line sql.y:4031 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -15671,7 +15638,7 @@ yydefault: case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4034 +//line sql.y:4035 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -15679,7 +15646,7 @@ yydefault: case 728: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4038 +//line sql.y:4039 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}} } @@ -15687,7 +15654,7 @@ yydefault: case 729: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4042 +//line sql.y:4043 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -15695,7 +15662,7 @@ yydefault: case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4046 +//line sql.y:4047 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -15703,7 +15670,7 @@ yydefault: case 731: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4050 +//line sql.y:4051 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -15711,7 +15678,7 @@ yydefault: case 732: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4054 +//line sql.y:4055 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -15719,7 +15686,7 @@ yydefault: case 733: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4058 +//line sql.y:4059 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -15727,7 +15694,7 @@ yydefault: case 734: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4062 +//line sql.y:4063 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}} } @@ -15735,7 +15702,7 @@ yydefault: case 735: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4066 +//line sql.y:4067 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} } @@ -15743,7 +15710,7 @@ yydefault: case 736: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4070 +//line sql.y:4071 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -15751,7 +15718,7 @@ yydefault: case 737: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4074 +//line sql.y:4075 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -15759,7 +15726,7 @@ yydefault: case 738: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4078 +//line sql.y:4079 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -15767,7 +15734,7 @@ yydefault: case 739: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4082 +//line sql.y:4083 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -15775,7 +15742,7 @@ yydefault: case 740: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4086 +//line sql.y:4087 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -15783,7 +15750,7 @@ yydefault: case 741: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4090 +//line sql.y:4091 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -15791,7 +15758,7 @@ yydefault: case 742: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4094 +//line sql.y:4095 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} } @@ -15799,7 +15766,7 @@ yydefault: case 743: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4098 +//line sql.y:4099 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} } @@ -15807,7 +15774,7 @@ yydefault: case 744: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4102 +//line sql.y:4103 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].identifierCS, Filter: yyDollar[4].showFilterUnion()}} } @@ -15815,7 +15782,7 @@ yydefault: case 745: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4106 +//line sql.y:4107 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -15823,7 +15790,7 @@ yydefault: case 746: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4110 +//line sql.y:4111 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -15831,7 +15798,7 @@ yydefault: case 747: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4114 +//line sql.y:4115 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -15839,7 +15806,7 @@ yydefault: case 748: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4118 +//line sql.y:4119 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -15847,7 +15814,7 @@ yydefault: case 749: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4122 +//line sql.y:4123 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -15855,7 +15822,7 @@ yydefault: case 750: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4126 +//line sql.y:4127 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -15863,7 +15830,7 @@ yydefault: case 751: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4130 +//line sql.y:4131 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -15871,7 +15838,7 @@ yydefault: case 752: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4134 +//line sql.y:4135 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } @@ -15879,7 +15846,7 @@ yydefault: case 753: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4138 +//line sql.y:4139 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } @@ -15887,7 +15854,7 @@ yydefault: case 754: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4142 +//line sql.y:4143 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].identifierCS}} } @@ -15895,7 +15862,7 @@ yydefault: case 755: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4146 +//line sql.y:4147 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].identifierCS}} } @@ -15903,7 +15870,7 @@ yydefault: case 756: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4150 +//line sql.y:4151 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } @@ -15911,7 +15878,7 @@ yydefault: case 757: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4154 +//line sql.y:4155 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].identifierCS}} } @@ -15919,7 +15886,7 @@ yydefault: case 758: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4158 +//line sql.y:4159 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -15927,7 +15894,7 @@ yydefault: case 759: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4162 +//line sql.y:4163 { yyLOCAL = &ShowThrottledApps{} } @@ -15935,7 +15902,7 @@ yydefault: case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4166 +//line sql.y:4167 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } @@ -15943,7 +15910,7 @@ yydefault: case 761: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4170 +//line sql.y:4171 { yyLOCAL = &ShowThrottlerStatus{} } @@ -15951,7 +15918,7 @@ yydefault: case 762: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4174 +//line sql.y:4175 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } @@ -15959,7 +15926,7 @@ yydefault: case 763: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4178 +//line sql.y:4179 { yyLOCAL = &Show{&ShowBasic{Command: VschemaKeyspaces}} } @@ -15967,7 +15934,7 @@ yydefault: case 764: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4182 +//line sql.y:4183 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } @@ -15975,7 +15942,7 @@ yydefault: case 765: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4186 +//line sql.y:4187 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } @@ -15983,7 +15950,7 @@ yydefault: case 766: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4190 +//line sql.y:4191 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -15991,7 +15958,7 @@ yydefault: case 767: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4194 +//line sql.y:4195 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } @@ -15999,7 +15966,7 @@ yydefault: case 768: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4198 +//line sql.y:4199 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } @@ -16007,7 +15974,7 @@ yydefault: case 769: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4202 +//line sql.y:4203 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } @@ -16015,7 +15982,7 @@ yydefault: case 770: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4209 +//line sql.y:4210 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].identifierCI.String())}} } @@ -16023,7 +15990,7 @@ yydefault: case 771: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4213 +//line sql.y:4214 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -16031,7 +15998,7 @@ yydefault: case 772: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4217 +//line sql.y:4218 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()}} } @@ -16039,7 +16006,7 @@ yydefault: case 773: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4221 +//line sql.y:4222 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -16047,7 +16014,7 @@ yydefault: case 774: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4225 +//line sql.y:4226 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -16055,7 +16022,7 @@ yydefault: case 775: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4229 +//line sql.y:4230 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -16063,7 +16030,7 @@ yydefault: case 776: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4233 +//line sql.y:4234 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -16071,7 +16038,7 @@ yydefault: case 777: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4237 +//line sql.y:4238 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } @@ -16079,7 +16046,7 @@ yydefault: case 778: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4241 +//line sql.y:4242 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -16087,7 +16054,7 @@ yydefault: case 779: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4245 +//line sql.y:4246 { yyLOCAL = &Show{&ShowTransactionStatus{TransactionID: string(yyDollar[5].str)}} } @@ -16095,7 +16062,7 @@ yydefault: case 780: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4249 +//line sql.y:4250 { yyLOCAL = &Show{&ShowTransactionStatus{}} } @@ -16103,37 +16070,37 @@ yydefault: case 781: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4253 +//line sql.y:4254 { yyLOCAL = &Show{&ShowTransactionStatus{Keyspace: yyDollar[5].identifierCS.String()}} } yyVAL.union = yyLOCAL case 782: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4258 +//line sql.y:4259 { } case 783: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4260 +//line sql.y:4261 { } case 784: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4264 +//line sql.y:4265 { yyVAL.str = "" } case 785: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4268 +//line sql.y:4269 { yyVAL.str = "extended " } case 786: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4274 +//line sql.y:4275 { yyLOCAL = false } @@ -16141,45 +16108,45 @@ yydefault: case 787: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4278 +//line sql.y:4279 { yyLOCAL = true } yyVAL.union = yyLOCAL case 788: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4284 +//line sql.y:4285 { yyVAL.str = string(yyDollar[1].str) } case 789: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4288 +//line sql.y:4289 { yyVAL.str = string(yyDollar[1].str) } case 790: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4294 +//line sql.y:4295 { yyVAL.identifierCS = NewIdentifierCS("") } case 791: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4298 +//line sql.y:4299 { yyVAL.identifierCS = yyDollar[2].identifierCS } case 792: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4302 +//line sql.y:4303 { yyVAL.identifierCS = yyDollar[2].identifierCS } case 793: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4308 +//line sql.y:4309 { yyLOCAL = nil } @@ -16187,7 +16154,7 @@ yydefault: case 794: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4312 +//line sql.y:4313 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -16195,7 +16162,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4316 +//line sql.y:4317 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -16203,7 +16170,7 @@ yydefault: case 796: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4322 +//line sql.y:4323 { yyLOCAL = nil } @@ -16211,45 +16178,45 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4326 +//line sql.y:4327 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 798: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4332 +//line sql.y:4333 { yyVAL.empty = struct{}{} } case 799: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4336 +//line sql.y:4337 { yyVAL.empty = struct{}{} } case 800: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4340 +//line sql.y:4341 { yyVAL.empty = struct{}{} } case 801: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4346 +//line sql.y:4347 { yyVAL.str = string(yyDollar[1].str) } case 802: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4350 +//line sql.y:4351 { yyVAL.str = string(yyDollar[1].str) } case 803: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4356 +//line sql.y:4357 { yyLOCAL = &Use{DBName: yyDollar[2].identifierCS} } @@ -16257,7 +16224,7 @@ yydefault: case 804: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4360 +//line sql.y:4361 { yyLOCAL = &Use{DBName: IdentifierCS{v: ""}} } @@ -16265,39 +16232,39 @@ yydefault: case 805: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4364 +//line sql.y:4365 { yyLOCAL = &Use{DBName: NewIdentifierCS(yyDollar[2].identifierCS.String() + "@" + string(yyDollar[3].str))} } yyVAL.union = yyLOCAL case 806: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4371 +//line sql.y:4372 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } case 807: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4375 +//line sql.y:4376 { yyVAL.identifierCS = NewIdentifierCS("@" + string(yyDollar[1].str)) } case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4379 +//line sql.y:4380 { yyVAL.identifierCS = NewIdentifierCS("@@" + string(yyDollar[1].str)) } case 809: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4383 +//line sql.y:4384 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } case 810: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4390 +//line sql.y:4391 { yyLOCAL = &Begin{} } @@ -16305,7 +16272,7 @@ yydefault: case 811: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4394 +//line sql.y:4395 { yyLOCAL = &Begin{TxAccessModes: yyDollar[3].txAccessModesUnion()} } @@ -16313,7 +16280,7 @@ yydefault: case 812: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []TxAccessMode -//line sql.y:4399 +//line sql.y:4400 { yyLOCAL = nil } @@ -16321,7 +16288,7 @@ yydefault: case 813: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []TxAccessMode -//line sql.y:4403 +//line sql.y:4404 { yyLOCAL = yyDollar[1].txAccessModesUnion() } @@ -16329,14 +16296,14 @@ yydefault: case 814: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []TxAccessMode -//line sql.y:4409 +//line sql.y:4410 { yyLOCAL = []TxAccessMode{yyDollar[1].txAccessModeUnion()} } yyVAL.union = yyLOCAL case 815: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4413 +//line sql.y:4414 { yySLICE := (*[]TxAccessMode)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].txAccessModeUnion()) @@ -16344,7 +16311,7 @@ yydefault: case 816: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TxAccessMode -//line sql.y:4419 +//line sql.y:4420 { yyLOCAL = WithConsistentSnapshot } @@ -16352,7 +16319,7 @@ yydefault: case 817: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TxAccessMode -//line sql.y:4423 +//line sql.y:4424 { yyLOCAL = ReadWrite } @@ -16360,7 +16327,7 @@ yydefault: case 818: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TxAccessMode -//line sql.y:4427 +//line sql.y:4428 { yyLOCAL = ReadOnly } @@ -16368,7 +16335,7 @@ yydefault: case 819: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4434 +//line sql.y:4435 { yyLOCAL = &Commit{} } @@ -16376,7 +16343,7 @@ yydefault: case 820: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4440 +//line sql.y:4441 { yyLOCAL = &Rollback{} } @@ -16384,39 +16351,39 @@ yydefault: case 821: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4444 +//line sql.y:4445 { yyLOCAL = &SRollback{Name: yyDollar[5].identifierCI} } yyVAL.union = yyLOCAL case 822: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4449 +//line sql.y:4450 { yyVAL.empty = struct{}{} } case 823: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4451 +//line sql.y:4452 { yyVAL.empty = struct{}{} } case 824: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4454 +//line sql.y:4455 { yyVAL.empty = struct{}{} } case 825: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4456 +//line sql.y:4457 { yyVAL.empty = struct{}{} } case 826: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4460 +//line sql.y:4461 { yyLOCAL = &Savepoint{Name: yyDollar[2].identifierCI} } @@ -16424,7 +16391,7 @@ yydefault: case 827: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4466 +//line sql.y:4467 { yyLOCAL = &Release{Name: yyDollar[3].identifierCI} } @@ -16432,7 +16399,7 @@ yydefault: case 828: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4471 +//line sql.y:4472 { yyLOCAL = EmptyType } @@ -16440,7 +16407,7 @@ yydefault: case 829: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4475 +//line sql.y:4476 { yyLOCAL = JSONType } @@ -16448,7 +16415,7 @@ yydefault: case 830: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4479 +//line sql.y:4480 { yyLOCAL = TreeType } @@ -16456,7 +16423,7 @@ yydefault: case 831: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4483 +//line sql.y:4484 { yyLOCAL = TraditionalType } @@ -16464,7 +16431,7 @@ yydefault: case 832: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4487 +//line sql.y:4488 { yyLOCAL = AnalyzeType } @@ -16472,7 +16439,7 @@ yydefault: case 833: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4492 +//line sql.y:4493 { yyLOCAL = PlanVExplainType } @@ -16480,7 +16447,7 @@ yydefault: case 834: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4496 +//line sql.y:4497 { yyLOCAL = PlanVExplainType } @@ -16488,7 +16455,7 @@ yydefault: case 835: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4500 +//line sql.y:4501 { yyLOCAL = AllVExplainType } @@ -16496,7 +16463,7 @@ yydefault: case 836: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4504 +//line sql.y:4505 { yyLOCAL = QueriesVExplainType } @@ -16504,7 +16471,7 @@ yydefault: case 837: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4508 +//line sql.y:4509 { yyLOCAL = TraceVExplainType } @@ -16512,33 +16479,33 @@ yydefault: case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4512 +//line sql.y:4513 { yyLOCAL = KeysVExplainType } yyVAL.union = yyLOCAL case 839: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4518 +//line sql.y:4519 { yyVAL.str = yyDollar[1].str } case 840: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4522 +//line sql.y:4523 { yyVAL.str = yyDollar[1].str } case 841: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4526 +//line sql.y:4527 { yyVAL.str = yyDollar[1].str } case 842: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4532 +//line sql.y:4533 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -16546,7 +16513,7 @@ yydefault: case 843: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4536 +//line sql.y:4537 { yyLOCAL = yyDollar[1].statementUnion() } @@ -16554,7 +16521,7 @@ yydefault: case 844: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4540 +//line sql.y:4541 { yyLOCAL = yyDollar[1].statementUnion() } @@ -16562,33 +16529,33 @@ yydefault: case 845: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4544 +//line sql.y:4545 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 846: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4549 +//line sql.y:4550 { yyVAL.str = "" } case 847: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4553 +//line sql.y:4554 { yyVAL.str = yyDollar[1].identifierCI.val } case 848: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4557 +//line sql.y:4558 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 849: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4563 +//line sql.y:4564 { yyLOCAL = &ExplainTab{Table: yyDollar[3].tableName, Wild: yyDollar[4].str} } @@ -16596,7 +16563,7 @@ yydefault: case 850: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4567 +//line sql.y:4568 { yyLOCAL = &ExplainStmt{Type: yyDollar[3].explainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()} } @@ -16604,7 +16571,7 @@ yydefault: case 851: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4573 +//line sql.y:4574 { yyLOCAL = &VExplainStmt{Type: yyDollar[3].vexplainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()} } @@ -16612,7 +16579,7 @@ yydefault: case 852: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4579 +//line sql.y:4580 { yyLOCAL = &OtherAdmin{} } @@ -16620,7 +16587,7 @@ yydefault: case 853: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4583 +//line sql.y:4584 { yyLOCAL = &OtherAdmin{} } @@ -16628,7 +16595,7 @@ yydefault: case 854: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4589 +//line sql.y:4590 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -16636,14 +16603,14 @@ yydefault: case 855: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4595 +//line sql.y:4596 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 856: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4599 +//line sql.y:4600 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -16651,7 +16618,7 @@ yydefault: case 857: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4605 +//line sql.y:4606 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -16659,7 +16626,7 @@ yydefault: case 858: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4611 +//line sql.y:4612 { yyLOCAL = Read } @@ -16667,7 +16634,7 @@ yydefault: case 859: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4615 +//line sql.y:4616 { yyLOCAL = ReadLocal } @@ -16675,7 +16642,7 @@ yydefault: case 860: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4619 +//line sql.y:4620 { yyLOCAL = Write } @@ -16683,7 +16650,7 @@ yydefault: case 861: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4623 +//line sql.y:4624 { yyLOCAL = LowPriorityWrite } @@ -16691,7 +16658,7 @@ yydefault: case 862: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4629 +//line sql.y:4630 { yyLOCAL = &UnlockTables{} } @@ -16699,7 +16666,7 @@ yydefault: case 863: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4635 +//line sql.y:4636 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -16707,7 +16674,7 @@ yydefault: case 864: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4641 +//line sql.y:4642 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -16715,7 +16682,7 @@ yydefault: case 865: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4645 +//line sql.y:4646 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -16723,7 +16690,7 @@ yydefault: case 866: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4649 +//line sql.y:4650 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -16731,7 +16698,7 @@ yydefault: case 867: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4653 +//line sql.y:4654 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -16739,7 +16706,7 @@ yydefault: case 868: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4657 +//line sql.y:4658 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -16747,99 +16714,99 @@ yydefault: case 869: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4661 +//line sql.y:4662 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 870: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4667 +//line sql.y:4668 { yyVAL.strs = []string{yyDollar[1].str} } case 871: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4671 +//line sql.y:4672 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 872: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4677 +//line sql.y:4678 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 873: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4681 +//line sql.y:4682 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 874: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4685 +//line sql.y:4686 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 875: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4689 +//line sql.y:4690 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 876: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4693 +//line sql.y:4694 { yyVAL.str = string(yyDollar[1].str) } case 877: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4697 +//line sql.y:4698 { yyVAL.str = string(yyDollar[1].str) } case 878: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4701 +//line sql.y:4702 { yyVAL.str = string(yyDollar[1].str) } case 879: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4705 +//line sql.y:4706 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 880: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4709 +//line sql.y:4710 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 881: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4713 +//line sql.y:4714 { yyVAL.str = string(yyDollar[1].str) } case 882: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4717 +//line sql.y:4718 { yyVAL.str = string(yyDollar[1].str) } case 883: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4721 +//line sql.y:4722 { yyVAL.str = string(yyDollar[1].str) } case 884: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4726 +//line sql.y:4727 { yyLOCAL = false } @@ -16847,7 +16814,7 @@ yydefault: case 885: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4730 +//line sql.y:4731 { yyLOCAL = true } @@ -16855,52 +16822,52 @@ yydefault: case 886: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4734 +//line sql.y:4735 { yyLOCAL = true } yyVAL.union = yyLOCAL case 887: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4739 +//line sql.y:4740 { yyVAL.str = "" } case 888: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4743 +//line sql.y:4744 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String() } case 889: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4748 +//line sql.y:4749 { setAllowComments(yylex, true) } case 890: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4752 +//line sql.y:4753 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 891: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4758 +//line sql.y:4759 { yyVAL.strs = nil } case 892: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4762 +//line sql.y:4763 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 893: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4768 +//line sql.y:4769 { yyLOCAL = true } @@ -16908,7 +16875,7 @@ yydefault: case 894: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4772 +//line sql.y:4773 { yyLOCAL = false } @@ -16916,33 +16883,33 @@ yydefault: case 895: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4776 +//line sql.y:4777 { yyLOCAL = true } yyVAL.union = yyLOCAL case 896: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4781 +//line sql.y:4782 { yyVAL.str = "" } case 897: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4785 +//line sql.y:4786 { yyVAL.str = SQLNoCacheStr } case 898: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4789 +//line sql.y:4790 { yyVAL.str = SQLCacheStr } case 899: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4794 +//line sql.y:4795 { yyLOCAL = false } @@ -16950,7 +16917,7 @@ yydefault: case 900: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4798 +//line sql.y:4799 { yyLOCAL = true } @@ -16958,7 +16925,7 @@ yydefault: case 901: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4802 +//line sql.y:4803 { yyLOCAL = true } @@ -16966,7 +16933,7 @@ yydefault: case 902: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4808 +//line sql.y:4809 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -16974,7 +16941,7 @@ yydefault: case 903: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4812 +//line sql.y:4813 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].identifierCI, @@ -16986,7 +16953,7 @@ yydefault: case 904: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4822 +//line sql.y:4823 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].variablesUnion()} } @@ -16994,7 +16961,7 @@ yydefault: case 905: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*Variable -//line sql.y:4827 +//line sql.y:4828 { yyLOCAL = nil } @@ -17002,7 +16969,7 @@ yydefault: case 906: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*Variable -//line sql.y:4831 +//line sql.y:4832 { yyLOCAL = yyDollar[2].variablesUnion() } @@ -17010,7 +16977,7 @@ yydefault: case 907: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4837 +//line sql.y:4838 { yyLOCAL = &DeallocateStmt{Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI} } @@ -17018,112 +16985,112 @@ yydefault: case 908: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4841 +//line sql.y:4842 { yyLOCAL = &DeallocateStmt{Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI} } yyVAL.union = yyLOCAL case 909: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4846 +//line sql.y:4847 { yyVAL.strs = nil } case 910: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4850 +//line sql.y:4851 { yyVAL.strs = yyDollar[1].strs } case 911: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4856 +//line sql.y:4857 { yyVAL.strs = []string{yyDollar[1].str} } case 912: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4860 +//line sql.y:4861 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 913: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4866 +//line sql.y:4867 { yyVAL.str = SQLNoCacheStr } case 914: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4870 +//line sql.y:4871 { yyVAL.str = SQLCacheStr } case 915: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4874 +//line sql.y:4875 { yyVAL.str = DistinctStr } case 916: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4878 +//line sql.y:4879 { yyVAL.str = DistinctStr } case 917: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4882 +//line sql.y:4883 { yyVAL.str = HighPriorityStr } case 918: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4886 +//line sql.y:4887 { yyVAL.str = StraightJoinHint } case 919: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4890 +//line sql.y:4891 { yyVAL.str = SQLBufferResultStr } case 920: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4894 +//line sql.y:4895 { yyVAL.str = SQLSmallResultStr } case 921: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4898 +//line sql.y:4899 { yyVAL.str = SQLBigResultStr } case 922: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4902 +//line sql.y:4903 { yyVAL.str = SQLCalcFoundRowsStr } case 923: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4906 +//line sql.y:4907 { yyVAL.str = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway } case 924: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4912 +//line sql.y:4913 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL case 925: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4916 +//line sql.y:4917 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) @@ -17131,7 +17098,7 @@ yydefault: case 926: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4922 +//line sql.y:4923 { yyLOCAL = &StarExpr{} } @@ -17139,7 +17106,7 @@ yydefault: case 927: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4926 +//line sql.y:4927 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].identifierCI} } @@ -17147,7 +17114,7 @@ yydefault: case 928: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4930 +//line sql.y:4931 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].identifierCS}} } @@ -17155,39 +17122,39 @@ yydefault: case 929: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4934 +//line sql.y:4935 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}} } yyVAL.union = yyLOCAL case 930: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4939 +//line sql.y:4940 { yyVAL.identifierCI = IdentifierCI{} } case 931: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4943 +//line sql.y:4944 { yyVAL.identifierCI = yyDollar[1].identifierCI } case 932: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4947 +//line sql.y:4948 { yyVAL.identifierCI = yyDollar[2].identifierCI } case 934: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4954 +//line sql.y:4955 { yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) } case 935: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4959 +//line sql.y:4960 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewIdentifierCS("dual")}}} } @@ -17195,7 +17162,7 @@ yydefault: case 936: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4963 +//line sql.y:4964 { yyLOCAL = yyDollar[1].tableExprsUnion() } @@ -17203,7 +17170,7 @@ yydefault: case 937: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4969 +//line sql.y:4970 { yyLOCAL = yyDollar[2].tableExprsUnion() } @@ -17211,14 +17178,14 @@ yydefault: case 938: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4975 +//line sql.y:4976 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL case 939: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4979 +//line sql.y:4980 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) @@ -17226,7 +17193,7 @@ yydefault: case 942: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4989 +//line sql.y:4990 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } @@ -17234,7 +17201,7 @@ yydefault: case 943: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4993 +//line sql.y:4994 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].identifierCS, Columns: yyDollar[4].columnsUnion()} } @@ -17242,7 +17209,7 @@ yydefault: case 944: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4997 +//line sql.y:4998 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } @@ -17250,7 +17217,7 @@ yydefault: case 945: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5001 +//line sql.y:5002 { yyLOCAL = yyDollar[1].tableExprUnion() } @@ -17258,7 +17225,7 @@ yydefault: case 946: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:5007 +//line sql.y:5008 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[1].selStmtUnion()} } @@ -17266,7 +17233,7 @@ yydefault: case 947: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:5011 +//line sql.y:5012 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[2].selStmtUnion()} } @@ -17274,7 +17241,7 @@ yydefault: case 948: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:5017 +//line sql.y:5018 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].identifierCS, Hints: yyDollar[3].indexHintsUnion()} } @@ -17282,7 +17249,7 @@ yydefault: case 949: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:5021 +//line sql.y:5022 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].identifierCS, Hints: yyDollar[7].indexHintsUnion()} } @@ -17290,7 +17257,7 @@ yydefault: case 950: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:5026 +//line sql.y:5027 { yyLOCAL = nil } @@ -17298,7 +17265,7 @@ yydefault: case 951: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:5030 +//line sql.y:5031 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -17306,7 +17273,7 @@ yydefault: case 952: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:5035 +//line sql.y:5036 { yyLOCAL = nil } @@ -17314,7 +17281,7 @@ yydefault: case 953: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:5039 +//line sql.y:5040 { yyLOCAL = yyDollar[1].columnsUnion() } @@ -17322,14 +17289,14 @@ yydefault: case 954: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:5045 +//line sql.y:5046 { yyLOCAL = Columns{yyDollar[1].identifierCI} } yyVAL.union = yyLOCAL case 955: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5049 +//line sql.y:5050 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) @@ -17337,14 +17304,14 @@ yydefault: case 956: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*Variable -//line sql.y:5055 +//line sql.y:5056 { yyLOCAL = []*Variable{yyDollar[1].variableUnion()} } yyVAL.union = yyLOCAL case 957: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5059 +//line sql.y:5060 { yySLICE := (*[]*Variable)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].variableUnion()) @@ -17352,7 +17319,7 @@ yydefault: case 958: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:5065 +//line sql.y:5066 { yyLOCAL = Columns{yyDollar[1].identifierCI} } @@ -17360,21 +17327,21 @@ yydefault: case 959: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:5069 +//line sql.y:5070 { yyLOCAL = Columns{NewIdentifierCI(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL case 960: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5073 +//line sql.y:5074 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) } case 961: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5077 +//line sql.y:5078 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewIdentifierCI(string(yyDollar[3].str))) @@ -17382,14 +17349,14 @@ yydefault: case 962: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:5083 +//line sql.y:5084 { yyLOCAL = Partitions{yyDollar[1].identifierCI} } yyVAL.union = yyLOCAL case 963: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5087 +//line sql.y:5088 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) @@ -17397,7 +17364,7 @@ yydefault: case 964: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5100 +//line sql.y:5101 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -17405,7 +17372,7 @@ yydefault: case 965: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5104 +//line sql.y:5105 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -17413,7 +17380,7 @@ yydefault: case 966: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5108 +//line sql.y:5109 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -17421,87 +17388,87 @@ yydefault: case 967: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5112 +//line sql.y:5113 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL case 968: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5118 +//line sql.y:5119 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 969: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5120 +//line sql.y:5121 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } case 970: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5124 +//line sql.y:5125 { yyVAL.joinCondition = &JoinCondition{} } case 971: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5126 +//line sql.y:5127 { yyVAL.joinCondition = yyDollar[1].joinCondition } case 972: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5130 +//line sql.y:5131 { yyVAL.joinCondition = &JoinCondition{} } case 973: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5132 +//line sql.y:5133 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 974: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5135 +//line sql.y:5136 { yyVAL.empty = struct{}{} } case 975: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5137 +//line sql.y:5138 { yyVAL.empty = struct{}{} } case 976: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5140 +//line sql.y:5141 { yyVAL.identifierCS = NewIdentifierCS("") } case 977: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5144 +//line sql.y:5145 { yyVAL.identifierCS = yyDollar[1].identifierCS } case 978: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5148 +//line sql.y:5149 { yyVAL.identifierCS = yyDollar[2].identifierCS } case 980: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5155 +//line sql.y:5156 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:5161 +//line sql.y:5162 { yyLOCAL = NormalJoinType } @@ -17509,7 +17476,7 @@ yydefault: case 982: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5165 +//line sql.y:5166 { yyLOCAL = NormalJoinType } @@ -17517,7 +17484,7 @@ yydefault: case 983: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5169 +//line sql.y:5170 { yyLOCAL = NormalJoinType } @@ -17525,7 +17492,7 @@ yydefault: case 984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:5175 +//line sql.y:5176 { yyLOCAL = StraightJoinType } @@ -17533,7 +17500,7 @@ yydefault: case 985: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5181 +//line sql.y:5182 { yyLOCAL = LeftJoinType } @@ -17541,7 +17508,7 @@ yydefault: case 986: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:5185 +//line sql.y:5186 { yyLOCAL = LeftJoinType } @@ -17549,7 +17516,7 @@ yydefault: case 987: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5189 +//line sql.y:5190 { yyLOCAL = RightJoinType } @@ -17557,7 +17524,7 @@ yydefault: case 988: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:5193 +//line sql.y:5194 { yyLOCAL = RightJoinType } @@ -17565,7 +17532,7 @@ yydefault: case 989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5199 +//line sql.y:5200 { yyLOCAL = NaturalJoinType } @@ -17573,7 +17540,7 @@ yydefault: case 990: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5203 +//line sql.y:5204 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -17584,38 +17551,38 @@ yydefault: yyVAL.union = yyLOCAL case 991: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5213 +//line sql.y:5214 { yyVAL.tableName = yyDollar[2].tableName } case 992: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5217 +//line sql.y:5218 { yyVAL.tableName = yyDollar[1].tableName } case 993: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5223 +//line sql.y:5224 { yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS} } case 994: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5227 +//line sql.y:5228 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS} } case 995: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5233 +//line sql.y:5234 { yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS} } case 996: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:5238 +//line sql.y:5239 { yyLOCAL = nil } @@ -17623,7 +17590,7 @@ yydefault: case 997: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:5242 +//line sql.y:5243 { yyLOCAL = yyDollar[1].indexHintsUnion() } @@ -17631,14 +17598,14 @@ yydefault: case 998: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:5248 +//line sql.y:5249 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL case 999: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5252 +//line sql.y:5253 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) @@ -17646,7 +17613,7 @@ yydefault: case 1000: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5258 +//line sql.y:5259 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -17654,7 +17621,7 @@ yydefault: case 1001: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5262 +//line sql.y:5263 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } @@ -17662,7 +17629,7 @@ yydefault: case 1002: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5266 +//line sql.y:5267 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -17670,7 +17637,7 @@ yydefault: case 1003: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5270 +//line sql.y:5271 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -17678,7 +17645,7 @@ yydefault: case 1004: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5274 +//line sql.y:5275 { yyLOCAL = &IndexHint{Type: UseVindexOp, Indexes: yyDollar[4].columnsUnion()} } @@ -17686,7 +17653,7 @@ yydefault: case 1005: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5278 +//line sql.y:5279 { yyLOCAL = &IndexHint{Type: IgnoreVindexOp, Indexes: yyDollar[4].columnsUnion()} } @@ -17694,7 +17661,7 @@ yydefault: case 1006: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:5283 +//line sql.y:5284 { yyLOCAL = NoForType } @@ -17702,7 +17669,7 @@ yydefault: case 1007: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:5287 +//line sql.y:5288 { yyLOCAL = JoinForType } @@ -17710,7 +17677,7 @@ yydefault: case 1008: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:5291 +//line sql.y:5292 { yyLOCAL = OrderByForType } @@ -17718,7 +17685,7 @@ yydefault: case 1009: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:5295 +//line sql.y:5296 { yyLOCAL = GroupByForType } @@ -17726,7 +17693,7 @@ yydefault: case 1010: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5301 +//line sql.y:5302 { yyLOCAL = nil } @@ -17734,7 +17701,7 @@ yydefault: case 1011: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5305 +//line sql.y:5306 { yyLOCAL = yyDollar[2].exprUnion() } @@ -17742,7 +17709,7 @@ yydefault: case 1012: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5312 +//line sql.y:5313 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -17750,7 +17717,7 @@ yydefault: case 1013: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5316 +//line sql.y:5317 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -17758,7 +17725,7 @@ yydefault: case 1014: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5320 +//line sql.y:5321 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -17766,7 +17733,7 @@ yydefault: case 1015: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5324 +//line sql.y:5325 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } @@ -17774,7 +17741,7 @@ yydefault: case 1016: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5328 +//line sql.y:5329 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } @@ -17782,7 +17749,7 @@ yydefault: case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5332 +//line sql.y:5333 { yyLOCAL = yyDollar[1].exprUnion() } @@ -17790,7 +17757,7 @@ yydefault: case 1018: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5336 +//line sql.y:5337 { yyLOCAL = &AssignmentExpr{Left: yyDollar[1].variableUnion(), Right: yyDollar[3].exprUnion()} } @@ -17798,25 +17765,25 @@ yydefault: case 1019: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5340 +//line sql.y:5341 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL case 1020: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5346 +//line sql.y:5347 { } case 1021: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5349 +//line sql.y:5350 { } case 1022: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5354 +//line sql.y:5355 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } @@ -17824,7 +17791,7 @@ yydefault: case 1023: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5358 +//line sql.y:5359 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } @@ -17832,7 +17799,7 @@ yydefault: case 1024: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5362 +//line sql.y:5363 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } @@ -17840,7 +17807,7 @@ yydefault: case 1025: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5366 +//line sql.y:5367 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: Any, Right: yyDollar[4].subqueryUnion()} } @@ -17848,7 +17815,7 @@ yydefault: case 1026: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5370 +//line sql.y:5371 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: Any, Right: yyDollar[4].subqueryUnion()} } @@ -17856,7 +17823,7 @@ yydefault: case 1027: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5374 +//line sql.y:5375 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: All, Right: yyDollar[4].subqueryUnion()} } @@ -17864,7 +17831,7 @@ yydefault: case 1028: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5378 +//line sql.y:5379 { yyLOCAL = yyDollar[1].exprUnion() } @@ -17872,7 +17839,7 @@ yydefault: case 1029: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5384 +//line sql.y:5385 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } @@ -17880,7 +17847,7 @@ yydefault: case 1030: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5388 +//line sql.y:5389 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } @@ -17888,7 +17855,7 @@ yydefault: case 1031: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5392 +//line sql.y:5393 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } @@ -17896,7 +17863,7 @@ yydefault: case 1032: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5396 +//line sql.y:5397 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } @@ -17904,7 +17871,7 @@ yydefault: case 1033: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5400 +//line sql.y:5401 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } @@ -17912,7 +17879,7 @@ yydefault: case 1034: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5404 +//line sql.y:5405 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } @@ -17920,7 +17887,7 @@ yydefault: case 1035: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5408 +//line sql.y:5409 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } @@ -17928,7 +17895,7 @@ yydefault: case 1036: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5412 +//line sql.y:5413 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } @@ -17936,7 +17903,7 @@ yydefault: case 1037: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5416 +//line sql.y:5417 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } @@ -17944,7 +17911,7 @@ yydefault: case 1038: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5420 +//line sql.y:5421 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } @@ -17952,25 +17919,25 @@ yydefault: case 1039: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5424 +//line sql.y:5425 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL case 1040: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5430 +//line sql.y:5431 { } case 1041: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5433 +//line sql.y:5434 { } case 1042: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5439 +//line sql.y:5440 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } @@ -17978,7 +17945,7 @@ yydefault: case 1043: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5443 +//line sql.y:5444 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } @@ -17986,7 +17953,7 @@ yydefault: case 1044: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5447 +//line sql.y:5448 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } @@ -17994,7 +17961,7 @@ yydefault: case 1045: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5451 +//line sql.y:5452 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } @@ -18002,7 +17969,7 @@ yydefault: case 1046: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5455 +//line sql.y:5456 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } @@ -18010,7 +17977,7 @@ yydefault: case 1047: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5459 +//line sql.y:5460 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } @@ -18018,7 +17985,7 @@ yydefault: case 1048: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5463 +//line sql.y:5464 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAdd, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()} } @@ -18026,7 +17993,7 @@ yydefault: case 1049: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5467 +//line sql.y:5468 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinarySub, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()} } @@ -18034,7 +18001,7 @@ yydefault: case 1050: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5471 +//line sql.y:5472 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } @@ -18042,7 +18009,7 @@ yydefault: case 1051: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5475 +//line sql.y:5476 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } @@ -18050,7 +18017,7 @@ yydefault: case 1052: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5479 +//line sql.y:5480 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -18058,7 +18025,7 @@ yydefault: case 1053: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5483 +//line sql.y:5484 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } @@ -18066,7 +18033,7 @@ yydefault: case 1054: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5487 +//line sql.y:5488 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -18074,7 +18041,7 @@ yydefault: case 1055: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5491 +//line sql.y:5492 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } @@ -18082,7 +18049,7 @@ yydefault: case 1056: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5495 +//line sql.y:5496 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18090,7 +18057,7 @@ yydefault: case 1057: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5501 +//line sql.y:5502 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18098,7 +18065,7 @@ yydefault: case 1058: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5505 +//line sql.y:5506 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18106,7 +18073,7 @@ yydefault: case 1059: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5509 +//line sql.y:5510 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18114,7 +18081,7 @@ yydefault: case 1060: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5513 +//line sql.y:5514 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18122,7 +18089,7 @@ yydefault: case 1061: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5517 +//line sql.y:5518 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } @@ -18130,7 +18097,7 @@ yydefault: case 1062: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5521 +//line sql.y:5522 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18138,7 +18105,7 @@ yydefault: case 1063: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5525 +//line sql.y:5526 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18146,7 +18113,7 @@ yydefault: case 1064: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5529 +//line sql.y:5530 { yyLOCAL = yyDollar[1].variableUnion() } @@ -18154,7 +18121,7 @@ yydefault: case 1065: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5533 +//line sql.y:5534 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } @@ -18162,7 +18129,7 @@ yydefault: case 1066: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5537 +//line sql.y:5538 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -18170,7 +18137,7 @@ yydefault: case 1067: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5541 +//line sql.y:5542 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } @@ -18178,7 +18145,7 @@ yydefault: case 1068: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5545 +//line sql.y:5546 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } @@ -18186,7 +18153,7 @@ yydefault: case 1069: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5549 +//line sql.y:5550 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -18194,7 +18161,7 @@ yydefault: case 1070: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5553 +//line sql.y:5554 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18202,7 +18169,7 @@ yydefault: case 1071: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5557 +//line sql.y:5558 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } @@ -18210,7 +18177,7 @@ yydefault: case 1072: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5561 +//line sql.y:5562 { yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()} } @@ -18218,7 +18185,7 @@ yydefault: case 1073: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5565 +//line sql.y:5566 { yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()} } @@ -18226,7 +18193,7 @@ yydefault: case 1074: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5569 +//line sql.y:5570 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -18234,7 +18201,7 @@ yydefault: case 1075: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5573 +//line sql.y:5574 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } @@ -18242,7 +18209,7 @@ yydefault: case 1076: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5577 +//line sql.y:5578 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -18254,7 +18221,7 @@ yydefault: case 1077: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5585 +//line sql.y:5586 { yyLOCAL = &Default{ColName: yyDollar[2].str} } @@ -18262,7 +18229,7 @@ yydefault: case 1078: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5589 +//line sql.y:5590 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAddLeft, Date: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion(), Interval: yyDollar[2].exprUnion()} } @@ -18270,7 +18237,7 @@ yydefault: case 1079: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5593 +//line sql.y:5594 { yyLOCAL = &IntervalFuncExpr{Expr: yyDollar[3].exprUnion(), Exprs: yyDollar[5].exprsUnion()} } @@ -18278,7 +18245,7 @@ yydefault: case 1080: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5597 +//line sql.y:5598 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[1].exprUnion(), PathList: []Expr{yyDollar[3].exprUnion()}} } @@ -18286,7 +18253,7 @@ yydefault: case 1081: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5601 +//line sql.y:5602 { yyLOCAL = &JSONUnquoteExpr{JSONValue: &JSONExtractExpr{JSONDoc: yyDollar[1].exprUnion(), PathList: []Expr{yyDollar[3].exprUnion()}}} } @@ -18294,7 +18261,7 @@ yydefault: case 1082: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColName -//line sql.y:5607 +//line sql.y:5608 { yyLOCAL = yyDollar[1].colNamesUnion() } @@ -18302,7 +18269,7 @@ yydefault: case 1083: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*ColName -//line sql.y:5611 +//line sql.y:5612 { yyLOCAL = yyDollar[2].colNamesUnion() } @@ -18310,14 +18277,14 @@ yydefault: case 1084: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColName -//line sql.y:5617 +//line sql.y:5618 { yyLOCAL = []*ColName{yyDollar[1].colNameUnion()} } yyVAL.union = yyLOCAL case 1085: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5621 +//line sql.y:5622 { yySLICE := (*[]*ColName)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colNameUnion()) @@ -18325,7 +18292,7 @@ yydefault: case 1086: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5627 +//line sql.y:5628 { yyLOCAL = BothTrimType } @@ -18333,7 +18300,7 @@ yydefault: case 1087: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5631 +//line sql.y:5632 { yyLOCAL = LeadingTrimType } @@ -18341,7 +18308,7 @@ yydefault: case 1088: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5635 +//line sql.y:5636 { yyLOCAL = TrailingTrimType } @@ -18349,7 +18316,7 @@ yydefault: case 1089: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL FrameUnitType -//line sql.y:5641 +//line sql.y:5642 { yyLOCAL = FrameRowsType } @@ -18357,7 +18324,7 @@ yydefault: case 1090: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL FrameUnitType -//line sql.y:5645 +//line sql.y:5646 { yyLOCAL = FrameRangeType } @@ -18365,7 +18332,7 @@ yydefault: case 1091: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5652 +//line sql.y:5653 { yyLOCAL = CumeDistExprType } @@ -18373,7 +18340,7 @@ yydefault: case 1092: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5656 +//line sql.y:5657 { yyLOCAL = DenseRankExprType } @@ -18381,7 +18348,7 @@ yydefault: case 1093: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5660 +//line sql.y:5661 { yyLOCAL = PercentRankExprType } @@ -18389,7 +18356,7 @@ yydefault: case 1094: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5664 +//line sql.y:5665 { yyLOCAL = RankExprType } @@ -18397,7 +18364,7 @@ yydefault: case 1095: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5668 +//line sql.y:5669 { yyLOCAL = RowNumberExprType } @@ -18405,7 +18372,7 @@ yydefault: case 1096: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5674 +//line sql.y:5675 { yyLOCAL = &FramePoint{Type: CurrentRowType} } @@ -18413,7 +18380,7 @@ yydefault: case 1097: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5678 +//line sql.y:5679 { yyLOCAL = &FramePoint{Type: UnboundedPrecedingType} } @@ -18421,7 +18388,7 @@ yydefault: case 1098: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5682 +//line sql.y:5683 { yyLOCAL = &FramePoint{Type: UnboundedFollowingType} } @@ -18429,7 +18396,7 @@ yydefault: case 1099: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5686 +//line sql.y:5687 { yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[1].exprUnion()} } @@ -18437,7 +18404,7 @@ yydefault: case 1100: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5690 +//line sql.y:5691 { yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()} } @@ -18445,7 +18412,7 @@ yydefault: case 1101: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5694 +//line sql.y:5695 { yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[1].exprUnion()} } @@ -18453,7 +18420,7 @@ yydefault: case 1102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5698 +//line sql.y:5699 { yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()} } @@ -18461,7 +18428,7 @@ yydefault: case 1103: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *FrameClause -//line sql.y:5703 +//line sql.y:5704 { yyLOCAL = nil } @@ -18469,7 +18436,7 @@ yydefault: case 1104: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *FrameClause -//line sql.y:5707 +//line sql.y:5708 { yyLOCAL = yyDollar[1].frameClauseUnion() } @@ -18477,7 +18444,7 @@ yydefault: case 1105: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FrameClause -//line sql.y:5713 +//line sql.y:5714 { yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[2].framePointUnion()} } @@ -18485,7 +18452,7 @@ yydefault: case 1106: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *FrameClause -//line sql.y:5717 +//line sql.y:5718 { yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[3].framePointUnion(), End: yyDollar[5].framePointUnion()} } @@ -18493,7 +18460,7 @@ yydefault: case 1107: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5722 +//line sql.y:5723 { yyLOCAL = nil } @@ -18501,27 +18468,27 @@ yydefault: case 1108: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5726 +//line sql.y:5727 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL case 1109: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5731 +//line sql.y:5732 { yyVAL.identifierCI = IdentifierCI{} } case 1110: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5735 +//line sql.y:5736 { yyVAL.identifierCI = yyDollar[1].identifierCI } case 1111: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *WindowSpecification -//line sql.y:5741 +//line sql.y:5742 { yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()} } @@ -18529,7 +18496,7 @@ yydefault: case 1112: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OverClause -//line sql.y:5747 +//line sql.y:5748 { yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()} } @@ -18537,7 +18504,7 @@ yydefault: case 1113: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OverClause -//line sql.y:5751 +//line sql.y:5752 { yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI} } @@ -18545,7 +18512,7 @@ yydefault: case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *OverClause -//line sql.y:5757 +//line sql.y:5758 { yyLOCAL = yyDollar[1].overClauseUnion() } @@ -18553,7 +18520,7 @@ yydefault: case 1115: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *OverClause -//line sql.y:5761 +//line sql.y:5762 { yyLOCAL = nil } @@ -18561,7 +18528,7 @@ yydefault: case 1116: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *NullTreatmentClause -//line sql.y:5766 +//line sql.y:5767 { yyLOCAL = nil } @@ -18569,7 +18536,7 @@ yydefault: case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *NullTreatmentClause -//line sql.y:5773 +//line sql.y:5774 { yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()} } @@ -18577,7 +18544,7 @@ yydefault: case 1119: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL NullTreatmentType -//line sql.y:5779 +//line sql.y:5780 { yyLOCAL = RespectNullsType } @@ -18585,7 +18552,7 @@ yydefault: case 1120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL NullTreatmentType -//line sql.y:5783 +//line sql.y:5784 { yyLOCAL = IgnoreNullsType } @@ -18593,7 +18560,7 @@ yydefault: case 1121: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL FirstOrLastValueExprType -//line sql.y:5789 +//line sql.y:5790 { yyLOCAL = FirstValueExprType } @@ -18601,7 +18568,7 @@ yydefault: case 1122: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL FirstOrLastValueExprType -//line sql.y:5793 +//line sql.y:5794 { yyLOCAL = LastValueExprType } @@ -18609,7 +18576,7 @@ yydefault: case 1123: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL FromFirstLastType -//line sql.y:5799 +//line sql.y:5800 { yyLOCAL = FromFirstType } @@ -18617,7 +18584,7 @@ yydefault: case 1124: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL FromFirstLastType -//line sql.y:5803 +//line sql.y:5804 { yyLOCAL = FromLastType } @@ -18625,7 +18592,7 @@ yydefault: case 1125: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *FromFirstLastClause -//line sql.y:5808 +//line sql.y:5809 { yyLOCAL = nil } @@ -18633,7 +18600,7 @@ yydefault: case 1127: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *FromFirstLastClause -//line sql.y:5815 +//line sql.y:5816 { yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()} } @@ -18641,7 +18608,7 @@ yydefault: case 1128: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LagLeadExprType -//line sql.y:5821 +//line sql.y:5822 { yyLOCAL = LagExprType } @@ -18649,7 +18616,7 @@ yydefault: case 1129: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LagLeadExprType -//line sql.y:5825 +//line sql.y:5826 { yyLOCAL = LeadExprType } @@ -18657,7 +18624,7 @@ yydefault: case 1130: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *WindowDefinition -//line sql.y:5831 +//line sql.y:5832 { yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()} } @@ -18665,34 +18632,34 @@ yydefault: case 1131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL WindowDefinitions -//line sql.y:5837 +//line sql.y:5838 { yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()} } yyVAL.union = yyLOCAL case 1132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5841 +//line sql.y:5842 { yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion()) } case 1133: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5847 +//line sql.y:5848 { yyVAL.str = "" } case 1134: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5851 +//line sql.y:5852 { yyVAL.str = string(yyDollar[2].identifierCI.String()) } case 1135: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5857 +//line sql.y:5858 { yyLOCAL = BoolVal(true) } @@ -18700,7 +18667,7 @@ yydefault: case 1136: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5861 +//line sql.y:5862 { yyLOCAL = BoolVal(false) } @@ -18708,7 +18675,7 @@ yydefault: case 1137: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5868 +//line sql.y:5869 { yyLOCAL = IsTrueOp } @@ -18716,7 +18683,7 @@ yydefault: case 1138: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5872 +//line sql.y:5873 { yyLOCAL = IsNotTrueOp } @@ -18724,7 +18691,7 @@ yydefault: case 1139: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5876 +//line sql.y:5877 { yyLOCAL = IsFalseOp } @@ -18732,7 +18699,7 @@ yydefault: case 1140: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5880 +//line sql.y:5881 { yyLOCAL = IsNotFalseOp } @@ -18740,7 +18707,7 @@ yydefault: case 1141: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5886 +//line sql.y:5887 { yyLOCAL = yyDollar[1].comparisonExprOperatorUnion() } @@ -18748,7 +18715,7 @@ yydefault: case 1142: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5890 +//line sql.y:5891 { yyLOCAL = NullSafeEqualOp } @@ -18756,7 +18723,7 @@ yydefault: case 1143: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5896 +//line sql.y:5897 { yyLOCAL = EqualOp } @@ -18764,7 +18731,7 @@ yydefault: case 1144: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5900 +//line sql.y:5901 { yyLOCAL = LessThanOp } @@ -18772,7 +18739,7 @@ yydefault: case 1145: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5904 +//line sql.y:5905 { yyLOCAL = GreaterThanOp } @@ -18780,7 +18747,7 @@ yydefault: case 1146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5908 +//line sql.y:5909 { yyLOCAL = LessEqualOp } @@ -18788,7 +18755,7 @@ yydefault: case 1147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5912 +//line sql.y:5913 { yyLOCAL = GreaterEqualOp } @@ -18796,7 +18763,7 @@ yydefault: case 1148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5916 +//line sql.y:5917 { yyLOCAL = NotEqualOp } @@ -18804,7 +18771,7 @@ yydefault: case 1149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5922 +//line sql.y:5923 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -18812,7 +18779,7 @@ yydefault: case 1150: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5926 +//line sql.y:5927 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -18820,7 +18787,7 @@ yydefault: case 1151: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5930 +//line sql.y:5931 { yyLOCAL = ListArg(yyDollar[1].str[2:]) markBindVariable(yylex, yyDollar[1].str[2:]) @@ -18829,7 +18796,7 @@ yydefault: case 1152: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5937 +//line sql.y:5938 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } @@ -18837,14 +18804,14 @@ yydefault: case 1153: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5943 +//line sql.y:5944 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL case 1154: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5947 +//line sql.y:5948 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) @@ -18852,7 +18819,7 @@ yydefault: case 1155: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5957 +//line sql.y:5958 { yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].exprsUnion()} } @@ -18860,7 +18827,7 @@ yydefault: case 1156: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5961 +//line sql.y:5962 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].exprsUnion()} } @@ -18868,7 +18835,7 @@ yydefault: case 1157: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5971 +//line sql.y:5972 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].exprsUnion()} } @@ -18876,7 +18843,7 @@ yydefault: case 1158: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5975 +//line sql.y:5976 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].exprsUnion()} } @@ -18884,7 +18851,7 @@ yydefault: case 1159: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5979 +//line sql.y:5980 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -18892,7 +18859,7 @@ yydefault: case 1160: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5983 +//line sql.y:5984 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -18900,7 +18867,7 @@ yydefault: case 1161: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5987 +//line sql.y:5988 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -18908,7 +18875,7 @@ yydefault: case 1162: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5991 +//line sql.y:5992 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -18916,7 +18883,7 @@ yydefault: case 1163: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5995 +//line sql.y:5996 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -18924,7 +18891,7 @@ yydefault: case 1164: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5999 +//line sql.y:6000 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } @@ -18932,7 +18899,7 @@ yydefault: case 1165: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6003 +//line sql.y:6004 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } @@ -18940,7 +18907,7 @@ yydefault: case 1166: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6007 +//line sql.y:6008 { yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()} } @@ -18948,7 +18915,7 @@ yydefault: case 1167: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6011 +//line sql.y:6012 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)} } @@ -18956,7 +18923,7 @@ yydefault: case 1168: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6022 +//line sql.y:6023 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")} } @@ -18964,7 +18931,7 @@ yydefault: case 1169: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6026 +//line sql.y:6027 { yyLOCAL = yyDollar[1].exprUnion() } @@ -18972,7 +18939,7 @@ yydefault: case 1170: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6032 +//line sql.y:6033 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")} } @@ -18980,7 +18947,7 @@ yydefault: case 1171: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6036 +//line sql.y:6037 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("curdate")} } @@ -18988,7 +18955,7 @@ yydefault: case 1172: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6040 +//line sql.y:6041 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].integerUnion()} } @@ -18996,7 +18963,7 @@ yydefault: case 1173: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6045 +//line sql.y:6046 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("curtime"), Fsp: yyDollar[2].integerUnion()} } @@ -19004,7 +18971,7 @@ yydefault: case 1174: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6050 +//line sql.y:6051 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].integerUnion()} } @@ -19012,7 +18979,7 @@ yydefault: case 1175: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6054 +//line sql.y:6055 { yyLOCAL = &CountStar{OverClause: yyDollar[5].overClauseUnion()} } @@ -19020,7 +18987,7 @@ yydefault: case 1176: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6058 +//line sql.y:6059 { yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion(), OverClause: yyDollar[6].overClauseUnion()} } @@ -19028,7 +18995,7 @@ yydefault: case 1177: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6062 +//line sql.y:6063 { yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()} } @@ -19036,7 +19003,7 @@ yydefault: case 1178: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6066 +//line sql.y:6067 { yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()} } @@ -19044,7 +19011,7 @@ yydefault: case 1179: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6070 +//line sql.y:6071 { yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()} } @@ -19052,7 +19019,7 @@ yydefault: case 1180: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6074 +//line sql.y:6075 { yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()} } @@ -19060,7 +19027,7 @@ yydefault: case 1181: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6078 +//line sql.y:6079 { yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19068,7 +19035,7 @@ yydefault: case 1182: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6082 +//line sql.y:6083 { yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19076,7 +19043,7 @@ yydefault: case 1183: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6086 +//line sql.y:6087 { yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19084,7 +19051,7 @@ yydefault: case 1184: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6090 +//line sql.y:6091 { yyLOCAL = &Std{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19092,7 +19059,7 @@ yydefault: case 1185: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6094 +//line sql.y:6095 { yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19100,7 +19067,7 @@ yydefault: case 1186: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6098 +//line sql.y:6099 { yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19108,7 +19075,7 @@ yydefault: case 1187: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6102 +//line sql.y:6103 { yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19116,7 +19083,7 @@ yydefault: case 1188: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6106 +//line sql.y:6107 { yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19124,7 +19091,7 @@ yydefault: case 1189: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6110 +//line sql.y:6111 { yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19132,7 +19099,7 @@ yydefault: case 1190: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6114 +//line sql.y:6115 { yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19140,7 +19107,7 @@ yydefault: case 1191: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6118 +//line sql.y:6119 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } @@ -19148,7 +19115,7 @@ yydefault: case 1192: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6122 +//line sql.y:6123 { yyLOCAL = &AnyValue{Arg: yyDollar[3].exprUnion()} } @@ -19156,7 +19123,7 @@ yydefault: case 1193: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6126 +//line sql.y:6127 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprTimestampadd, Date: yyDollar[7].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()} } @@ -19164,7 +19131,7 @@ yydefault: case 1194: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6130 +//line sql.y:6131 { yyLOCAL = &TimestampDiffExpr{Unit: yyDollar[3].intervalTypeUnion(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } @@ -19172,7 +19139,7 @@ yydefault: case 1195: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6134 +//line sql.y:6135 { yyLOCAL = &ExtractFuncExpr{IntervalType: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } @@ -19180,7 +19147,7 @@ yydefault: case 1196: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6138 +//line sql.y:6139 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } @@ -19188,7 +19155,7 @@ yydefault: case 1197: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6142 +//line sql.y:6143 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } @@ -19196,7 +19163,7 @@ yydefault: case 1198: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6146 +//line sql.y:6147 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } @@ -19204,7 +19171,7 @@ yydefault: case 1199: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6150 +//line sql.y:6151 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } @@ -19212,7 +19179,7 @@ yydefault: case 1200: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6154 +//line sql.y:6155 { yyLOCAL = &JSONArrayAgg{Expr: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -19220,7 +19187,7 @@ yydefault: case 1201: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:6158 +//line sql.y:6159 { yyLOCAL = &JSONObjectAgg{Key: yyDollar[3].exprUnion(), Value: yyDollar[5].exprUnion(), OverClause: yyDollar[7].overClauseUnion()} } @@ -19228,7 +19195,7 @@ yydefault: case 1202: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6162 +//line sql.y:6163 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, Type: LeadingTrimType, StringArg: yyDollar[3].exprUnion()} } @@ -19236,7 +19203,7 @@ yydefault: case 1203: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6166 +//line sql.y:6167 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, Type: TrailingTrimType, StringArg: yyDollar[3].exprUnion()} } @@ -19244,7 +19211,7 @@ yydefault: case 1204: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:6170 +//line sql.y:6171 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } @@ -19252,7 +19219,7 @@ yydefault: case 1205: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6174 +//line sql.y:6175 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } @@ -19260,7 +19227,7 @@ yydefault: case 1206: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6178 +//line sql.y:6179 { yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()} } @@ -19268,7 +19235,7 @@ yydefault: case 1207: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6182 +//line sql.y:6183 { yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str} } @@ -19276,7 +19243,7 @@ yydefault: case 1208: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6186 +//line sql.y:6187 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } @@ -19284,7 +19251,7 @@ yydefault: case 1209: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6190 +//line sql.y:6191 { yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()} } @@ -19292,7 +19259,7 @@ yydefault: case 1210: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6194 +//line sql.y:6195 { yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()} } @@ -19300,7 +19267,7 @@ yydefault: case 1211: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6198 +//line sql.y:6199 { yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()} } @@ -19308,7 +19275,7 @@ yydefault: case 1212: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6202 +//line sql.y:6203 { yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} } @@ -19316,7 +19283,7 @@ yydefault: case 1213: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6206 +//line sql.y:6207 { yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()} } @@ -19324,7 +19291,7 @@ yydefault: case 1214: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6210 +//line sql.y:6211 { yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()} } @@ -19332,7 +19299,7 @@ yydefault: case 1215: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:6214 +//line sql.y:6215 { yyLOCAL = &LockingFunc{Type: ReleaseAllLocks} } @@ -19340,7 +19307,7 @@ yydefault: case 1216: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6218 +//line sql.y:6219 { yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()} } @@ -19348,7 +19315,7 @@ yydefault: case 1217: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6222 +//line sql.y:6223 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } @@ -19356,7 +19323,7 @@ yydefault: case 1218: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6226 +//line sql.y:6227 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } @@ -19364,7 +19331,7 @@ yydefault: case 1219: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6230 +//line sql.y:6231 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } @@ -19372,7 +19339,7 @@ yydefault: case 1220: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6234 +//line sql.y:6235 { yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion()} } @@ -19380,7 +19347,7 @@ yydefault: case 1221: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6238 +//line sql.y:6239 { yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()} } @@ -19388,7 +19355,7 @@ yydefault: case 1222: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6242 +//line sql.y:6243 { yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion()} } @@ -19396,7 +19363,7 @@ yydefault: case 1223: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6246 +//line sql.y:6247 { yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()} } @@ -19404,7 +19371,7 @@ yydefault: case 1224: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6250 +//line sql.y:6251 { yyLOCAL = &GeomPropertyFuncExpr{Property: IsEmpty, Geom: yyDollar[3].exprUnion()} } @@ -19412,7 +19379,7 @@ yydefault: case 1225: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6254 +//line sql.y:6255 { yyLOCAL = &GeomPropertyFuncExpr{Property: IsSimple, Geom: yyDollar[3].exprUnion()} } @@ -19420,7 +19387,7 @@ yydefault: case 1226: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6258 +//line sql.y:6259 { yyLOCAL = &GeomPropertyFuncExpr{Property: Dimension, Geom: yyDollar[3].exprUnion()} } @@ -19428,7 +19395,7 @@ yydefault: case 1227: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6262 +//line sql.y:6263 { yyLOCAL = &GeomPropertyFuncExpr{Property: Envelope, Geom: yyDollar[3].exprUnion()} } @@ -19436,7 +19403,7 @@ yydefault: case 1228: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6266 +//line sql.y:6267 { yyLOCAL = &GeomPropertyFuncExpr{Property: GeometryType, Geom: yyDollar[3].exprUnion()} } @@ -19444,7 +19411,7 @@ yydefault: case 1229: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6270 +//line sql.y:6271 { yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion()} } @@ -19452,7 +19419,7 @@ yydefault: case 1230: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6274 +//line sql.y:6275 { yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()} } @@ -19460,7 +19427,7 @@ yydefault: case 1231: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6278 +//line sql.y:6279 { yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion()} } @@ -19468,7 +19435,7 @@ yydefault: case 1232: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6282 +//line sql.y:6283 { yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()} } @@ -19476,7 +19443,7 @@ yydefault: case 1233: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6286 +//line sql.y:6287 { yyLOCAL = &LinestrPropertyFuncExpr{Property: EndPoint, Linestring: yyDollar[3].exprUnion()} } @@ -19484,7 +19451,7 @@ yydefault: case 1234: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6290 +//line sql.y:6291 { yyLOCAL = &LinestrPropertyFuncExpr{Property: IsClosed, Linestring: yyDollar[3].exprUnion()} } @@ -19492,7 +19459,7 @@ yydefault: case 1235: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6294 +//line sql.y:6295 { yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion()} } @@ -19500,7 +19467,7 @@ yydefault: case 1236: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6298 +//line sql.y:6299 { yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()} } @@ -19508,7 +19475,7 @@ yydefault: case 1237: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6302 +//line sql.y:6303 { yyLOCAL = &LinestrPropertyFuncExpr{Property: NumPoints, Linestring: yyDollar[3].exprUnion()} } @@ -19516,7 +19483,7 @@ yydefault: case 1238: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6306 +//line sql.y:6307 { yyLOCAL = &LinestrPropertyFuncExpr{Property: PointN, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()} } @@ -19524,7 +19491,7 @@ yydefault: case 1239: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6310 +//line sql.y:6311 { yyLOCAL = &LinestrPropertyFuncExpr{Property: StartPoint, Linestring: yyDollar[3].exprUnion()} } @@ -19532,7 +19499,7 @@ yydefault: case 1240: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6314 +//line sql.y:6315 { yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion()} } @@ -19540,7 +19507,7 @@ yydefault: case 1241: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6318 +//line sql.y:6319 { yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()} } @@ -19548,7 +19515,7 @@ yydefault: case 1242: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6322 +//line sql.y:6323 { yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion()} } @@ -19556,7 +19523,7 @@ yydefault: case 1243: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6326 +//line sql.y:6327 { yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()} } @@ -19564,7 +19531,7 @@ yydefault: case 1244: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6330 +//line sql.y:6331 { yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion()} } @@ -19572,7 +19539,7 @@ yydefault: case 1245: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6334 +//line sql.y:6335 { yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19580,7 +19547,7 @@ yydefault: case 1246: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6338 +//line sql.y:6339 { yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19588,7 +19555,7 @@ yydefault: case 1247: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6342 +//line sql.y:6343 { yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion()} } @@ -19596,7 +19563,7 @@ yydefault: case 1248: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6346 +//line sql.y:6347 { yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19604,7 +19571,7 @@ yydefault: case 1249: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6350 +//line sql.y:6351 { yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19612,7 +19579,7 @@ yydefault: case 1250: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6354 +//line sql.y:6355 { yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion()} } @@ -19620,7 +19587,7 @@ yydefault: case 1251: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6358 +//line sql.y:6359 { yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19628,7 +19595,7 @@ yydefault: case 1252: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6362 +//line sql.y:6363 { yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19636,7 +19603,7 @@ yydefault: case 1253: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6366 +//line sql.y:6367 { yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion()} } @@ -19644,7 +19611,7 @@ yydefault: case 1254: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6370 +//line sql.y:6371 { yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19652,7 +19619,7 @@ yydefault: case 1255: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6374 +//line sql.y:6375 { yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19660,7 +19627,7 @@ yydefault: case 1256: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6378 +//line sql.y:6379 { yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion()} } @@ -19668,7 +19635,7 @@ yydefault: case 1257: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6382 +//line sql.y:6383 { yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19676,7 +19643,7 @@ yydefault: case 1258: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6386 +//line sql.y:6387 { yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19684,7 +19651,7 @@ yydefault: case 1259: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6390 +//line sql.y:6391 { yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion()} } @@ -19692,7 +19659,7 @@ yydefault: case 1260: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6394 +//line sql.y:6395 { yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19700,7 +19667,7 @@ yydefault: case 1261: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6398 +//line sql.y:6399 { yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19708,7 +19675,7 @@ yydefault: case 1262: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6402 +//line sql.y:6403 { yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion()} } @@ -19716,7 +19683,7 @@ yydefault: case 1263: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6406 +//line sql.y:6407 { yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19724,7 +19691,7 @@ yydefault: case 1264: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6410 +//line sql.y:6411 { yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19732,7 +19699,7 @@ yydefault: case 1265: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6414 +//line sql.y:6415 { yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion()} } @@ -19740,7 +19707,7 @@ yydefault: case 1266: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6418 +//line sql.y:6419 { yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19748,7 +19715,7 @@ yydefault: case 1267: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6422 +//line sql.y:6423 { yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19756,7 +19723,7 @@ yydefault: case 1268: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6426 +//line sql.y:6427 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion()} } @@ -19764,7 +19731,7 @@ yydefault: case 1269: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6430 +//line sql.y:6431 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19772,7 +19739,7 @@ yydefault: case 1270: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6434 +//line sql.y:6435 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19780,7 +19747,7 @@ yydefault: case 1271: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6438 +//line sql.y:6439 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion()} } @@ -19788,7 +19755,7 @@ yydefault: case 1272: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6442 +//line sql.y:6443 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19796,7 +19763,7 @@ yydefault: case 1273: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6446 +//line sql.y:6447 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19804,7 +19771,7 @@ yydefault: case 1274: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6450 +//line sql.y:6451 { yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion()} } @@ -19812,7 +19779,7 @@ yydefault: case 1275: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6454 +//line sql.y:6455 { yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19820,7 +19787,7 @@ yydefault: case 1276: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6458 +//line sql.y:6459 { yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19828,7 +19795,7 @@ yydefault: case 1277: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6462 +//line sql.y:6463 { yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion()} } @@ -19836,7 +19803,7 @@ yydefault: case 1278: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6466 +//line sql.y:6467 { yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19844,7 +19811,7 @@ yydefault: case 1279: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6470 +//line sql.y:6471 { yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19852,7 +19819,7 @@ yydefault: case 1280: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6474 +//line sql.y:6475 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion()} } @@ -19860,7 +19827,7 @@ yydefault: case 1281: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6478 +//line sql.y:6479 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19868,7 +19835,7 @@ yydefault: case 1282: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6482 +//line sql.y:6483 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19876,7 +19843,7 @@ yydefault: case 1283: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6486 +//line sql.y:6487 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()} } @@ -19884,7 +19851,7 @@ yydefault: case 1284: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6490 +//line sql.y:6491 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19892,7 +19859,7 @@ yydefault: case 1285: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6494 +//line sql.y:6495 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19900,7 +19867,7 @@ yydefault: case 1286: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6498 +//line sql.y:6499 { yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion()} } @@ -19908,7 +19875,7 @@ yydefault: case 1287: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6502 +//line sql.y:6503 { yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19916,7 +19883,7 @@ yydefault: case 1288: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6506 +//line sql.y:6507 { yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19924,7 +19891,7 @@ yydefault: case 1289: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6510 +//line sql.y:6511 { yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()} } @@ -19932,7 +19899,7 @@ yydefault: case 1290: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6514 +//line sql.y:6515 { yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } @@ -19940,7 +19907,7 @@ yydefault: case 1291: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6518 +//line sql.y:6519 { yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } @@ -19948,7 +19915,7 @@ yydefault: case 1292: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6522 +//line sql.y:6523 { yyLOCAL = &PolygonPropertyFuncExpr{Property: Area, Polygon: yyDollar[3].exprUnion()} } @@ -19956,7 +19923,7 @@ yydefault: case 1293: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6526 +//line sql.y:6527 { yyLOCAL = &PolygonPropertyFuncExpr{Property: Centroid, Polygon: yyDollar[3].exprUnion()} } @@ -19964,7 +19931,7 @@ yydefault: case 1294: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6530 +//line sql.y:6531 { yyLOCAL = &PolygonPropertyFuncExpr{Property: ExteriorRing, Polygon: yyDollar[3].exprUnion()} } @@ -19972,7 +19939,7 @@ yydefault: case 1295: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6534 +//line sql.y:6535 { yyLOCAL = &PolygonPropertyFuncExpr{Property: InteriorRingN, Polygon: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()} } @@ -19980,7 +19947,7 @@ yydefault: case 1296: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6538 +//line sql.y:6539 { yyLOCAL = &PolygonPropertyFuncExpr{Property: NumInteriorRings, Polygon: yyDollar[3].exprUnion()} } @@ -19988,7 +19955,7 @@ yydefault: case 1297: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6542 +//line sql.y:6543 { yyLOCAL = &GeomCollPropertyFuncExpr{Property: GeometryN, GeomColl: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()} } @@ -19996,7 +19963,7 @@ yydefault: case 1298: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6546 +//line sql.y:6547 { yyLOCAL = &GeomCollPropertyFuncExpr{Property: NumGeometries, GeomColl: yyDollar[3].exprUnion()} } @@ -20004,7 +19971,7 @@ yydefault: case 1299: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6550 +//line sql.y:6551 { yyLOCAL = &GeoHashFromLatLongExpr{Longitude: yyDollar[3].exprUnion(), Latitude: yyDollar[5].exprUnion(), MaxLength: yyDollar[7].exprUnion()} } @@ -20012,7 +19979,7 @@ yydefault: case 1300: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6554 +//line sql.y:6555 { yyLOCAL = &GeoHashFromPointExpr{Point: yyDollar[3].exprUnion(), MaxLength: yyDollar[5].exprUnion()} } @@ -20020,7 +19987,7 @@ yydefault: case 1301: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6558 +//line sql.y:6559 { yyLOCAL = &GeomFromGeoHashExpr{GeomType: LatitudeFromHash, GeoHash: yyDollar[3].exprUnion()} } @@ -20028,7 +19995,7 @@ yydefault: case 1302: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6562 +//line sql.y:6563 { yyLOCAL = &GeomFromGeoHashExpr{GeomType: LongitudeFromHash, GeoHash: yyDollar[3].exprUnion()} } @@ -20036,7 +20003,7 @@ yydefault: case 1303: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6566 +//line sql.y:6567 { yyLOCAL = &GeomFromGeoHashExpr{GeomType: PointFromHash, GeoHash: yyDollar[3].exprUnion(), SridOpt: yyDollar[5].exprUnion()} } @@ -20044,7 +20011,7 @@ yydefault: case 1304: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6570 +//line sql.y:6571 { yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion()} } @@ -20052,7 +20019,7 @@ yydefault: case 1305: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6574 +//line sql.y:6575 { yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion()} } @@ -20060,7 +20027,7 @@ yydefault: case 1306: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6578 +//line sql.y:6579 { yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion(), Srid: yyDollar[7].exprUnion()} } @@ -20068,7 +20035,7 @@ yydefault: case 1307: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6582 +//line sql.y:6583 { yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion()} } @@ -20076,7 +20043,7 @@ yydefault: case 1308: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6586 +//line sql.y:6587 { yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion()} } @@ -20084,7 +20051,7 @@ yydefault: case 1309: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6590 +//line sql.y:6591 { yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion(), Bitmask: yyDollar[7].exprUnion()} } @@ -20092,7 +20059,7 @@ yydefault: case 1310: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6594 +//line sql.y:6595 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } @@ -20100,7 +20067,7 @@ yydefault: case 1311: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6598 +//line sql.y:6599 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } @@ -20108,7 +20075,7 @@ yydefault: case 1312: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6602 +//line sql.y:6603 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]} } @@ -20116,7 +20083,7 @@ yydefault: case 1313: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6606 +//line sql.y:6607 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()} } @@ -20124,7 +20091,7 @@ yydefault: case 1314: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6610 +//line sql.y:6611 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } @@ -20132,7 +20099,7 @@ yydefault: case 1315: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6614 +//line sql.y:6615 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()} } @@ -20140,7 +20107,7 @@ yydefault: case 1316: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6618 +//line sql.y:6619 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()} } @@ -20148,7 +20115,7 @@ yydefault: case 1317: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6622 +//line sql.y:6623 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } @@ -20156,7 +20123,7 @@ yydefault: case 1318: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6626 +//line sql.y:6627 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } @@ -20164,7 +20131,7 @@ yydefault: case 1319: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6630 +//line sql.y:6631 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]} } @@ -20172,7 +20139,7 @@ yydefault: case 1320: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:6634 +//line sql.y:6635 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()} } @@ -20180,7 +20147,7 @@ yydefault: case 1321: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6638 +//line sql.y:6639 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } @@ -20188,7 +20155,7 @@ yydefault: case 1322: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6642 +//line sql.y:6643 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } @@ -20196,7 +20163,7 @@ yydefault: case 1323: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:6646 +//line sql.y:6647 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } @@ -20204,7 +20171,7 @@ yydefault: case 1324: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6650 +//line sql.y:6651 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } @@ -20212,7 +20179,7 @@ yydefault: case 1325: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6654 +//line sql.y:6655 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } @@ -20220,7 +20187,7 @@ yydefault: case 1326: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6658 +//line sql.y:6659 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } @@ -20228,7 +20195,7 @@ yydefault: case 1327: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6662 +//line sql.y:6663 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } @@ -20236,7 +20203,7 @@ yydefault: case 1328: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6666 +//line sql.y:6667 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()} } @@ -20244,7 +20211,7 @@ yydefault: case 1329: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6670 +//line sql.y:6671 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } @@ -20252,7 +20219,7 @@ yydefault: case 1330: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6674 +//line sql.y:6675 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } @@ -20260,7 +20227,7 @@ yydefault: case 1331: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6678 +//line sql.y:6679 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } @@ -20268,7 +20235,7 @@ yydefault: case 1332: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6682 +//line sql.y:6683 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } @@ -20276,7 +20243,7 @@ yydefault: case 1333: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6686 +//line sql.y:6687 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } @@ -20284,7 +20251,7 @@ yydefault: case 1334: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6690 +//line sql.y:6691 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } @@ -20292,7 +20259,7 @@ yydefault: case 1335: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6694 +//line sql.y:6695 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } @@ -20300,7 +20267,7 @@ yydefault: case 1336: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6698 +//line sql.y:6699 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } @@ -20308,7 +20275,7 @@ yydefault: case 1337: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6702 +//line sql.y:6703 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } @@ -20316,7 +20283,7 @@ yydefault: case 1338: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6706 +//line sql.y:6707 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } @@ -20324,7 +20291,7 @@ yydefault: case 1339: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6710 +//line sql.y:6711 { yyLOCAL = &MultiPolygonExpr{PolygonParams: yyDollar[3].exprsUnion()} } @@ -20332,7 +20299,7 @@ yydefault: case 1340: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6714 +//line sql.y:6715 { yyLOCAL = &MultiPointExpr{PointParams: yyDollar[3].exprsUnion()} } @@ -20340,7 +20307,7 @@ yydefault: case 1341: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6718 +//line sql.y:6719 { yyLOCAL = &MultiLinestringExpr{LinestringParams: yyDollar[3].exprsUnion()} } @@ -20348,7 +20315,7 @@ yydefault: case 1342: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6722 +//line sql.y:6723 { yyLOCAL = &PolygonExpr{LinestringParams: yyDollar[3].exprsUnion()} } @@ -20356,7 +20323,7 @@ yydefault: case 1343: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6726 +//line sql.y:6727 { yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()} } @@ -20364,7 +20331,7 @@ yydefault: case 1344: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6730 +//line sql.y:6731 { yyLOCAL = &PointExpr{XCordinate: yyDollar[3].exprUnion(), YCordinate: yyDollar[5].exprUnion()} } @@ -20372,7 +20339,7 @@ yydefault: case 1345: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6734 +//line sql.y:6735 { yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()} } @@ -20380,7 +20347,7 @@ yydefault: case 1346: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6738 +//line sql.y:6739 { yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} } @@ -20388,7 +20355,7 @@ yydefault: case 1347: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6742 +//line sql.y:6743 { yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } @@ -20396,7 +20363,7 @@ yydefault: case 1348: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:6746 +//line sql.y:6747 { yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} } @@ -20404,7 +20371,7 @@ yydefault: case 1349: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6750 +//line sql.y:6751 { yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} } @@ -20412,7 +20379,7 @@ yydefault: case 1350: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:6754 +//line sql.y:6755 { yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} } @@ -20420,7 +20387,7 @@ yydefault: case 1351: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6758 +//line sql.y:6759 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } @@ -20428,7 +20395,7 @@ yydefault: case 1352: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6762 +//line sql.y:6763 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone} } @@ -20436,7 +20403,7 @@ yydefault: case 1353: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6766 +//line sql.y:6767 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateAdd, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } @@ -20444,7 +20411,7 @@ yydefault: case 1354: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6770 +//line sql.y:6771 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateSub, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } @@ -20452,7 +20419,7 @@ yydefault: case 1355: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6774 +//line sql.y:6775 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } @@ -20460,7 +20427,7 @@ yydefault: case 1356: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6778 +//line sql.y:6779 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone} } @@ -20468,7 +20435,7 @@ yydefault: case 1361: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6788 +//line sql.y:6789 { yyLOCAL = yyDollar[1].exprUnion() } @@ -20476,7 +20443,7 @@ yydefault: case 1362: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6792 +//line sql.y:6793 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -20484,7 +20451,7 @@ yydefault: case 1363: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6796 +//line sql.y:6797 { yyLOCAL = yyDollar[1].variableUnion() } @@ -20492,7 +20459,7 @@ yydefault: case 1364: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6800 +//line sql.y:6801 { yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:]) } @@ -20500,7 +20467,7 @@ yydefault: case 1365: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:6805 +//line sql.y:6806 { yyLOCAL = nil } @@ -20508,7 +20475,7 @@ yydefault: case 1366: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6809 +//line sql.y:6810 { yyLOCAL = yyDollar[2].exprUnion() } @@ -20516,7 +20483,7 @@ yydefault: case 1367: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6815 +//line sql.y:6816 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } @@ -20524,7 +20491,7 @@ yydefault: case 1368: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6819 +//line sql.y:6820 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} } @@ -20532,7 +20499,7 @@ yydefault: case 1369: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6823 +//line sql.y:6824 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} } @@ -20540,7 +20507,7 @@ yydefault: case 1370: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:6827 +//line sql.y:6828 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()} } @@ -20548,7 +20515,7 @@ yydefault: case 1371: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL Expr -//line sql.y:6831 +//line sql.y:6832 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} @@ -20557,7 +20524,7 @@ yydefault: case 1372: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6836 +//line sql.y:6837 { yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } @@ -20565,7 +20532,7 @@ yydefault: case 1373: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6840 +//line sql.y:6841 { yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()} } @@ -20573,7 +20540,7 @@ yydefault: case 1374: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6844 +//line sql.y:6845 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()} } @@ -20581,7 +20548,7 @@ yydefault: case 1375: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6848 +//line sql.y:6849 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()} } @@ -20589,7 +20556,7 @@ yydefault: case 1376: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:6852 +//line sql.y:6853 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()} } @@ -20597,7 +20564,7 @@ yydefault: case 1377: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL Expr -//line sql.y:6856 +//line sql.y:6857 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} @@ -20606,7 +20573,7 @@ yydefault: case 1378: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6861 +//line sql.y:6862 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } @@ -20614,7 +20581,7 @@ yydefault: case 1379: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6865 +//line sql.y:6866 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} } @@ -20622,7 +20589,7 @@ yydefault: case 1380: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6869 +//line sql.y:6870 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} } @@ -20630,7 +20597,7 @@ yydefault: case 1381: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:6873 +//line sql.y:6874 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()} @@ -20639,7 +20606,7 @@ yydefault: case 1382: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6880 +//line sql.y:6881 { yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()} } @@ -20647,7 +20614,7 @@ yydefault: case 1383: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6884 +//line sql.y:6885 { yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()} } @@ -20655,7 +20622,7 @@ yydefault: case 1384: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6890 +//line sql.y:6891 { yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()} } @@ -20663,7 +20630,7 @@ yydefault: case 1385: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6894 +//line sql.y:6895 { yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()} } @@ -20671,7 +20638,7 @@ yydefault: case 1386: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:6898 +//line sql.y:6899 { yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType} } @@ -20679,7 +20646,7 @@ yydefault: case 1387: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6902 +//line sql.y:6903 { yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()} } @@ -20687,7 +20654,7 @@ yydefault: case 1388: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6908 +//line sql.y:6909 { yyLOCAL = >IDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()} } @@ -20695,7 +20662,7 @@ yydefault: case 1389: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6912 +//line sql.y:6913 { yyLOCAL = >IDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()} } @@ -20703,7 +20670,7 @@ yydefault: case 1390: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6916 +//line sql.y:6917 { yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()} } @@ -20711,7 +20678,7 @@ yydefault: case 1391: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6920 +//line sql.y:6921 { yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} } @@ -20719,7 +20686,7 @@ yydefault: case 1392: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6924 +//line sql.y:6925 { yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()} } @@ -20727,7 +20694,7 @@ yydefault: case 1393: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6928 +//line sql.y:6929 { yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} } @@ -20735,7 +20702,7 @@ yydefault: case 1394: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6932 +//line sql.y:6933 { yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()} } @@ -20743,7 +20710,7 @@ yydefault: case 1395: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6937 +//line sql.y:6938 { yyLOCAL = nil } @@ -20751,7 +20718,7 @@ yydefault: case 1396: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6941 +//line sql.y:6942 { yyLOCAL = yyDollar[2].convertTypeUnion() } @@ -20759,7 +20726,7 @@ yydefault: case 1397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6947 +//line sql.y:6948 { yyLOCAL = IntervalDayHour } @@ -20767,7 +20734,7 @@ yydefault: case 1398: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6951 +//line sql.y:6952 { yyLOCAL = IntervalDayMicrosecond } @@ -20775,7 +20742,7 @@ yydefault: case 1399: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6955 +//line sql.y:6956 { yyLOCAL = IntervalDayMinute } @@ -20783,7 +20750,7 @@ yydefault: case 1400: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6959 +//line sql.y:6960 { yyLOCAL = IntervalDaySecond } @@ -20791,7 +20758,7 @@ yydefault: case 1401: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6963 +//line sql.y:6964 { yyLOCAL = IntervalHourMicrosecond } @@ -20799,7 +20766,7 @@ yydefault: case 1402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6967 +//line sql.y:6968 { yyLOCAL = IntervalHourMinute } @@ -20807,7 +20774,7 @@ yydefault: case 1403: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6971 +//line sql.y:6972 { yyLOCAL = IntervalHourSecond } @@ -20815,7 +20782,7 @@ yydefault: case 1404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6975 +//line sql.y:6976 { yyLOCAL = IntervalMinuteMicrosecond } @@ -20823,7 +20790,7 @@ yydefault: case 1405: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6979 +//line sql.y:6980 { yyLOCAL = IntervalMinuteSecond } @@ -20831,7 +20798,7 @@ yydefault: case 1406: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6983 +//line sql.y:6984 { yyLOCAL = IntervalSecondMicrosecond } @@ -20839,7 +20806,7 @@ yydefault: case 1407: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6987 +//line sql.y:6988 { yyLOCAL = IntervalYearMonth } @@ -20847,7 +20814,7 @@ yydefault: case 1408: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6991 +//line sql.y:6992 { yyLOCAL = IntervalDay } @@ -20855,7 +20822,7 @@ yydefault: case 1409: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6995 +//line sql.y:6996 { yyLOCAL = IntervalWeek } @@ -20863,7 +20830,7 @@ yydefault: case 1410: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6999 +//line sql.y:7000 { yyLOCAL = IntervalHour } @@ -20871,7 +20838,7 @@ yydefault: case 1411: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7003 +//line sql.y:7004 { yyLOCAL = IntervalMinute } @@ -20879,7 +20846,7 @@ yydefault: case 1412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7007 +//line sql.y:7008 { yyLOCAL = IntervalMonth } @@ -20887,7 +20854,7 @@ yydefault: case 1413: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7011 +//line sql.y:7012 { yyLOCAL = IntervalQuarter } @@ -20895,7 +20862,7 @@ yydefault: case 1414: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7015 +//line sql.y:7016 { yyLOCAL = IntervalSecond } @@ -20903,7 +20870,7 @@ yydefault: case 1415: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7019 +//line sql.y:7020 { yyLOCAL = IntervalMicrosecond } @@ -20911,7 +20878,7 @@ yydefault: case 1416: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7023 +//line sql.y:7024 { yyLOCAL = IntervalYear } @@ -20919,7 +20886,7 @@ yydefault: case 1417: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7029 +//line sql.y:7030 { yyLOCAL = IntervalDay } @@ -20927,7 +20894,7 @@ yydefault: case 1418: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7033 +//line sql.y:7034 { yyLOCAL = IntervalWeek } @@ -20935,7 +20902,7 @@ yydefault: case 1419: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7037 +//line sql.y:7038 { yyLOCAL = IntervalHour } @@ -20943,7 +20910,7 @@ yydefault: case 1420: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7041 +//line sql.y:7042 { yyLOCAL = IntervalMinute } @@ -20951,7 +20918,7 @@ yydefault: case 1421: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7045 +//line sql.y:7046 { yyLOCAL = IntervalMonth } @@ -20959,7 +20926,7 @@ yydefault: case 1422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7049 +//line sql.y:7050 { yyLOCAL = IntervalQuarter } @@ -20967,7 +20934,7 @@ yydefault: case 1423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7053 +//line sql.y:7054 { yyLOCAL = IntervalSecond } @@ -20975,7 +20942,7 @@ yydefault: case 1424: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7057 +//line sql.y:7058 { yyLOCAL = IntervalMicrosecond } @@ -20983,7 +20950,7 @@ yydefault: case 1425: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7061 +//line sql.y:7062 { yyLOCAL = IntervalYear } @@ -20991,7 +20958,7 @@ yydefault: case 1426: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7065 +//line sql.y:7066 { yyLOCAL = IntervalDay } @@ -20999,7 +20966,7 @@ yydefault: case 1427: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7069 +//line sql.y:7070 { yyLOCAL = IntervalWeek } @@ -21007,7 +20974,7 @@ yydefault: case 1428: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7073 +//line sql.y:7074 { yyLOCAL = IntervalHour } @@ -21015,7 +20982,7 @@ yydefault: case 1429: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7077 +//line sql.y:7078 { yyLOCAL = IntervalMinute } @@ -21023,7 +20990,7 @@ yydefault: case 1430: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7081 +//line sql.y:7082 { yyLOCAL = IntervalMonth } @@ -21031,7 +20998,7 @@ yydefault: case 1431: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7085 +//line sql.y:7086 { yyLOCAL = IntervalQuarter } @@ -21039,7 +21006,7 @@ yydefault: case 1432: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7089 +//line sql.y:7090 { yyLOCAL = IntervalSecond } @@ -21047,7 +21014,7 @@ yydefault: case 1433: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7093 +//line sql.y:7094 { yyLOCAL = IntervalMicrosecond } @@ -21055,7 +21022,7 @@ yydefault: case 1434: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:7097 +//line sql.y:7098 { yyLOCAL = IntervalYear } @@ -21063,7 +21030,7 @@ yydefault: case 1437: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:7107 +//line sql.y:7108 { yyLOCAL = 0 } @@ -21071,7 +21038,7 @@ yydefault: case 1438: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:7111 +//line sql.y:7112 { yyLOCAL = 0 } @@ -21079,7 +21046,7 @@ yydefault: case 1439: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:7115 +//line sql.y:7116 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -21087,7 +21054,7 @@ yydefault: case 1440: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7125 +//line sql.y:7126 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].exprsUnion()} } @@ -21095,7 +21062,7 @@ yydefault: case 1441: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7129 +//line sql.y:7130 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].exprsUnion()} } @@ -21103,7 +21070,7 @@ yydefault: case 1442: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7133 +//line sql.y:7134 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].exprsUnion()} } @@ -21111,7 +21078,7 @@ yydefault: case 1443: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7137 +//line sql.y:7138 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].exprsUnion()} } @@ -21119,7 +21086,7 @@ yydefault: case 1444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7141 +//line sql.y:7142 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].exprsUnion()} } @@ -21127,7 +21094,7 @@ yydefault: case 1445: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7147 +//line sql.y:7148 { yyLOCAL = NoOption } @@ -21135,7 +21102,7 @@ yydefault: case 1446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7151 +//line sql.y:7152 { yyLOCAL = BooleanModeOpt } @@ -21143,7 +21110,7 @@ yydefault: case 1447: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7155 +//line sql.y:7156 { yyLOCAL = NaturalLanguageModeOpt } @@ -21151,7 +21118,7 @@ yydefault: case 1448: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7159 +//line sql.y:7160 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } @@ -21159,33 +21126,33 @@ yydefault: case 1449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7163 +//line sql.y:7164 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL case 1450: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7169 +//line sql.y:7170 { yyVAL.str = string(yyDollar[1].identifierCI.String()) } case 1451: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7173 +//line sql.y:7174 { yyVAL.str = string(yyDollar[1].str) } case 1452: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7177 +//line sql.y:7178 { yyVAL.str = string(yyDollar[1].str) } case 1453: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7183 +//line sql.y:7184 { yyLOCAL = nil } @@ -21193,7 +21160,7 @@ yydefault: case 1454: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7187 +//line sql.y:7188 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: ptr.Of(convertStringToInt(yyDollar[4].str))} } @@ -21201,7 +21168,7 @@ yydefault: case 1455: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7191 +//line sql.y:7192 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: ptr.Of(convertStringToInt(yyDollar[4].str))} } @@ -21209,7 +21176,7 @@ yydefault: case 1456: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7197 +//line sql.y:7198 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } @@ -21217,7 +21184,7 @@ yydefault: case 1457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7201 +//line sql.y:7202 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset} } @@ -21225,7 +21192,7 @@ yydefault: case 1458: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7205 +//line sql.y:7206 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -21233,7 +21200,7 @@ yydefault: case 1459: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7209 +//line sql.y:7210 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } @@ -21241,7 +21208,7 @@ yydefault: case 1460: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7213 +//line sql.y:7214 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length @@ -21251,7 +21218,7 @@ yydefault: case 1461: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7219 +//line sql.y:7220 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -21259,7 +21226,7 @@ yydefault: case 1462: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7223 +//line sql.y:7224 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } @@ -21267,7 +21234,7 @@ yydefault: case 1463: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7227 +//line sql.y:7228 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -21275,7 +21242,7 @@ yydefault: case 1464: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7231 +//line sql.y:7232 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -21283,7 +21250,7 @@ yydefault: case 1465: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7235 +//line sql.y:7236 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } @@ -21291,7 +21258,7 @@ yydefault: case 1466: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7239 +//line sql.y:7240 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -21299,7 +21266,7 @@ yydefault: case 1467: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7243 +//line sql.y:7244 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -21307,7 +21274,7 @@ yydefault: case 1468: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7247 +//line sql.y:7248 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()} } @@ -21315,7 +21282,7 @@ yydefault: case 1469: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7251 +//line sql.y:7252 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -21323,7 +21290,7 @@ yydefault: case 1470: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7255 +//line sql.y:7256 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -21331,7 +21298,7 @@ yydefault: case 1471: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7261 +//line sql.y:7262 { yyLOCAL = false } @@ -21339,7 +21306,7 @@ yydefault: case 1472: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:7265 +//line sql.y:7266 { yyLOCAL = true } @@ -21347,7 +21314,7 @@ yydefault: case 1473: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:7270 +//line sql.y:7271 { yyLOCAL = nil } @@ -21355,34 +21322,34 @@ yydefault: case 1474: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7274 +//line sql.y:7275 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL case 1475: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7279 +//line sql.y:7280 { yyVAL.str = string("") } case 1476: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7283 +//line sql.y:7284 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 1477: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:7289 +//line sql.y:7290 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL case 1478: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7293 +//line sql.y:7294 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) @@ -21390,7 +21357,7 @@ yydefault: case 1479: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:7299 +//line sql.y:7300 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } @@ -21398,7 +21365,7 @@ yydefault: case 1480: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:7304 +//line sql.y:7305 { yyLOCAL = nil } @@ -21406,7 +21373,7 @@ yydefault: case 1481: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:7308 +//line sql.y:7309 { yyLOCAL = yyDollar[2].exprUnion() } @@ -21414,7 +21381,7 @@ yydefault: case 1482: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:7314 +//line sql.y:7315 { yyLOCAL = &ColName{Name: yyDollar[1].identifierCI} } @@ -21422,7 +21389,7 @@ yydefault: case 1483: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:7318 +//line sql.y:7319 { yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))} } @@ -21430,7 +21397,7 @@ yydefault: case 1484: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:7322 +//line sql.y:7323 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI} } @@ -21438,7 +21405,7 @@ yydefault: case 1485: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:7326 +//line sql.y:7327 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI} } @@ -21446,7 +21413,7 @@ yydefault: case 1486: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7332 +//line sql.y:7333 { yyLOCAL = yyDollar[1].colNameUnion() } @@ -21454,7 +21421,7 @@ yydefault: case 1487: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7336 +//line sql.y:7337 { yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)} } @@ -21462,7 +21429,7 @@ yydefault: case 1488: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7342 +//line sql.y:7343 { // TODO(sougou): Deprecate this construct. if yyDollar[1].identifierCI.Lowered() != "value" { @@ -21475,7 +21442,7 @@ yydefault: case 1489: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:7351 +//line sql.y:7352 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -21483,7 +21450,7 @@ yydefault: case 1490: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:7355 +//line sql.y:7356 { yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:]) } @@ -21491,7 +21458,7 @@ yydefault: case 1491: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *GroupBy -//line sql.y:7360 +//line sql.y:7361 { yyLOCAL = nil } @@ -21499,7 +21466,7 @@ yydefault: case 1492: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *GroupBy -//line sql.y:7364 +//line sql.y:7365 { yyLOCAL = &GroupBy{Exprs: yyDollar[3].exprsUnion(), WithRollup: yyDollar[4].booleanUnion()} } @@ -21507,7 +21474,7 @@ yydefault: case 1493: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7369 +//line sql.y:7370 { yyLOCAL = false } @@ -21515,7 +21482,7 @@ yydefault: case 1494: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:7373 +//line sql.y:7374 { yyLOCAL = true } @@ -21523,7 +21490,7 @@ yydefault: case 1495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:7379 +//line sql.y:7380 { yyLOCAL = nil } @@ -21531,7 +21498,7 @@ yydefault: case 1496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:7383 +//line sql.y:7384 { yyLOCAL = yyDollar[2].exprUnion() } @@ -21539,7 +21506,7 @@ yydefault: case 1497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *NamedWindow -//line sql.y:7389 +//line sql.y:7390 { yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()} } @@ -21547,14 +21514,14 @@ yydefault: case 1498: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:7395 +//line sql.y:7396 { yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()} } yyVAL.union = yyLOCAL case 1499: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7399 +//line sql.y:7400 { yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion()) @@ -21562,7 +21529,7 @@ yydefault: case 1500: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:7404 +//line sql.y:7405 { yyLOCAL = nil } @@ -21570,7 +21537,7 @@ yydefault: case 1501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:7408 +//line sql.y:7409 { yyLOCAL = yyDollar[1].namedWindowsUnion() } @@ -21578,7 +21545,7 @@ yydefault: case 1502: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:7413 +//line sql.y:7414 { yyLOCAL = nil } @@ -21586,7 +21553,7 @@ yydefault: case 1503: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:7417 +//line sql.y:7418 { yyLOCAL = yyDollar[1].orderByUnion() } @@ -21594,7 +21561,7 @@ yydefault: case 1504: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:7423 +//line sql.y:7424 { yyLOCAL = yyDollar[3].orderByUnion() } @@ -21602,14 +21569,14 @@ yydefault: case 1505: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:7429 +//line sql.y:7430 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL case 1506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7433 +//line sql.y:7434 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) @@ -21617,7 +21584,7 @@ yydefault: case 1507: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:7439 +//line sql.y:7440 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } @@ -21625,7 +21592,7 @@ yydefault: case 1508: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:7444 +//line sql.y:7445 { yyLOCAL = AscOrder } @@ -21633,7 +21600,7 @@ yydefault: case 1509: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:7448 +//line sql.y:7449 { yyLOCAL = AscOrder } @@ -21641,7 +21608,7 @@ yydefault: case 1510: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:7452 +//line sql.y:7453 { yyLOCAL = DescOrder } @@ -21649,7 +21616,7 @@ yydefault: case 1511: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:7457 +//line sql.y:7458 { yyLOCAL = nil } @@ -21657,7 +21624,7 @@ yydefault: case 1512: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:7461 +//line sql.y:7462 { yyLOCAL = yyDollar[1].limitUnion() } @@ -21665,7 +21632,7 @@ yydefault: case 1513: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:7467 +//line sql.y:7468 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } @@ -21673,7 +21640,7 @@ yydefault: case 1514: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:7471 +//line sql.y:7472 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } @@ -21681,7 +21648,7 @@ yydefault: case 1515: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:7475 +//line sql.y:7476 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } @@ -21689,7 +21656,7 @@ yydefault: case 1516: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7480 +//line sql.y:7481 { yyLOCAL = nil } @@ -21697,7 +21664,7 @@ yydefault: case 1517: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7484 +//line sql.y:7485 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } @@ -21705,7 +21672,7 @@ yydefault: case 1518: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7488 +//line sql.y:7489 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } @@ -21713,7 +21680,7 @@ yydefault: case 1519: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7492 +//line sql.y:7493 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } @@ -21721,7 +21688,7 @@ yydefault: case 1520: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7496 +//line sql.y:7497 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } @@ -21729,7 +21696,7 @@ yydefault: case 1521: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7503 +//line sql.y:7504 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -21737,7 +21704,7 @@ yydefault: case 1522: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7507 +//line sql.y:7508 { yyLOCAL = &LockOption{Type: NoneType} } @@ -21745,7 +21712,7 @@ yydefault: case 1523: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7511 +//line sql.y:7512 { yyLOCAL = &LockOption{Type: SharedType} } @@ -21753,7 +21720,7 @@ yydefault: case 1524: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7515 +//line sql.y:7516 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -21761,7 +21728,7 @@ yydefault: case 1525: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7521 +//line sql.y:7522 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } @@ -21769,7 +21736,7 @@ yydefault: case 1526: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7525 +//line sql.y:7526 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } @@ -21777,7 +21744,7 @@ yydefault: case 1527: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7529 +//line sql.y:7530 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } @@ -21785,93 +21752,93 @@ yydefault: case 1528: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7533 +//line sql.y:7534 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL case 1529: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7538 +//line sql.y:7539 { yyVAL.str = "" } case 1530: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7542 +//line sql.y:7543 { yyVAL.str = string(yyDollar[3].str) } case 1531: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7546 +//line sql.y:7547 { yyVAL.str = string(yyDollar[3].str) } case 1532: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7550 +//line sql.y:7551 { yyVAL.str = string(yyDollar[3].str) } case 1533: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7555 +//line sql.y:7556 { yyVAL.str = "" } case 1534: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7559 +//line sql.y:7560 { yyVAL.str = yyDollar[3].str } case 1535: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7565 +//line sql.y:7566 { yyVAL.str = string(yyDollar[1].str) } case 1536: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7569 +//line sql.y:7570 { yyVAL.str = string(yyDollar[1].str) } case 1537: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7574 +//line sql.y:7575 { yyVAL.str = "" } case 1538: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:7578 +//line sql.y:7579 { yyVAL.str = yyDollar[2].str } case 1539: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7583 +//line sql.y:7584 { yyVAL.str = "cascaded" } case 1540: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7587 +//line sql.y:7588 { yyVAL.str = string(yyDollar[1].str) } case 1541: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7591 +//line sql.y:7592 { yyVAL.str = string(yyDollar[1].str) } case 1542: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:7596 +//line sql.y:7597 { yyLOCAL = nil } @@ -21879,7 +21846,7 @@ yydefault: case 1543: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:7600 +//line sql.y:7601 { yyLOCAL = yyDollar[3].definerUnion() } @@ -21887,7 +21854,7 @@ yydefault: case 1544: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:7606 +//line sql.y:7607 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), @@ -21897,7 +21864,7 @@ yydefault: case 1545: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:7612 +//line sql.y:7613 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), @@ -21907,7 +21874,7 @@ yydefault: case 1546: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:7618 +//line sql.y:7619 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -21917,32 +21884,32 @@ yydefault: yyVAL.union = yyLOCAL case 1547: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7627 +//line sql.y:7628 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 1548: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7631 +//line sql.y:7632 { yyVAL.str = formatIdentifier(yyDollar[1].str) } case 1549: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7636 +//line sql.y:7637 { yyVAL.str = "" } case 1550: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7640 +//line sql.y:7641 { yyVAL.str = formatAddress(yyDollar[1].str) } case 1551: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:7646 +//line sql.y:7647 { yyLOCAL = ForUpdateLock } @@ -21950,7 +21917,7 @@ yydefault: case 1552: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Lock -//line sql.y:7650 +//line sql.y:7651 { yyLOCAL = ForUpdateLockNoWait } @@ -21958,7 +21925,7 @@ yydefault: case 1553: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:7654 +//line sql.y:7655 { yyLOCAL = ForUpdateLockSkipLocked } @@ -21966,7 +21933,7 @@ yydefault: case 1554: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:7658 +//line sql.y:7659 { yyLOCAL = ForShareLock } @@ -21974,7 +21941,7 @@ yydefault: case 1555: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Lock -//line sql.y:7662 +//line sql.y:7663 { yyLOCAL = ForShareLockNoWait } @@ -21982,7 +21949,7 @@ yydefault: case 1556: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:7666 +//line sql.y:7667 { yyLOCAL = ForShareLockSkipLocked } @@ -21990,7 +21957,7 @@ yydefault: case 1557: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:7670 +//line sql.y:7671 { yyLOCAL = ShareModeLock } @@ -21998,7 +21965,7 @@ yydefault: case 1558: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:7676 +//line sql.y:7677 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } @@ -22006,7 +21973,7 @@ yydefault: case 1559: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:7680 +//line sql.y:7681 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } @@ -22014,177 +21981,177 @@ yydefault: case 1560: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:7684 +//line sql.y:7685 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL case 1561: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7689 +//line sql.y:7690 { yyVAL.str = "" } case 1562: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7693 +//line sql.y:7694 { yyVAL.str = " format csv" + yyDollar[3].str } case 1563: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7697 +//line sql.y:7698 { yyVAL.str = " format text" + yyDollar[3].str } case 1564: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7702 +//line sql.y:7703 { yyVAL.str = "" } case 1565: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7706 +//line sql.y:7707 { yyVAL.str = " header" } case 1566: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7711 +//line sql.y:7712 { yyVAL.str = "" } case 1567: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7715 +//line sql.y:7716 { yyVAL.str = " manifest on" } case 1568: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7719 +//line sql.y:7720 { yyVAL.str = " manifest off" } case 1569: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7724 +//line sql.y:7725 { yyVAL.str = "" } case 1570: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7728 +//line sql.y:7729 { yyVAL.str = " overwrite on" } case 1571: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7732 +//line sql.y:7733 { yyVAL.str = " overwrite off" } case 1572: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7738 +//line sql.y:7739 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } case 1573: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7743 +//line sql.y:7744 { yyVAL.str = "" } case 1574: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7747 +//line sql.y:7748 { yyVAL.str = " lines" + yyDollar[2].str } case 1575: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7753 +//line sql.y:7754 { yyVAL.str = yyDollar[1].str } case 1576: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7757 +//line sql.y:7758 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } case 1577: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7763 +//line sql.y:7764 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } case 1578: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7767 +//line sql.y:7768 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } case 1579: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7772 +//line sql.y:7773 { yyVAL.str = "" } case 1580: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7776 +//line sql.y:7777 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } case 1581: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7782 +//line sql.y:7783 { yyVAL.str = yyDollar[1].str } case 1582: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7786 +//line sql.y:7787 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } case 1583: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7792 +//line sql.y:7793 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } case 1584: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:7796 +//line sql.y:7797 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } case 1585: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7800 +//line sql.y:7801 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } case 1586: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7805 +//line sql.y:7806 { yyVAL.str = "" } case 1587: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7809 +//line sql.y:7810 { yyVAL.str = " optionally" } case 1588: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Insert -//line sql.y:7822 +//line sql.y:7823 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion(), RowAlias: yyDollar[3].rowAliasUnion()} } @@ -22192,7 +22159,7 @@ yydefault: case 1589: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:7826 +//line sql.y:7827 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } @@ -22200,7 +22167,7 @@ yydefault: case 1590: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *Insert -//line sql.y:7830 +//line sql.y:7831 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion(), RowAlias: yyDollar[6].rowAliasUnion()} } @@ -22208,7 +22175,7 @@ yydefault: case 1591: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:7834 +//line sql.y:7835 { yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion(), RowAlias: yyDollar[5].rowAliasUnion()} } @@ -22216,7 +22183,7 @@ yydefault: case 1592: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:7838 +//line sql.y:7839 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } @@ -22224,7 +22191,7 @@ yydefault: case 1593: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:7844 +//line sql.y:7845 { yyLOCAL = Columns{yyDollar[1].identifierCI} } @@ -22232,21 +22199,21 @@ yydefault: case 1594: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:7848 +//line sql.y:7849 { yyLOCAL = Columns{yyDollar[3].identifierCI} } yyVAL.union = yyLOCAL case 1595: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7852 +//line sql.y:7853 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) } case 1596: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:7856 +//line sql.y:7857 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].identifierCI) @@ -22254,7 +22221,7 @@ yydefault: case 1597: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *RowAlias -//line sql.y:7861 +//line sql.y:7862 { yyLOCAL = nil } @@ -22262,7 +22229,7 @@ yydefault: case 1598: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *RowAlias -//line sql.y:7865 +//line sql.y:7866 { yyLOCAL = &RowAlias{TableName: yyDollar[2].identifierCS} } @@ -22270,7 +22237,7 @@ yydefault: case 1599: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *RowAlias -//line sql.y:7869 +//line sql.y:7870 { yyLOCAL = &RowAlias{TableName: yyDollar[2].identifierCS, Columns: yyDollar[4].columnsUnion()} } @@ -22278,7 +22245,7 @@ yydefault: case 1600: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:7874 +//line sql.y:7875 { yyLOCAL = nil } @@ -22286,7 +22253,7 @@ yydefault: case 1601: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:7878 +//line sql.y:7879 { yyLOCAL = yyDollar[5].updateExprsUnion() } @@ -22294,14 +22261,14 @@ yydefault: case 1602: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:7884 +//line sql.y:7885 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL case 1603: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7888 +//line sql.y:7889 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) @@ -22309,7 +22276,7 @@ yydefault: case 1604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:7894 +//line sql.y:7895 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -22317,7 +22284,7 @@ yydefault: case 1605: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:7898 +//line sql.y:7899 { yyLOCAL = ValTuple{} } @@ -22325,7 +22292,7 @@ yydefault: case 1606: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:7904 +//line sql.y:7905 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } @@ -22333,7 +22300,7 @@ yydefault: case 1607: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL ValTuple -//line sql.y:7908 +//line sql.y:7909 { yyLOCAL = ValTuple(yyDollar[3].exprsUnion()) } @@ -22341,7 +22308,7 @@ yydefault: case 1608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7913 +//line sql.y:7914 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -22353,14 +22320,14 @@ yydefault: case 1609: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:7923 +//line sql.y:7924 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL case 1610: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7927 +//line sql.y:7928 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) @@ -22368,21 +22335,21 @@ yydefault: case 1611: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:7933 +//line sql.y:7934 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1613: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7940 +//line sql.y:7941 { yyVAL.str = "charset" } case 1616: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7950 +//line sql.y:7951 { yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String()) } @@ -22390,7 +22357,7 @@ yydefault: case 1617: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7954 +//line sql.y:7955 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -22398,7 +22365,7 @@ yydefault: case 1618: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7958 +//line sql.y:7959 { yyLOCAL = &Default{} } @@ -22406,7 +22373,7 @@ yydefault: case 1621: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7967 +//line sql.y:7968 { yyLOCAL = false } @@ -22414,7 +22381,7 @@ yydefault: case 1622: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:7969 +//line sql.y:7970 { yyLOCAL = true } @@ -22422,7 +22389,7 @@ yydefault: case 1623: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7972 +//line sql.y:7973 { yyLOCAL = false } @@ -22430,7 +22397,7 @@ yydefault: case 1624: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:7974 +//line sql.y:7975 { yyLOCAL = true } @@ -22438,7 +22405,7 @@ yydefault: case 1625: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7977 +//line sql.y:7978 { yyLOCAL = false } @@ -22446,7 +22413,7 @@ yydefault: case 1626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:7979 +//line sql.y:7980 { yyLOCAL = true } @@ -22454,7 +22421,7 @@ yydefault: case 1627: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:7982 +//line sql.y:7983 { yyLOCAL = false } @@ -22462,33 +22429,33 @@ yydefault: case 1628: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:7984 +//line sql.y:7985 { yyLOCAL = true } yyVAL.union = yyLOCAL case 1629: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7987 +//line sql.y:7988 { yyVAL.empty = struct{}{} } case 1630: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7989 +//line sql.y:7990 { yyVAL.empty = struct{}{} } case 1631: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7991 +//line sql.y:7992 { yyVAL.empty = struct{}{} } case 1632: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:7995 +//line sql.y:7996 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } @@ -22496,7 +22463,7 @@ yydefault: case 1633: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:8000 +//line sql.y:8001 { yyLOCAL = nil } @@ -22504,7 +22471,7 @@ yydefault: case 1634: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:8004 +//line sql.y:8005 { yyLOCAL = yyDollar[1].exprsUnion() } @@ -22512,7 +22479,7 @@ yydefault: case 1635: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:8009 +//line sql.y:8010 { yyLOCAL = nil } @@ -22520,7 +22487,7 @@ yydefault: case 1636: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:8011 +//line sql.y:8012 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } @@ -22528,63 +22495,63 @@ yydefault: case 1637: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:8015 +//line sql.y:8016 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())} } yyVAL.union = yyLOCAL case 1638: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8021 +//line sql.y:8022 { yyVAL.identifierCI = yyDollar[1].identifierCI } case 1639: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8025 +//line sql.y:8026 { yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) } case 1641: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8032 +//line sql.y:8033 { yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) } case 1642: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8038 +//line sql.y:8039 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } case 1643: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8042 +//line sql.y:8043 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } case 1644: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:8048 +//line sql.y:8049 { yyVAL.identifierCS = NewIdentifierCS("") } case 1645: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8052 +//line sql.y:8053 { yyVAL.identifierCS = yyDollar[1].identifierCS } case 1647: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8059 +//line sql.y:8060 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } case 1648: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:8065 +//line sql.y:8066 { yyLOCAL = &Kill{Type: yyDollar[2].killTypeUnion(), ProcesslistID: convertStringToUInt64(yyDollar[3].str)} } @@ -22592,7 +22559,7 @@ yydefault: case 1649: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL KillType -//line sql.y:8071 +//line sql.y:8072 { yyLOCAL = ConnectionType } @@ -22600,7 +22567,7 @@ yydefault: case 1650: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL KillType -//line sql.y:8075 +//line sql.y:8076 { yyLOCAL = ConnectionType } @@ -22608,42 +22575,42 @@ yydefault: case 1651: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL KillType -//line sql.y:8079 +//line sql.y:8080 { yyLOCAL = QueryType } yyVAL.union = yyLOCAL - case 2283: + case 2287: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8739 +//line sql.y:8744 { } - case 2284: + case 2288: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8744 +//line sql.y:8749 { } - case 2285: + case 2289: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:8748 +//line sql.y:8753 { skipToEnd(yylex) } - case 2286: + case 2290: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:8753 +//line sql.y:8758 { skipToEnd(yylex) } - case 2287: + case 2291: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8757 +//line sql.y:8762 { skipToEnd(yylex) } - case 2288: + case 2292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8761 +//line sql.y:8766 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index bf1a793e7e8..c5bcb068cb2 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -401,6 +401,7 @@ func markBindVariable(yylex yyLexer, bvar string) { %token NESTED NETWORK_NAMESPACE NOWAIT NULLS OJ OLD OPTIONAL ORDINALITY ORGANIZATION OTHERS PARTIAL PATH PERSIST PERSIST_ONLY PRECEDING PRIVILEGE_CHECKS_USER PROCESS %token RANDOM REFERENCE REQUIRE_ROW_FORMAT RESOURCE RESPECT RESTART RETAIN REUSE ROLE SECONDARY SECONDARY_ENGINE SECONDARY_ENGINE_ATTRIBUTE SECONDARY_LOAD SECONDARY_UNLOAD SIMPLE SKIP SRID %token THREAD_PRIORITY TIES UNBOUNDED VCPU VISIBLE RETURNING +%token MANUAL PARALLEL QUALIFY TABLESAMPLE // Performance Schema Functions %token FORMAT_BYTES FORMAT_PICO_TIME PS_CURRENT_THREAD_ID PS_THREAD_ID @@ -8174,6 +8175,7 @@ reserved_keyword: | LOCALTIMESTAMP | LOCK | LOW_PRIORITY +| MANUAL | MATCH | MAXVALUE | MOD @@ -8194,9 +8196,11 @@ reserved_keyword: | OUTER | OUTFILE | OVER +| PARALLEL | PARTITION | PERCENT_RANK | PRIMARY +| QUALIFY | RANGE | RANK | READ @@ -8223,6 +8227,7 @@ reserved_keyword: | SYSDATE | SYSTEM | TABLE +| TABLESAMPLE | THEN | TO | TRAILING diff --git a/go/vt/sqlparser/testdata/mysql_keywords.txt b/go/vt/sqlparser/testdata/mysql_keywords.txt index 9e5c6eab6d8..dc24fe94c0a 100644 --- a/go/vt/sqlparser/testdata/mysql_keywords.txt +++ b/go/vt/sqlparser/testdata/mysql_keywords.txt @@ -1,5 +1,5 @@ // Code generated by `SELECT * FROM INFORMATION_SCHEMA.KEYWORDS`. -// Reference: https://dev.mysql.com/doc/refman/8.0/en/information-schema-keywords-table.html +// Reference: https://dev.mysql.com/doc/refman/8.4/en/information-schema-keywords-table.html // DO NOT EDIT. WORD RESERVED ACCESSIBLE 1 @@ -23,8 +23,11 @@ AS 1 ASC 1 ASCII 0 ASENSITIVE 1 +ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS 0 AT 0 ATTRIBUTE 0 +AUTHENTICATION 0 +AUTO 0 AUTOEXTEND_SIZE 0 AUTO_INCREMENT 0 AVG 0 @@ -32,6 +35,7 @@ AVG_ROW_LENGTH 0 BACKUP 0 BEFORE 1 BEGIN 0 +BERNOULLI 0 BETWEEN 1 BIGINT 1 BINARY 1 @@ -44,6 +48,7 @@ BOOLEAN 0 BOTH 1 BTREE 0 BUCKETS 0 +BULK 0 BY 1 BYTE 0 CACHE 0 @@ -53,6 +58,7 @@ CASCADED 0 CASE 1 CATALOG_NAME 0 CHAIN 0 +CHALLENGE_RESPONSE 0 CHANGE 1 CHANGED 0 CHANNEL 0 @@ -181,6 +187,7 @@ EXPLAIN 1 EXPORT 0 EXTENDED 0 EXTENT_SIZE 0 +FACTOR 0 FAILED_LOGIN_ATTEMPTS 0 FALSE 1 FAST 0 @@ -190,6 +197,7 @@ FIELDS 0 FILE 0 FILE_BLOCK_SIZE 0 FILTER 0 +FINISH 0 FIRST 0 FIRST_VALUE 1 FIXED 0 @@ -209,6 +217,7 @@ FULL 0 FULLTEXT 1 FUNCTION 1 GENERAL 0 +GENERATE 0 GENERATED 1 GEOMCOLLECTION 0 GEOMETRY 0 @@ -216,6 +225,7 @@ GEOMETRYCOLLECTION 0 GET 1 GET_FORMAT 0 GET_MASTER_PUBLIC_KEY 0 +GET_SOURCE_PUBLIC_KEY 0 GLOBAL 0 GRANT 1 GRANTS 0 @@ -223,6 +233,8 @@ GROUP 1 GROUPING 1 GROUPS 1 GROUP_REPLICATION 0 +GTIDS 0 +GTID_ONLY 0 HANDLER 0 HASH 0 HAVING 1 @@ -246,7 +258,9 @@ INACTIVE 0 INDEX 1 INDEXES 0 INFILE 1 +INITIAL 0 INITIAL_SIZE 0 +INITIATE 0 INNER 1 INOUT 1 INSENSITIVE 1 @@ -261,6 +275,7 @@ INT3 1 INT4 1 INT8 1 INTEGER 1 +INTERSECT 1 INTERVAL 1 INTO 1 INVISIBLE 0 @@ -279,6 +294,7 @@ JSON 0 JSON_TABLE 1 JSON_VALUE 0 KEY 1 +KEYRING 0 KEYS 1 KEY_BLOCK_SIZE 0 KILL 1 @@ -307,6 +323,7 @@ LOCALTIMESTAMP 1 LOCK 1 LOCKED 0 LOCKS 0 +LOG 0 LOGFILE 0 LOGS 0 LONG 1 @@ -314,6 +331,7 @@ LONGBLOB 1 LONGTEXT 1 LOOP 1 LOW_PRIORITY 1 +MANUAL 0 MASTER 0 MASTER_AUTO_POSITION 0 MASTER_BIND 1 @@ -428,7 +446,9 @@ OVER 1 OWNER 0 PACK_KEYS 0 PAGE 0 +PARALLEL 0 PARSER 0 +PARSE_TREE 0 PARTIAL 0 PARTITION 1 PARTITIONING 0 @@ -462,6 +482,7 @@ PROFILE 0 PROFILES 0 PROXY 0 PURGE 1 +QUALIFY 0 QUARTER 0 QUERY 0 QUICK 0 @@ -481,6 +502,7 @@ REDUNDANT 0 REFERENCE 0 REFERENCES 1 REGEXP 1 +REGISTRATION 0 RELAY 0 RELAYLOG 0 RELAY_LOG_FILE 0 @@ -537,6 +559,7 @@ ROW_COUNT 0 ROW_FORMAT 0 ROW_NUMBER 1 RTREE 0 +S3 0 SAVEPOINT 0 SCHEDULE 0 SCHEMA 1 @@ -574,7 +597,33 @@ SOME 0 SONAME 0 SOUNDS 0 SOURCE 0 +SOURCE_AUTO_POSITION 0 +SOURCE_BIND 0 +SOURCE_COMPRESSION_ALGORITHMS 0 SOURCE_CONNECTION_AUTO_FAILOVER 0 +SOURCE_CONNECT_RETRY 0 +SOURCE_DELAY 0 +SOURCE_HEARTBEAT_PERIOD 0 +SOURCE_HOST 0 +SOURCE_LOG_FILE 0 +SOURCE_LOG_POS 0 +SOURCE_PASSWORD 0 +SOURCE_PORT 0 +SOURCE_PUBLIC_KEY_PATH 0 +SOURCE_RETRY_COUNT 0 +SOURCE_SSL 0 +SOURCE_SSL_CA 0 +SOURCE_SSL_CAPATH 0 +SOURCE_SSL_CERT 0 +SOURCE_SSL_CIPHER 0 +SOURCE_SSL_CRL 0 +SOURCE_SSL_CRLPATH 0 +SOURCE_SSL_KEY 0 +SOURCE_SSL_VERIFY_SERVER_CERT 0 +SOURCE_TLS_CIPHERSUITES 0 +SOURCE_TLS_VERSION 0 +SOURCE_USER 0 +SOURCE_ZSTD_COMPRESSION_LEVEL 0 SPATIAL 1 SPECIFIC 1 SQL 1 @@ -625,6 +674,7 @@ SWITCHES 0 SYSTEM 1 TABLE 1 TABLES 0 +TABLESAMPLE 0 TABLESPACE 0 TABLE_CHECKSUM 0 TABLE_NAME 0 @@ -665,10 +715,12 @@ UNION 1 UNIQUE 1 UNKNOWN 0 UNLOCK 1 +UNREGISTER 0 UNSIGNED 1 UNTIL 0 UPDATE 1 UPGRADE 0 +URL 0 USAGE 1 USE 1 USER 0 diff --git a/java/jdbc/src/main/java/io/vitess/jdbc/VitessMySQLDatabaseMetadata.java b/java/jdbc/src/main/java/io/vitess/jdbc/VitessMySQLDatabaseMetadata.java index 0235393a2c9..f29143003d5 100644 --- a/java/jdbc/src/main/java/io/vitess/jdbc/VitessMySQLDatabaseMetadata.java +++ b/java/jdbc/src/main/java/io/vitess/jdbc/VitessMySQLDatabaseMetadata.java @@ -67,16 +67,16 @@ public class VitessMySQLDatabaseMetadata extends VitessDatabaseMetaData implemen "INNER", "INOUT", "INSENSITIVE", "INSERT", "INT", "INT1", "INT2", "INT3", "INT4", "INT8", "INTEGER", "INTERVAL", "INTO", "IS", "ITERATE", "JOIN", "KEY", "KEYS", "KILL", "LEADING", "LEAVE", "LEFT", "LIKE", "LIMIT", "LINEAR", "LINES", "LOAD", "LOCALTIME", "LOCALTIMESTAMP", - "LOCK", "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY", "MATCH", "MEDIUMBLOB", + "LOCK", "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY", "MANUAL", "MATCH", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MIDDLEINT", "MINUTE_MICROSECOND", "MINUTE_SECOND", "MOD", "MODIFIES", "NATURAL", "NOT", "NO_WRITE_TO_BINLOG", "NULL", "NUMERIC", "ON", "OPTIMIZE", - "OPTION", "OPTIONALLY", "OR", "ORDER", "OUT", "OUTER", "OUTFILE", "PRECISION", "PRIMARY", - "PROCEDURE", "PURGE", "RANGE", "READ", "READS", "READ_ONLY", "READ_WRITE", "REAL", + "OPTION", "OPTIONALLY", "OR", "ORDER", "OUT", "OUTER", "OUTFILE", "PARALLEL", "PRECISION", "PRIMARY", + "PROCEDURE", "PURGE", "QUALIFY", "RANGE", "READ", "READS", "READ_ONLY", "READ_WRITE", "REAL", "REFERENCES", "REGEXP", "RELEASE", "RENAME", "REPEAT", "REPLACE", "REQUIRE", "RESTRICT", "RETURN", "REVOKE", "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SECOND_MICROSECOND", "SELECT", "SENSITIVE", "SEPARATOR", "SET", "SHOW", "SMALLINT", "SPATIAL", "SPECIFIC", "SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", - "SQL_SMALL_RESULT", "SSL", "STARTING", "STRAIGHT_JOIN", "TABLE", "TERMINATED", "THEN", + "SQL_SMALL_RESULT", "SSL", "STARTING", "STRAIGHT_JOIN", "TABLE", "TABLESAMPLE", "TERMINATED", "THEN", "TINYBLOB", "TINYINT", "TINYTEXT", "TO", "TRAILING", "TRIGGER", "TRUE", "UNDO", "UNION", "UNIQUE", "UNLOCK", "UNSIGNED", "UPDATE", "USAGE", "USE", "USING", "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "VALUES", "VARBINARY", "VARCHAR", "VARCHARACTER", "VARYING", "WHEN",